AWS Direct Connect
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

使用 AWS CLI

您可以使用 AWS CLI 创建和使用 AWS Direct Connect 资源。

以下示例使用 AWS CLI 命令创建 AWS Direct Connect 连接、下载《授权证书和连接设备分配 (LOA-CFA)》以及预配置私有或公有虚拟接口。

在开始之前,请确保您已经安装并配置 AWS CLI。有关更多信息,请参阅 AWS Command Line Interface 用户指南

第 1 步:创建连接

第一步是提交连接请求。确保您知道所需的端口速度和 AWS Direct Connect 位置。有关更多信息,请参阅 连接

创建连接请求

  1. 描述您当前区域中的 AWS Direct Connect 位置。在返回的输出中,记录您要建立连接的位置的位置代码。

    Copy
    aws directconnect describe-locations
    {
        "locations": [
            {
                "locationName": "NAP do Brasil, Barueri, Sao Paulo",
                "locationCode": "TNDB"
            },
            {
                "locationName": "Tivit - Site Transamerica (Sao Paulo)",
                "locationCode": "TIVIT"
            }
        ]
    }
  2. 创建连接并指定名称、端口速度和位置代码。在返回的输出中,记录连接 ID。您需要该 ID 在下一步获取 LOA-CFA。

    Copy
    aws directconnect create-connection --location TIVIT --bandwidth 1Gbps --connection-name "Connection to AWS"
    {
        "ownerAccount": "123456789012",
        "connectionId": "dxcon-fg31dyv6",
        "connectionState": "requested",
        "bandwidth": "1Gbps",
        "location": "TIVIT",
        "connectionName": "Connection to AWS",
        "region": "sa-east-1"
    }

步骤 2:下载 LOA-CFA

在请求连接后,您就可以使用 describe-loa 命令获取 LOA-CFA。输出为 base64 编码。您必须提取相关的 LOA 内容、进行解码并创建 PDF 文件。

使用 Linux 或 Mac OS X 获取 LOA-CFA

在此示例中,命令的最后一部分使用 base64 实用工具解码内容并将输出发送到 PDF 文件。

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

使用 Windows 获取 LOA-CFA

在本示例中,输出将提取到名为 myLoaCfa.base64 的文件。第二个命令使用 certutil 实用工具解码文件并将输出发送到 PDF 文件。

Copy
aws directconneawsct describe-loa --connection-id dxcon-fg31dyv6 --output text --query loaContent > myLoaCfa.base64
Copy
certutil -decode myLoaCfa.base64 myLoaCfa.pdf

下载 LOA-CFA 之后,将其发送到网络提供商或托管提供商。

步骤 3:创建虚拟接口,获取路由器配置

订购 AWS Direct Connect 连接以后,您必须创建虚拟接口以开始使用。您可以创建私有虚拟接口以连接到 VPC,或者创建公有虚拟接口以连接到不在 VPC 中的 AWS 服务。您可以创建支持 IPv4 或 IPv6 流量的接口。

在开始之前,请您务必阅读 虚拟接口的先决条件 中的先决条件。

使用 AWS CLI 创建虚拟接口时,输出包括通用路由器配置信息。如果您希望路由器配置特定于您的设备,请使用 AWS Direct Connect 控制台。有关更多信息,请参阅 下载路由器配置文件

创建私有虚拟接口

  1. 获取附加到您 VPC 的虚拟私有网关的 ID (vgw-xxxxxxxx)。您需要该 ID 在下一步创建虚拟接口。

    Copy
    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"
                    }
                ]
            }
        ]
    }
  2. 创建私有虚拟接口。您必须指定名称、VLAN ID 和 BGP 自治系统编号 (ASN)。

    对于 IPv4 流量,您需要 BGP 对等对话每一端的私有 IPv4 地址。您可以指定自己的 IPv4 地址,也可以让 Amazon 为您生成地址。在以下示例中,将为您生成 IPv4 地址。

    Copy
    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": "TIVIT",
        "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 地址。

  3. 要查看 XML 格式的路由器配置信息,请描述您创建的虚拟接口。使用 --query 参数可提取 customerRouterConfig 信息,使用 --output 参数可将文本排列到以制表符分隔的行中。

    Copy
    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 流量创建公有虚拟接口。

    Copy
    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": "TIVIT",
        "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 流量创建公有虚拟接口。

    Copy
    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}]
  2. 要查看 XML 格式的路由器配置信息,请描述您创建的虚拟接口。使用 --query 参数可提取 customerRouterConfig 信息,使用 --output 参数可将文本排列到以制表符分隔的行中。

    Copy
    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>