AWS の可観測性とガバナンス:CloudWatch、EventBridge、CloudTrail、Config

Tony Duong

Tony Duong

3月 28, 2026 · 9

他の言語:🇫🇷🇬🇧
#aws#cloudwatch#eventbridge#cloudtrail#aws-config#service-quotas#monitoring#logs#alarms#synthetics#containers#ec2#observability#cloudops#certification
AWS の可観測性とガバナンス:CloudWatch、EventBridge、CloudTrail、Config

CloudWatch メトリクスの役割

Amazon CloudWatch は AWS サービス(およびカスタムソース)のメトリクスを収集する。各メトリクスには名前がある(CPUUtilizationNetworkIn など、多くは自明)。メトリクスの傾向トラブルシューティングキャパシティ判断に使う。

構造

  • Namespace — メトリクスをグループ化(例:AWS/EC2AWS/EBS、サービス固有の名前空間)。
  • Dimensions — 系列を識別する属性(例:InstanceIdAutoScalingGroupName、環境タグ)。メトリクスあたり最大 30 次元(コースより)。
  • Timestamp — 各データポイントにタイムスタンプ。

コンソール: CloudWatchMetricsAll metricsnamespace でブラウズし Regionリソースdimension でフィルタ。

異常検知

CloudWatch は履歴メトリクスからベースライン機械学習で学習し、期待帯から外れた値を異常としてフラグできる。

  • 静的しきい値だけでなく異常検知アラームを作成。
  • 初期データが代表的でない期間(メンテナンス、インシデント)を学習から除外できる。

EC2:基本モニタリングと詳細モニタリング

  • デフォルト(基本): EC2 のハイパーバイザメトリクスは 5 分粒度(無料)。
  • 詳細モニタリング(有料オプション): インスタンスは 1 分粒度。

詳細を有効にする理由: 変化への反応を速く;それらのメトリクスに依存するポリシーでは Auto Scaling グループスケールアウト/インを早く判断しやすい。

ギャップ: デフォルトの EC2 メトリクスにはメモリ(RAM)含まれないカスタムメトリクスとして公開(または CloudWatch エージェント / スクリプト)。

