CloudWatch の自動有効化機能で Bedrock AgentCore Gateway のログ収集設定を自動化してみた

記事タイトルとURLをコピーする

こんにちは。 今年度から中途採用のトレーニングをしている、アプリケーションサービス部の山本です。

はじめに

2026年4月2日、Amazon CloudWatch の自動有効化機能(Telemetry Config)が Amazon CloudFront Standard アクセスログ、AWS Security Hub CSPM 検出ログ、Amazon Bedrock AgentCore のメモリおよびゲートウェイログ・トレースに対応しました。

Amazon CloudWatch expands auto-enablement to Amazon CloudFront logs and 3 additional resource types - AWS

本記事では、この自動有効化機能の概要から、ベストプラクティス、注意点、制約事項、料金まで網羅的に解説します。

CloudWatch 自動有効化機能(Telemetry Config)とは

CloudWatch Telemetry Config は、AWS リソースのテレメトリ(ログ・メトリクス・トレース)収集を自動的に設定する機能です。有効化ルール(Enablement Rules)を作成すると、対象スコープ内の既存リソースおよび新規作成されるリソースに対して、手動設定なしでテレメトリ収集が自動的に構成されます。

主な特徴

  • 組織全体、OU 単位、アカウント単位でスコープを設定可能
  • タグベースのフィルタリングで対象リソースを絞り込み可能
  • AWS Config と連携してリソースを自動検出
  • 既存のテレメトリ設定を上書き・削除しない安全設計

対応サービス一覧

2026年4月3日時点で、以下のリソースタイプに対応しています。

  • 構成(Configuration): Enablement Rules によってテレメトリ設定を自動的に有効化する機能。構成のみ対応のサービスは自動有効化はできますが、設定状況の一覧確認には対応していません。
  • 監査(Auditing): リソースのテレメトリ設定状況を一覧で確認できる機能。各リソースでログやメトリクスが On/Off どちらになっているかを可視化します。
サービス テレメトリタイプ 対応スコープ 構成 監査
Amazon VPC Flow Logs ログ 組織/OU/アカウント
AWS WAF Web ACL Logs ログ 組織/OU/アカウント
Amazon Route 53 Resolver Query Logs ログ 組織/OU/アカウント
Amazon EKS Control Plane Logs ログ 組織/OU/アカウント
Amazon EC2 Detailed Metrics メトリクス 組織/OU/アカウント
NLB Access Logs ログ 組織/OU/アカウント -
AWS CloudTrail(データ/管理イベント) ログ 組織/OU/アカウント -
Amazon Bedrock AgentCore Logs ログ/トレース アカウント -
Amazon Bedrock AgentCore Gateway ログ アカウント -
Amazon Bedrock AgentCore Memory ログ アカウント -
AWS Security Hub CSPM ログ 組織 -
Amazon CloudFront Distribution ログ 組織 -

仕組み

AWS Config との連携

Enablement Rules を作成すると、CloudWatch は内部的に AWS Config のサービスリンクレコーダーを作成します。このレコーダーがリソースの検出と構成変更の追跡を行います。

  • AWS Config Internal Service Linked Recorder を使用するため、Configuration Items(CI)に対する追加課金は発生しません
  • 初回のリソース検出には最大24時間かかる場合があります

階層的なルール評価

ルールは以下の階層順に評価されます:

  1. 組織レベル — ベースラインとなるテレメトリ要件を定義
  2. OU レベル — 組織ルールに追加のテレメトリを設定可能(削減は不可)
  3. アカウントレベル — さらに追加のテレメトリを設定可能(削減は不可)

上位レベルのルールが優先され、下位レベルのルールはテレメトリを追加することはできますが、上位で定義されたテレメトリを無効化することはできません。

セットアップ手順

前提条件

  • 組織全体で利用する場合: AWS Organizations の管理アカウントまたは委任管理者アカウントが必要。CloudWatch と Organizations 間の信頼アクセスを有効化する必要があります。
  • 単一アカウントで利用する場合: 特別な前提条件はありません。

手順(単一アカウントの場合)

