ヤマムギ

growing hard days.

*

CloudFormationスタックポリシーでスタック更新を防止する

   

CloudFormationのスタックにスタックポリシーを設定することによって、スタック更新時に特定のリソースの更新を防止できます。

  • CloudFormationテンプレート

例えば上記のようなテンプレート(バージニア北部リージョン用)でスタックを作成します。

  • スタックポリシー

スタック作成時の詳細オプションでスタックポリシーを指定できます。
セキュリティグループのみを変更許可するスタックポリシーにしてスタックを作成しました。

  • 更新失敗確認用CloudFormationテンプレート

EC2のインスタンスタイプを変更してスタックの更新をしてみます。

EC2インスタンスの更新がスタックポリシーで許可されていないので、UPDATE_FAILDになりました。
スタックポリシーは明示的な許可がない場合は更新が拒否されます。
許可するリソースが多くて、拒否するリソースが限定的な場合はすべてを許可して拒否するリソースのみDenyで明示的な拒否ができます。

  • 更新成功確認用CloudFormationテンプレート

それでは、EC2インスタンスの更新は諦めて、セキュリティグループを変更してみます。

成功しました。
期待通りの動作でした。

ちなみにスタックポリシーはスタックの更新時に適用されます。
スタックに含まれるリソースを手動で更新する場合は、制御できません。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

  関連記事

S3バケットポリシーですべてDenyにしてしまったらルートユーザーの出番

特定のConditionsを指定して、それ以外はすべて拒否するS3バケットポリシ …

TwilioからのリクエストをAPI Gateway+LambdaでTwimlを返して処理する

Twilioで着信した時のリクエスト先としてTwimlをWebサーバやS3で用意 …

Pepperで撮影した写真をAmazon Rekognitionで分析してその結果をPepperがしゃべる ~(1)AWS編~

Pepperの機能を使えるところは使って、何かしたいなあと思ってまして。 目(カ …

AWS CodeCommit 認証情報ヘルパーをmacOSに設定しました

AWS CLI 認証情報ヘルパーを使用して Linux, macOS, or U …

AWSアカウント内のすべてのS3バケットを削除するLambda(Python)

やりたいこと 特定アカウント内のS3バケットを全部削除したいです。 バケット内の …

Amazon CloudSearchにAWS Lambda(Python)からデータをアップロードする

このブログはゆるっとアドベントカレンダー Advent Calendar 201 …

プライベートサブネットのEC2でセッションマネージャを使うようVPCエンドポイントを構成する

インターネットゲートウェイへのルートがないルートテーブルに関連付けられたプライベ …

新しいVPCウィザード(2022年)がすんごく便利になってました

VPCウィザードがすんごく便利になってました。 ウィザードの左ペインで設定を選択 …

AWS Organizationsで組織全体のAWS CloudTrailを有効にしました

Organizationsのサービスメニューから、CloudTrailを選択して …

Amazon Auroraのスナップショットの暗号化とリージョン間コピーを改めて試しました

Amazon Auroraデータベースを暗号化して、スナップショットを作成、クロ …