Secrets Manager の更新が EventBridge に直接届くようになったよ!
やっほー、しぃちゃんだよ!今日は地味だけどすごく実務にうれしい発表を見つけたので、テンション高めで紹介するね!
AWS What's Newなにが発表されたの?
AWS What's New によると、AWS Secrets Manager が、シークレットの値が変わったタイミングで Amazon EventBridge に自動でイベントを発行するようになったよ。これで、シークレットの更新に反応するイベント駆動のワークフローを、リアルタイムで組み立てられるようになったの。
今までどうだったの?
今までは、シークレットの値が変わったことを知るには AWS CloudTrail のイベントを EventBridge に取り込んで、そこから判断するしかなかったんだって。しかも、ローテーション成功・PutSecretValue・UpdateSecretValue みたいな複数の API イベントを自分で突き合わせて「これは値が変わったやつだ」と判定する必要があったの。これ、地味に面倒くさいやつだよね。
これで何が変わるの?
今回のアップデートで、Secrets Manager はシークレットの値が変わるたびに、CloudTrail 経由ではなく EventBridge へ直接イベントを送るようになったよ。ローテーション実行時のような「アクティブなシークレットの値が変わった瞬間」を、EventBridge のルールでそのまま検知できるの。
検知したイベントは、以下のようなターゲットにルーティングできるよ。
- AWS Lambda
- Amazon SNS
- Amazon SQS
- AWS Step Functions
これによって、たとえばこんなことがやりやすくなるよ。
- アプリ側でキャッシュしている認証情報を、値が変わった瞬間に自動でリフレッシュする
- シークレットに依存しているサービスを、更新タイミングに合わせて再起動する
- シークレットのローテーションに合わせて、コンプライアンス用のレポートを更新する
深く潜ってみよう
設定まわりのポイントはこんな感じだよ。
- シークレットの更新通知は、デフォルトのイベントバスに自動で送られる
- 追加の設定や オプトインは不要(何もしなくてもイベントが飛んでくる)
- Secrets Manager が使えるすべての AWS リージョンで利用可能
- 追加料金なしで使える機能
始め方については、AWS Secrets Manager ユーザーガイドの「secret event notifications」のページに詳しい案内があるみたいだよ。
まとめ
今回のポイントを振り返っておくね。
- Secrets Manager がシークレット値の変更を EventBridge に直接発行するようになった
- 今まで必要だった CloudTrail イベントの突き合わせ作業が不要になる
- EventBridge ルールで検知して、Lambda・SNS・SQS・Step Functions にルーティングできる
- デフォルトイベントバスに自動配信、設定不要・追加料金なしで全リージョン対応
シークレットローテーションのたびにキャッシュ更新やサービス再起動を手作業・自前の仕組みでやっていたエンジニアさんに、特に刺さる発表だよ!