複数の所有者が複数のEC2インスタンス、ロードバランサー、ターゲットグループ、セキュリティグループなどをセットアップしているAWSアカウントがあります。これを設定するためにterraformを使用しますが、場合によっては破損が原因で、状態が不整合になります。現在の回復メカニズムは、特定の所有者が所有するそのアカウントのすべてのリソースを手動で破棄することです。特定の所有者に属するAWSアカウントのすべてのリソースを簡単に整理する方法はありますか?
特定のユーザーが所有するアカウントのすべてのリソースを削除する方法はありませんが、削除する方法がありますアカウント内のすべてのリソース。
aws-nuke を使用できます。これは、説明した同じユースケースから多少作成されました。
次に、次のコマンドを使用して、削除されるすべてのリソースを一覧表示できます。
aws-nuke -c config/nuke-config.yml --profile aws-nuke-example
--no-dry-runオプションを追加して、同じコマンド内のすべてのリソースを完全に削除します。
target、resource type、excludeなど、ニーズに合わせて活用できる複数のフィルターオプションもあります。
孤立したリソースを削除する簡単な方法はないという他の回答に同意します。
しかし、私は元の問題がテラフォームの状態が破損していることを確認します。 awsリソースから状態ファイルを生成できる terraform import 機能をチェックアウトできます。このようにして、構成をリソースに再度接続できます。
短い答え:いいえ。
より長い答え:実際には、それもまたありません。これには組み込みの機能はありません。
あなたが説明しているケースは、典型的なAWSの使用法の範囲内ではありません...アカウントのすべてを破棄する通常は-は簡単ではありません。
もちろん、あなたはcouldスクリプトをかなり簡単に、aws-cliへの呼び出しをカスタムコードにラップしてリソースを反復処理し、追加のリクエストを生成してそれらを破棄します...しかし、そうした場合は、それをロックしてくださいこのような機能は本質的に危険なので、コードを削除します。
作成したすべてのリソースを削除できます。自動化する必要があります。サンプルはこちらをご覧ください。
https://github.com/jouellnyc/AWS/tree/master/create_aws_vpc2
https://github.com/jouellnyc/AWS/blob/master/create_aws_vpc2/delete_lb_and_vpc.sh
私はクラウドヌークである程度の成功を収めました(数分間遊んだ。
問題がterraform状態の破損である場合、おそらくバージョンをS3バケットに保存すると、その影響を減らすのに役立ちます。