VPCに対してパブリックサブネット用のルートテーブルを作成/削除/表示する!(AWS CLI)

VPCに対してルートテーブルを作成/削除/表示する!(AWS CLI)

VPCに対してルートテーブルを作成する!

VPCに対してルートテーブルを作成します。

$ aws ec2 create-route-table --vpc-id vpc-04627361e47a52f6e
{
    "RouteTable": {
        "Associations": [],
        "PropagatingVgws": [],
        "RouteTableId": "rtb-02f56e55c88151fe3",
        "Routes": [
            {
                "DestinationCidrBlock": "10.111.0.0/16",
                "GatewayId": "local",
                "Origin": "CreateRouteTable",
                "State": "active"
            }
        ],
        "Tags": [],
        "VpcId": "vpc-04627361e47a52f6e",
        "OwnerId": "XXXXXXXXXXXX"
    }
}

ルートテーブルに対してタグをつける!

作成したルートテーブルに対してタグをつけます。

$ aws ec2 create-tags --resources rtb-02f56e55c88151fe3 --tags Key=Name,Value=vpc-rtb01

インターネットゲートウェイへのルーティング情報を作成する!

インターネットゲートウェイへのルーティング情報を作成します。

$ aws ec2 create-route --route-table-id rtb-02f56e55c88151fe3 --destination-cidr-block 0.0.0.0/0 --gateway-id igw-0633a3ef9219c3832
{
    "Return": true
}

ルートテーブルをサブネットに割り当てる!

ルートテーブルをサブネットに割り当てます。これにより、サブネットがパブリックサブネットとして機能するようになります。

$ aws ec2 associate-route-table --subnet-id subnet-0f7670ced2223978a --route-table-id rtb-02f56e55c88151fe3
{
    "AssociationId": "rtbassoc-04874e8b25818fecc",
    "AssociationState": {
        "State": "associated"
    }
}

ルートテーブルの情報を表示する!

ルートテーブルの情報を表示します。

$ aws ec2 describe-route-tables --route-table-ids rtb-02f56e55c88151fe3
{
    "RouteTables": [
        {
            "Associations": [
                {
                    "Main": false,
                    "RouteTableAssociationId": "rtbassoc-04874e8b25818fecc",
                    "RouteTableId": "rtb-02f56e55c88151fe3",
                    "SubnetId": "subnet-0f7670ced2223978a",
                    "AssociationState": {
                        "State": "associated"
                    }
                }
            ],
            "PropagatingVgws": [],
            "RouteTableId": "rtb-02f56e55c88151fe3",
            "Routes": [
                {
                    "DestinationCidrBlock": "10.111.0.0/16",
                    "GatewayId": "local",
                    "Origin": "CreateRouteTable",
                    "State": "active"
                },
                {
                    "DestinationCidrBlock": "0.0.0.0/0",
                    "GatewayId": "igw-0633a3ef9219c3832",
                    "Origin": "CreateRoute",
                    "State": "active"
                }
            ],
            "Tags": [
                {
                    "Key": "Name",
                    "Value": "vpc-rtb01"
                }
            ],
            "VpcId": "vpc-04627361e47a52f6e",
            "OwnerId": "XXXXXXXXXXXX"
        }
    ]
}

ルートテーブルのサブネットへの割当を解除する!

ルートテーブルのサブネットへの割当を解除します。

$ aws ec2 disassociate-route-table --association-id rtbassoc-04874e8b25818fecc

ルートテーブルを削除する!

ルートテーブルを削除します。

$ aws ec2 delete-route-table --route-table-id rtb-02f56e55c88151fe3

ルートテーブルが削除されたことを確認する!

ルートテーブルが削除されたことを確認します。

$ aws ec2 describe-route-tables --route-table-ids rtb-02f56e55c88151fe3

An error occurred (InvalidRouteTableID.NotFound) when calling the DescribeRouteTables operation: The routeTable ID 'rtb-02f56e55c88151fe3' does not exist

おわりに

ルートテーブルは、サブネットにに割り当てて使用します。削除する場合は、割り当ての解除を忘れないようにしましょう。

関連記事