AWSアカウント削除手順
はじめに
クラウドサービスの見直しや統合などの理由で、AWSアカウントを削除する必要が生じることがあります。しかし、単にアカウントを閉鎖するだけでは不十分で、予期せぬ料金発生や情報漏洩のリスクが残る可能性があります。この記事では、AWSアカウントを安全かつ確実に削除するための手順を詳しく解説します。
この記事で学べること
- 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リソースのクリーンアップ
ユーザーとロールの削除
# 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
IAMポリシーの削除
# カスタムポリシーの一覧
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
AWS CLI での一括リソース削除
複数のリソースを効率的に削除するためのシェルスクリプト例:
#!/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マネジメントコンソールへのログイン
- ルートユーザーでログインする必要があります
- MFAが設定されている場合は認証を完了してください
-
アカウント設定ページへのアクセス
- 右上のアカウント名をクリック
- ドロップダウンメニューから「アカウント」を選択
-
アカウント閉鎖セクションの操作
- ページ下部の「アカウントの閉鎖」セクションまでスクロール
- 「アカウント閉鎖」ボタンをクリック
-
確認と実行
- 表示される注意事項を確認
- チェックボックスにチェックを入れる
- 「アカウントを閉鎖」ボタンをクリック
削除後の対応と注意点
最終請求の確認
アカウント削除後も、最後の使用料に関する請求が発生します。登録されているメールアドレスと支払い方法が有効な状態を一定期間維持しましょう。
復旧可能期間
AWSアカウントは削除後90日間は復旧可能です。この期間中にアカウントへのアクセスが必要になった場合は、AWSサポートに連絡してください。
Organizations関連の考慮事項
AWS Organizationsのメンバーアカウントの場合、削除前に組織から脱退する必要があります:
# Organizations からの脱退(メンバーアカウントの場合)
aws organizations leave-organization
トラブルシューティング
アカウント削除できない一般的な理由
-
未削除のリソースが存在する
- すべてのリージョンのリソースを確認してください
- AWSリソースエクスプローラーを使用すると効率的です
-
AWS Organizationsの制約
- 管理アカウントは、すべてのメンバーアカウントを削除するまで閉鎖できません
- メンバーアカウントは組織から脱退する必要があります
-
支払い問題
- 未払いの請求がある場合、アカウント削除が制限される場合があります
ベストプラクティス
-
リソース削除の自動化
- 大規模な環境では、AWS CDKやTerraformを使った削除も検討
- 定期的なリソースインベントリの取得習慣を持つ
-
複数リージョンの確認
- リソースはグローバルに分散している可能性があるため、すべてのリージョンを確認
-
削除の証拠保存
- コンプライアンスのために、削除完了の確認メールなどを保存
// 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環境を基準としています。