複数の Alibaba Cloud アカウントを保有する企業では、Prometheus メトリックの監視、Grafana ダッシュボードの表示、およびすべてのアカウントにわたるアラートルールの管理を、単一の場所で行う必要があります。Managed Service for Prometheus は、この目的のためのグローバル集約インスタンスを提供します。これは、データのコピーまたは同期を行わず、他のアカウント内の Prometheus インスタンスから直接メトリックを読み取る統合クエリレイヤーです。
仕組み
グローバル集約インスタンスは、1 つの モニタリングアカウント を 1 つ以上の ソースアカウント に接続します。
モニタリングアカウント(本ガイドではアカウント A):グローバル集約インスタンスを所有するアカウントです。このアカウントを使用して、接続されたすべての Prometheus インスタンスにわたるメトリックのクエリ実行、ダッシュボードの表示、およびアラートルールの設定を行います。
ソースアカウント(本ガイドではアカウント B):グローバル集約インスタンスに追加される Prometheus インスタンスを保有する任意のアカウントです。モニタリングアカウントはこれらのインスタンスからメトリックを読み取りますが、保存は行いません。
利用可能な認証方式は以下の 2 種類です。
| 方式 | 使用タイミング | 設定工数 |
|---|---|---|
| リソースディレクトリ | 企業が既に Alibaba Cloud リソースディレクトリを用いてマルチアカウント階層を管理している場合 | 低:リソースディレクトリが信頼関係を自動的に処理 |
| RAM ロール(カスタム認証) | アカウントがリソースディレクトリに属していない場合、またはきめ細かなアクセス制御が必要な場合 | 高:各ソースアカウントで手動による IAM 構成が必要 |
制限事項
グローバル集約インスタンスは、スーパーリージョンをまたぐことはできません。スーパーリージョンには、アジア太平洋中国、アジア太平洋中国 HMT、アジア太平洋その他、中東、ヨーロッパ、北米、南米があります。
Managed Service for Prometheus V2 インスタンスは、アカウント横断機能をサポートしません。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
このガイドでは「アカウント A」と「アカウント B」と呼ばれる 2 つの Alibaba Cloud アカウント(いずれも Managed Service for Prometheus の有効化)
各アカウント配下に少なくとも 1 つの Prometheus インスタンスが作成されていること。詳細については、「統合センターを使用してデータを統合する」をご参照ください。
設定の概要
認証方式(リソースディレクトリまたは RAM ロール)を選択し、アカウント間の信頼関係を構成します。
モニタリングアカウントでグローバル集約インスタンスを作成し、集約対象のソース Prometheus インスタンスを選択します。
モニタリングアカウントから、集約されたメトリックをクエリ実行し、アラートルールを設定します。
ステップ 1:グローバル集約インスタンスの作成
方法 1:リソースディレクトリ
企業が Alibaba Cloud リソースディレクトリ を通じてアカウントを管理している場合は、この方法を使用します。
1a. 委任された管理者の設定
モニタリングアカウント(アカウント A)を、Prometheus の信頼できるサービスに対する委任された管理者として登録する必要があります。以下のいずれかの方法を選択してください。
オプション 1:Resource Management コンソールを使用
Resource Management コンソール に、リソースディレクトリの管理アカウントでログインします。
左側ナビゲーションウィンドウで、リソースディレクトリ > 信頼できるサービス を選択します。
Prometheus の信頼できるサービスを見つけ、操作 列の 管理 をクリックします。
委任された管理者アカウント セクションで、追加 をクリックします。
アカウント A を委任された管理者として選択し、OK をクリックします。
構成後、委任された管理者アカウントを使用して、信頼できるサービスのマルチアカウント管理モジュールにアクセスし、リソースディレクトリ内で管理操作を実行できます。
オプション 2:RegisterDelegatedAdministrator API の呼び出し
リソースディレクトリの管理アカウント(または管理者権限を持つ RAM ロール)を使用して、OpenAPI Explorer で以下のパラメーターを指定して RegisterDelegatedAdministrator 操作を呼び出します。
| パラメーター | 値 |
|---|---|
| リージョン | 中国本土:中国 (上海) を選択。その他のリージョン:シンガポールを選択 |
| AccountId | アカウント A の ID |
| ServicePrincipal | prometheus.aliyuncs.com |

