Application Real-Time Monitoring Service (ARMS) は、複数の Alibaba Cloud アカウントからの監視データを単一のアカウントに集約できます。これにより、アカウントを切り替えることなく、組織全体のトレース、メトリクス、アプリケーション トポロジーを可視化し、一元管理できます。
このガイドでは、2つのデプロイシナリオについて説明します。
ACK アプリケーション:Container Service for Kubernetes (ACK) クラスターで実行されているアプリケーション
ECS アプリケーション:Elastic Compute Service (ECS) インスタンスにデプロイされているアプリケーション
始める前に
クロスアカウントモニタリングでは、アカウントごとにデータレポート、認可、課金、およびきめ細かな権限を手動で管理する必要があります。これにより、運用上のオーバーヘッドが増加します。ほとんどのマルチアカウント組織では、各アカウント内でアプリケーションを管理する方がシンプルです。先に進む前に、一元的な監視が追加の複雑さを正当化するかどうかを評価してください。
用語
| 用語 | 定義 |
|---|---|
| モニタリングアカウント (アカウント A) | ARMS を実行し、他のアカウントから監視データを受信する Alibaba Cloud アカウント。 |
| ソースアカウント (アカウント B) | アプリケーションのデータをモニタリングアカウントにレポートする Alibaba Cloud アカウント。 |
ACK アプリケーション
ソースアカウントからモニタリングアカウントの ARMS に ACK アプリケーションのデータをレポートさせるには、ack-onepilot コンポーネントにモニタリングアカウントの認証情報を設定します。
ステップ1: モニタリングアカウントでの RAM ユーザーの作成
モニタリングアカウント (アカウント A) で Resource Access Management (RAM) コンソールにログインします。
RAM ユーザーを作成し、以下のポリシーをアタッチします。詳細な手順については、「RAM ユーザーの作成」をご参照ください。
AliyunARMSFullAccess
AliyunSTSAssumeRoleAccess
ステップ2: AccessKey ペアの作成
ステップ 1 で作成した RAM ユーザーの AccessKey ペアを作成します。AccessKey ID と AccessKey シークレットを保存してください。これらはステップ 4 で必要になります。
詳細な手順については、「AccessKey ペアの作成」をご参照ください。
AccessKey ペアは安全に保管してください。バージョン管理にコミットするアプリケーションコードや設定ファイルに認証情報を直接埋め込まないでください。
ステップ3: ARMS エージェントのインストール
ソースアカウント (アカウント B) のアプリケーション用に ARMS エージェント (ack-onepilot コンポーネント) をインストールします。
詳細な手順については、「ACK への ARMS エージェントの自動インストール」をご参照ください。
ステップ4: ack-onepilot 設定の更新
ack-onepilot コンポーネントは、バージョン 3.0.14 以降である必要があります。クロスアカウントのデータレポートには、v3.0.14 で導入された AccessKey ペアの設定が必要です。リリースノートについては、「ack-onepilot」をご参照ください。
ACK コンソールにログインします。
クラスター詳細ページの左側のナビゲーションペインで、[アプリケーション] > [Helm] を選択します。
ack-onepilot を見つけ、[Actions] 列の [Update] をクリックします。
次のパラメーターを設定します。
パラメーター 値 accessKeyステップ 2 で取得した AccessKey ID accessKeySecretステップ 2 で取得した AccessKey シークレット uidモニタリングアカウント (アカウント A) の ID [OK] をクリックします。
設定を保存すると、ソースアカウントの ACK アプリケーションデータがモニタリングアカウントの ARMS へのレポートを開始します。
ステップ5: アプリケーション管理のためのアクセスの設定
監視対象のアプリケーションを管理するために、次のいずれかのアプローチを選択します。
| アプローチ | 使用する状況 | 手順 |
|---|---|---|
| 既存のRAM ユーザーを使用する | 最もシンプルな設定を希望する場合 | ステップ 1 の RAM ユーザーには、すでに AliyunARMSFullAccess ポリシーが付与されています。追加の設定は不要です。 |
| 専用のRAM ユーザーを作成する | 監視とデータレポートで認証情報を分離したい場合 | モニタリングアカウント (アカウント A) に新しい RAM ユーザーを作成します。フルアクセスには AliyunARMSFullAccess ポリシーをアタッチし、きめ細かな権限にはカスタムポリシーをアタッチします。「RAM ユーザーへのカスタムポリシーのアタッチ」をご参照ください。 |
| RAM ロールを使用する (クロスアカウント委任) | モニタリングアカウントの認証情報をソースアカウントのチームと共有したくない場合 | ソースアカウントの RAM ユーザーにモニタリングアカウントのロールを引き受けさせます。「(オプション) RAM ロールを使用したアプリケーション管理」をご参照ください。 |
ECS アプリケーション
ソースアカウントからモニタリングアカウントの ARMS に ECS アプリケーションのデータをレポートさせるには、モニタリングアカウントのライセンスキーを使用して ARMS エージェントをインストールします。
ステップ1: ライセンスキーの取得
モニタリングアカウント (アカウント A) でARMSコンソールにログインします。
[統合センター] ページに移動し、ライセンスキーをコピーします。
各 Alibaba Cloud アカウントには、一意のライセンスキーがあります。
エージェントのインストール手順:
エージェントパッケージが配置されているディレクトリに移動し、展開します:
unzip ArmsAgent.zip -d /{user.workspace}/AppName と LicenseKey パラメーターを追加します (次のいずれかの方法を使用します)。 方法 1: 次の JVM パラメーターをコピーして起動スクリプトに追加します:
-javaagent:/{user.workspace}/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar、-Darms.licenseKey=xxx、および-Darms.appName=my-service。arms.licenseKeyパラメーターはシステムによって自動的に生成され、arms.appNameの値をご自身のアプリケーション名に置き換える必要があります。 方法 2:arms-agent.configファイルを変更します。
ステップ2: ARMS エージェントのインストール
ARMS エージェントのインストールパッケージをダウンロードし、ソースアカウント (アカウント B) の ECS にデプロイされた各アプリケーションにエージェントをインストールします。インストール中にステップ 1 のライセンスキーを使用します。
詳細な手順については、「ARMS エージェントの手動インストール」をご参照ください。
ステップ3: アプリケーション管理のためのアクセスの設定
モニタリングアカウント (アカウント A) に RAM ユーザーを作成します。ARMS のフルアクセス権限には AliyunARMSFullAccess ポリシーをアタッチし、きめ細かな権限にはカスタムポリシーをアタッチします。
詳細については、「RAM ユーザーへのカスタムポリシーのアタッチ」をご参照ください。
代替案として、ソースアカウントの RAM ユーザーがモニタリングアカウントの RAM ロールを引き受けることもできます。「(オプション) RAM ロールを使用したアプリケーション管理」をご参照ください。
(オプション) RAM ロールを使用したアプリケーション管理
モニタリングアカウントの RAM ユーザーの認証情報をソースアカウントのチームと共有したくない場合は、代わりに RAM ロールを通じてアクセスを委任します。アカウント B の RAM ユーザーがアカウント A のロールを引き受けて ARMS にアクセスするため、アカウント A の認証情報は共有されません。
ステップ1: ソースアカウントへの権限の付与
監視アカウントに RAM ロールを作成します。 アカウントA を使用して RAM コンソールにログインします。信頼できるエンティティを Alibaba Cloud アカウントとして RAM ロールを作成し、アカウントB をその信頼できるエンティティとして設定します。この例では、ロール名は
arms-adminです。詳細については、「信頼できる Alibaba Cloud アカウントの RAM ロールを作成する」をご参照ください。RAM ロールにポリシーをアタッチします。ARMS の完全な権限を付与するには、AliyunARMSFullAccess ポリシーを
arms-adminロールにアタッチします。きめ細かいアクセスが必要な場合は、代わりにカスタムポリシーをアタッチします。ソースアカウントでの RAM ユーザーの作成。アカウント B に RAM ユーザーを作成します。詳細な手順については、「RAM ユーザーの作成」をご参照ください。
重要RAM ユーザーのユーザー名とパスワードを保存してください。
RAM ユーザーへのロール引き受け権限の付与。アカウント B で、前のステップで作成した RAM ユーザーに AliyunSTSAssumeRoleAccess ポリシーをアタッチします。詳細な手順については、「RAM ユーザーへの権限の付与」をご参照ください。
ステップ2: ソースアカウントからのARMSへのアクセス
アカウント B の RAM ユーザーとしてRAM コンソールにログインします。詳細な手順については、「RAM ユーザーとして Alibaba Cloud マネジメントコンソールにログイン」をご参照ください。
プロフィールアバターにマウスカーソルを合わせ、[ID の切り替え] をクリックします。
アカウント A の ID と、
arms-adminなどの RAM ロールの名前を入力します。詳細な手順については、「RAM ロールを引き受ける」をご参照ください。ARMS コンソールを開きます。左側のナビゲーションペインで、[アプリケーション監視] > [アプリケーション] を選択して、監視対象のアプリケーションを表示します。