AWS CloudFormation 新機能 [タイムラインビュー(デプロイタイムラインビュー)]

# CloudFormation タイムラインビュー/デプロイタイムライン (deployment timeline view)
2024/11/12に AWS CloudFormationでタイムラインビュー(デプロイタイムライン ビュー deployment timeline view) が新しく提供されました

https://aws.amazon.com/about-aws/whats-new/2024/11/x-ray-vision-cloudformation-deployments-timeline-view/

:::note info
説明文に"x-ray"とありますが、単に「見通すことができる」位の意味で使われており、AWS X-Rayとは関係ないようです。
:::

## 概要
CloudFormationスタックのリソース作成・更新イベント（ログ）を時系列グラフで表示します。
![182848.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/f8206eb4-1b95-58c1-8d0a-3d01ce61c1c4.png)
リソース作成の前後関係が判りやすくなりました。

## 表示方法
CloudFormation スタックの詳細 画面の「**イベント - アップデート済み**」タブ（旧「イベント」タブ）で表示できます。
イベント画面には「**テーブルビュー**」と「**タイムラインビュー - 新規**」ボタンが新設されました。
「テーブルビュー」が既存のイベント表示です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/e0b92a50-0cda-4d02-e7f4-d7835b5f2abc.png)

「タイムラインビュー - 新規」ボタンでイベント（ログ）が時系列に表示されます。
![182848.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/f8206eb4-1b95-58c1-8d0a-3d01ce61c1c4.png)

グラフ左には論理IDが表示されています。作成順に並んでいるようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/5a3f69d1-921b-c0f5-9fe0-b159a8dd7d86.png)

補足すると、論理ID一覧は「リソース」タブで確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/55b1bf47-32f9-03b6-38c0-8db41e8dc546.png)

## ポップアップ画面表示
グラフをクリックすると、開始・終了などの時間がポップアップで表示されます。
![182945.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/6dfd6f79-a8ed-3b89-94e8-104df3814e70.png)

ポップアップ画面で"**CREATE_COMPLETE**"などの項目をクリックすれば、時刻詳細が表示できます。
![183018.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/d4fc7ad8-98d8-793a-cb0d-a0a20d454817.png)

## 表示リソースのフィルタ
表示リソースのフィルタも可能です。下記は文字列 subnet を含むリソースを表示しています。
 ![183102.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/670cc977-e279-25c3-2012-38e75f38b846.png)

## エラー時の根本原因表示
リソース作成に失敗した場合、ロールバック完了までのタイムラインで表示されます。
下記失敗の例では、ロールバックに時間がかかっていることがよくわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/2227a604-c323-87af-548b-8837466b4e17.png)
「**根本原因を表示**」ボタンをクリックすると、グラフ上で「**考えられる根本原因**」をポップアップウィンドウにて表示してくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/6fc4907d-01bd-74f1-7c60-0d70c5de8de2.png)

ポップアップ画面で"**CREATE_FAILED (考えられる根本原因)**"をクリックすれば、障害理由を表示します。
![184244.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/bdca2074-0bb8-3412-d69e-bec2ea784977.png)

テーブル表示（既存のイベント表示）の「状況の理由」で表示されるものと同一ですが、リソース名・タイプ・時間等がポップアップ画面に集められて見やすくなりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/339fcdbb-831a-ba1b-5f63-5b78b3a78e1b.png)

### 英語表記
日本語では表示が若干崩れていますが、英語では下のような表示です。
![cfn-event-err-view1-english.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/2a4a1335-fda8-4a00-5fc2-66d1506faa04.png)

項目凡例 英語
![184359.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/c7271fca-0686-89d8-6fb8-0dbfd61f0b57.png)
項目凡例 日本語
![184451.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/47087efd-f4e9-bfb3-9665-92470aad5a2c.png)

### 蛇足
AWS ブログに[2024/03の結果整合性チェック(Eventual consistency check)変更の説明があり](https://aws.amazon.com/jp/blogs/news/how-we-sped-up-aws-cloudformation-deployments-with-optimistic-stabilization/)、この説明中の図と今回の更新がよく似ています。この時に思いついたのかな。

<img src=https://d2908q01vomqb2.cloudfront.net/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f/2024/03/18/new-optimistic-stabilization-strategy.png>

https://aws.amazon.com/jp/blogs/news/how-we-sped-up-aws-cloudformation-deployments-with-optimistic-stabilization/

---
## 「辞書として使える」CloudFormationの本

CloudFormationの辞書として使える本を **詳解 AWS CloudFormation** としてマイナビ出版様から出版していただいています。

https://book.mynavi.jp/ec_products_detail_html/id=143664

[Amazon](http://www.amazon.co.jp/o/ASIN/483998588X/mynavibooks-22/)、[Yodobashi](https://www.yodobashi.com/product/100000009003849795/)、[マイナビ出版](https://book.mynavi.jp/ec/products/detail/id=143664)

この本にはCloudFormationの<b>全機能</b>の説明、コマンドの説明、Webコンソール画面操作や仕様詳細、テンプレートファイル仕様、YAMLフォーマットの説明などを記載しています。
またよく見るエラーの一覧も付記しています。

### 本の補足ファイル等
本をより便利に使えるよう、下記を公開しています。
 - <b>テンプレートファイル</b>
本に記載したテンプレートはすべて[githubで公開](https://github.com/a-shiosalt/DefinitiveGuide2CloudFormation)</b>しています。

https://github.com/a-shiosalt/DefinitiveGuide2CloudFormation

 - [**詳細目次**](https://github.com/a-shiosalt/DefinitiveGuide2CloudFormation/blob/main/book-contents.pdf) <br><b>印刷して本に挟んで利用できる</b>ようにしています。<br>本の目次には章の一階層までしか記載できませんでしたが、この詳細目次には第三～第四階層まで記載しています。

https://github.com/a-shiosalt/DefinitiveGuide2CloudFormation/blob/main/book-contents.pdf

詳細目次は下記としても利用できます。
   - CloudFormationの機能一覧（2章 CloudFormationの機能とコンソール画面）
   - コマンド一覧（3章 コマンド操作）
   - 各一覧表の一覧（8章 シートシート集）

### 本の正誤情報
詳解 CloudFormation の正誤情報です。すみません。
- ネストの説明ページ（[差し替えPDF](https://book.mynavi.jp/files/user/support/9784839985882/9784839985882_171_173p.pdf)）<br>項目 "2-15-7 ネストの更新" ～ "2-15-9 ネストの変更セット：ルートスタックのみ更新" まで更新です。<br>更新ページの[差し替えPDF](https://book.mynavi.jp/files/user/support/9784839985882/9784839985882_171_173p.pdf) をマイナビ出版社で公開していただいています。
- 586ページ ForEachのサンプルで記載ミスがありました。
 githubでは[訂正版を公開](https://github.com/a-shiosalt/DefinitiveGuide2CloudFormation/blob/main/Chapter-4/4-6-2_2-ForEach.yaml)しています。