はじめに
AWS CloudFormationは、AWSインフラをコードで管理できる便利なサービスです。
今回は、不要なCloudFormationスタックを削除する方法について説明します。
普段はAWSのマネジメントコンソールを使用して削除していることが多いですが、自分の備忘録として、この記事に記録しておきます。
コマンド概要
CloudFormationスタックを削除するには、aws cloudformation delete-stack
コマンドを使用します。
これにより、指定したスタックおよびそのリソースを削除できます。
コマンド:
aws cloudformation delete-stack --stack-name <stack-name>
ここで、<stack-name>
は削除したいCloudFormationスタックの名前に置き換えてください。
スタック削除の手順
AWS CloudShellの起動
AWS CloudShellを開き、コマンドラインから操作を行います。CloudShellは、AWSマネジメントコンソール内で直接利用できるターミナル環境です。
削除対象スタックの確認
スタックを削除する前に、現在のスタックの状態を確認することをおすすめします。describe-stacks
コマンドを使って、スタックの状態を確認できます。
aws cloudformation describe-stacks --stack-name aaa
出力例:
{
"Stacks": [
{
"StackId": "arn:aws:cloudformation:ap-northeast-1:xxx:stack/aaa/4c56c0c0-a0ea-11ef-b97b-0a910cc5f285",
"StackName": "aaa",
"StackStatus": "CREATE_COMPLETE",
"CreationTime": "2024-11-12T11:36:03.672000+00:00",
"Capabilities": ["CAPABILITY_IAM"],
"Tags": []
}
]
}
スタックの削除
スタックが削除可能であることを確認した後、次のコマンドを実行してスタックを削除します。
aws cloudformation delete-stack --stack-name aaa
これにより、スタック名 aaa
に関連するすべてのリソース(EC2インスタンス、IAMロール、セキュリティグループなど)が削除されます。
削除の進行状況は、CloudFormationコンソールやAWS CLIを使って確認できます。
削除の確認
スタック削除が開始されたことを確認するには、次のコマンドを使ってスタックの状態を再確認します。
aws cloudformation describe-stacks --stack-name aaa
スタックが削除中の場合、StackStatus
は DELETE_IN_PROGRESS
に変わり、最終的には DELETE_COMPLETE
になります。
{
"Stacks": [
{
"StackId": "arn:aws:cloudformation:ap-northeast-1:xxx:stack/aaa/4c56c0c0-a0ea-11ef-b97b-0a910cc5f285",
"StackName": "aaa",
"StackStatus": "DELETE_IN_PROGRESS",
"CreationTime": "2024-11-12T11:36:03.672000+00:00"
}
]
}
削除完了の確認
最終的にスタックが完全に削除されると、StackStatus
は DELETE_COMPLETE
に変わります。
この時点でスタックとそのリソースは完全に削除され、再作成が可能です。
コマンドの注意点
削除後は復元できない:
CloudFormationスタックを削除すると、スタックに関連するリソースも削除されます。削除後にリソースを復元することはできません。
重要なデータがある場合は、削除前にバックアップを取ることを強く推奨します。
削除の時間:
スタック削除には時間がかかる場合があります。リソースの数や依存関係により、数分から数十分の時間が必要です。
まとめ
AWS CloudFormationスタックを削除するには、aws cloudformation delete-stack コマンドを使用します。
削除作業を進める前に、スタックの状態を確認し、削除後に元に戻せないことを考慮して慎重に実行することが重要です。
おまけ:AWS Infrastructure Composerについて
CloudFormationでyamlファイルなどをアップロードした後、「Infrastructure Composer」というサービス画面を表示することができます。
「Infrastructure Composer」は、クラウドアプリケーションを視覚的に設計し、AWSリソースを配置するツールです。
このツールは、実際に必要なコード(IaC)を自動的に生成します。
キャンバスモードでは、以下のようにイラストや図形形式で視覚的に構成を確認できるため、非常に見やすくなっています。
また、テンプレートモードでは、作成したyamlファイルを事前に検証することができるため、非常に便利です。
まだ使いこなせていない部分もありますが、今後積極的にハンズオンしていきたいと考えています。