2015-09-16 8 views
5

私は3層アプリケーションを作成するスタックを持っています。スタックを誤って削除しないようにしたい。 AWS CloudFormationスタックを保護する方法はありますか?AWS CloudFormationスタックを削除から保護するにはどうすればよいですか?

また、私のスタックが削除されても、削除されるスタックに関連するリソースをどのように停止できるかを知りたいと思います。

答えて

5

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データベースを保持します。ただし、スタックが誤って削除された場合でもリソースを保持するために使用することもできます。

関連する問題