処理の実行
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}
結果(例):
ルートテーブル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}
結果(例):
サブネット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}
結果(例):
ルートテーブル アソシエイトIDを取得します。
コマンド:
EC2_ROUTE_TABLE_ASSOCIATION_ID=$( \
aws ec2 describe-route-tables \
--route-table-ids ${EC2_ROUTE_TABLE_ID} \
--query "RouteTables[].Associations[?SubnetId == \`${EC2_SUBNET_ID}\`].RouteTableAssociationId" \
--output text \
) \
&& echo ${EC2_ROUTE_TABLE_ASSOCIATION_ID}
結果(例):
rtbassoc-xxxxxxxxxxxxxxxxxx
ルートテーブルとサブネットの関連付けを解除します。
変数の確認:
cat << END
# EC2_ROUTE_TABLE_ASSOCIATION_ID:"rtbassoc-xxxxxxxxxxxxxxxxxx"
EC2_ROUTE_TABLE_ASSOCIATION_ID="${EC2_ROUTE_TABLE_ASSOCIATION_ID}"
END
コマンド:
aws ec2 disassociate-route-table \
--association-id ${EC2_ROUTE_TABLE_ASSOCIATION_ID}
結果(例):
完了確認
「ルートテーブル"handson-cli-public-routetable"がサブネット"handson-cli-subnet"と関連付いていない。」ことを確認します。
コマンド:
aws ec2 describe-route-tables \
--route-table-ids ${EC2_ROUTE_TABLE_ID} \
--query "RouteTables[].Associations[?SubnetId == \`${EC2_SUBNET_ID}\`].RouteTableAssociationId" \
--output text
結果(例):