カスタムメトリクス(PutMetricData

PutMetricData API(CLI、SDK、内部的には CloudWatch 統合エージェント)で独自のnamespaceメトリクス名単位dimensions(例:InstanceIdInstanceTypeEnvironment)を公開する。

解像度(ストレージ解像度)

  • 標準解像度: データポイントは 1 分(60 秒)まで細かく。
  • 高解像度: 1、5、10、30 秒ごとの送信を許可(バーストや細かいワークロード — 現在の API ドキュメントでパラメータ名を確認)。

タイムスタンプ(試験で出やすい)

CloudWatch はメトリクスのタイムスタンプを最大 2 週間過去または最大 2 時間未来まで拒否せず受け付ける。

含意: ホスト時刻(NTP ずれ)がずれているとグラフ上でメトリクスがずれて見える。正確な時系列が要るならインスタンスの時刻同期を保つ。

ワークフローパターン

  1. EC2(または Lambda など)上の処理が RAM、ディスク、ビジネス KPI、ログイン数などを計測。
  2. スケジュール(cron、systemd タイマー、エージェント)で PutMetricData を呼ぶ。
  3. 新しいメトリクスは All metrics 上のカスタム namespacedimensions付きで表示される。

CloudWatch 統合エージェントPutMetricData(および関連 API)で標準・カスタムメトリクスを定期的にプッシュする。

ダッシュボード

  • クロスリージョン・クロスアカウント: 1 つのダッシュボードに複数 Region複数 AWS アカウント由来のメトリクスのウィジェットを載せられる(試験のハイライト)。
  • タイムゾーン時間範囲自動更新を設定;AWS アカウントを持たないユーザーとも共有(共有リンク / 埋め込み — 最新のコンソールオプションに従う)。
  • 料金(コースの枠): 3 ダッシュボードまで 50 メトリクスまで無料;追加ダッシュボードは月額課金(料金確認)。
  • 自動ダッシュボード: サービス(例:Auto Scaling)のスターターをリソースグループでフィルタして生成。
  • カスタムダッシュボード: 折れ線積み上げエリア数値テキストアラーム状態Logs Insights 結果テーブルなど。ウィジェットは相関のため同じグローバル時間範囲を共有。
  • メトリクスウィジェット追加時は Region を明示し、Frankfurtus-east-1 の系列を並べられる。

CloudWatch Logs

モデル

  • Log group — 多くはアプリケーションまたは連携ごとに 1 つ。
  • Log stream — そのアプリのインスタンス:コンテナホストLambda 呼び出し、stdout/stderr ペアなど。
  • Retention無期限、または 1 日10 年(コンソールでは 120 か月表示も — 同趣旨)。

取り込み元(例)

SDKUnified Agent(推奨;旧 Logs Agent は非推奨)、Elastic BeanstalkECS タスク定義、Lambda(デフォルト)、VPC Flow LogsAPI GatewayCloudTrail(設定経由)、Route 53 クエリログ、RDS / Aurora エクスポートなど。

暗号化

ログはデフォルトで暗号化;ロググループごとに KMS CMK を任意指定。

メトリクスフィルタ

パターンを定義(例:installingERROR にマッチする行をカウント)。マッチ時に選択した namespace の CloudWatch メトリクス増分 → そのメトリクスをグラフ化しアラーム(例:エラー行が多すぎる → SNS)。

サブスクリプションフィルタ(リアルタイム)

マッチしたログイベントを Kinesis Data StreamsKinesis Data Firehose、または Lambda にストリーム。フィルタパターンでグループから出すイベントを選択。ほぼリアルタイムの分析、Firehose 経由の S3 アーカイブ、OpenSearch 取り込み、カスタム処理。

制限(コース): ロググループあたり最大 2 つのサブスクリプションフィルタ — 最新クォータを確認。

S3 へのバッチエクスポート

CreateExportTask で時間範囲のログを S3 にエクスポート — バッチ最大 ~12 時間かかることがある;リアルタイムではない

クロスアカウントログ集約(パターン)

送信アカウント:ロググループのサブスクリプションフィルタ → 受信ストリームを表す宛先オブジェクト。受信側: 宛先のリソースポリシー + 送信側が引き受け可能な IAM ロールKinesisPutRecord)。多アカウント/多 Region のログを 1 パイプライン(例:Kinesis → Firehose → S3)に集約。

CloudWatch Logs Insights

  • 履歴ログ向けの専用クエリ言語ライブ tail エンジンではない;実行時に走る。
  • フィールドを自動検出;filterstatssortlimitparse をサポート。
  • クエリ保存、ダッシュボードへの可視化、結果エクスポート。
  • 複数ロググループを一度にクエリ可能(設定されている場合クロスアカウントも)。

コンソールにサンプルクエリ(例:Lambda 遅延統計、VPC Flow Logs のトップ IP)。

Live Tail

Live Tail はコンソールでマッチイベントをほぼリアルタイムにストリームしデバッグに使う(任意のログストリームフィルタ + パターン)。料金: コースでは 1 日あたりの無料時間に制限 — 課金を避けるためセッション終了時に停止。

ログのデータ保護

ロググループのデータ保護ポリシー機密データ検出マスキング100+ 組み込み識別子:メール、クレジットカード、SSN、認証情報など)— MLカスタム識別子も可。

  • logs:Unmask(または同等)がないプリンシパルには Insightsメトリクスフィルタサブスクリプション配信でもマスク。
  • 別ロググループ、S3Firehose への任意監査配信;機密検知時にメトリクス LogEventsWithFindingsアラームSNS

アラーム

状態

  • OK — 条件未違反。
  • ALARM — しきい値またはルール発火;アクション実行。
  • INSUFFICIENT_DATA — 評価に十分なサンプルなし。

