処理の実行
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_INTERNET_GATEWAY_ID=$( \
aws ec2 describe-internet-gateways \
--filters Name=tag:Name,Values=${EC2_INTERNET_GATEWAY_TAG_NAME} \
--query "InternetGateways[].InternetGatewayId" \
--output text \
) \
&& echo ${EC2_INTERNET_GATEWAY_ID}
結果(例):
インターネットゲートウェイをVPCからデタッチします。
変数の確認:
cat << END
# EC2_VPC_ID:"vpc-xxxxxxxxxxxxxxxxx"
EC2_VPC_ID="${EC2_VPC_ID}"
# EC2_INTERNET_GATEWAY_ID:"igw-xxxxxxxxxxxxxxxxx"
EC2_INTERNET_GATEWAY_ID="${EC2_INTERNET_GATEWAY_ID}"
END
コマンド:
aws ec2 detach-internet-gateway \
--internet-gateway-id ${EC2_INTERNET_GATEWAY_ID} \
--vpc-id ${EC2_VPC_ID}
結果(例):
完了確認
「VPC"handson-cli-vpc"にインターネットゲートウェイ"handson-cli-igw"がアタッチされていない。」ことを確認します。
コマンド:
aws ec2 describe-internet-gateways \
--filters Name=tag:Name,Values=${EC2_INTERNET_GATEWAY_TAG_NAME} \
--query "InternetGateways[].Attachments[?VpcId == \`${EC2_VPC_ID}\`].VpcId" \
--output text
結果(例):