処理の実行
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-cloud9-vpc"にインターネットゲートウェイ"handson-cloud9-internet-gateway"がアタッチされていない。」ことを確認します。
コマンド:
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
結果(例):