事前作業1.4. ルートテーブルの更新 (CloudShell: handson-cloud9-subnetとの関連付け)¶
手順の目的¶
ルートテーブル"handson-cloud9-route-table"をサブネット"handson-cloud9-subnet"と関連付けします。
設定値の指定¶
設定値の確認¶
各変数に正しい設定値が格納されていることを確認します。
変数の確認:
cat << END # 0. AWS_REGION:"ap-northeast-1" AWS_REGION="${AWS_REGION}" # 1. EC2_VPC_TAG_NAME:"handson-cloud9-vpc" EC2_VPC_TAG_NAME="${EC2_VPC_TAG_NAME}" # 2. EC2_ROUTE_TABLE_TAG_NAME:"handson-cloud9-route-table" EC2_ROUTE_TABLE_TAG_NAME="${EC2_ROUTE_TABLE_TAG_NAME}" # 3. EC2_SUBNET_TAG_NAME:"handson-cloud9-subnet" EC2_SUBNET_TAG_NAME="${EC2_SUBNET_TAG_NAME}" END
下段の変数が入っていない、もしくは上段と同等の値が入っていない場合は、それぞれの手順番号に戻って変数の設定を行います。
処理の実行¶
VPC IDを取得します。
コマンド:
ec2_vpc_id=$( \ aws ec2 describe-vpcs \ --filters Name=tag:Name,Values=${EC2_VPC_TAG_NAME} \ --query 'Vpcs[].VpcId' \ --output text \ ) \ && echo ${ec2_vpc_id}結果(例):
vpc-xxxxxxxxxxxxxxxxx
ルートテーブルIDを取得します。
コマンド:
ec2_route_table_id=$( \ aws ec2 describe-route-tables \ --filters Name=vpc-id,Values=${ec2_vpc_id} \ Name=tag:Name,Values=${EC2_ROUTE_TABLE_TAG_NAME} \ --query "RouteTables[].RouteTableId" \ --output text \ ) \ && echo ${ec2_route_table_id}結果(例):
rtb-xxxxxxxxxxxxxxxxx
サブネットIDを取得します。
コマンド:
ec2_subnet_id=$( \ aws ec2 describe-subnets \ --filters Name=vpc-id,Values=${ec2_vpc_id} \ Name=tag:Name,Values=${EC2_SUBNET_TAG_NAME} \ --query "Subnets[].SubnetId" \ --output text \ ) \ && echo ${ec2_subnet_id}結果(例):
subnet-xxxxxxxxxxxxxxxxx
ルートテーブルとサブネットを関連付けします。
変数の確認:
cat << END # ec2_subnet_id:"subnet-xxxxxxxxxxxxxxxxx" ec2_subnet_id="${ec2_subnet_id}" # ec2_route_table_id:"rtb-xxxxxxxxxxxxxxxxx" ec2_route_table_id="${ec2_route_table_id}" ENDコマンド:
aws ec2 associate-route-table \ --subnet-id ${ec2_subnet_id} \ --route-table-id ${ec2_route_table_id}結果(例):
{ "AssociationId": "rtbassoc-xxxxxxxxxxxxxxxxx" "AssociationState": { "State": "associated" } }
完了確認¶
「ルートテーブル"handson-cloud9-route-table"がサブネット"handson-cloud9-subnet"と関連付いている。」ことを確認します。
コマンド:
aws ec2 describe-route-tables \ --route-table-ids ${ec2_route_table_id} \ --query "RouteTables[].Associations[?SubnetId == \`${ec2_subnet_id}\`].RouteTableAssociationId" \ --output text結果(例):
rtbassoc-xxxxxxxxxxxxxxxxxx
手順の完了¶
(参考) マネジメントコンソールの確認¶
VPCダッシュボード( https://console.aws.amazon.com/vpc/home )にアクセスします。
右上のリージョンメニューから"東京"を選択します。
左ペインの"サブネット"をクリックします。
サブネット一覧(画面)
検索欄にサブネット名"handson-cloud9-subnet"を入力して、エンターキーを押します。
サブネット名"handson-cloud9-subnet"(チェックボックス)をオンにします。
"詳細"(タブ)の"詳細"(セクション)の"ルートテーブル"に"rtb-xxxxxxxxxxxxxxxxxx | handson-cloud9-route-table"が表示されていることを確認します。