【UPDATE】CloudFormationのリソース作成が視覚化されました!
目次
はじめに
こんにちは、CloudBuildersのsugawaraです。
11/11にCloudFormationの新機能である、タイムラインビュー(Deployment Timeline View)がリリースされました。日々CDKやCloudFormationを利用している自分にはなかなかうれしいアップデートだったので、簡単に紹介していきたいと思います。
なお、上記記事の「x-ray vision」とはいわゆる「透視能力」のことであり、CloudFormationの過程が見られるようになったよというお話ですね。ちょっと紛らわしいかもですが、AWS X-rayのことではないです(こっちはサービス名だから大文字ですね)。
タイムラインビューとは
まず、タイムラインビューがどのような機能かを簡単にまとめました。
- 機能概要: スタック操作中にCloudFormationがリソースをプロビジョニングする順序や時間を可視化できる。
- 利点:
- リソース間の依存関係や処理順序が把握しやすくなる。
- テンプレートの最適化が可能になり、デプロイ時間の短縮やメンテナンス性の向上ができる。
- 視覚化の特徴:
- 各リソースのステータスが色分けされて表示され、かかった処理時間も確認ができる。
- エラー発生時には該当リソースが強調表示され、原因特定がしやすい。
なお、すでにデプロイ済みのスタックもすべてタイムラインビューで確認できるようです。下記の画像は以前cdk bootstrapコマンドを実行して作成されたスタック、CDK Toolkitのテーブルビューとなります。
実際にやってみた
作成成功の場合
まずは、VPCと3つのプライベートサブネットを作成するCloudFormationテンプレートを使用してスタック作成をしてみました。作成後、「Events – updated(イベント-アップデート済み)」タブをクリックし、さらに「Timeline view – new(タイムラインビュー – 新規)」を選択すると、作成したリソースが時系列に沿って表示されます。
グラフ内の色のついた部分をクリックすると、リソースごとの作成の詳細が見れます。今回の例では、VPCの作成自体は13秒で完了しており、各サブネットはそれぞれ4秒ほどで同時並行で作成されていますね。
また、検索窓を使うと、特定のリソースのみに絞り込むこともできます。大量のリソースを作成したとしても、ピンポイントで確認できるのはいいですね。
削除失敗の場合
次に、別スタックを使用してわざと失敗するようにしてみます。対象リソースはVPCエンドポイントで、CDKで作成したものを削除します。なお、VPCエンドポイント自体はCDKで作成されたものですが、それにアタッチされているセキュリティグループ(以下、SG)は手動で作成したものです。CDKコード内では、手動作成したSGを指定して設定するようにしています。この状態でスタックの削除を行うと、削除ができずに失敗になります。
実際にスタックの削除を実行すると、再試行を繰りかえしているのがグラフや詳細からわかります。
DELETE_FAILEDのとなりにある「Likely root cause(考えられる根本原因)」をクリックすると、想定通りSGと依存関係があるという記載があります。先に手動でSGを削除すると、正常にVPCエンドポイントも削除されました。
これまで利用していたテーブルビューよりも見やすくなったので、個人的には気に入っています。みなさんもタイムラインビューを活用してみてください!
おわりに
今回はCloudFormationの新機能「タイムラインビュー」を紹介しました。視覚化されることで、これまでのテーブルビューよりもデプロイ状況が直感的でわかりやすくなりました。これからreInventにかけて様々なアップデートが来ると思うので、面白そうなものはどんどん試していきたいと思います!