評価

Period がウィンドウ;統計(AverageMaximumSampleCount など)。高解像度カスタムメトリクスと連携(例:10 秒30 秒、または 60 秒の倍数 — メトリクス解像度に合わせる)。

しきい値タイプ: 静的または異常検知帯。

アクション

  • EC2: StopTerminateRebootRecover
  • Auto Scaling: スケールイン / アウト
  • SNS → メール、チャット、Lambda 自動化など。

複合アラーム

他のアラームを AND / OR で結合しノイズ削減(例:CPU 高かつネットワーク低のときだけ通知)。

EC2 ステータスチェックアラーム → リカバリ

インスタンスステータスシステムステータス、または接続 EBS の健全性のアラーム。Recovery新しいハードウェアへインスタンスを移しプライマリ/セカンダリ/elastic IPインスタンスメタデータ配置グループ(対応インスタンスタイプのみ)を保持。

ログメトリクスフィルタ → アラーム

チェーン:ログメトリクスフィルタメトリクスアラームSNS

アラームのテスト

set-alarm-state(CLI/API)で OK / ALARM / INSUFFICIENT_DATA を強制し、実負荷を待たず SNSEC2 アクションを検証(コースデモ:強制 ALARM でインスタンス終了)。

CloudWatch Synthetics(Canaries)

ヘッドレススクリプト(Node.js または Python)が顧客ジャーニーを模倣(HTTP/API チェック、ヘッドレス ChromeUI フロー)。

  • 1 回またはスケジュール実行;遅延HARスクリーンショットを取得。
  • Blueprints: ハートビート URL、REST API CRUD、リンク切れクローラ、ベースラインとの視覚 diffCanary Recorder(ブラウザ記録 → 生成スクリプト)、GUI ワークフロービルダー。
  • 失敗時 → アラーム → 自動化(コース例:Lambda が健全な Region へ Route 53 を更新)。

VPC 内の Canaries

プライベートターゲットに当てるには VPC で DNS resolutionDNS hostnames を有効化。Canary 結果は引き続き CloudWatch へ。

  • パブリック経路: プライベートサブネット + 外向き NAT ゲートウェイで CloudWatch API 呼び出し。
  • プライベート AWS 経路: CloudWatchVPC インターフェースエンドポイント(多くは成果物用 S3 ゲートウェイエンドポイントも)でトラフィックを AWS ネットワーク内に。

CloudWatch Container Insights

ECSFargateEKSROSA(AWS 上の OpenShift)向けにメトリクスログを収集。基本有効化にカスタムサイドカーは不要。

  • デフォルトでクラスタサービスレベルのメトリクス。
  • Enhanced 可視性で タスク / pod / コンテナ粒度の CPUメモリネットワークスロットルの深いトラブルシューティング。

アカウントレベルまたはクラスタ作成時に有効化。

CloudWatch Internet Monitor

Internet Monitor は AWS のグローバルネットワークテレメトリを使い、インターネットの状態(都市、ASN、AWS エッジ/PoP の健全性)があなたのワークロードとエンドユーザーにどう影響するかを示すサービス+ダッシュボード

  • グローバルトラフィックパターンとヘルスイベント;可能な範囲で遅延と体験改善の推奨
  • テレメトリは CloudWatch MetricsCloudWatch Logs に現れ;グローバルヘルスイベントEventBridge へ送りアラートと自動化に使える。

CloudWatch Network Synthetic Monitor

オンプレミスAWSハイブリッドリンク(Direct Connect またはサイト間 VPN)向けに、Network Synthetic MonitorICMP または TCPIPv4 パスをプローブ — 側にエージェント設置なし

  • パケット損失遅延ジッタを表し企業 ↔ クラウド経路の劣化を捕捉。
  • 結果は CloudWatch Metrics に公開しダッシュボードアラームに利用。

Amazon EventBridge(旧 CloudWatch Events)