呼び出しを開始 をクリックしてリクエストを実行します。
1b. インスタンスの作成とデータの集約
アカウント A で ARMS コンソール にログインします。
左側ナビゲーションウィンドウで、Managed Service for Prometheus > インスタンス を選択します。
Prometheus インスタンスの作成 をクリックします。
インスタンスの作成 ページで、以下のパラメーターを設定し、作成 をクリックします。
パラメーター 説明 インスタンスタイプ グローバル集約インスタンス インスタンス名 グローバル集約インスタンスの名前を入力 リソースグループ リソースグループを選択 タグ (任意)大文字小文字を区別するキーと値のペアを最大 20 個追加可能 エンドポイント アラートルールの処理に使用するリージョンを選択します。最も多くの Prometheus インスタンスが配置されているリージョンを選択してください。それ以外の場合、リクエストの持続時間およびシステムの安定性に影響が出る可能性があります 集約対象のインスタンスの選択 他のアカウント(リソースディレクトリ) を選択します。リソースディレクトリメンバー アカウント を指定し、アカウント B の Prometheus インスタンスを選択します
アカウント B を選択すると、Managed Service for Prometheus が自動的にリソースディレクトリ内で信頼できるサービスを有効化します。リージョンをまたいでインスタンスを集約する場合は、あらかじめ エンドポイント を対象リージョンに設定してください。
インスタンス作成後に エンドポイント のリージョンを変更しないでください。リージョンを変更すると、元のリージョンで設定したすべてのアラートルールが無効になります。
方法 2:RAM ロール(カスタム認証)
アカウントがリソースディレクトリに属していない場合、または IAM ポリシーによるきめ細かなアクセス制御が必要な場合に、この方法を使用します。
2a. ソースアカウント(アカウント B)で RAM ロールを作成
アカウント B で RAM コンソール にログインします。
左側ナビゲーションウィンドウで、ID > ロール を選択します。
ロールの作成 をクリックします。
プリンシパルタイプ を クラウドアカウント に設定し、OK をクリックします。
ロールの構成 ステップで、以下のフィールドを設定します。
RAM ロール名:
AliyunPrometheusQueryRole信頼される Alibaba Cloud アカウントの選択:他の Alibaba Cloud アカウント を選択し、アカウント A の ID を入力します。
OK をクリックします。
新しく作成したロールを開きます。信頼ポリシー タブで、信頼ポリシーの編集 をクリックし、アカウント A に権限を付与するようポリシーを更新します。

