クラウドサービスの見直しや統合などの理由で、AWSアカウントを削除する必要が生じることがあります。しかし、単にアカウントを閉鎖するだけでは不十分で、予期せぬ料金発生や情報漏洩のリスクが残る可能性があります。この記事では、AWSアカウントを安全かつ確実に削除するための手順を詳しく解説します。
# S3バケットの重要データをローカルにダウンロード
aws s3 sync s3://your-important-bucket ./local-backup
# RDSデータベースのスナップショットを作成(必要に応じて)
aws rds create-db-snapshot \
--db-instance-identifier your-db-instance \
--db-snapshot-identifier final-snapshot
アカウント削除前に、以下の請求関連の確認を行いましょう:
# EC2インスタンスの一覧確認
aws ec2 describe-instances
# EC2インスタンスの終了
aws ec2 terminate-instances --instance-ids i-1234567890abcdef0
# Auto Scaling グループの削除
aws autoscaling delete-auto-scaling-group --auto-scaling-group-name my-asg --force-delete
# S3バケットの一覧確認
aws s3 ls
# S3バケットの削除(バケット内のオブジェクトも含めて)
aws s3 rb s3://your-bucket-name --force
# EBSボリュームの確認と削除
aws ec2 describe-volumes
aws ec2 delete-volume --volume-id vol-1234567890abcdef0
# RDSインスタンスの削除(最終スナップショットなし)
aws rds delete-db-instance \
--db-instance-identifier your-db-instance \
--skip-final-snapshot
# Elastic IPの解放
aws ec2 release-address --allocation-id eipalloc-12345678
# VPCの削除
aws ec2 delete-vpc --vpc-id vpc-12345678
# IAMユーザー一覧の確認
aws iam list-users
# ユーザーのアクセスキー削除
aws iam delete-access-key --user-name username --access-key-id AKIAIOSFODNN7EXAMPLE
# IAMユーザーの削除
aws iam delete-user --user-name username
# IAMロールの削除
aws iam delete-role --role-name rolename
# カスタムポリシーの一覧
aws iam list-policies --scope Local
# ポリシーのデタッチと削除
aws iam detach-role-policy --role-name rolename --policy-arn arn:aws:iam::123456789012:policy/policyname
aws iam delete-policy --policy-arn arn:aws:iam::123456789012:policy/policyname
複数のリソースを効率的に削除するためのシェルスクリプト例:
#!/bin/bash
# AWS全リージョンのEC2インスタンスを削除
regions=$(aws ec2 describe-regions --query 'Regions[].RegionName' --output text)
for region in $regions; do
echo "Terminating EC2 instances in $region"
instance_ids=$(aws ec2 describe-instances \
--region $region \
--query 'Reservations[].Instances[].InstanceId' \
--output text)
if [ -n "$instance_ids" ]; then
aws ec2 terminate-instances \
--region $region \
--instance-ids $instance_ids
else
echo "No instances found in $region"
fi
done
AWSマネジメントコンソールへのログイン
アカウント設定ページへのアクセス
アカウント閉鎖セクションの操作
確認と実行
アカウント削除後も、最後の使用料に関する請求が発生します。登録されているメールアドレスと支払い方法が有効な状態を一定期間維持しましょう。
AWSアカウントは削除後90日間は復旧可能です。この期間中にアカウントへのアクセスが必要になった場合は、AWSサポートに連絡してください。
AWS Organizationsのメンバーアカウントの場合、削除前に組織から脱退する必要があります:
# Organizations からの脱退(メンバーアカウントの場合)
aws organizations leave-organization
未削除のリソースが存在する
AWS Organizationsの制約
支払い問題
リソース削除の自動化
複数リージョンの確認
削除の証拠保存
// package.json にリソース削除スクリプトを追加する例
{
"scripts": {
"aws:list-all": "node scripts/list-all-aws-resources.js",
"aws:delete-all": "node scripts/delete-all-aws-resources.js",
"aws:verify-cleanup": "node scripts/verify-aws-cleanup.js"
}
}
AWSアカウントの削除は、単純なボタンクリックではなく、計画的なリソース削除とクリーンアップを必要とするプロセスです。この記事で解説した手順に従うことで、予期せぬ請求や情報漏洩のリスクを最小限に抑えつつ、安全にAWSアカウントを削除することができます。
重要なデータのバックアップを忘れずに行い、すべてのリソースが確実に削除されていることを複数回確認することをお勧めします。不明点がある場合は、AWSサポートに相談することも検討してください。
この記事は2025年4月13日時点のAWS環境を基準としています。