EventBridge はかつて CloudWatch Events と呼ばれたものの現名 — 試験や新しいドキュメントでは EventBridge を想定。

コアモデル

  1. ソースイベント(JSON:detail-typesourceaccounttimeregionresourcesdetail など)を発行。
  2. イベントバス上のルールイベントパターンまたはスケジュールcron / rate)にマッチ。
  3. マッチしたイベントがターゲットを呼び出す(多くはルールあたり複数、IAM 付き)。

パターン例: EC2 ステート変更(例:shutting-downterminated)、S3 オブジェクト作成IAM ルートのコンソールサインインTrusted Advisor の所見。

ターゲット例: LambdaSQSSNSKinesis Data StreamsStep FunctionsECS タスク、AWS Batch ジョブ、CodePipeline / CodeBuildSSM AutomationEC2 API アクション(start/stop/reboot)、API GatewayCloudWatch Logs(ログターゲットとして)、その他。

CloudTrail → EventBridge:ほぼ任意の API 呼び出しに反応

CloudTrail が記録する管理(および設定された)API 呼び出しデフォルトイベントバス上のイベントとして現れるため、特定の APIイベントパターンでマッチさせ SNSLambda などへ送れる。

例(コース):

目的 API / サービス パターンの考え方
DynamoDB テーブル削除のアラート DeleteTable(DynamoDB) その呼び出しの eventName / eventSource をマッチ → SNS
ロール引き受けのアラート AssumeRoleSTS sts.amazonaws.comeventName / eventSource をマッチ → SNS
セキュリティグループ ingress 変更のアラート AuthorizeSecurityGroupIngress(EC2) その EC2 API をマッチ → SNS

注意: CloudTrail → EventBridge 経由の配信はリアルタイム自動化ではないCloudTrail 節の典型的遅延を参照(コース:EventBridge まで約 15 分S3 へのログファイル約 5 分程度 — 現在のドキュメントを確認)。

イベントバス

バス 目的
Default AWS サービスがサービスイベントをここに公開(アカウント・リージョンごとに 1 つ)。
Partner SaaS 連携(例:Auth0ZendeskDatadog — 最新パートナー一覧を確認)がパートナーバスにイベント送信。
Custom アプリが PutEventsあなたのバスに送る;デフォルトモデルと同じルールターゲット

クロスアカウント(双方向信頼):

  • バス → バス: ソースアカウントのバスでは宛先バスへの events:PutEvents(または同等)をリソースポリシーで許可。宛先アカウントのバスではソースアカウント(例:そのアカウントの root プリンシパル)がそのバスに PutEvents できるようリソースポリシーで許可。送信と受信の両方で明示的に許可が必要。
  • バス → SQS / SNS / Lambda / API Gateway / Kinesisリソースポリシー対応ターゲット):送信側は通常 SendMessagePublishInvoke などができる IAM ロールを使用。宛先リソースポリシー他アカウント(またはそのロール)にアクションを許可。送信側が実行可能かつ受信側が受け入れるという二重の許可。

アーカイブとリプレイ

バスからすべてまたはフィルタした一部のイベントをアーカイブ;保持は無期限または期間限定リプレイでアーカイブしたイベントをバスに戻し(例:不具合 Lambda コンシューマ修正後)デバッグ安全な再処理に使う。

Schema Registry

EventBridge がバス上のイベントのスキーマ検出/登録しフィールド形状が分かる;バージョニングとスキーマからのコード生成(バインディング)をサポート。

EventBridge Pipes

Pipes は対応するストリーミング/キューソースEventBridge 型ターゲットに接続し、任意のフィルタエンリッチ段階を挟む — ソースから pull したり多ターゲットへ push したりするカスタムコンシューマコードなし

ソース(例): DynamoDB StreamsKinesis Data StreamsAmazon MQAmazon MSKSQS自己管理 Apache Kafka

