[アップデート] AWS Resilience Hub のドリフト検出機能が強化され、アプリケーション変更でもトリガー出来るようになりました

2024.05.10

いわさです。

AWS Resilience Hub はアプリケーションやコンポーネントごとに要求される回復力を検出・評価することが出来るサービスです。

AWS Resilience Hub の機能のひとつに「ドリフト検出」というものがあります。
2023 年 8 月に実装された機能で、以前のポリシーでは準拠できていたが、最新のポリシーでは準拠できなかったリソースやコンポーネントをドリフトが発生している状態として検出してくれます。

先日 2024 年 5 月のアップデートでこの機能がさらに強化されました。
Resilience Hub のドリフト検出機能は日次などで継続的なスケジュール実行が可能だったのですが、今回のアップデートでリソースやコンポーネントの変更が発生したタイミングでも自動的にドリフトの発生有無を検出してくれるようになりました。

今回こちらを試してみたのでその様子を紹介します。

有効化方法

有効化は簡単です。
アプリケーション作成時にドリフト検出有効化オプションがあるのでポチです。

まず、AWS Resilience Hub ではアプリケーションを定義します。
その際に次のようにドリフトを検出して通知するかを構成することが出来ます。

「アプリケーションがドリフトしたときに通知が届きます」をチェックすると次のように通知先を選択することが出来ます。
選択出来るのhじゃ SNS トピックのみです。

ちなみに、「毎日自動的に評価」をオンにしていない場合は、ドリフト通知機能についても無効となります。

定期評価とドリフト通知を有効化するとアプリケーションの概要でも次のように定期評価が有効化されていることと、アプリケーションドリフト通知が有効となっていることが確認出来ます。

ちなみに上記数字が 0 なのはまだドリフトが発生していないということを示しています。

ドリフト発生させてみる

では実際にアプリケーションのドリフトを発生し、通知を確認してみましょう。

リソースのドリフト

今回はシンプルにアプリケーションに含まれる一部リソースを削除してみました。
以下のリソースグループに含まれる EC2 を削除します。

少し待つと E メールを受信しました。
Resilience Hub が特定の入力ソースに対してドリフトを検出したという内容が通知されています。

マネジメントコンソールでも確認してみると、「リソースのドリフト」が 0 から 1 に変化していました。

上記リンクをクリックすると対象の評価レポートにアクセスすることができ、その中で検出されたドリフト内容を確認することが出来ますね。
リソースグループから EC2 インスタンスが削除されていることまでわかります。

ドリフトが検出された評価をよく見てみると呼び出した人が「System」になっています。
どうやらリソース変更をトリガーに評価が実施されドリフトが検出されたという流れのようです。

ユーザーはこの通知を確認し、入力ソースの再インポート操作などを行ってアプリケーションを更新する形となります。

ポリシーのドリフト

続いてポリシーのドリフトです。
いまいち発生方法がわからなかったのですが、次のように評価済みのポリシーの RTO/RPO を変更し、手動で再評価させてみました。

するとポリシーのドリフトが検出されました。やった。
どうやらポリシー変更の場合は System 起因での自動評価は走らないようですね。

ちなみに評価一覧で確認する際にはドリフトが発生していることは確認出来るのですが、それがポリシーのドリフトなのかリソースのドリフトなのかまではわかりませんでした。

さいごに

本日は AWS Resilience Hub のドリフト検出機能が強化され、アプリケーション変更でもトリガー出来るようになったので使ってみました。

従来は定期的な確認まででしたが、ドリフトが発生したタイミングですぐに対処を行い、RTO/RPO 違反が起きる可能性を下げることが出来そうですね。
Resilience Hub を運用するのであれば有効化しない手はなさそうです。是非使ってみてください。