【AWS CLI Samples】Direct Connect

Direct Connect

The execution of commands is primarily verified in AWS Cloud9.
If you would like to provide command examples, please submit them through the contact form.
You may also use this form to request corrections for the listed command examples.


Create a private virtual interface

aws directconnect create-private-virtual-interface \
--connection-id dxcon-ffjrkx17 \
--new-private-virtual-interface \
virtualInterfaceName=PrivateVirtualInterface,\
vlan=101,\
asn=65000,\
authKey=asdf34example,\
amazonAddress=192.168.1.1/30,\
customerAddress=192.168.1.2/30,\
virtualGatewayId=vgw-aba37db6

output

{
    "virtualInterfaceState": "pending",
    "asn": 65000,
    "vlan": 101,
    "customerAddress": "192.168.1.2/30",
    "ownerAccount": "123456789012",
    "connectionId": "dxcon-ffjrkx17",
    "virtualGatewayId": "vgw-aba37db6",
    "virtualInterfaceId": "dxvif-ffhhk74f",
    "authKey": "asdf34example",
    "routeFilterPrefixes": [],
    "location": "TIVIT",
    "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"
}

by anonymous

Create a transit virtual interface

aws directconnect create-transit-virtual-interface \
--connection-id dxlag-fEXAMPLE \
--new-transit-virtual-interface \
"virtualInterfaceName=Example Transit Virtual Interface,\
vlan=126,\
asn=65110,\
mtu=1500,\
authKey=0xzxgA9YoW9h58u8SvEXAMPLE,\
amazonAddress=192.168.1.1/30,\
customerAddress=192.168.1.2/30,\
addressFamily=ipv4,\
directConnectGatewayId=8384da05-13ce-4a91-aada-5a1baEXAMPLE,\
tags=[{key=Tag,value=Example}]"

output

{
    "virtualInterface": {
        "ownerAccount": "1111222233333",
        "virtualInterfaceId": "dxvif-fEXAMPLE",
        "location": "loc1",
        "connectionId": "dxlag-fEXAMPLE",
        "virtualInterfaceType": "transit",
        "virtualInterfaceName": "Example Transit Virtual Interface",
        "vlan": 126,
        "asn": 65110,
        "amazonSideAsn": 4200000000,
        "authKey": "0xzxgA9YoW9h58u8SEXAMPLE",
        "amazonAddress": "192.168.1.1/30",
        "customerAddress": "192.168.1.2/30",
        "addressFamily": "ipv4",
        "virtualInterfaceState": "pending",
        "customerRouterConfig": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<logical_connection id=\"dxvif-fEXAMPLE\">\n  <vlan>126</vlan>\n  <customer_address>192.168.1.2/30</customer_address>\n  <amazon_address>192.168.1.1/30</amazon_address>\n  <bgp_asn>65110</bgp_asn>\n  <bgp_auth_key>0xzxgA9YoW9h58u8SvOmXRTw</bgp_auth_key>\n  <amazon_bgp_asn>4200000000</amazon_bgp_asn>\n  <connection_type>transit</connection_type>\n</logical_connection>\n",
        "mtu": 1500,
        "jumboFrameCapable": true,
        "virtualGatewayId": "",
        "directConnectGatewayId": "8384da05-13ce-4a91-aada-5a1baEXAMPLE",
        "routeFilterPrefixes": [],
        "bgpPeers": [
            {
                "bgpPeerId": "dxpeer-EXAMPLE",
                "asn": 65110,
                "authKey": "0xzxgA9YoW9h58u8SEXAMPLE",
                "addressFamily": "ipv4",
                "amazonAddress": "192.168.1.1/30",
                "customerAddress": "192.168.1.2/30",
                "bgpPeerState": "pending",
                "bgpStatus": "down",
                "awsDeviceV2": "loc1-26wz6vEXAMPLE"
            }
        ],
        "region": "sa-east-1",
        "awsDeviceV2": "loc1-26wz6vEXAMPLE",
        "tags": [
            {
                "key": "Tag",
                "value": "Example"
            }
        ]
    }
}

by anonymous

Create a public virtual interface

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

output

{
    "virtualInterfaceState": "verifying",
    "asn": 65000,
    "vlan": 2000,
    "customerAddress": "203.0.113.2/30",
    "ownerAccount": "123456789012",
    "connectionId": "dxcon-ffjrkx17",
    "virtualInterfaceId": "dxvif-fgh0hcrk",
    "authKey": "asdf34example",
    "routeFilterPrefixes": [
        {
            "cidr": "203.0.113.0/30"
        },
        {
            "cidr": "203.0.113.4/30"
        }
    ],
    "location": "TIVIT",
    "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"
}

by anonymous


Display the status of a Direct Connect connection every second

while true;
do aws directconnect describe-connections |
jq '.connections[] | select(.connectionId == "dxcon-fguhmqlc") | .connectionState'
sleep 1; done

output

"available"
"available"
...

by pixy

Display virtual interface status every second

while true;
do aws directconnect describe-virtual-interfaces --connection-id dxcon-fguhmqlc |
jq '.virtualInterfaces[] | select(.virtualInterfaceId == "dxvif-ffhhk74f") | .virtualInterfaceState'
sleep 1; done

output

"down"
"down"
...

by pixy

タイトルとURLをコピーしました