ターゲット(例): Kinesis Data FirehoseKinesis Data StreamsEventBridge イベントバスAmazon Redshift(連携がある場合)、SQSSNSAPI GatewayECS タスク、コンソールがサポートするその他 EventBridge ターゲット。

フロー: ソース →(任意)フィルタ →(任意)エンリッチ → ターゲット。

エンリッチLambdaStep FunctionsAPI GatewayEventBridge API destination でペイロードを調整・拡張 — その後エンリッチ済みイベントがターゲットへ。

リトライとデッドレターキュー(DLQ)

ターゲットへの配信が失敗(ダウン、タイムアウト、スロットリングなど)すると、EventBridge はリトライポリシー再試行:コースのデフォルトは最大ウィンドウ約 24 時間、試行約 185回 — 現在のデフォルトと上限はドキュメントで確認。

リトライ枯渇後、失敗した呼び出しは SQS 実装のデッドレターキューに送り、後で検査再処理できる。

ターゲットとしての SSM Automation

Systems Manager Automation ドキュメントをルールのターゲットにできる — 例:EC2 Instance State-change新規起動インスタンスにソフトウェアを入れる bootstrap 自動化。他の EventBridge と同様:イベントまたはスケジュール定常自動化をトリガー。

コンソール構成(高レベル)

  • Rulesevent pattern vs schedule(コンソールは多くの繰り返しスケジュールEventBridge Scheduler推奨として強調)。
  • Pipes — 管理された source → filter → enrich → target(上記)。
  • Event buses — デフォルト、custom、パートナー関連付け。
  • Partner event sources — サードパーティ → パートナーバス。
  • API destinations — ルールから OAuth/API キー付きの外部 HTTPS API を呼び出し。
  • SchemasAWS イベントスキーマまたはカスタムレジストリを参照。

イベントパターンフィルタ(コンテンツフィルタ)

単純な等価以外に prefix / suffixanything-but数値比較(例:> 0)、IP マッチ(CIDR)、exists(フィールド必須)、equals-ignore-casedetail 上のネスト組み合わせ(例:S3 detail-type: Object Created + detail.bucket.name + detail.object.key suffix .png + 送信元 IP)。

コンソール(またはドキュメント)のサンプルイベント正確なフィールド名instance-idstate など)をコピー。

入力トランスフォーマ

各ターゲットごとにイベントを任意で整形

  1. Input path — イベントから最大約 100変数への JSONPath 風マッピング(例:<timestamp>$.time<instance>$.detail.instance-id)。
  2. Input template — その変数を参照するターゲットへ送る文字列または JSON 本文。

用途: 下流が完全な EventBridge 封筒ではなく小さな固定 JSON(例:CloudWatch Logs ターゲット)を欲する場合。保存前にルールウィザードでサンプルイベントテスト

実践パターン(コース)

  • EC2 Instance State-change Notificationdetail.stateshutting-down または terminatedSNS トピック(コンソールが呼び出しロールを作成可能)。
  • Schedule(または Schedulerrate 1 時間Lambda を呼び出し(または ECS、Firehose など)。
  • アプリケーションイベント用 custom bus;不要時はルールを無効化し課金とノイズを止める。

Service Quotas

Service Quotas はアカウントのサービス別上限を一覧(各クォータが調整可能かどうかも)。コンソールに適用値使用量(利用可能な場合)、Lambda 同時実行などのメトリクスグラフ。

  • クォータ引き上げ依頼 — 小さな増加は自動承認;大きい依頼は Support 経由で待ち
  • クォータの CloudWatch アラーム — 例:Lambda 同時実行適用クォータ80% で通知し、スロットリング前にオペレータが上限を引き上げSNS などアクションをアラームから設定。

Trusted Advisor との比較: Trusted Advisorサービス上限チェック(コースの話では約 50)を公開し CloudWatch アラームに流せるが、すべてのクォータを閲覧・監視する専用の場所は Service Quotasにはクォータネイティブのアラームを優先。

AWS CloudTrail

CloudTrailガバナンスコンプライアンス監査のため API 活動とコンソール操作を記録。アカウントレベルではデフォルトでオンEvent history の挙動はドキュメント通り)。

