【保存版】AWS CloudFormationのスタックの変更とスタックポリシーの設定をしてみよう!
こんにちは、CryptoGamesの高橋です。
クリスペというサービスを行っている会社です。
本日はCloudFormationスタックの変更と、スタックポリシーの設定を行っていこうと思います。
はじめる前に
AWSのサービスには料金がかかります。
事前に確認を行い、テスト終了後はクリーンアップを忘れずに行なうようにお願いします。
1 CloudFormationテンプレートを用意する
まずは、下のようなyml形式のテンプレートファイルをデスクトップなどに用意しましょう。
「VPC」の自動化のためのものです。
AWSTemplateFormatVersion: '2010-09-09'
Resources:
myVPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
Tags:
- Key: 'Name'
Value: 'my-vpc'
詳細はこちらのnoteをご参照ください。
2 スタックを作成する
では、前章のテンプレートをもとにスタックを作成しましょう。
「CloudFormation」から「スタックの作成」
「テンプレートファイルのアップロード」から、前章のテンプレートファイルを選択します。
「スタックの名前」に任意の名前を入れて、「次へ」
「スタックオプションの設定」は特に設定せずに、「次へ」
問題がなさそうでしたら、「スタックの作成」
すると、下のようにうまく「myVPC」というVPCができました。
3 スタックを更新する
では、スタックを更新してみましょう。
下の「デザイナーでテンプレートを編集する」で「デザイナーで表示」
デザイナーが表示されました。
ここでは名前を「VPCModified」に修正しました。
右上の更新ボタンを押しましょう。
下の検証ボタンを押して、コード上、問題がないかを確認します。
それができましたら、下のボタンを押しましょう。
この状態で、「次へ」
「スタックの詳細を指定」も特に変えずに「次へ」
「スタックオプションの設定」も特に変えずに「次へ」
問題がなければ、「スタックの更新」
すると、「イベント」で下のように新しいイベントが開始されました。
リソースをみると「論理ID」が変更されています。
これで更新できたことが確認できました。
4 スタックポリシー付きのスタックを作成する
4ー1 スタックポリシーのファイルを用意する
今回は更新処理を禁止するスタックポリシーを作成します。
下のようなjsonファイルをデスクトップなどに保存しましょう。
{
"Statement" : [
{
"Effect" : "Deny",
"Action" : "Update:*",
"Principal" : "*",
"Resource" : "*"
}
]
}
4ー2 スタックを作成する
では、あらためて、更新処理を禁止したスタックポリシー付きのスタックを作ってみましょう。
基本的には第2章と同じ手順です。
スタックの名前を任意に設定します。
「スタックポリシー」で、4ー1で作成したファイルをアップロードします。
問題なければ、「スタックの作成」
5 スタックを更新してみる(エラーが出ることの確認)
では、スタックポリシーが効いているか、更新処理を行ってみましょう。
やり方は第3章と同じです。
先ほどと同様、「デザイナーで編集」を選択
修正ができたら、下のボタンを押します。
あとは、そのまま進んでいくだけです
「スタックの更新」を押すと、下のように「UPDATE_ROLLBACK_IN_PROGRESS」としてエラーが出ました。
スタックポリシーが効いていることが確認できました。
最後に
終わった後は、不要なものは必ずクリーンアップを行なってください。
料金が継続的にかかってしまうため、忘れないよう、十分ご注意ください。
今回は以上です。
最後まで、ありがとうございました。
サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