[アップデート] AWS Proton でデプロイ履歴が管理出来るようになりました

2023.07.16

いわさです。

AWS Proton を使うことで、開発チームは組織の基準に準拠したインフラ環境を、インフラチームのリードタイムをまたずにセルフサービスでデプロイすることが出来るようになります。
先日のアップデートで、デプロイ履歴を管理することが出来るようになりました。

これまでは許可した様々なユーザーによって環境やサービスが作成・更新されてきましたが、Proton 上から履歴という形で追うことは出来ませんでした。
インフラ管理者がそのあたりを確認しようとすると CloudTrail の履歴を整理したり、あるいは AWS マネージドな環境であれば CloudFormation のスタック履歴から確認するなど、結構頑張る必要がありました。

今回のアップデートで、ダッシュボードと各環境・サービスの詳細画面でデプロイ履歴が表示されるようになり、管理者が簡単にかつ横断的にリソースの更新状況や最終更新日時などを確認出来るようになりました。

やってみた

2022 年 11 月ごろに AWS Proton ではダッシュボード機能が使えるようになりました。

こちらのダッシュボードでは従来はリソース状況を確認するためのものだったのですが、今回「デプロイ履歴」タブが新しく追加されており、こちらから環境・サービス横断でのデプロイ履歴が確認出来るようになっています。

また、プロビジョニング済みの環境・およびサービスを開くと、対象リソースに絞ったデプロイ履歴が確認出来ます。
良いですね。先程のダッシュボードはアカウント全体で、こちらはサービス単位で確認が出来そうです。

アップデート前の履歴は管理されていなさそう

ただし、既に環境がプロビジョニングされているにも関わらずデプロイ履歴はなにもない状態でした。
おそらくですが、今回の機能が搭載される前のデプロイ履歴については管理されていないようです。

このデプロイ履歴は新規デプロイ以外に更新も対象です。

先程のプロビジョニング済み環境では、ちょうどよく対象環境のメジャーバージョン更新が出来そうだったので操作してみましょう。

テンプレートに問題があってデプロイ自体には失敗してしまったのですが、確認してみるとデプロイ履歴が表示されました。
一覧から確認出来るのはデプロイ ID、ステータス、更新日時あたりですね。

ダッシュボード側も見てみるとデプロイ履歴が表示されました。
やはりアップデート前の履歴については表示されていないということで良さそうかな。

マルチアカウントで試してみた

AWS Proton は Proton を管理する AWS アカウントに、デプロイ先の AWS アカウントを接続して、リソースプロビジョニングをコントロールするアカウントと、サービスをホスティングするアカウントを分離することが出来ます。
Proton の利用が想定される組織的な環境だとこの使い方が多いと思います。

今回次の構成図のように、クロスアカウントでプロビジョニングを行ったときに、デプロイ履歴がどちらのアカウントで把握出来るのかを確認してみました。
ちなみに、Proton でプロビジョニングされる CloudFormation スタックは、デプロイ先アカウントで管理されます。

事前にアカウント間で Proton の接続機能を有効化しておく必要があります。このあたりの流れは以前試したことがあるのでそちらをご覧ください。

デプロイしてみると

あとは最低限のシンプルな環境を、別アカウントの環境へデプロイするだけです。
やってみましょう。

デプロイ先のアカウント B では CloudFormation スタックが作成され始めていますね。

ただし、デプロイ先のアカウント B の Proton ではデプロイ履歴に何も表示されていません。

一方で、デプロイ管理を行っているアカウント A の Proton デプロイ履歴には次のようにクロスアカウントが対象でも履歴として表示されていました。

デプロイ履歴分散したらどうしようかなとちょっと思ってたのですが、ちゃんと管理側で履歴を確認することが出来ました。
良かった。

さいごに

本日は AWS Proton でデプロイ履歴が管理出来るようになったので確認してみました。

私はデプロイ履歴を管理する意識が抜けていたのですが、大規模に様々な環境でプロビジョニングが繰り返されているような場合だと、一元的にデプロイ履歴管理出来るのは非常に便利そうですね。
特にダッシュボードのデプロイ履歴タブは一目で環境が更新されたのかどうかをインフラ管理者が把握しやすくなったので良さそうです。