記録されるもの

  • コンソールCLISDK、およびユーザーに代わって動く AWS サービスからの呼び出し。
  • コンソールの Event history は直近の活動を表示(コース:Event history ビューで管理イベント約 90 日 — 現在の挙動を確認)。

トレイルと長期保管

トレイルを作成しイベントを S3(任意で CloudWatch Logs)に配信。トレイルは単一リージョンまたはマルチリージョンで履歴を一元化(例:組織用バケット 1 つ)。デフォルトのコンソール保持を超えた先は S3(多くは Athena でクエリ)が耐久ストア。

フォレンジック例: 誰が EC2 インスタンスを終了したか — CloudTrailTerminateInstances(または同等)記録からプリンシパル時刻リージョンリクエストパラメータを調べる。

イベントカテゴリ

タイプ 内容 トレイルのデフォルト
Management events リソース上のコントロールプレーンの変更と読み取り(CreateSubnetAttachRolePolicyDescribeInstances など)。多くはコスト/ノイズで readwrite に分割。 トレイルではデフォルトで記録(read/write は設定可能)。
Data events 高ボリュームデータプレーン — 例:S3 オブジェクト API(GetObjectPutObjectDeleteObject)、Lambda Invoke デフォルトオフ(高コスト/ノイズ);バケット/関数ごとに read/write フィルタで選択的に有効。
Insight events CloudTrail Insights の出力(下記)。 Insights 有効かつ課金時のみ。

CloudTrail Insights(有料アドオン)

Insights管理活動から通常パターンを学習し、異常を検知すると Insight events を発行(例:異常なプロビジョニングIAM のバースト、サービス上限圧力、定常変更の欠落)。

配信:CloudTrail コンソール、トレイルに沿った S3 配信、自動化用 EventBridge イベント(例:疑わしい活動への SNS メール)。

ログファイル整合性(ダイジェスト)

S3 に書き込むトレイルでは log file validation を有効化。CloudTrail が定期的にダイジェストファイルを書き(コース:約 1 時間ごと)、そのウィンドウのログファイルを列挙し各オブジェクトの SHA-256 ハッシュを含める。ダイジェストは生ログとは別プレフィックス同じバケット内。

用途: 配信済みログファイルのハッシュを再計算しダイジェストと比較 — 一致すれば配信後にファイルが改ざんまたは置換されていない(強いコンプライアンスの話)。

バケットを保護: バケットポリシーバージョニングMFA Delete(該当時)、暗号化S3 Object Lock(不変性) — 監査データが静かに変えられないよう多層防御。CloudTrailトレイル設定も IAM でロックし、不正プリンシパルがログを止めたり向き先を変えたりできないようにする。

EventBridge と S3 配信の遅延

CloudTrail 駆動の自動化はほぼリアルタイムであり同期ではないとみなす:コースの目安は API 呼び出しから EventBridge まで約 15 分S3 へのログファイル約 5 分現在の AWS ドキュメントを確認

AWS Organizations トレイル

management アカウントから作成した組織トレイルすべてのメンバーアカウントAPI 活動を中央 S3 バケット(任意で Logs)に記録できる。同じトレイル名が各アカウントに表示;メンバーアカウントはトレイルの存在を見られる組織トレイルを削除・変更できない中央監査とメンバー層での改ざん耐性に有利。

実務メモ

コンソール Event history は操作から数遅れることがある(例:TerminateInstances更新後しばらくで表示)。

AWS Config

