[アップデート] CloudFormation Hooks の「呼び出しの概要」でフック呼び出しごとの詳細な実行結果を確認できるようになりました
いわさです。
AWS CloudFormation には「フック」という機能があります。
この機能を使うと、デプロイされる CloudFormation スタックに様々な要件やガイドラインに準拠したガードレールを適用することができます。
以前のアップデートで、この CloudFormation コンソールに呼び出し履歴という画面が追加されていました。
この呼び出し履歴画面を使うと、フックがいつ呼び出され結果がどうだったのかを確認することができていました。
この呼び出し履歴画面ですが、対象のスタックや結果とエラーメッセージについて確認するには十分だったのですが、フックは複数のコントロールで構成することもあってより詳細な結果を確認するには少し情報が足りていませんでした。
これが先日のアップデートで少し強化されまして、呼び出し結果のより詳細な情報を確認することが出来るようになりました。
普段使っていないと気が付きにくいのですが、変更点を解説します。
呼び出しごとの詳細画面が追加された
早速フックの呼び出し概要画面を確認してみましょう。
CloudFormation コンソールからアクセスできます。

違い、わかりますかね?
このブログの冒頭に貼ったキャプチャは以前のものですが、比べてみると次のように「呼び出し ID」列が選択できるようになっています。

以下のブログで作成した AWS Control Tower のコントロールを使ったフックの呼び出し履歴をもとに確認してみます。
こちらを選択してみると、次のように呼び出し ID ごとの詳細な結果を確認することができます。なるほど。

以前までは冒頭のリスト画面上でステータスと結果メッセージを確認することはできていたのですが、フックの呼び出し結果はエラーメッセージが膨大になりやすくてリストで確認するには適していませんでした。こちらの画面のほうが確認しやすいですね。
さらに、フックは複数のコントロールで構成される場合もあるのですが、コントロールごとにどの結果がどうだったのかも把握しやすくなりました。
一部コントロールだけ失敗させてみる
全失敗や全成功であれば以前のままでもまぁ良かったのですが、今回のアップデートで成功と失敗が混在している時にわかりやすくなっていそうです。
試してみましょう。
CT.SQS のプロアクティブコントロールを使ったフックを作成し、以下の CloudFormation をデプロイしてみます。
このフックは SQS の暗号化とデッドレターキューの設定を必須としています。
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Simple SQS Queue'
Resources:
SampleQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: hoge1117queue
SqsManagedSseEnabled: true
上記 CloudFormation テンプレートでは暗号化は指定していますが、デッドレターキューの設定はありません。
これで一部失敗という形になるはず。
スタックデプロイしてみると失敗しました。(フックのモードに「失敗」を設定していたので違反している場合はデプロイに失敗する)
呼び出し詳細画面を確認してみると、次のように適用されたコントロールごとに結果を確認することができますね。良いですね、どれを対処すれば良いのかすぐわかる。

ちなみにこの画面のコントロール ID を選択すると次のようにコントロールごとの詳細情報を確認することができます。
失敗したコントロールを確認して必要性とかドキュメント情報を確認するのに使えそうです。

フックの呼び出し履歴側も対応されている
なお、呼び出しの概要に近い機能がフックごとの呼び出し履歴タブにも表示される仕様だったのですが、こちらの呼び出し ID も同じように詳細情報を確認できるようになっていました。

さいごに
本日は CloudFormation Hooks の「呼び出しの概要」でフック呼び出しごとの詳細な実行結果を確認できるようになったので使ってみました。
以前の呼び出し結果のものも詳細情報が確認できるようになっていましたね。
大規模で複雑なフックで失敗/警告が発生した際に状況を把握する場合、エラーメッセージだけだとちょっと大変なので、こちらの画面を使ってトラブルシューティングするようにすると良さそうです。