AgentCore Gateway のログに関する Telemetry Config を設定してみましょう。

  1. CloudWatch コンソール(https://console.aws.amazon.com/cloudwatch/)を開く
  2. 左ナビの「取り込み」をクリック(直接 URL: https://console.aws.amazon.com/cloudwatch/home#telemetry-config
  3. 「データソース」タブで「リソース検出を有効にする」をクリック
  4. リソースが検出されたら「有効化ルール」タブ → 「ルールを追加」ボタンを押す
  5. 左下の「Amazon Bedrock AgentCore – ゲートウェイ」枠内にある「テレメトリを設定」を押す
  6. ルール名、テレメトリタイプ、タグフィルター(任意)を設定
  7. タグ設定画面:
  8. ロググループパターン名、保持期間の設定(しないと無期限になるため注意)、ログタイプ を指定し、右下の設定ボタンを押す
  9. 執筆時点では、日本語コンソールだとログタイプのパラメータが正しく送信されないバグがあるようです。
  10. 言語設定を英語にして設定します。
  11. 設定できました。

補足: Organizations を利用する場合は、先に「Settings」→「Organizations」タブで「Enable trusted access」を実行してから上記手順を行います。

確認

作成済みのログ出力設定がない AgentCore Gateway がありました。

5 分後に確認すると、ログ出力設定ができていました。

CloudWatch 側にもロググループができていました。

※コンソールを英語表記にして Telemetry Config を作成した際に、有効期限を無期限 (Never Expire) にしてしまっていました。

ベストプラクティス

1. 組織レベルのルールでベースラインを定義する

セキュリティチームが組織レベルのルールを作成し、全アカウントで最低限必要なテレメトリ収集を保証しましょう。例えば、CloudFront アクセスログや Security Hub の検出結果を組織全体で CloudWatch Logs に送信するルールを1つ作成するだけで、全ディストリビューション・全アカウントに適用されます。

2. タグベースのフィルタリングを活用する

本番環境のリソースのみを対象にしたい場合は、Environment: production のようなタグフィルターを設定することで、開発・検証環境のリソースに不要なテレメトリ設定が入ることを防げます。

3. ログの保持期間を設定する

自動有効化でロググループが作成されますが、デフォルトではログは無期限に保持されます。コスト最適化のため、ロググループの保持期間(Retention)を適切に設定しましょう。

4. 段階的に展開する

まずは単一アカウントでテストし、問題がないことを確認してから OU → 組織全体へと段階的に展開することを推奨します。

5. Bedrock AgentCore はログとトレースを別々にルール作成する

AgentCore のテレメトリを有効化する場合、ログ配信ルールを作成した後にトレース配信ルールを作成する必要があります。トレースルールを作成すると、Transaction Search が有効化され、X-Ray がトレースを管理ロググループに送信するための追加の権限ポリシーが自動作成されます。

注意点

日本語コンソールでルール作成に失敗する場合がある

2026年4月時点で、CloudWatch コンソールを日本語表示にした状態で Enablement Rules を作成すると「無効なリクエスト: ログタイプを NULL または空にすることはできません」というエラーが発生する場合があります。コンソールの言語を英語に切り替えると正常に作成できます。新機能のため、日本語ローカライズが追いついていない可能性があります。

ルールの更新は新規リソースにのみ適用される

既存のルールを更新した場合、変更は新規リソースにのみ適用されます。既存リソースのテレメトリ設定はそのまま維持されます。既存リソースの設定を変更したい場合は、手動で対応する必要があります。

既存のテレメトリ設定は保持される

CloudWatch は既にテレメトリが有効なリソースに対して、重複してログ配信を設定しません。例えば:

  • 既に CloudWatch Logs にログを送信している VPC には、新たな Flow Log は作成されません
  • 既にログ配信が設定されている CloudFront ディストリビューションには、追加の設定は行われません
  • 既にログ配信が設定されている Bedrock AgentCore Gateway にも、追加の設定は行われません

ルールの競合に注意

同一スコープ内で、リソースタイプ・テレメトリタイプ・送信先の組み合わせが重複するルールを作成すると、競合例外が発生します。異なるスコープ間で競合が発生した場合、いずれのルールも適用されなくなるため、速やかに競合を解消する必要があります。

リソース検出に時間がかかる場合がある

AWS Config を通じたリソース検出は、アカウント内のリソース数や組織のメンバーアカウント数に応じて時間がかかります。初回検出には最大24時間かかる場合があります。

機能を無効化してもテレメトリ設定は残る

Telemetry Config を無効化しても、既に設定されたテレメトリ設定(ログ配信など)は削除されません。無効化されるのは、CloudWatch コンソール上での一元管理・可視化機能のみです。

制約事項(クォータ)

項目 デフォルト値 調整可否
アカウントあたりの Telemetry Rules 数 20(リージョンごと) ✅ 可
組織あたりの Organization Telemetry Rules 数 50(リージョンごと) ✅ 可
組織あたりの Organization Centralization Rules 数 50(リージョンごと) ✅ 可
Logs Centralization スループット(送信先リージョンあたり) 2.5 GB/秒 ❌ 不可
API スロットリング(Create/Update/Delete/Get/List 系) 5 TPS ❌ 不可

クォータの引き上げが必要な場合は、AWS Service Quotas コンソールから申請できます。

料金

Vended Logs とは

Vended Logs(ベンドログ)とは、AWS サービスがユーザーに代わって直接配信するログのことです。ユーザーが CloudWatch Agent などを使って自分で送信するログ(Custom Logs)とは異なり、VPC Flow Logs、WAF ログ、CloudFront アクセスログ、Bedrock AgentCore のログなど、AWS サービス側が自動的に生成・配信するログがこれに該当します。

Vended Logs は Custom Logs とは別の料金体系が適用され、大量のログを配信する場合はボリュームディスカウントが効くティア構造になっています。今回の Enablement Rules で自動配信されるログも、この Vended Logs として課金されます。

Enablement Rules 自体の料金

  • Enablement Rules の作成・管理に対する追加料金はありません
  • AWS Config Internal Service Linked Recorder の CI に対する課金もありません

ログ配信の料金

自動有効化によって配信されるログは「Vended Logs」として課金されます。CloudWatch Logs への配信の場合、リージョンによってベース料金が異なります。ティアごとの割引率(50%/80%/90%)は全リージョン共通です。

ティア US East (N. Virginia) 東京 (ap-northeast-1)
0 〜 10 TB $0.50/GB $0.76/GB
10 TB 〜 30 TB $0.25/GB $0.38/GB
30 TB 〜 50 TB $0.10/GB $0.152/GB
50 TB 超 $0.05/GB $0.076/GB

注意: 東京リージョンはバージニアと比較して約1.5倍の料金です。最新の正確な料金は Amazon CloudWatch Pricing ページでリージョンを「Asia Pacific (Tokyo)」に切り替えて確認してください。ボリュームティアは毎月リセットされます。

クロスプロダクト割引(CloudFront / WAF / MediaTailor)

一部のサービスでは、サービス利用量に応じたログ配信の無料枠があります:

  • CloudFront: リクエストあたり 750 バイトのログ配信が無料。超過分は Vended Logs 料金で課金。
  • WAF: リクエストあたり 500 バイトのログ配信が無料。超過分は Vended Logs 料金で課金。
  • MediaTailor: Ad Insertion あたり 50 KB のログ配信が無料。超過分は Vended Logs 料金で課金。

ログ保管の料金

CloudWatch Logs に保管されるログは、バージニアで $0.03/GB/月、東京で $0.033/GB/月 で課金されます。デフォルトでは無期限保持のため、保持期間の設定を忘れずに。

まとめ

CloudWatch の自動有効化機能(Telemetry Config Enablement Rules)は、組織全体のオブザーバビリティを一元的に管理するための強力な機能です。特に、2026年4月のアップデートで CloudFront、Security Hub CSPM、Bedrock AgentCore Gateway/Memory が対応したことで、カバー範囲が大幅に広がりました。

ルールを1つ作成するだけで、既存・新規リソースのテレメトリが自動的に設定されるため、設定漏れのリスクを大幅に低減できます。一方で、ログ配信に伴う Vended Logs の料金やログ保管コストには注意が必要です。タグフィルターや保持期間の設定を活用して、コストを最適化しながら運用しましょう。

参考リンク

余談

夏が恋しいです。

山本 哲也 (記事一覧)

多分インフラエンジニアです。データ分析に興味あります。

山を走るのが趣味です。今年は 100 マイルレース完走します。