Managed Service for Prometheus は、カスタム認証を通じて複数の Alibaba Cloud アカウントにまたがる Prometheus インスタンスからデータを集約し、単一のアカウントからメトリックの統合監視、Grafana による可視化、アラート管理を実現します。
背景情報
企業は多くの場合、複数の Alibaba Cloud アカウントを管理するため、運用の複雑さが増します。Managed Service for Prometheusは、グローバル集約インスタンス機能を提供して、異なるアカウントのモニタリングデータを一元化し、統一されたメトリッククエリ、アラート管理、およびオブザーバビリティの合理化を可能にします。
制限事項
-
グローバル集約インスタンスは、スーパーリージョンをまたいだデータの集約をサポートしていません。スーパーリージョンには、中国、東南アジアおよび中東、日本および韓国、ヨーロッパおよびロシア、アメリカ大陸があります。
-
クロスアカウント集約機能は、V2 Prometheus インスタンスではサポートされていません。
前提条件
-
アカウント A やアカウント B など、少なくとも 2 つの Alibaba Cloud アカウントを保有しており、各アカウントで Managed Service for Prometheus が有効化されているものとします。 詳細については、「Managed Service for Prometheus の課金」をご参照ください。
-
アカウント A とアカウント B の両方で、モニタリングデータがそれぞれの Prometheus インスタンスに取り込まれている必要があります。詳細については、「連携の概要」をご参照ください。
注意事項
このトピックでは、2 つの Alibaba Cloud アカウント (アカウント A とアカウント B) を例に、グローバル集約インスタンスを介してアカウント B のモニタリングデータをアカウント A に統合する方法を説明します。設定後、アカウント A は両方のアカウントのデータを一元的にクエリし、アラートを管理できます。
ステップ 1:グローバル集約インスタンスの作成
Managed Service for Prometheus は、以下の 2 つの方法でクロスアカウント集計をサポートしています:
方法 1:リソースディレクトリ
-
リソースディレクトリを使用して、企業向けのマルチアカウント構造を設定します。リソースディレクトリの詳細については、「リソースディレクトリとは」をご参照ください。
-
以下のいずれかの方法で、信頼されたサービスの委任された管理者を設定します。
コンソール
-
管理アカウントで Resource Management コンソール にログインします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
信頼できるサービス ページで、目的の信頼できるサービスを見つけ、操作 列の 管理 をクリックします。
-
[Delegated administrator accounts] セクションで、Add をクリックします。グローバル集約インスタンスを作成するために使用する Alibaba Cloud アカウントを選択し、それを委任された管理者として設定します。
説明この例では、アカウント A が委任された管理者アカウントです。
-
OK をクリックします。
これで、信頼できるサービスのマルチアカウント管理モジュールにアクセスし、組織全体で管理操作を実行できるようになります。
API
-
リソースディレクトリの管理アカウントまたは管理者権限を持つ RAM ロールを使用して RegisterDelegatedAdministrator API を呼び出し、グローバル集約インスタンスを作成するメンバーアカウントに委任された管理者のロールを割り当てます。以下のパラメーターを設定します。
パラメーター
説明
[サービスアドレス]
-
中国本土: 中国 (上海) を選択します。
-
その他のリージョン: シンガポールを選択します。
AccountId
クロスアカウントのグローバル集約インスタンスを作成するメンバーアカウントの ID を入力します。
ServicePrincipal
prometheus.aliyuncs.com と入力します。

