2017-11-10 7 views
0

私は無料のアカウントを持っており、AWSの仕組みを知るためにスタックを作成しています。時には私はスタックを削除することを忘れて、それは私の自由なティア時間を使い切って、数日間アクティブにとどまります。タイムアウト後に自動的にCloudFormation Stackを削除します

作成するすべてのスタックが一定期間(たとえば1日後)に削除されるようにすることはできますか?私はそれがテンプレートに何かを加えることによって、またはいくつかのタグを加えることによると仮定します。

+0

https://cloud.netapp.com/blog/automate-ebs-volumes-cost-efficiency ec2.volumesの代わりにCFスタックを探すスクリプトを変更してください – Vorsprung

答えて

1

指定した時間が経過した後に自動的にリソースを削除するCF方法を実行すると、これが実行されます。

AWS Cloud formation TTL template with auto stack deletion

正直なところ、私は今、様々な他の方法でこれを行う、私のリソースの日常をスキャンし、5年ラインの下、私はこれ以上の空きがあるので、それをクリーンアップしないためにスケジュールを持っているボットを使用しますティアクレジット:

すべて最高です!

+0

私のEC2インスタンスはWindows上にあります。私は簡単にdeletestack.shをbatファイルに変更することができましたが、問題はaws cliがデフォルトでインストールされていないウィンドウにあります。しかし、Linuxではうまくいくでしょう。実際には、自分のコンピュータからcronの仕事をする方が簡単になるはずです。今考えてみましょう。たぶん、スタックの作成日をチェックし、1日より古い場合は削除してください。 – sashoalm

+0

うん、ユーザーデータはこれを試していないが、このような何かを使用する必要があります: 'Invoke-WebRequest -Uri https://s3.amazonaws.com/aws-cli/AWSCLI64.msi -Outfile Z: \ AWSCLI64.msi ' & '開始プロセス "Z:\ AWSCLI64.msi"/qn -Wait ' – TheeCodeDragon

1

TheeCodeDragonは、あなたの問題を解決する自己削除スタックを持つ回答を投稿したようです。ここにいくつかの他の解決策があります。

スケジュール自動スケーリング

あなたは自動スケーリンググループでそれらを設定し、私たちは、インスタンスがオンに消える作るためにこれをやった0にスケーリングするためにあなたのグループのスケジュールを設定した場合、あなたの主なリソースは、EC2のインスタンスである場合週末、午後6時以降、開発環境では、私たちは開発環境でお金を無駄にしないように月曜日の朝にスケールアップします。 http://docs.aws.amazon.com/autoscaling/latest/userguide/schedule_time.html#create-sch-actions

ラムダ(雲のクロン)

管理機能は、ボックスの外に存在しない場合は、10回のうち9は、あなたが世話をするために、スケジュール上で実行するためにラムダ関数を書くことができますそれの。すべての 'X'間隔または時間間隔で実行されるラムダ関数を記述し、設定したスタック上でdelete-stackを実行することができます。 LambdaはCloudFormationを介してセットアップできます。

展開注:

私はデフォルトではインストールされていないCLIについてコメントを見ました。私はAWSコードビルドを使用しています。 Jenkinsに匹敵する自己管理のサーバーレスビルドツール。テンプレートを使用して実行すると、CLIはすでにインストールされています。注意点は、プロジェクトをソース管理やs3からプルする必要があることです。セットアップが簡単なので、私はcodecommitを使用します。

関連する問題