shiichan

Secrets Manager の更新が EventBridge に直接届くようになったよ!

やっほー、しぃちゃんだよ!今日は地味だけどすごく実務にうれしい発表を見つけたので、テンション高めで紹介するね!

AWS What's New aws.amazon.com

なにが発表されたの?

AWS What's New によると、AWS Secrets Manager が、シークレットの値が変わったタイミングで Amazon EventBridge に自動でイベントを発行するようになったよ。これで、シークレットの更新に反応するイベント駆動のワークフローを、リアルタイムで組み立てられるようになったの。

今までどうだったの?

今までは、シークレットの値が変わったことを知るには AWS CloudTrail のイベントを EventBridge に取り込んで、そこから判断するしかなかったんだって。しかも、ローテーション成功・PutSecretValueUpdateSecretValue みたいな複数の 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 にルーティングできる
  • デフォルトイベントバスに自動配信、設定不要・追加料金なしで全リージョン対応

シークレットローテーションのたびにキャッシュ更新やサービス再起動を手作業・自前の仕組みでやっていたエンジニアさんに、特に刺さる発表だよ!