複数のモニタリングアカウントへのアクセスを許可するには、信頼ポリシーにそれらのアカウント ID を配列形式で追加します。
2b. RAM ロールにポリシーをアタッチ
左側のナビゲーションウィンドウで、[アイデンティティ] > [ロール] を選択します。
AliyunPrometheusQueryRoleを見つけ、操作 列の 権限の付与 をクリックします。以下のポリシーを検索・選択し、権限の付与 をクリックします。
AliyunRAMReadOnlyAccessAliyunARMSReadOnlyAccess
2c. (任意)モニタリングアカウント(アカウント A)で RAM ユーザーを作成
すでにアカウント A に、集約操作を行う RAM ユーザーが存在する場合は、このステップをスキップしてください。
アカウント A で RAM コンソール にログインします。
左側ナビゲーションウィンドウで、ID > ユーザー を選択します。
ユーザーの作成 をクリックし、以下のフィールドを設定します。
フィールド 説明 ログイン名 最大 64 文字。英字、数字、ピリオド (.)、ハイフン (-)、アンダースコア (_) をサポート 表示名 最大 128 文字 アクセスモード 人間ユーザーの場合は コンソールアクセス を選択、プログラムによるアクセスの場合は 永続的な AccessKey を使用したアクセス を選択します。セキュリティのため、ユーザーごとに 1 つのアクセスモードのみを割り当ててください 
ユーザーの追加 をクリックすると、一度に複数の RAM ユーザーを作成できます。
コンソールアクセス を選択した場合、以下のオプションを設定します。
コンソールパスワードの設定: [デフォルトパスワードの自動再生成] または [カスタムパスワードのリセット] を選択します。[カスタムパスワードのリセット] を選択した場合は、複雑性要件を満たすパスワードを指定する必要があります。詳細については、「RAM ユーザーのパスワードポリシーを設定する」をご参照ください。
パスワードのリセット:RAM ユーザーが次回ログイン時にパスワードをリセットする必要があるかどうかを指定します。
[MFA の有効化]: RAM ユーザーに対して多要素認証 (MFA) を有効にするかどうかを指定します。MFA を有効化すると、RAM ユーザーに MFA デバイスをバインドする必要があります。詳細については、「RAM ユーザーに MFA デバイスをバインドする」をご参照ください。
[永続的な AccessKey を使用してアクセス] を選択すると、システムは RAM ユーザーの AccessKey ID と AccessKey Secret を自動的に生成します。詳細については、「AccessKey ペアを取得する」をご参照ください。
OK をクリックし、セキュリティ検証を完了します。
AccessKey Secret は、作成時のみ表示されます。すぐに保存してください。後から取得することはできません。本番ワークロードでは、永続的な AccessKey ペアの代わりに Security Token Service (STS) トークンを使用してください。詳細については、「アクセス認証情報のベストプラクティス」をご参照ください。
2d. RAM ユーザーに権限を付与
RAM ユーザー名をクリックします。権限 タブで、権限の付与 をクリックします。
以下のポリシーを検索・選択し、権限の付与 をクリックします。
AliyunSTSAssumeRoleAccessAliyunARMSFullAccess
2e. データの集約
RAM ユーザーとして ARMS コンソール にログインします。
左側ナビゲーションウィンドウで、Managed Service for Prometheus > インスタンス を選択します。
グローバル集約インスタンスを見つけ、操作 列の 編集 をクリックします。
STEP3 の 集約対象のインスタンスの選択 で、他のアカウント(カスタム認証) を選択します。
Alibaba Cloud アカウント の横にある検索ボックスにアカウント B の ID を入力し、OK をクリックします。
集約対象の Prometheus インスタンスを選択し、集約インスタンスの編集 をクリックします。

カスタム認証を用いた他アカウントの Prometheus インスタンスの変更は、RAM ユーザー(RAM ユーザーを所有する Alibaba Cloud アカウントではなく)のみが実行可能です。
ステップ 2:集約データのクエリ実行
グローバル集約インスタンスを作成した後は、組み込みの Grafana ダッシュボードを通じてメトリックを表示できます。
インスタンス ページで、グローバル集約インスタンスの名前をクリックします。
左側ナビゲーションウィンドウで、ダッシュボード をクリックします。
ステップ 3:アラートルールの作成
インスタンス ページで、グローバル集約インスタンスの名前をクリックします。
左側ナビゲーションウィンドウで、アラートルール をクリックします。
「Prometheus アラートルール」ページで、[Prometheus アラートルールの作成] をクリックし、必要に応じてアラートを設定します。詳細については、「Prometheus インスタンス用のアラートルールを作成する」をご参照ください。
データプレビュー セクションには、グローバル集約インスタンスの unique_cluster_id および unique_cluster_name が表示されます。これらのフィールドを用いて、どのソースインスタンスがアラートをトリガーしたかを特定できます。

グローバル集約インスタンスの管理
インスタンスの編集
インスタンス ページで、グローバル集約インスタンスを見つけ、操作 列の 編集 をクリックします。
エンドポイント のリージョンは、絶対に必要な場合を除き変更しないでください。リージョンを変更すると、元のリージョンで設定したすべてのアラートルールが無効になります。
インスタンスのアンインストール
インスタンス ページで、グローバル集約インスタンスを見つけ、操作 列の アンインストール をクリックします。
OK をクリックして確認します。
アンインストール後、インスタンスは インスタンス ページから削除されます。
よくある質問
グローバル集約インスタンスには課金されますか?
グローバル集約インスタンスは現在パブリックプレビュー段階であり、無料でご利用いただけます。
グローバル集約インスタンスはソースインスタンスからデータをコピーしますか?
いいえ。グローバル集約インスタンスは統合クエリエントリポイントを提供します。データのコピーまたは同期を行わず、ソースの Prometheus インスタンスから直接メトリックを読み取ります。