このトピックでは、サービスプロバイダーとして Elastic Compute Service(ECS)インスタンスにデプロイされたフルマネージドサービスのアプリケーションログ収集を構成する方法と、顧客としてアプリケーションログを表示する方法について説明します。
仕組み
ECS ベースのデプロイシナリオでは、Compute Nest は、Logtail 構成のカスタム識別子に基づいて、サービスで作成されたすべてのサービスインスタンスのログを収集します。これを実現するために、アプリケーションログを保存するためにサービスプロバイダーによって指定された Simple Log Service(SLS)プロジェクト 内の Logstore 用に Logtail 構成が作成されます。カスタム識別子ベースの マシングループ が Logtail 構成用に構成されます。次に、サービスプロバイダーのアカウント内のすべての ECS インスタンスについて、Logtail が ECS インスタンスにインストールされ、同じカスタム識別子が ECS インスタンスに構成されている場合、ECS インスタンスの指定されたパスに保存されているアプリケーションログは Logstore に自動的に収集されます。
Compute Nest は、前述のプロセスを簡素化するための Resource Orchestration Service(ROS)共有モジュールを提供します。次の図は、ログ収集プロセスを示しています。
サービスプロバイダーとして、アプリケーションログ管理機能が有効になっているフルマネージドサービスを作成する
概要
ECS ベースのフルマネージドサービスを準備します。
プロジェクト、Logstore、Logtail 構成など、必要な SLS リソースを準備します。Logtail 構成は、デプロイシナリオに基づいてオプションです。
フルマネージドサービスで SLS へのアプリケーションログの収集の構成を変更します。
オプション。顧客にサービスインスタンスのアプリケーションログを表示する権限を付与します。
手順
このセクションでは、ECS ベースのサービスのアプリケーションログ収集を構成するための完全な手順について説明します。
ステップ 1:フルマネージドサービスを準備する
ECS ベースのデプロイシナリオでは、最初にフルマネージドサービスを作成する必要があります。詳細については、「フルマネージドサービスを作成する」をご参照ください。
ステップ 2:SLS リソースを準備する
サービスでサポートされている各リージョンに SLS プロジェクト、Logstore、および Logtail 構成を作成する必要があります。このプロセスを簡素化するために、Compute Nest は SLS リソース準備サービス を提供し、SLS プロジェクトと Logstore の初期化を支援します。 たとえば、サービスが中国(北京)リージョンと中国(上海)リージョンにデプロイされており、収集されるログファイルの名前が slow*.log および error*.log 形式であるとします。SLS リソース準備サービスでサービスインスタンスを作成して、SLS リソースを迅速に準備できます。次の手順を実行します。
[テンプレートを選択] パラメーターで ecs を選択し、[リージョン] パラメーターで中国(上海)などのリージョンを選択します。

プロジェクト名と 1 つ以上の Logstore 名を入力します。

収集するログファイルの名前とパスを入力します。
説明前の手順で JSON 配列に複数の
Logstore名を入力した場合は、この手順で JSON 配列にログファイル名とパスを入力する必要があります。ログファイル名とパスは、指定された順序で Logstore 名にマッピングされます。
SLS リソースが作成される Compute Nest サービスの名前を入力します。

ステップ 3:フルマネージドサービスを変更する
Compute Nest コンソールでステップ 1 で作成したフルマネージドサービスを見つけ、[バージョンの変更] をクリックします。
[サービス O&M(オプション)] モジュールの [ログ] セクションで、[アプリケーションログ] をオンにします。
Logstore 名、ファイルパス、およびファイル名を構成します。
重要この手順で指定する Logstore 名は、ステップ 2 で指定したものと同じである必要があります。
パラメーター
説明
リージョン
アプリケーションログ収集機能をサポートするリージョン。
プロジェクト
リージョン内の SLS プロジェクト。
Logstore 名
アプリケーションログが保存される Logstore の名前。
パス
アプリケーションログが収集されるパス。
指定されたフォルダ内の指定されたファイル名に一致するすべてのファイルが監視されます。これには、すべてのレベルのフォルダ内のファイルが含まれます。
ファイル名
収集されるログファイルの名前。
完全なファイル名、ワイルドカードを含むファイル名パターン、または環境変数を入力できます。
アプリケーションログ収集を有効にするリージョンを追加します。
説明[アプリケーションログ] をオンにすると、サービスがデプロイされているリージョンは、アプリケーションログ収集を有効にするリージョンと同期されます。
Logstore を構成します。
ROS テンプレートを変更します。ログ収集用の ROS 共有モジュールの次のコードをコピーして ROS テンプレートに追加します。
ComputeNestAppLogShareModule: Version: default Type: MODULE::ACS::ComputeNest::EcsSlsConfig Properties: EcsInstanceIds: Fn::GetAtt: - EcsInstanceGroup - InstanceIds ServiceId: '{{ serviceId }}' UserId: '{{ aliUid }}' ServiceInstanceId: '{{ serviceInstanceId }}'
更新を保存OK をクリックします。表示されるメッセージで、 をクリックします。
ステップ 4:(オプション)顧客にアプリケーションログを表示する権限を付与する
[サービス O&M(オプション)] モジュールの [O&M] セクションで、[顧客に権限を付与] を選択し、ドロップダウンリストから [読み取り専用権限] または [すべての権限] を選択します。

顧客としてサービスインスタンスを作成し、アプリケーションログを表示する
サービスインスタンスを作成します。詳細については、「フルマネージドサービスインスタンスを作成する」をご参照ください。
アプリケーションログを表示します。
サービスインスタンスが作成された後、次の手順を実行します。
サービスインスタンスの詳細ページに移動します。[ログ] タブで、[アプリケーションログ] をクリックします。
[アプリケーションログ] タブで、サービスインスタンスのアプリケーションログを表示します。
ドロップダウンリストから Logstore を選択して、Logstore 内のログを表示します。[Simple Log Service で表示] をクリックして、SLS コンソールでログを表示することもできます。