[アップデート] AWS Well-Architected Tool の新機能「レビューテンプレート」を使ってみた

2023.10.05

いわさです。

構築したワークロードに対して AWS Well-Architected Framework のレビューを行う際には、AWS Well-Architected Tool を使ってマネジメントコンソール上で質問に答えていくことでリスクの可視化やレポート出力、レビュー結果の記録を行うことが出来ます。

先日のアップデートで、AWS Well-Archited Tool にレビューテンプレートという機能が追加されました。

AWS Well-Architected Tool は非常に便利ではあるのですが、AWS Well-Architected Framework 自体の質問が多いこともあり、質問への回答作業は冗長で結構時間もかかったりします。
また、複数のワークロードに対してのレビューを行いたい場合にワークロード共通の回答事項もあるはずですが、それもワークロードごとに入力する必要があり、従来はなかなかの手間でした。

今回登場したこのレビューテンプレートを使うことで、レンズへの回答内容をあらかじめテンプレートとして用意しておくことが出来ます。これによって冗長な回答項目を毎度手動で入力する必要がなくなります。

本日はこちらの機能を実際に使用してみましたので紹介したいと思います。

レビューテンプレートを作成する

AWS Well-Architected Tool に「レビューテンプレート」というメニューが追加されています。
こちらでレビューテンプレートを作成したり管理したり、あるいは共有されているレビューテンプレートを確認することも出来ます。

さっそく「テンプレートの作成」から新しいレビューテンプレートを作成してみます。
レビューテンプレートの定義自体は非常に簡単で、基本情報とレンズを選択するだけです。

次のように名前と説明、オプションのテンプレートノートを入力しました。
テンプレートノートは後ほど確認しますが、ワークロードを定義したときにテンプレートから自動で引用してくれるメモです。

ちなみにですが、基本情報の説明エリアは画面上に記載がないのですが、API 側で正規表現での入力チェックが入っているようで英数記号以外は NG のようです。

CloudTrail のログから次のようなエラーメッセージを確認することが出来ました。

"Message": "[Validation] [ECMA 262 regex \"^[A-Za-z0-9-_.,:/()@!&?#+'’\s]+$\" does not match input string \"検証用のレビューテンプレート\"]"

レビューテンプレートの対象レンズを選択する

基本情報に続いて、レビューテンプレートで対象とするレンズを選択します。
複数選択可能で、AWS Well-Architected Framework は必須となっています。ワークロードと同じですね。
また、カスタムレンズにも対応しています。いいぞ。

以上でレビューテンプレートが作成されます。

質問に回答する

ただし、この状態だとまだメモとレンズを設定しただけです。
テンプレートとして意味の成すために質問に回答をしましょう。

バナーが表示されている場合は次のように「質問に答える」から対象のレンズを選択します。
ワークロードと同じで回答はレンズごとです。

あるいは、レンズ一覧から対象のレンズを選択して「質問に答える」を選択することでも回答出来ます。

質問の回答は通常のワークロードのレビュー時と同じ内容が聞かれるので回答していきます。
一点異なる点としては適用対象外の選択が「質問はこのレビューテンプレートに当てはまりません」となっている点でしょうか。

また、共通の回答が出来ないものについてはスキップして問題ありません。
その場合はテンプレートをワークロードに適用した後に、ワークロードごとに個別の回答を行えば良いです。

適当にレンズごとに回答してみました。

ワークロードでレビューテンプレートを使う

では作成したレビューテンプレートを使ってみましょう。

開始方法はふたつあって、ひとつはレビューテンプレートを開いて「テンプレートからワークロードを定義」を選択することで、対象レビューテンプレートが選択された状態でワークロードの定義が開始されます。

ふたつめは、ワークロードの新規作成時に「レビューテンプレートから定義」を選択する方法です。

ワークロード定義のステップ 1 でレビューテンプレートが選択されていると思います。
ふたつめの方法から開始した場合はここで適用したいテンプレートを選択します。

あとは従来どおりワークロードの情報を定義するだけで良いです。

ちなみにレンズ適用画面では、テンプレートで選択されているレンズが必須で選択されていました。
そして、どうやらテンプレートで使われているレンズは選択対象外には出来ないようです。任意の SaaS Lens が必須になっていました。
また、テンプレートで使っているレンズに加えて、別のレンズを追加することも可能です。例えばこの場合であれば更に Serverless Lens やカスタムレンズなどを追加出来ます。

レビューテンプレートを使ってワークロード定義を作成してみました。
確認してみると、ワークロードのメモ欄にはテンプレートで設定したメモが記述されていることがわかります。

また、それぞれのレンズを見てみると、テンプレートで回答した内容が反映されていることもわかります。

ワークロード定義後にテンプレートを編集してみる

レビューテンプレートからワークロードを作成した後に、そのレビューテンプレートを編集すると、既存のワークロードはどうなるのでしょうか。
確認してみたところ、既存ワークロードは編集の影響を受けないようです。ワークロード作成時点のテンプレート内容を引用しているだけみたいですね。

ためしに次のようにテンプレートの編集から SaaS Lens を選択を外してみました。

適用済みのワークロードを確認してみると、編集後も SaaS Lens が適用されていて回答済みになっています。

レビューテンプレートを共有する

AWS Well-Architected Tool を活用する際には外部アカウントのワークロードを共有してレビューすることが多いと思います。
今回のレビューテンプレートも共有機能が備わっています。

ここでは作成したレビューテンプレートを、組織外の別アカウントに共有してみたいと思います。

レビューテンプレートを選択して「IAM ユーザーまたはアカウントと共有」を選択します。
共有作成画面で共有先の AWS アカウント ID を入力して、招待を送信します。

招待が送信されました。

招待先のアカウントで AWS Well-Architected Tool コンソールを確認してみましょう。
この時点では招待先のアカウントではまだレビューテンプレートは選択出来ない状態です。

レビューテンプレート一覧にも何も表示されていないですね。

招待先のアカウントでは「共有の招待」画面から「リソースタイプ:レビューテンプレート」として招待されているので、こちらで選択して招待を拒否あるいは許可をする必要があります。

ここでは次のように承諾操作を行ってみました。

承諾後、共有されたレビューテンプレートが招待先の AWS Well-Architected Tool コンソール上で表示されていることが確認できます。

招待先ではレビューテンプレートに対して表示だけが許可されています。
再共有や削除や編集は出来ませんでした。

これで、招待先でワークロード定義時にも共有されたレビューテンプレートが選択できるようになりました。

レビューテンプレートを削除する

最後にレビューテンプレートの削除も行ってみます。
先程の挙動からすると既存のワークロードには影響は出ないはずです。

次のようにレビューテンプレート一覧画面で削除操作を行います。

確認したところ、やはりレビューテンプレートが削除されても、適用されたワークロードには影響は出ませんでした。

ただし、削除されたレビューテンプレートが共有されている場合は招待先でもテンプレートが削除されました。

さいごに

本日は AWS Well-Architected Tool の新機能「レビューテンプレート」を使ってみました。

稀にしか使わない場合はあまり恩恵が無いかもしれないですが、AWS Well-Architected Tool を頻繁に使う方にとっては嬉しい機能だと思います。
共有機能もあるのでうまいことチーム内のレビュープロセスを効率化できるかもしれません。