私は3層アプリケーションを作成するスタックを持っています。スタックを誤って削除しないようにしたい。 AWS CloudFormationスタックを保護する方法はありますか?AWS CloudFormationスタックを削除から保護するにはどうすればよいですか?
また、私のスタックが削除されても、削除されるスタックに関連するリソースをどのように停止できるかを知りたいと思います。
私は3層アプリケーションを作成するスタックを持っています。スタックを誤って削除しないようにしたい。 AWS CloudFormationスタックを保護する方法はありますか?AWS CloudFormationスタックを削除から保護するにはどうすればよいですか?
また、私のスタックが削除されても、削除されるスタックに関連するリソースをどのように停止できるかを知りたいと思います。
AWS CloudFormationで作成されたリソースを保護するには、いくつかの方法があります。
はスタックを守る
AWS CloudFormationは、希望のリソースを記述し、リソースのスタックとしてそれを展開テンプレートをとります。スタックが削除されると、リソースも削除されます。
したがって、最初の方法は、どのユーザーがスタックを削除する権限を持つかを制御することです。これは、アイデンティティ・アクセス管理(IAM)で割り当てることができます。ここで
は Controlling Access with AWS Identity and Access Managementドキュメントからの例です:MyProductionStackため、削除や更新スタックアクションを拒否するサンプルポリシー:
{
"Version":"2012-10-17",
"Statement":[{
"Effect":"Deny",
"Action":[
"cloudformation:DeleteStack",
"cloudformation:UpdateStack"
],
"Resource":"arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/*"
}]
}
ポリシーこともできrequire use of a Multi-factor Authentication (MFA) code実行する前に、スタックの削除などの機密性の高い操作。
はCloudFormationによって作成
リソースがまだ適切な権限を持つ任意のユーザーによって変更/削除することができるリソースを保護します。したがって、重要なリソースが権限のないユーザーの影響を受けないように保護することが重要です。 特権を付与することをお勧めします。これにより、ユーザは必要なリソースだけを制御することができます。
CloudFormation削除ポリシー
削除ポリシーは、スタックが削除されたときを削除すべきではないリソースを定義します。 CloudFormation documentationから
:
DeletionPolicy
では、あなたがそのスタックが削除されているリソースを保存するか(場合によっては)バックアップすることができます属性。制御するリソースごとにDeletionPolicy
属性を指定します。リソースにDeletionPolicy
属性がない場合、AWS CloudFormationはデフォルトでリソースを削除します。スタックが削除されたときにリソースを保持するには、そのリソースに
Retain
を指定します。任意のリソースに対してretainを使用できます。たとえば、Amazon S3バケットまたはAmazon EC2インスタンスを保持して、スタックを削除した後でもそのリソースを使用または変更できるようにします。
これは通常、意図的なスタック削除後にリソースを保持するために使用されます。たとえば、Amazon S3バケットまたはAmazon RDSデータベースを保持します。ただし、スタックが誤って削除された場合でもリソースを保持するために使用することもできます。