[アップデート] Amazon CloudWatchでログの一元管理機能が提供されました!
こんにちは、まるとです。
少し時間が空いてしまったのですが、AWSから以下のアップデートがありました。
内容としては組織全体、特定の組織やアカウントから特定のアカウントへログをコピーするためにルールを設定できるようになりました。
AWS Organizationsとの連携に対応するため、組織でワークロードごとに複数のアカウントを利用していて、CloudWatchのログを集中管理したい要件がある時に便利なアップデートなのではないでしょうか。
先に結論
- Organizationsに紐づく、AWSアカウント内のCloudWatch Logsのロググループを他のアカウントにコピーする設定が管理アカウントから設定できるようになった
- コピー1つ目は無料、2つ目以降は 0.05 USD/GB なのでログの重要度によって使い分けよう
料金は?
ログのコピー1つ目は無料の記載となっていました。
Customers can centralize one copy of logs for free.
引用元: https://aws.amazon.com/jp/about-aws/whats-new/2025/09/amazon-cloudwatch-cross-account-cross-region-log-centralization/ (2025/9/25アクセス)
ただし、追加で別のリージョン/アカウントなどにコピーする場合は 0.05 USD/GB の料金が発生するとのことです。
Additional copies are charged at $0.05/GB of logs centralized (the backup region feature is considered an additional copy).
引用元: https://aws.amazon.com/jp/about-aws/whats-new/2025/09/amazon-cloudwatch-cross-account-cross-region-log-centralization/ (2025/9/25アクセス)
やってみる
本機能を使うにあたり、以下の前提条件を満たしている必要があります。
- AWS Organizationsが設定済みで、ログ送信元・送信先アカウントが組織に参加していること
また、今回の試すアカウント構成は以下となります。
まず、Organization Admin AccountでCloudWatchのログ一元管理機能を設定します。
設定では組織に所属するアカウントのCloudWatch ログを、複製先としてLog Accountに設定します。
その後、実際にSource AccountでログをCloudWatch Logsに出力し、Log Account側に複製されているか確認します。
それでは実際にやってみましょう。
1. 管理アカウントでCloudWatch一元管理の有効化、設定
まず、管理アカウントでサインインし、CloudWatch コンソールにアクセスします。
サイドバーにある「設定」から画面上部にある「組織」を選択します。
「組織」を選択すると初期状態では設定がオフになっているので、「信頼されたアクセスをオンにする」を選択して、組織設定管理を有効化します。
有効化が完了すると、Statusが「オン」になります。
続いて、ログが複製されるようにするにはルールを設定していく必要があります。
「一元化ルール管理」内の「ルールを設定」をクリックします。
順番にルールを設定していきます。
まず、ルールの名前とログ送信元の対象(組織、OU、アカウント、リージョン単位)を指定します。
今回は組織全体かつ東京リージョンのログを対象にしました。
次に送信先アカウント、送信先リージョンを指定します。
送信先リージョンの他に、追加で別リージョンにもコピーしたい場合はBackup Regionに宛先リージョンを設定します。
ただし、追加でコピーする場合は 0.05 USD/GB 発生するのでご注意ください。
送信先を指定したら、送信対象とするロググループ、暗号化の設定を指定します。
一部のロググループだけ複製するといったフィルタリングもできます。
また、暗号化設定は以下の3つから選択できます。
- 宛先アカウントで特定のKMSキーを使用して暗号化 (Centralize log groups encrypted with AWS KMS key in destination account with AWS KMS key)
- CloudWatch標準の暗号化を使用する (Centralize log groups encrypted with AWS KMS key in destination account without AWS KMS key)
- KMSで暗号化されたログを一元管理しない (Do not centralize log groups encrypted with AWS KMS key)
今回はすぐに試せるよう、すべてのログループかつ、CloudWatch標準の暗号化を使用で設定します。
最後に設定内容を確認し、問題ない場合は「Create centralization rule」を選択してルールを作成します。
これで一元管理の設定は完了です。
2. 実際に組織の所属する別アカウントでログを出力してみる
実際にログを出力して、複製されるか見てみましょう。
今回は図のLog Accountにログを複製するように設定しました。そのため、Member OU/Source AccountにRDSを構築し、PostgreSQLログをCloudWatch Logsに出力させてみます。
Source AccountはアカウントID下4桁が9583です。
RDSを作成する際、ログのエクスポートで「PostgreSQL ログ」にチェックを入れた状態でデータベースを作成します。
この状態でCloudWatch ロググループを作成すると、「/aws/rds/instance/<インスタンス名>/postgresql」という名前でロググループが自動作成され、ログが出力されます。
では、先ほど設定した一元管理が正しく反映されているのであれば、Log Account(下4桁: 4847)にもロググループがあるはずです。
早速見てみましょう。
正しく複製されていそうです。なお、ログストリームは<送信元ログストリーム名>-<送信元AWSアカウントID>-<送信元リージョン>
となっていました。
そのため、仮にロググループ名が同じでも競合が発生しないようになっています。
ログの内容も正常に複製されていました。
終わりに
AWS Organizationsに紐づくアカウントであれば、管理アカウントで設定することでログを複製・一元管理できるのでコンプライアンスなどの要件からログを集中管理したい場合、非常に便利なアップデートなのではないでしょうか。
マルチアカウント環境でのログ監査、セキュリティインシデント対応、コンプライアンス要件、運用チームによる集中管理などの活用に使えると思うので、ぜひ検討してみてください。
以上、まるとでした!