Alibaba Cloud Managed Service for Prometheus が提供するカスタム認証を使用して、異なる Alibaba Cloud アカウントが所有する複数の Prometheus インスタンスのデータを集約できます。これにより、Prometheus インスタンスのメトリックを監視し、Grafana ダッシュボードで視覚化し、アラートを統一された方法で設定できます。
背景情報
一般的に、企業向けに複数の Alibaba Cloud アカウントを作成すると、O&M の複雑さが増します。Managed Service for Prometheus は、Alibaba Cloud アカウント間でモニタリングデータを一元管理するのに役立つグローバル集約インスタンスを提供します。これにより、クエリを実行してアラートを管理し、複数のアカウントの O&M を統一された方法で実装できます。
制限事項
グローバル集約インスタンスは、スーパーリージョンをまたいで管理することはできません。スーパーリージョンは、アジア太平洋 (中国)、アジア太平洋 (中国 HMT)、アジア太平洋 (その他)、中東、ヨーロッパ、北米、南米です。
Managed Service for Prometheus V2 インスタンスは、クロスアカウント機能をサポートしていません。
前提条件
2 つの Alibaba Cloud アカウント (アカウント A とアカウント B) が作成されていること。アカウント A とアカウント B を使用して Managed Service for Prometheus が有効化されていること。詳細については、「課金」をご参照ください。
アカウント A とアカウント B で Prometheus インスタンスが作成されていること。詳細については、「統合センターを使用してデータを統合する」をご参照ください。
使用上の注意
このトピックでは、アカウント A とアカウント B を例として、グローバル集約インスタンスを使用して複数の Prometheus インスタンスのデータを集約する方法について説明します。これにより、アカウント A を使用して 2 つのアカウントのモニタリングデータをクエリし、それらのアラートルールを管理できます。
ステップ 1: グローバル集約インスタンスの作成
Managed Service for Prometheus では、次のいずれかの方法でデータを集約できます。
方法 1: リソースディレクトリを使用する
企業のマルチアカウントアーキテクチャがリソースディレクトリを使用して構築されていること。リソースディレクトリの詳細については、「リソースディレクトリの概要」をご参照ください。
次のいずれかの方法で、信頼できるサービスの委任管理者アカウントを設定します。
方法 1
リソースディレクトリの管理アカウントを使用して Resource Management コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[信頼できるサービス] ページで、委任管理者アカウントを追加する信頼できるサービスを見つけ、[アクション] 列の [管理] をクリックします。
[委任管理者アカウント] セクションで [追加] をクリックし、グローバル集約インスタンスを作成する Alibaba Cloud アカウントを委任管理者として設定します。
説明このトピックでは、アカウント A が委任管理者として設定されています。
[OK] をクリックします。
その後、委任管理者アカウントを使用して、信頼できるサービスのマルチアカウント管理モジュールにアクセスし、リソースディレクトリ内で管理操作を実行できます。
方法 2
リソースディレクトリの管理アカウントまたは管理者権限を持つ RAM ロールを使用して OpenAPI Explorer で RegisterDelegatedAdministrator 操作を呼び出し、グローバル集約インスタンスを作成する Alibaba Cloud アカウントを委任管理者として設定します。次のパラメーターを指定します。
パラメーター
説明
リージョン
中国本土: [中国 (上海)] を選択します。
その他のリージョン: [シンガポール] を選択します。
AccountId
グローバル集約インスタンスを作成する Alibaba Cloud アカウントの ID を入力します。このトピックでは、アカウント A が委任管理者として設定されています。
ServicePrincipal
prometheus.aliyuncs.com と入力します。

