

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Direct Connect CLI
<a name="using-cli"></a>

您可以使用 AWS CLI 來建立和使用 Direct Connect 資源。

下列範例使用 AWS CLI 命令來建立 Direct Connect 連線。您也可以下載《授權書和連線設施指派》(LOA-CFA) 或佈建私有或公有虛擬介面。

開始之前，請確定您已安裝並設定妥 AWS CLI。如需詳細資訊，請參閱[「AWS Command Line Interface 使用者指南」](https://docs.aws.amazon.com/cli/latest/userguide/)。

**Topics**
+ [步驟 1：建立連線](#using-cli-create-connection)
+ [步驟 2：下載 LOA-CFA](#using-cli-loa-cfa)
+ [步驟 3：建立虛擬介面並取得路由器組態](#using-cli-create-vif)

## 步驟 1：建立連線
<a name="using-cli-create-connection"></a>

第一個步驟是提交連線申請。請確定您知道所需的連接埠速度和 Direct Connect 位置。如需詳細資訊，請參閱[專用和託管連線](WorkingWithConnections.md)。

**建立連線申請**

1. 描述目前區域 Direct Connect 的位置。在傳回的輸出中，記下您要建立連線的據點其據點代碼。

   ```
   aws directconnect describe-locations
   ```

   ```
   {
       "locations": [
           {
               "locationName": "City 1, United States",
               "locationCode": "Example Location 1"
           },
           {
               "locationName": "City 2, United States",
               "locationCode": "Example location"
           }
       ]
   }
   ```

1. 建立連線並指定其名稱、連接埠速度和據點代碼。在傳回的輸出中，記下連線 ID。下一個步驟將需要此 ID 以取得 LOA-CFA。

   ```
   aws directconnect create-connection --location {{Example location}} --bandwidth {{1Gbps}} --connection-name "{{Connection to AWS}}"
   ```

   ```
   {
       "ownerAccount": "123456789012",
       "connectionId": "dxcon-EXAMPLE",
       "connectionState": "requested",
       "bandwidth": "1Gbps",
       "location": "Example location",
       "connectionName": "Connection to AWS",
       "region": "sa-east-1"
   }
   ```

## 步驟 2：下載 LOA-CFA
<a name="using-cli-loa-cfa"></a>

申請連線之後，您可以使用 `describe-loa` 命令取得 LOA-CFA。輸出內容為 base64 編碼。您必須擷取相關的 LOA 內容、將其解碼並建立 PDF 檔案。

**使用 Linux 或 macOS 取得 LOA-CFA**  
本範例中，命令的最末部分使用 base64 公用程式將內容解碼並傳送輸出至 PDF 檔案。

```
aws directconnect describe-loa --connection-id {{dxcon-fg31dyv6}} --output text --query loaContent|base64 --decode > {{myLoaCfa}}.pdf
```

**使用 Windows 取得 LOA-CFA**  
本範例中，輸出將擷取至名為 myLoaCfa.base64 的檔案。第二個命令使用 `certutil` 公用程式將該檔案解碼並傳送輸出至 PDF 檔案。

```
aws directconneawsct describe-loa --connection-id {{dxcon-fg31dyv6}} --output text --query loaContent > myLoaCfa.base64
```

```
certutil -decode myLoaCfa.base64 {{myLoaCfa}}.pdf
```

下載 LOA-CFA 之後，將其傳送給您的網路供應商或主機代管服務供應商。

## 步驟 3：建立虛擬介面並取得路由器組態
<a name="using-cli-create-vif"></a>

訂購 Direct Connect 連線之後，您必須建立虛擬介面才能開始使用它。您可以建立私有虛擬介面以連接到您的 VPC。或者，您可以建立公有虛擬介面，以連線至不在 VPC 中的 AWS 服務。您可以建立支援 IPv4 或 IPv6 流量的虛擬介面。

開始之前，請務必先詳閱[虛擬介面的先決條件](WorkingWithVirtualInterfaces.md#vif-prerequisites)所列各項先決條件。

當您使用 建立虛擬介面時 AWS CLI，輸出會包含一般路由器組態資訊。若要建立裝置專屬的路由器組態，請使用 Direct Connect 主控台。如需詳細資訊，請參閱[下載路由組態檔案](vif-router-config.md)。

**建立私有虛擬介面**

1. 取得連接至您 VPC 的虛擬私有閘道的 ID (vgw-*xxxxxxxx*)。下一個步驟將需要此 ID 以建立虛擬介面。

   ```
   aws ec2 describe-vpn-gateways
   ```

   ```
   {
       "VpnGateways": [
           {
               "State": "available", 
               "Tags": [
                   {
                       "Value": "DX_VGW", 
                       "Key": "Name"
                   }
               ], 
               "Type": "ipsec.1", 
               "VpnGatewayId": "vgw-ebaa27db", 
               "VpcAttachments": [
                   {
                       "State": "attached", 
                       "VpcId": "vpc-24f33d4d"
                   }
               ]
           }
       ]
   }
   ```

1. 建立私有虛擬介面。您必須指定其名稱、VLAN ID 以及 BGP 自發系統編號 (ASN)。

   對於 IPv4 流量，您需要 BGP 對等工作階段每一端的私有 IPv4 地址。您可以自行指定 IPv4 地址，或者由 Amazon 為您產生地址。以下範例將會為您產生 IPv4 地址。

   ```
   aws directconnect create-private-virtual-interface --connection-id {{dxcon-fg31dyv6}} --new-private-virtual-interface virtualInterfaceName={{PrivateVirtualInterface}},vlan={{101}},asn={{65000}},virtualGatewayId={{vgw-ebaa27db}},addressFamily=ipv4
   ```

   ```
   {
       "virtualInterfaceState": "pending",
       "asn": 65000,
       "vlan": 101,
       "customerAddress": "192.168.1.2/30",
       "ownerAccount": "123456789012",
       "connectionId": "dxcon-fg31dyv6",
       "addressFamily": "ipv4", 
       "virtualGatewayId": "vgw-ebaa27db",
       "virtualInterfaceId": "dxvif-ffhhk74f",
       "authKey": "asdf34example",
       "routeFilterPrefixes": [],
       "location": "Example location",
       "bgpPeers": [
           {
               "bgpStatus": "down", 
               "customerAddress": "192.168.1.2/30", 
               "addressFamily": "ipv4", 
               "authKey": "asdf34example", 
               "bgpPeerState": "pending", 
               "amazonAddress": "192.168.1.1/30", 
               "asn": 65000
           }
       "customerRouterConfig": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<logical_connection id=\"dxvif-ffhhk74f\">\n  <vlan>101</vlan>\n  <customer_address>192.168.1.2/30</customer_address>\n  <amazon_address>192.168.1.1/30</amazon_address>\n  <bgp_asn>65000</bgp_asn>\n  <bgp_auth_key>asdf34example</bgp_auth_key>\n  <amazon_bgp_asn>7224</amazon_bgp_asn>\n  <connection_type>private</connection_type>\n</logical_connection>\n",
       "amazonAddress": "192.168.1.1/30",
       "virtualInterfaceType": "private",
       "virtualInterfaceName": "PrivateVirtualInterface"
   }
   ```

   若要建立支援 IPv6 流量的私有虛擬介面，請使用以上相同的命令並對 `addressFamily` 參數指定 `ipv6`。您無法自行指定 BGP 對等工作階段的 IPv6 地址；Amazon 會為您配置 IPv6 地址。

1. 如欲查看 XML 格式的路由器組態資訊，請描述您所建立的虛擬介面。使用 `--query` 參數可擷取 `customerRouterConfig` 資訊，使用 `--output` 參數可將文字整理成標籤分隔文字行。

   ```
   aws directconnect describe-virtual-interfaces --virtual-interface-id {{dxvif-ffhhk74f}} --query virtualInterfaces[*].customerRouterConfig --output text
   ```

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <logical_connection id="dxvif-ffhhk74f">
     <vlan>101</vlan>
     <customer_address>192.168.1.2/30</customer_address>
     <amazon_address>192.168.1.1/30</amazon_address>
     <bgp_asn>65000</bgp_asn>
     <bgp_auth_key>asdf34example</bgp_auth_key>
     <amazon_bgp_asn>7224</amazon_bgp_asn>
     <connection_type>private</connection_type>
   </logical_connection>
   ```

**建立公有虛擬介面**

1. 若要建立公有虛擬介面，您必須指定其名稱、VLAN ID 以及 BGP 自治系統編號 (ASN)。

   對於 IPv4 流量，您還必須指定 BGP 對等工作階段每一端的公有 IPv4 地址，以及您將透過 BGP 公告的公有 IPv4 路由。以下範例建立用於 IPv4 流量的公有虛擬介面。

   ```
   aws directconnect create-public-virtual-interface --connection-id {{dxcon-fg31dyv6}} --new-public-virtual-interface virtualInterfaceName={{PublicVirtualInterface}},vlan={{2000}},asn={{65000}},amazonAddress={{203.0.113.1/30}},customerAddress={{203.0.113.2/30}},addressFamily=ipv4,routeFilterPrefixes=[{cidr={{203.0.113.0/30}}},{cidr={{203.0.113.4/30}}}]
   ```

   ```
   {
       "virtualInterfaceState": "verifying",
       "asn": 65000,
       "vlan": 2000,
       "customerAddress": "203.0.113.2/30",
       "ownerAccount": "123456789012",
       "connectionId": "dxcon-fg31dyv6",
       "addressFamily": "ipv4",
       "virtualGatewayId": "",
       "virtualInterfaceId": "dxvif-fgh0hcrk",
       "authKey": "asdf34example",
       "routeFilterPrefixes": [
           {
               "cidr": "203.0.113.0/30"
           },
           {
               "cidr": "203.0.113.4/30"
           }
       ],
       "location": "Example location",
       "bgpPeers": [
           {
               "bgpStatus": "down", 
               "customerAddress": "203.0.113.2/30", 
               "addressFamily": "ipv4", 
               "authKey": "asdf34example", 
               "bgpPeerState": "verifying", 
               "amazonAddress": "203.0.113.1/30", 
               "asn": 65000
           }
       ],
       "customerRouterConfig": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<logical_connection id=\"dxvif-fgh0hcrk\">\n  <vlan>2000</vlan>\n  <customer_address>203.0.113.2/30</customer_address>\n  <amazon_address>203.0.113.1/30</amazon_address>\n  <bgp_asn>65000</bgp_asn>\n  <bgp_auth_key>asdf34example</bgp_auth_key>\n  <amazon_bgp_asn>7224</amazon_bgp_asn>\n  <connection_type>public</connection_type>\n</logical_connection>\n",
       "amazonAddress": "203.0.113.1/30",
       "virtualInterfaceType": "public",
       "virtualInterfaceName": "PublicVirtualInterface"
   }
   ```

   若要建立支援 IPv6 流量的公有虛擬介面，您可以指定將透過 BGP 公告的 IPv6 路由。您無法指定對等工作階段的 IPv6 地址；Amazon 會為您配置 IPv6 地址。以下範例建立用於 IPv6 流量的公有虛擬介面。

   ```
   aws directconnect create-public-virtual-interface --connection-id {{dxcon-fg31dyv6}} --new-public-virtual-interface virtualInterfaceName={{PublicVirtualInterface}},vlan={{2000}},asn={{65000}},addressFamily=ipv6,routeFilterPrefixes=[{cidr={{2001:db8:64ce:ba00::/64}}},{cidr={{2001:db8:64ce:ba01::/64}}}]
   ```

1. 如欲查看 XML 格式的路由器組態資訊，請描述您所建立的虛擬介面。使用 `--query` 參數可擷取 `customerRouterConfig` 資訊，使用 `--output` 參數可將文字整理成標籤分隔文字行。

   ```
   aws directconnect describe-virtual-interfaces --virtual-interface-id {{dxvif-fgh0hcrk}} --query virtualInterfaces[*].customerRouterConfig --output text
   ```

    

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <logical_connection id="dxvif-fgh0hcrk">
     <vlan>2000</vlan>
     <customer_address>203.0.113.2/30</customer_address>
     <amazon_address>203.0.113.1/30</amazon_address>
     <bgp_asn>65000</bgp_asn>
     <bgp_auth_key>asdf34example</bgp_auth_key>
     <amazon_bgp_asn>7224</amazon_bgp_asn>
     <connection_type>public</connection_type>
   </logical_connection>
   ```