処理の実行
VPC IDを取得します。
コマンド:
EC2_VPC_ID=$( \
aws ec2 describe-vpcs \
--filters Name=isDefault,Values=true \
--query 'Vpcs[].VpcId' \
--output text \
) \
&& echo ${EC2_VPC_ID}
結果(例):
デフォルトVPCにアタッチされているインターネットゲートウェイのIDを取得します。
コマンド:
EC2_INTERNET_GATEWAY_ID=$( \
aws ec2 describe-internet-gateways \
--filters Name=attachment.vpc-id,Values=${EC2_VPC_ID} \
--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に存在するインターネットゲートウェイを削除します。
変数の確認:
cat << END
# EC2_INTERNET_GATEWAY_ID:"igw-xxxxxxxxxxxxxxxxx"
EC2_INTERNET_GATEWAY_ID="${EC2_INTERNET_GATEWAY_ID}"
END
コマンド:
aws ec2 delete-internet-gateway \
--internet-gateway-id ${EC2_INTERNET_GATEWAY_ID}
結果(例):
デフォルトVPCに存在するサブネットのIDを取得します。
コマンド:
ARRAY_EC2_SUBNET_IDS=$( \
aws ec2 describe-subnets \
--filters Name=vpcId,Values=${EC2_VPC_ID} \
--query 'Subnets[].SubnetId' \
--output text \
) \
&& echo ${ARRAY_EC2_SUBNET_IDS}
結果(例):
subnet-xxxxxxxxxxxxxxxxx subnet-xxxxxxxxxxxxxxxxx subnet-xxxxxxxxxxxxxxxxx
デフォルトVPCに存在するサブネットを削除します。
コマンド:
for i in ${ARRAY_EC2_SUBNET_IDS}; do
aws ec2 delete-subnet \
--subnet-id ${i}
done
結果(例):
デフォルトVPCを削除します。
変数の確認:
cat << END
# EC2_VPC_ID:"vpc-xxxxxxxxxxxxxxxxx"
EC2_VPC_ID="${EC2_VPC_ID}"
END
コマンド:
aws ec2 delete-vpc \
--vpc-id ${EC2_VPC_ID}
結果(例):
完了確認
「デフォルトVPCが存在しない。」ことを確認します。
コマンド:
aws ec2 describe-vpcs \
--filters "Name=isDefault,Values=true" \
--query "Vpcs[].CidrBlock" \
--output text
結果(例):