クロスアカウントクロスリージョンのメトリクス一元化
Amazon CloudWatch Metrics の一元化では、複数のソースアカウントと複数のリージョンのメトリクスを AWS Organizations 組織内の単一の送信先アカウントに自動的に一元化します。一元化する対象を制御するルールを定義し、AWS インフラストラクチャ全体で統合されたモニタリング、アラーム発生、分析を可能にします。
CloudWatch Metrics の一元化は、GetMetricData、PromQL、Metric Math、異常検出、アラームなど、送信先アカウントの CloudWatch メトリクスクエリ機能の全範囲をサポートします。
メトリクス一元化の概念
CloudWatch Metrics の一元化の使用を開始する前に、以下の概念を把握してください。
-
ソースアカウント – メトリクスデータが生成される AWS アカウント。
-
送信先アカウント – 一元化されたメトリクスデータが保存されている AWS アカウント。このアカウントは、メトリクスのクエリ、アラーム、分析の一元的なロケーションとして機能します。
-
ソースメタデータ – 一元化されたメトリクスにはソースメタデータが自動的にタグ付けされるため、送信先アカウントの各メトリクスの生成元を特定できます。Metrics Insights クエリでは、ディメンション
:@aws.accountと:@aws.regionが追加されます。PromQL クエリでは、属性@aws.accountと@aws.regionが追加されます。 -
バックアップリージョン – 障害耐性強化とディザスタリカバリの目的でメトリクスデータを一元化できる、送信先アカウント内のセカンダリリージョン (料金を参照
) (オプション)。
一元化されるメトリクス
メトリクスの一元化を有効にすると、CloudWatch はソースアカウントから送信先アカウントにメトリクスを自動的に一元化します。一元化されると、メトリクスのコピーのオーナーは送信先アカウントになります。PutMetricData または EMF を介して取り込まれたメトリクスは、GetMetricData を使用してクエリできます。OpenTelemetry (OTLP) を介して取り込まれたメトリクスは、PromQL を使用してクエリできます。
サポートされているメトリクスタイプ
次のメトリクスタイプは一元化されます。
-
カスタムメトリクス (PutMetricData)
-
埋め込みメトリクス形式 (EMF) メトリクス
-
OpenTelemetry (OTLP) メトリクス
ソースメタデータのディメンション
一元化されたメトリクスには、追加でソース識別メタデータが含まれます。形式はクエリパスによって次のように異なります。
Metrics Insights クエリ (GetMetricData)
| ディメンション | 説明 |
|---|---|
:@aws.account |
このメトリクスの生成元の AWS アカウント ID |
:@aws.region |
このメトリクスの生成元の AWS リージョン |
PromQL クエリ
| 属性 | 説明 |
|---|---|
@aws.account |
このメトリクスの生成元の AWS アカウント ID |
@aws.region |
このメトリクスの生成元の AWS リージョン |
メトリクスの一元化の設定
CloudWatch Metrics 一元化を設定するには、ソースアカウントから送信先アカウントにメトリクスデータが流れる方法を定義する一元化ルールを設定する必要があります。
前提条件
-
AWS Organizations をセットアップする必要があり、ソースアカウントと送信先アカウントの両方が同じ組織に属している必要があります。
-
管理アカウントと送信先アカウントがメトリクスデータにアクセスできるようにするには、CloudWatch に対して信頼されたアクセスを有効にする必要があります。
注記
コンソールを使用して信頼されたアクセスを有効にすることをお勧めします。これにより、必要なサービスにリンクされたロール (SLR) が自動的に作成されます。信頼されたアクセスが他の方法で有効になっている場合は、サービスにリンクされたロールを別途作成する必要があります。
一元化ルールの作成
次の手順を使用して、ソースアカウントから送信先アカウントにメトリクスグデータを一元化する一元化ルールを作成します。
一元化ルールを作成するには
-
組織の管理アカウントまたは委任管理者アカウントの CloudWatch コンソールに移動します。
-
[設定] を選択します。
-
[組織] タブに移動します。
-
[ルールの設定] を選択します。
-
次のフィールドを設定してソースの詳細を指定し、[次へ] を選択します。
-
一元化ルール名: 一元化ルールの一意の名前を入力します。
-
ソースアカウント: メトリクスデータ一元化の対象となるアカウントを選択するソース選択基準を定義します。選択基準には以下を含むことができます。
-
組織のメンバーアカウントのリスト
-
組織の組織単位のリスト
-
組織全体
選択基準は 2 つのモードで指定できます。
-
ビルダー: ソース選択基準を生成するためのクリックベースのエクスペリエンス
-
エディタ: ソース選択基準を提供する自由形式のテキストボックス
ソース選択基準でサポートされている構文:
-
サポートされているキー:
OrganizationId|OrganizationUnitId|AccountId|* -
サポートされている演算子:
=|IN|OR
-
-
ソースリージョン: 一元化するメトリクスデータを検索するリージョンのリストを選択します。
-
-
次のフィールドを設定して送信先の詳細を指定し、[次へ] を選択します。
-
メトリクス: メトリクスが選択されていることを確認します (デフォルトで有効になっています)。メトリクスのみを一元化する場合は、ログの選択を解除します。
-
送信先リージョン: 一元化されたメトリクスデータのコピーを保存するプライマリリージョンを選択します。
-
-
次のフィールドを設定してテレメトリデータを指定し、[次へ] を選択します。
-
メトリクス: ソースアカウントからのすべてのメトリクスは、送信先アカウントに一元化されます。これには、カスタムメトリクス、埋め込みメトリクス形式 (EMF) メトリクス、OpenTelemetry (OTLP) メトリクスが含まれます。
-
バックアップリージョン: 必要に応じて、一元化されたメトリクスデータの 2 番目のコピーを保存するリージョンを選択します。ログとメトリクスには、別のバックアップリージョンを設定できます。
注記
現在、ソースアカウントからのすべてのメトリクスが一元化されます。現時点では、選択的メトリクスフィルタリングはサポートされていません。
-
-
一元化ルールを確認し、必要に応じて直前の編集を行い、[一元化ポリシーの作成] を選択します。
一元化ルールの変更
一元化ルールを変更するには
-
組織の管理アカウントまたは委任管理者アカウントの CloudWatch コンソールに移動します。
-
[設定] を選択します。
-
[組織] タブに移動します。
-
[ルールの管理] を選択します。
-
ルールを選択してから、[編集] を選択します。
-
必要に応じてルール設定を更新し、[次へ] を選択して各ステップに進みます。
-
ステップ 4「確認して設定」で、[一元化ポリシーの更新] を選択します。
一元化ルールの表示
一元化ルールを表示するには
-
組織の管理アカウントまたは委任管理者アカウントの CloudWatch コンソールに移動します。
-
[設定] を選択します。
-
[組織] タブに移動します。
-
[ルールの管理] を選択します。
-
既存のすべての一元化ルールのリストを表示し、特定のルール名を選択して詳細を表示します。
一元化ルールの削除
一元化ルールを削除するには
-
組織の管理アカウントまたは委任管理者アカウントの CloudWatch コンソールに移動します。
-
[設定] を選択します。
-
[組織] タブに移動します。
-
[ルールの管理] を選択します。
-
削除するルールを選択し、[削除] を選択します。
-
削除を確認し、[Delete] (削除) を選択します。
一元化されたメトリクスでサポートされる機能
次の CloudWatch 機能は、送信先アカウントの一元化されたメトリクスで動作します。
注記
リソースベースの自動ダッシュボード (EC2 や S3 など) は部分的にサポートされています。これらのダッシュボードでは、一元化されたメトリクスのデータの表示が不完全な場合があります。これは、ソースアカウントから一元化されていないリソースメタデータに依存するためです。
| 機能 | 説明 |
|---|---|
| GetMetricData API | メトリクスデータポイントをプログラムでクエリする |
| GetMetricStatistics API | メトリクスの統計情報をクエリする |
| ListMetrics API | 利用可能な一元化されたメトリクスを検出する |
| コンソールメトリクスブラウザ | 一元化されたメトリクスを参照およびナビゲートする |
| Metrics Insights (SQL クエリ) | SQL のような構文を使用してメトリクスをクエリする |
| Query Studio | PromQL とメトリクスの統合クエリインターフェイス |
| Search 式 | SEARCH() による動的メトリクス検出 |
| Metric Math | 時系列の算術演算子、比較演算子、論理演算子 |
| 異常検出 | ML ベースの異常検出モデルとアラーム |
| メトリクスのアラーム | 標準しきい値ベースのアラーム |
| 複合アラーム | 複数のアラーム状態を組み合わせるブールロジック |
| PromQL アラーム | PromQL 式を使用したアラーム |
| アラームアクション (SNS) | アラーム状態の変化に関する SNS 通知 |
| CloudWatch ダッシュボード | ダッシュボードに一元化されたメトリクスを追加する |
| メトリクスストリーム | 一元化されたメトリクスを Firehose、S3、またはパートナーにストリーミングする |
| PromQL クエリ | Prometheus 互換のメトリクスクエリ |
一元化ルールのモニタリングとトラブルシューティング
CloudWatch メトリクス、CloudWatch コンソール、AWS CloudTrail ログを使用して、一元化ルールのステータスとパフォーマンスをモニタリングできます。
AWS CloudTrail による一元化 API コールのモニタリング
AWS CloudTrail は、一元化サービスに対して行われた API コールをログに記録します。CloudTrail の主なイベントには以下が含まれます。
-
CreateCentralizationRuleForOrganization: 新しい一元化ルールが作成された場合 -
UpdateCentralizationRuleForOrganization: 既存のルールが変更された場合 -
DeleteCentralizationRuleForOrganization: ルールが削除された場合 -
GetCentralizationRuleForOrganization: ルールの詳細が取得された場合 -
ListCentralizationRulesForOrganization: ルールがリストされた場合
一般的な問題のトラブルシューティング
メトリクスが想定どおりに一元化されていない場合は、次の一般的なシナリオを確認します。
-
履歴メトリクスデータ – 一元化機能は、ルールの作成後に到着する新しいメトリクスデータのみを処理します。履歴データは一元化されません。
-
信頼されたアクセスが有効になっていない — 管理アカウントと送信先アカウントの AWS Organizations で CloudWatch に対して信頼されたアクセスを有効にする必要があります。
-
ソース選択基準 – 一元化ルールのソース選択基準に正しいアカウントとリージョンが含まれていることを確認します。
-
組織メンバーシップ — ソースアカウントと送信先アカウントの両方が同じ AWS Organizations 組織に属している必要があります。
-
メトリクスクォータ制限 – 送信先アカウントがメトリクスのクォータ制限に達した場合、新しいメトリクスを取り込むことはできません。必要に応じて、クォータの引き上げをリクエストします。
-
ルールのヘルスステータス – コンソールまたは
GetCentralizationRuleForOrganizationAPI を使用して、一元化ルールのヘルスステータスを確認します。各一元化ルールには、正しく動作しているか否かを示すヘルスステータスがあります。ルールのヘルスステータスは次のとおりです。-
HEALTHY: ルールが正常に動作し、メトリクスデータが設定どおりにレプリケートされている。 -
UNHEALTHY: ルールで問題が発生し、データが正しくレプリケートされていない可能性がある。 -
PROVISIONING: 組織の一元化がセットアップ中である
-
料金
一元化されたメトリクスの最初のコピーは無料です。詳細については、「Amazon CloudWatch 料金表