AWS Config はサポートリソース設定を継続記録ルールに対して評価し、コンプライアンスドリフトの可視化を行う。「セキュリティグループSSH0.0.0.0/0 に開いているか?」「S3 バケットはパブリックか?」「この ALB リスナー / 証明書は時系列でどう変わったか?」といった問いに答える。

  • リージョン単位サービス — リージョンごとに有効化と課金;集約(下記)でクロスリージョン/クロスアカウントビュー。
  • アクションをブロックしない — Config は検知的であり IAMSCP予防的コントロールの代替ではない。
  • リソースごとの履歴タイムライン設定バージョン、時系列のコンプライアンスどの API を誰が呼んだかへの CloudTrail リンク(例:AuthorizeSecurityGroupIngressRevokeSecurityGroupIngress)。

レコーダーと配信

  • 範囲: リージョン内のサポートすべてのタイプ、または選択したリソースタイプのみ(安い)。
  • グローバルリソース: 任意で IAM ユーザー、グループロールカスタママネージドポリシーを含める(指定した 1 リージョンに保存 — コストへの影響)。
  • サービスリンクロールを使用;設定履歴S3 へ配信(任意プレフィックス)。すべての設定・コンプライアンス通知用の任意 SNS トピック(幅広いファイアホース — サブセットだけ欲しければ subscription filters と組み合わせ)。
  • 料金は使用量ベース(記録された設定アイテムとリージョン内のルール評価あたり) — 広い記録ではコストが急増しうる;現在の料金を確認。

ルール

  • AWS 管理ルール — 大きなカタログ(コース 75+;数は変化)。
  • カスタムルールLambda で評価を実装(例:「すべての EBS ボリュームは gp2」「devEC2 はすべて t2.micro」)。
  • トリガー: 設定変更および/または定期スケジュール(例:N 時間ごと再スキャン)。

修復(SSM Automation)

非準拠は修復を付けない限り自動修正されない:多くは SSM Automation ドキュメント(AWS 管理またはカスタムLambda呼ぶドキュメント含む)。

  • 例(コース): 非準拠セキュリティグループAWS-DisableIncomingSSHOnPort22;バケットログがオフなら AWS-ConfigureS3BucketLogging
  • 手動 vs 自動修復;実行後も非準拠なら再試行(例:最大約 5 回)を設定。

通知

  • 非準拠や変更の Config イベントに対する EventBridge ルールで選択的自動化。
  • SNS を Config から直接幅広く通知;filter policies / SNS サブスクリプションで絞る。

アグリゲーター

アグリゲーター中央「アグリゲーター」アカウントだけ作成 — 各ソースアカウントすべてではない。アグリゲーターは承認されたアカウントとリージョンからインベントリコンプライアンス1つのコンソールビューに引き出す

  • AWS Organizations あり: management アカウントから作成 — 組織横断の認可簡素化(コース:自動信頼パス)。
  • Organizations なし:ソースアカウントがアグリゲーターアカウントにデータ収集認可する必要がある。
  • ルールのデプロイは依然アカウント/リージョンごと — アグリゲーターはルール定義中央集約しない同じルールを全体に展開するには CloudFormation StackSets(または類似)を使う。

Settings 連携

コンソール SettingsSNSEventBridge/CloudWatch Events ルールを接続し、特定のルールやコンプライアンス遷移だけが下流に通知されるようにできる。

CloudWatch vs CloudTrail vs Config

観点 CloudWatch CloudTrail Config
主な仕事 性能運用メトリクスアラームログダッシュボード 誰が何をしたかAPIコンソール監査 何が設定されているか — リソースの望ましい ルールの比較;コンプライアンス タイムライン
ELB の例 リクエスト数HTTP エラー、遅延クロスリージョンダッシュボード。 ModifyListenerAuthorizeSecurityGroupIngress、証明書変更 — アクター時刻 リスナーTLS ポリシー、証明書アタッチ、セキュリティグループアタッチ — 準拠可否、変更の履歴

三者は補完関係健全性キャパシティCloudWatch設定ガバナンスConfig説明責任CloudTrail

