Amazon Web Services(AWS)は、CloudFormationサービス強化の一環として、新たにデプロイタイムラインビューを導入した。今回新たなビューで、開発者やクラウドエンジニアがインフラストラクチャのデプロイプロセスをより直観的に追跡、把握できるようになることに加え、依存関係に関する新たな洞察も得られている。
2011年にAWSがInfrastructure as Code (IaC)サービスとして導入したCloudFormationで、開発者によるJSON形式またはYAML形式のテンプレートを使用したクラウドリソースのモデル化やプロビジョニングが可能になった。新しいビューでリソースのプロビジョニングが視覚化されることで、ユーザーはクラウドインフラの作成、更新、削除工程を正確かつリアルタイムに確認できる。一般的なテキスト形式のイベントログとは異なり、今回実装されるタイムラインではリソースのデプロイの正確な順序と依存関係を反映した表形式のビューが利用可能だ。
(スクリーンショット提供:AWS)
AWSのIdriss Laouali Abdou氏は、この新機能の利用でクラウドインフラ管理を担うエンジニアには以下のベネフィットがあるとブログで述べている。
-
リアルタイムデータの可視化機能:ユーザーは5秒ごとに更新されるタイムラインで、CloudFormationによるリソースプロビジョニングの進捗を視覚的に確認できる。タイムラインリソースは垂直方向に、各リソースのデプロイのステータスは色分けされたバーで水平方向にそれぞれ表示される。
-
色付きのステータスインジケータ表示:リソースのデプロイ状態がバーの色で表示され、青は進行中、黄色は整合性チェック中、緑は成功、赤は失敗を示している。
-
リソースの詳細情報:各バーにカーソルを合わせることで、完全なリソース名、デプロイの開始/終了時刻、デプロイフェーズなどの詳細が確認できる。
-
失敗原因の特定:デプロイに失敗した場合、根本原因と思われるリソース操作のバーがタイムライン上に赤と白の縞模様で強調表示される。これにより、迅速なトラブルシューティングが可能になる。
(スクリーンショット提供:AWS)
CloudFormationの配信するテキスト形式のイベントログの管理にこのデプロイタイムラインを利用することで、クラウド管理者による手動操作を上回る改善がみられている。これは、特に複数のリソースが相互接続された複雑な構成のインフラストラクチャでは、手動のログ解析が困難になりえるからである。
タイムラインはAWS CloudFormation コンソールで閲覧できる。コンソールでEventタブを選択、Timelineビューをクリックすることで、タイムラインが表示される。この新しいビューでは、CloudFormationに対応した全てのAWSリージョンでスタックの作成、更新、削除操作が視覚化される。
紹介ブログ記事では、特定の順序でのリソースプロビジョニング工程の視覚化を含めた、サンプルデプロイ時のタイムライン機能が詳細に示されている。例えば、アプリケーションのサンプルスタックを利用する場合、まずAmazon VPCやインターネットゲートウェイなどのネットワークリソースが作成される。その後、セキュリティグループ、サブネットが作成され、最後にAmazon EC2インスタンスが作成される。同記事では続けて、新しいタイムライン可視化機能のベネフィットが列挙されており、これには、依存関係の相互関連性やデプロイ障害の迅速な特定、複雑なデプロイログの解析時間の短縮といったクラウドエンジニアが複雑なデプロイシーケンスを理解する上で役立つ機能が含まれている。
今回リリースとなるタイムラインの新要素には、「リソースの整合性チェックフェーズ」の表示方法があげられる。この段階を挟むことで、 CloudFormationはリソースの動作が完全であると確認をした上で、完了マークにすることができる。具体的には、インターネットゲートウェイリソースの場合、作成に2秒、安定化チェックに15秒かかることがドキュメントで記されている。
LinkedInに寄稿したTasleem Hussein氏は、タイムラインの可視化によって、同氏が頻繁に直面する問題が解決されることを期待している。Tasleem Hussein氏は、タイムラインの可視化機能で頻繁に目にする問題が解決されることを待ち望んでいると、LinkedInに下記の投稿をしている。
自分のコードが何を実行しているのかを知りたいのですが、テスト環境でのデプロイに開発環境より2分も時間がかかると、コードが間違っていたのではないかと疑問を抱いてしまいます。こんなことありますよね?みんな同じなので、安心なされ!
Nhyl Bryle Ibañez氏は新しいタイムラインビューがイベントステータスの理解に大きく役立ったとLinkedInで絶賛している。
CloudFormationの新しいタイムラインビューは素晴らしい追加実装です!イベントステータスがどのように機能しているか、ようやく理解することができました。
AWS製品管理ディレクターのMassimo Re Ferrè氏もまた、新しいタイムライン可視化機能の使用に関する 広範囲にわたるブログを書いており、生成AIとの併用でCloudFormationのデプロイを改善する可能性を探っている。同氏は実験として、元となるテンプレートやそこから得られるデプロイイベントのリストとあわせてタイムラインビューのスクリーンショットをClaude.aiにアップロードしている。
この実験では、CloudFormationと生成AIを併用した場合のユースケースが複数実証されている。 今回の新しいタイムラインビュー機能のベネフィットには、以下のものがある。
-
スタックサマリ:AIは、デプロイリソースとデプロイシーケンス順序を要約できるため、AIは未知のインフラストラクチャの解読に役立つ可能性がある。
-
タイムラインの探索:AIは、実験に用いられた一見すると暗号のようなデプロイ詳細の説明に役立っている。AIとの併用でいくつかのセキュリティグループが一括デプロイされなかった理由や、デプロイ時間や依存関係の不明瞭な点が明らかになった。
-
依存関係マッピングによる視覚化 :Claude.aiの生成する依存関係ツリーがエンジニアによる関係性の視覚化に役立っている。
今回の実験では、AIによる時折のハルシネーションや誤ったレコメンドといったこのアプローチの不確実さもみられた。だが、Ferrè氏はAIのコード読解力の高さに感銘を受けたという。
最後に引用するのは、Benjamin Wood氏のLinkedInへの投稿である。AWS CDKと新しいビュー機能を併用する有用性に関する考察が述べられている。
この機能は、CDKスタックのデプロイを視覚的に理解する素晴らしい助けになるでしょう。イベントグリッドにはリソースが100以上になるスタックのデプロイ情報がありますが、把握はとても困難です。この機能は絶対に役立つはずです。
現在デプロイタイムラインビューは、CloudFormationコンソールとCloudFormationをサポートしている全てのAWSリージョンで利用可能である。