[呼び出し開始] をクリックします。
データを集約します。
アカウント A を使用してManaged Service for Prometheus コンソールにログインします。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[Prometheus インスタンスの作成] をクリックします。[インスタンスの作成] ページで、プロンプトに従ってパラメーターを設定し、[作成] をクリックします。
パラメーター
説明
インスタンスタイプ
[グローバル集約インスタンス] を選択します。
インスタンス名
グローバル集約インスタンスの名前を入力します。
リソースグループ
リソースグループを選択します。
タグ
各タグは、大文字と小文字を区別するキーと値のペアです。最大 20 個のタグを追加できます。
エンドポイント
アラートルールを設定するリージョンを選択します。Prometheus インスタンスの数が最も多いリージョンを選択することをお勧めします。そうしないと、リクエストの期間とシステムの安定性に影響が及ぶ可能性があります。
集約するインスタンスの選択
[他のアカウント (リソースディレクトリ)] を選択します。[リソースディレクトリメンバーアカウント] パラメーターを指定し、アカウント B で作成された Prometheus インスタンスを選択します。
説明アカウント B を選択すると、Managed Service for Prometheus はリソースディレクトリ内の信頼できるサービスのステータスを [有効] に変更します。
別のリージョンの Prometheus インスタンスを選択して、リージョン間でデータを集約できます。まず、[エンドポイント] パラメーターを目的のリージョンに設定する必要があります。
説明グローバル集約インスタンスの情報を変更するには、[アクション] 列の [編集] をクリックします。グローバル集約インスタンスを作成した後にリージョンを変更しないことをお勧めします。そうしないと、アラートルールが無効になります。
方法 2: RAM ロールを使用する
アカウント B を使用して RAM ロールを作成します。
アカウント B を使用して Resource Access Management (RAM) コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[ロール] ページで、[ロールの作成] をクリックします。
[ロールの作成] ページで、[プリンシパルタイプ] パラメーターを [クラウドアカウント] に設定し、Alibaba Cloud アカウントを指定してから [OK] をクリックします。
[ロールの設定] ステップで、[RAM ロール名] を
AliyunPrometheusQueryRoleに設定し、[信頼できる Alibaba Cloud アカウントの選択] を [他の Alibaba Cloud アカウント] に設定し、アカウント A の ID を入力してから [OK] をクリックします。ロールをクリックします。表示されたページで、[信頼ポリシー] タブをクリックし、[信頼ポリシーの編集] をクリックします。エディターで、信頼ポリシーを変更してアカウント A に権限を付与します。
説明信頼ポリシーに Alibaba Cloud アカウントの配列を入力して、それらに権限を付与できます。
AliyunRAMReadOnlyAccessおよびAliyunARMSReadOnlyAccessポリシーをAliyunPrometheusQueryRoleにアタッチします。左側のナビゲーションウィンドウで、[ID] > [ロール] を選択します。[ロール] ページで、ロールを見つけ、[アクション] 列の [権限の付与] をクリックします。
[権限の付与] パネルの [ポリシー] セクションで、検索ボックスで
AliyunRAMReadOnlyAccessおよびAliyunARMSReadOnlyAccessポリシーを検索して選択し、[権限の付与] をクリックします。
(オプション) アカウント A の RAM ユーザーを作成します。
説明アカウント B の Prometheus インスタンスデータをアカウント A に集約する場合は、アカウント A の RAM ユーザーを作成する必要があります。
アカウント B の Prometheus インスタンスデータをアカウント A の既存の RAM ユーザーに集約する場合は、次のステップに進みます。
アカウント A を使用して RAM コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[ユーザー] ページで、[ユーザーの作成] をクリックします。
[ユーザーの作成] ページで、次のパラメーターを設定します。
ログイン名: ログイン名は最大 64 文字で、文字、数字、ピリオド (.)、ハイフン (-)、アンダースコア (_) を含めることができます。
表示名: 表示名は最大 128 文字です。
説明[ユーザーの追加] をクリックして、一度に複数の RAM ユーザーを作成できます。
アクセスモード: Alibaba Cloud アカウントのセキュリティを確保するため、RAM ユーザーには 1 つのアクセスモードのみを選択することをお勧めします。これにより、個人の RAM ユーザーとプログラムの RAM ユーザーが分離されます。
コンソールアクセス
RAM ユーザーが個人を表す場合は、RAM ユーザーに [コンソールアクセス] を選択することをお勧めします。これにより、RAM ユーザーはユーザー名とパスワードを使用して Alibaba Cloud にアクセスできます。[コンソールアクセス] を選択した場合は、次のパラメーターを設定する必要があります。
コンソールパスワードの設定: [デフォルトパスワードを自動再生成] または [カスタムパスワードをリセット] を選択できます。[カスタムパスワードをリセット] を選択した場合は、パスワードを指定する必要があります。パスワードは複雑さの要件を満たす必要があります。詳細については、「RAM ユーザーのパスワードポリシーを設定する」をご参照ください。
パスワードのリセット: 次回のログイン時に RAM ユーザーがパスワードをリセットする必要があるかどうかを指定します。
MAF を有効にする: RAM ユーザーの多要素認証 (MFA) を有効にするかどうかを指定します。MFA を有効にした後、MFA デバイスを RAM ユーザーにバインドする必要があります。詳細については、「MFA デバイスを RAM ユーザーにバインドする」をご参照ください。
永続的な AccessKey を使用してアクセスする
RAM ユーザーがプログラムを表す場合は、RAM ユーザーに [永続的な AccessKey を使用してアクセスする] を選択できます。これにより、RAM ユーザーは AccessKey ペアを使用して Alibaba Cloud にアクセスできます。[OpenAPI アクセス] を選択すると、システムは RAM ユーザーの AccessKey ID と AccessKey シークレットを自動的に生成します。詳細については、「AccessKey ペアを取得する」をご参照ください。
重要RAM ユーザーの AccessKey シークレットは、AccessKey ペアを作成するときにのみ表示されます。その後の操作で AccessKey シークレットをクエリすることはできません。したがって、AccessKey シークレットをバックアップする必要があります。
AccessKey ペアは、アプリケーションアクセスのための永続的な認証情報です。Alibaba Cloud アカウントの AccessKey ペアが漏洩すると、そのアカウントに属するリソースが潜在的なリスクにさらされます。認証情報の漏洩リスクを防ぐため、セキュリティトークンサービス (STS) トークンを使用することをお勧めします。詳細については、「アクセス認証情報を使用して API 操作を呼び出すためのベストプラクティス」をご参照ください。
[OK] をクリックします。
プロンプトに従ってセキュリティ検証を完了します。
RAM ユーザーに権限を付与します。
RAM ユーザーの名前をクリックします。表示されたページで、[権限] タブをクリックします。
[権限の付与] をクリックします。表示されたパネルの [ポリシー] セクションで、検索ボックスで
AliyunSTSAssumeRoleAccessおよびAliyunARMSFullAccessポリシーを検索し、右側のセクションに追加してから、[権限の付与] をクリックします。
データを集約します。
RAM ユーザーとして Managed Service for Prometheus コンソールにログインします。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
グローバル集約インスタンスを見つけ、[操作] 列の [編集] をクリックします。[STEP3] の [集約するインスタンスを選択] セクションで、[他のアカウント (カスタム認証)] を選択します。
[Alibaba Cloud アカウント] の横にある検索ボックスにアカウント B の ID を入力し、[OK] をクリックします。システムはアカウント B に属するすべての Prometheus インスタンスを表示します。Prometheus インスタンスを選択し、[集約インスタンスの編集] をクリックします。
説明別のアカウントの Prometheus インスタンスを変更できるのは、その Alibaba Cloud アカウントに対する権限を持つ RAM ユーザーのみであり、RAM ユーザーを所有する Alibaba Cloud アカウントは変更できません。
ステップ 2: グローバル集約インスタンスのデータをクエリする
グローバル集約インスタンスを作成した後、組み込みの Grafana ダッシュボードでグローバル集約インスタンスのパフォーマンスメトリックデータを表示できます。
[インスタンス] ページで、グローバル集約インスタンスの名前をクリックします。左側のナビゲーションウィンドウで、[ダッシュボード] をクリックします。
ステップ 3: グローバル集約インスタンスのアラートルールを作成する
[インスタンス] ページで、グローバル集約インスタンスの名前をクリックします。左側のナビゲーションウィンドウで、[アラートルール] をクリックします。
[Prometheus アラートルール] ページで、[Prometheus アラートルールの作成] をクリックし、プロンプトに従ってアラートルールを作成します。詳細については、「Prometheus インスタンスのアラートルールを作成する」をご参照ください。
説明[Prometheus アラートルールの作成] ページの [データプレビュー] セクションには、グローバル集約インスタンス の unique_cluster_id と unique_cluster_name が表示されます。この機能は、アラートをトリガーするインスタンスを特定するのに役立ちます。

その他の操作
グローバル集約インスタンスの編集
[インスタンス] ページで、グローバル集約インスタンス を見つけ、[アクション] 列の [編集] をクリックします。Endpoint パラメーターを変更すると、現在のリージョンで設定されているアラートルールが無効になります。したがって、必要でない限り Endpoint パラメーターを変更しないことをお勧めします。
グローバル集約インスタンスのアンインストール
グローバル集約インスタンス を使用しなくなった場合は、インスタンスをアンインストールできます。
[インスタンス] ページで、Prometheus インスタンス を見つけ、[アクション] 列の [アンインストール] をクリックします。表示されるメッセージで、[OK] をクリックします。Prometheus インスタンス がアンインストールされると、[インスタンス] ページに表示されなくなります。
よくある質問
グローバル集約インスタンスは料金がかかりますか?
グローバル集約インスタンスはパブリックプレビュー期間中、無料でご利用いただけます。
グローバル集約インスタンスは他の Prometheus インスタンスからデータを同期しますか?
グローバル集約インスタンスは、他の Prometheus インスタンスからデータを同期しません。代わりに、データクエリのエントリを提供します。