要点

  • メトリクス:namespacedimensions(≤ 30)、任意のダッシュボード;EC2 5 分 vs 詳細 1 分RAM = カスタムPutMetricData + タイムスタンプの癖(2 週間 / 2 時間)。
  • 異常検知 = ML 帯 + 任意のアラーム;悪い学習ウィンドウを除外。
  • ダッシュボード = マルチリージョンマルチアカウント、共有時間範囲自動またはカスタムウィジェット;無料枠後はダッシュボード単位のコスト。
  • ログ: グループ / ストリーム保持KMSLambdaVPC Flow LogsAPI GWCloudTrail などから取り込み;メトリクスフィルタ → メトリクス → アラームInsights = 履歴ログのクエリ;デバッグは Live Tailデータ保護 = マスク + 監査 + LogEventsWithFindings
  • エクスポートCreateExportTask)= S3 へのバッチ(遅い);サブスクリプションフィルタ = Kinesis / Firehose / Lambda へのリアルタイムクロスアカウント宛先 + ポリシー + IAM
  • アラーム: OK / ALARM / INSUFFICIENT_DATA;ターゲット EC2ASGSNS複合AND/ORステータスチェック + リカバリ;テストは set-alarm-state
  • Synthetics: Node/Pythonスケジュール + Chrome Canary;プライベート監視 + プライベートテレメトリは VPC + NAT またはインターフェースエンドポイント
  • Container InsightsECS/EKS/Fargate/ROSAenhancedタスク/コンテナ詳細。
  • Internet Monitorインターネットのグローバル健全性とあなたのアプリメトリクス / ログ + EventBridge ヘルスイベント;UX 推奨。
  • Network Synthetic MonitorDX / VPN 経路;ICMP/TCP IPv4エージェントなし損失 / 遅延 / ジッタメトリクス
  • EventBridge(旧CloudWatch Events):default / partner / custom バス;ルールパターンまたはスケジュール);ターゲットSSM AutomationCloudTrail 由来の API パターン(DeleteTableSTS AssumeRoleAuthorizeSecurityGroupIngress など)→ SNS/Lambda(リアルタイムではない);アーカイブ + リプレイSchema Registryクロスアカウント = バス↔バスは送信側と受信側の両方のポリシー、または SQS/SNS/Lambda/API GW/Kinesis は IAM ロール + リソースポリシーフィルタ入力トランスフォーマPipes = コードなし ソース(DynamoDB streams、Kinesis、MQ、MSK、SQS、Kafka)→ 任意 フィルタ / エンリッチ(Lambda、Step Functions、API GW、API destination)→ ターゲットリトライ + 失敗配信の SQS DLQ(デフォルト確認)。
  • Service Quotas — 上限の閲覧、引き上げ依頼、クォータ使用率CloudWatch アラーム(例:Lambda 同時実行);Trusted Advisor の上限チェックだけよりがある。
  • CloudTrailAPI/コンソール監査;Event history 管理イベント~90 日トレイルS3 / Logsマルチリージョン / 組織トレイル);management vs data(S3 オブジェクト、Lambda Invoke)vs Insightsダイジェスト + SHA-256ログ整合性バケット + トレイルIAM/Object Lock/バージョニングで保護;長期S3 + AthenaInsightsS3 + EventBridge組織トレイルメンバーはトレイル読み取りのみEventBridge 遅延は数分(同期ではない)。
  • Configリージョンごとのレコーダー + ルール(管理 + Lambda カスタム);変更または定期評価;タイムライン + CloudTrail リンク;S3 履歴 + AthenaSSM ドキュメントによる修復(例:SSH 無効バケットログ有効);1つの中央アカウントのアグリゲーターOrg vs 手動認可);ルール展開は StackSetsEventBridge / SNS 通知;API 呼び出しを拒否しない
  • CloudWatch vs CloudTrail vs Configメトリクス/運用 vs 監査 vs 設定コンプライアンス(比較表参照)。

Claudeによる翻訳

Tony Duong

著者: Tony Duong

デジタル日記。思考、経験、そして人生についての考え。