Alibaba Cloudアカウント全体でアプリケーションを監視し、トレース機能を実装する場合、アプリケーションデータを1つのAlibaba Cloudアカウントに集約し、RAMユーザーまたはRAMロールを使用して、他のAlibaba Cloudアカウントにデータの表示または管理を承認できます。
制限事項
複数のAlibaba Cloudアカウントのアプリケーションデータを1つのAlibaba Cloudアカウントに集約する場合、異なるアカウントのデータレポート、承認、請求書、およびきめ細かい権限を手動で分離する必要があります。これは、ユーザーエクスペリエンスの複雑さを大幅に増加させます。一般的に、複数のAlibaba Cloudアカウントを持つ企業の場合、各アカウントが独自のアプリケーションを管理することをお勧めします。したがって、集約については総合的に検討してください。
ソリューション
企業がAlibaba CloudアカウントAとBの両方を持っていると仮定します。アカウントAはApplication Real-Time Monitoring Service(ARMS)のアクティブ化に使用され、アカウントBはElastic Compute Service(ECS)とContainer Service for Kubernetes(ACK)のアクティブ化に使用されました。企業がアカウントBのアプリケーションをアカウントAに属するARMSサービスに統合し、アカウントAを使用してすべてのアプリケーションを管理する場合、企業は次の操作を実行できます。
ACKアプリケーション
アカウントAのRAMユーザーを作成し、AliyunARMSFullAccessポリシーとAliyunSTSAssumeRoleAccessポリシーをRAMユーザーにアタッチします。詳細については、RAMユーザーの作成を参照してください。
RAMユーザーのAccessKeyペアを作成します。詳細については、AccessKeyペアの作成を参照してください。
アカウントBのアプリケーションにARMSエージェント(ack-onepilotコンポーネント)をインストールします。詳細については、ACKへのARMSエージェントの自動インストールを参照してください。
ACKコンソールにログインします。クラスター詳細ページの左側のナビゲーションペインで、 を選択します。Helmページで、ack-onepilotを見つけて、[アクション]列の更新をクリックします。
accessKey
パラメーターとaccessKeySecret
パラメーターを手順2で取得したAccessKey IDとAccessKeyシークレットに置き換え、uid
パラメーターをアカウントAのIDに置き換えて、OKをクリックします。その後、アカウントBのACKアプリケーションデータはアカウントAのARMSサービスに報告されます。
重要ack-onepilotコンポーネントのバージョンが3.0.14以降であることを確認してください。 ack-onepilotコンポーネントv3.0.14以降では、Alibaba Cloudアカウント間でデータを報告するためにAccessKeyペアを設定する必要があります。 ack-onepilotコンポーネントのリリースノートについては、ack-onepilotを参照してください。
アカウントAのRAMユーザーを使用してアプリケーションを管理します。
方法1:手順1で作成したRAMユーザーを使用します。
方法2:アカウントAの別のRAMユーザーを作成します。
アカウントAの別のRAMユーザーを作成します。その後、AliyunARMSFullAccessポリシーをRAMユーザーにアタッチして、RAMユーザーがARMSに対するフルパーミッションを持つようにすることができます。また、カスタムポリシーをRAMユーザーにアタッチして、アプリケーションに対するきめ細かい権限を付与することもできます。詳細については、アプリケーション監視:RAMユーザーへのカスタムポリシーのアタッチを参照してください。
説明上記のメソッドに加えて、アカウントBのRAMユーザーを使用してアカウントAのRAMロールを引き受けることにより、アプリケーションを管理できます。詳細については、(オプション)RAMロールを使用したアプリケーションの管理セクションを参照してください。
ECSアプリケーション
統合センターページまたはARMSコンソールで、アカウントAのライセンスキーを取得します。
重要各アカウントには一意のライセンスキーがあります。
ARMSエージェントのインストールパッケージをダウンロードします。次に、上記のライセンスキーを使用して、ECSインスタンスにデプロイされた各アプリケーションにARMSエージェントをインストールします。詳細については、ARMSエージェントの手動インストールを参照してください。
アカウントAのRAMユーザーを使用してアプリケーションを管理します。
アカウントAの別のRAMユーザーを作成します。その後、AliyunARMSFullAccessポリシーをRAMユーザーにアタッチして、RAMユーザーがARMSに対するフルパーミッションを持つようにすることができます。また、カスタムポリシーをRAMユーザーにアタッチして、アプリケーションに対するきめ細かい権限を付与することもできます。詳細については、アプリケーション監視:RAMユーザーへのカスタムポリシーのアタッチを参照してください。
説明上記のメソッドに加えて、アカウントBのRAMユーザーを使用してアカウントAのRAMロールを引き受けることにより、アプリケーションを管理できます。詳細については、(オプション)RAMロールを使用したアプリケーションの管理セクションを参照してください。
(オプション)RAMロールを使用したアプリケーションの管理
アカウントAのRAMユーザーにARMSを使用させたくない場合は、アカウントBのRAMユーザーにARMSの使用を承認できます。
手順1:アカウントBに権限を付与する
アカウントAを使用して、信頼エンティティがAlibaba CloudアカウントであるRAMロールを作成します。この例では、RAMロール
arms-admin
が作成されます。アカウントBを信頼エンティティとして設定します。詳細については、信頼されたAlibaba CloudアカウントのRAMロールの作成を参照してください。
AliyunARMSFullAccessポリシーを
arms-admin
にアタッチして、RAMユーザーがARMSに対するフルパーミッションを持つようにします。また、カスタムポリシーをRAMロールにアタッチして、アプリケーションに対するきめ細かい権限を付与することもできます。カスタムポリシーの作成方法については、アプリケーション監視:RAMユーザーへのカスタムポリシーのアタッチを参照してください。
RAMロールにポリシーをアタッチする方法については、RAMロールへの権限の付与を参照してください。
アカウントBのRAMユーザーを作成します。
詳細については、RAMユーザーの作成を参照してください。
重要RAMユーザーのユーザー名とパスワードを保存します。
アカウントBを使用して、AliyunSTSAssumeRoleAccessポリシーをRAMユーザーにアタッチします。その後、RAMユーザーはRAMロールを引き受けることができます。
詳細については、RAMユーザーへの権限の付与を参照してください。
手順2:アカウントBのRAMユーザーを使用してアプリケーションを管理する
アカウントBに属するRAMユーザーを使用して、RAMコンソールにログインします。
詳細については、RAMユーザーとしてAlibaba Cloud管理コンソールにログインするを参照してください。
アバターにポインターを移動し、IDの切り替えをクリックします。
手順1でアカウントAに作成したアカウントAのIDとRAMロールの名前を入力します。
詳細については、RAMロールの引き受けを参照してください。
ARMSコンソールにログインします。左側のナビゲーションペインで、 を選択します。[アプリケーション]ページで、アプリケーションを表示します。