-
-
Initiate Call をクリックします。
-
-
データを集約します。
-
アカウント A でPrometheus コンソールにログインします。
-
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
-
Prometheus インスタンスの作成 をクリックします。 新規インスタンスの作成 ページで、以下の表に従ってパラメーターを設定し、今すぐ作成 をクリックします。
パラメーター
説明
[インスタンスタイプ]
グローバル集約インスタンス を選択します。
[Instance Name]
グローバル集約インスタンスの名前を入力します。
[属するリソースグループ]
インスタンスのリソースグループを選択します。
[タグ]
タグは、大文字と小文字を区別するキーと値のペアです。最大 20 個のタグを追加できます。
Endpoint
エンドポイントは、リクエストのアクセスポイントとアラートが設定されるリージョンを決定します。最も多くのインスタンスが存在するリージョンを選択してください。異なるリージョンを選択すると、アクセス速度やシステムの安定性に影響する可能性があります。
[集約するインスタンスの選択]
その他のアカウント (リソースディレクトリ) を選択し、 リソースディレクトリメンバーのアカウント を選択して、対象の Prometheus インスタンスを追加します。
説明-
別のアカウント (リソースディレクトリ) を選択すると、リソースディレクトリ内の信頼できるサービスのステータスが Managed Service for Prometheus によって有効に設定されます。
-
異なるリージョンのインスタンス名を選択して、リージョンをまたいでインスタンスを集約できます。インスタンスを選択する前に、[Endpoint] セクションでアクセスエンドポイントを指定する必要があります。
説明グローバル集約インスタンスは、Operation 列の [Edit] をクリックして編集できます。作成後にエンドポイントを変更しないでください。変更すると、元のエンドポイントに設定されたアラートルールが無効になります。
-
-
方法 2:カスタム認証
-
アカウント B を使用して RAM ロールを作成します。
-
アカウント B で RAM コンソールにログインします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
ロール ページで、ロール作成 をクリックします。
-
ロール作成 ページで、Principal Type を アカウント に設定し、Alibaba Cloud アカウントの詳細を指定してから、OK をクリックします。
-
RAM ロールの設定 ステップで、 ロール名 を
AliyunPrometheusQueryRoleに設定します。信頼できる Alibaba Cloud アカウントを選択 で 他の Alibaba Cloud アカウント を選択し、アカウント A の ID を入力します。その後、Finish をクリックします。 -
作成したロールの名前をクリックします。ロールの詳細ページで、トラスト規則 タブをクリックします。 編集トラスト規則 をクリックし、ポリシーを修正してアカウント A への信頼を付与します。
説明信頼されたアカウントは配列で指定されるため、複数のアカウントに同時に信頼を付与できます。
-
-
AliyunRAMReadOnlyAccessとAliyunARMSReadOnlyAccessの権限をAliyunPrometheusQueryRoleロールに付与します。-
ナビゲーションペインで、アイデンティティ > Role の順に選択します。対象のロールを見つけ、Operation 列の 権限を新規付与する をクリックします。
-
権限を新規付与する パネルの 権限ポリシー セクションで、
AliyunRAMReadOnlyAccessとAliyunARMSReadOnlyAccessを検索して選択し、Grant permissions をクリックします。
-
-
(オプション) アカウント A の RAM ユーザーを作成します。
説明-
ルートアカウント (アカウント A) を集約に使用している場合、まずアカウント A 内に RAM ユーザーを作成する必要があります。
-
集約を行うアカウントが既に RAM ユーザーである場合は、このステップをスキップし、既存の RAM ユーザーを使用してアカウント B からのデータを集約できます。
-
アカウント A で RAM コンソールにログインします。
-
ナビゲーションペインで、[Identities] > [Users] の順に選択します。[Users] ページで、[Create User] をクリックします。
-
ユーザーの作成 ページで、ユーザーの基本情報を設定します。
-
ログイン名: 英字、数字、ピリオド (.)、ハイフン (-)、アンダースコア (_) を使用できます。名前の長さは最大 64 文字です。
-
Display name: 最大 128 文字まで使用できます。
説明ユーザーの追加 をクリックすると、一度に複数の RAM ユーザーを作成できます。
-
アクセス方法: セキュリティのため、ヒューマンユーザーとアプリケーションユーザーを分離するために、1 つのアクセスモードのみを選択することを推奨します。
-
コンソールへのアクセス
RAM ユーザーが人間を表す場合、コンソールアクセスを有効にすることを推奨します。これにより、ユーザーはユーザー名とパスワードで Alibaba Cloud にアクセスできます。以下のパラメーターを設定します。
-
[Console password]: パスワードを自動生成するか、カスタムパスワードを設定するかを選択できます。カスタムパスワードは、設定されたパスワード複雑度ルールを満たす必要があります。詳細については、「RAM ユーザーのパスワードポリシーを設定する」をご参照ください。
-
[Password reset policy]: RAM ユーザーが次回のログイン時にパスワードをリセットする必要があるかどうかを選択します。
-
[Multi-factor authentication (MFA)]: RAM ユーザーに対して MFA を有効にするかどうかを選択します。MFA を有効にする場合は、MFA デバイスをバインドする必要があります。詳細については、「RAM ユーザーの MFA デバイスをバインドする」をご参照ください。
-
-
[Using permanent AccessKey to access]
RAM ユーザーがアプリケーションを表す場合、永続的な AccessKey ペアを使用して Alibaba Cloud にアクセスできます。有効にすると、システムは自動的に AccessKey ID と AccessKey シークレットを生成します。詳細については、「AccessKey ペアの作成」をご参照ください。
重要-
AccessKey シークレットは作成時に一度だけ表示され、後で取得することはできません。安全に保存してください。
-
AccessKey ペアは長期的な認証情報です。漏洩した場合、アカウント配下のすべてのリソースにセキュリティリスクをもたらします。認証情報の漏洩リスクを低減するために、Security Token Service (STS) トークンなどの一時的な認証情報を使用することを推奨します。詳細については、「Alibaba Cloud API を呼び出すためのアクセス資格情報の使用に関するベストプラクティス」をご参照ください。
-
-
-
-
[OK] をクリックします。
-
プロンプトに従って、セキュリティ検証を完了します。
-
-
アカウント A の RAM ユーザーに権限を付与します。
-
対象の RAM ユーザーの名前をクリックし、権限管理 タブをクリックします。
-
権限を新規付与する をクリックします。表示されるパネルで、権限ポリシー タブで
AliyunSTSAssumeRoleAccessとAliyunARMSFullAccessポリシーを検索して選択します。その後、Grant permissions をクリックします。
-
-
Prometheus インスタンスのデータを集約します。
-
アカウント A の RAM ユーザーとして Managed Service for Prometheus コンソールにログインします。
-
ナビゲーションペインで、インスタンス管理 をクリックします。
-
対象のグローバル集約インスタンスを見つけ、Operation 列の 編集 をクリックします。[Step 3] セクションの「[選択] [instances to aggregate]」で その他のアカウント (カスタム認証) を選択します。
-
Alibaba Cloud アカウント の隣の検索ボックスでアカウント B を検索し、Confirm をクリックします。システムはアカウント B に属するすべての Prometheus インスタンスをフィルタリングして表示します。集約したいインスタンスを選択し、集約インスタンスの編集 をクリックします。
説明カスタム認証によるクロスアカウントモニタリングの設定を編集および保存できるのは、承認された RAM ユーザーのみです。ルートアカウントにはこの権限がありません。
-
ステップ 2:データのクエリ
アカウント B の Prometheus インスタンスをアカウント A の RAM ユーザー配下のグローバル集約インスタンスに集約した後、あらかじめ構築された Grafana ダッシュボードでパフォーマンスメトリクスを表示できます。
インスタンスリスト ページで、対象の Prometheus インスタンスの名前をクリックします。ナビゲーションペインで、ダッシュボードリスト をクリックします。
ステップ 3:アラートルールの作成
-
インスタンスリスト ページで、対象の Prometheus インスタンスの名前をクリックします。ナビゲーションペインで、Alarm Rules をクリックします。
-
Prometheus アラートルール ページで、Prometheus アラートルールの作成 をクリックし、プロンプトに従ってアラートルールを設定します。詳細については、「Prometheus アラートルールを作成する」をご参照ください。
説明Prometheus アラートルールの作成 ページの データプレビュー セクションでは、グローバル集約インスタンスによって unique_cluster_id (インスタンスの一意の ID) と unique_cluster_name (インスタンス名) のラベルが提供されます。これらのラベルは、どのアラートがどのインスタンスによってトリガーされたかを迅速に特定するのに役立ちます。

関連操作
グローバル集約インスタンスの編集
インスタンスリスト ページで、変更したい グローバル集約インスタンスを見つけ、Operation 列の 編集 をクリックします。作成後にエンドポイントを変更しないでください。変更すると、元のエンドポイントに設定されたアラートルールが無効になります。
グローバル集約インスタンスのアンインストール
グローバル集約インスタンスが不要になった場合は、アンインストールできます。
[インスタンス] ページで、[Prometheusインスタンス] を見つけ、[操作] 列の [アンインストール] をクリックします。 表示されるメッセージで、[OK] をクリックします。 Prometheusインスタンスがアンインストールされると、[インスタンス] ページに表示されなくなります。
よくある質問
グローバル集約インスタンスに追加料金はかかりますか?
グローバル集約インスタンスは現在パブリックプレビュー中であり、無料でご利用いただけます。
グローバル集約インスタンスは、集約されたすべてのインスタンスからのデータを単一のインスタンスに統合しますか?
グローバル集約インスタンスは、集約されたインスタンスからのデータのコピーを保存しません。代わりに、リクエストをリアルタイムで各ソースインスタンスに転送するクエリプロキシとして機能します。