このトピックでは、Container Service for Kubernetes (ACK) から Alibaba Cloud アカウント間でコンテナーログを収集する方法について説明します。
背景情報
たとえば、ある e コマース企業が、中国 (杭州) リージョンにある ACK クラスターに 2 つの e コマースアプリケーションをデプロイしているとします。この企業は、中国 (杭州) リージョンにある 2 つの Simple Log Service プロジェクトを使用してログを管理しています。
アプリケーション A は、Alibaba Cloud アカウント A (12****456) に属する ACK クラスターにデプロイされており、このアカウントで Simple Log Service が有効化され、ログが管理されています。
アプリケーション B は、Alibaba Cloud アカウント B (17****397) に属する ACK クラスターにデプロイされており、このアカウントで Simple Log Service が有効化され、ログが管理されています。
この企業は、Alibaba Cloud アカウント A (12****456) で有効化されている Simple Log Service を使用して、2 つのアプリケーションのログを収集し、同じプロジェクトの 2 つの Logstore に保存したいと考えています。この場合、アプリケーション B のログを収集・保存するために、Logtail 構成、マシングループ、および Logstore を作成する必要があります。アプリケーション A 用に設定されている Logtail 構成、マシングループ、および Logstore は変更されません。
ステップ 1:ユーザー ID としての Alibaba Cloud アカウント ID の設定
LoongCollector
ユーザー ID を Alibaba Cloud アカウント A に設定します。
Alibaba Cloud アカウント B で ACK コンソールにログインします。
[クラスター] ページで、ターゲットクラスターをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
[Helm] ページで、[kube-system] 名前空間を選択し、loongcollector アプリケーションを見つけて、[操作] 列の [更新] をクリックします。
[リリースの更新] ダイアログボックスの [ターゲット Helm チャート値の設定] セクションで:
次の図の ① に示すように、[aliUid] を Alibaba Cloud アカウント A の ID に設定します。複数のアカウント ID はカンマ (,) で区切ります。例:
17****397,12****456。baseMachineGroupName の値を記録します。この値は、マシングループを作成する際のカスタム ID として使用します。例:
k8s-group-cc47****54428。
確認のチェックボックスを選択し、[OK] をクリックします。
左側のナビゲーションウィンドウで、 を選択します。kube-system 名前空間で、loongcollector-ds をクリックして詳細ページに移動します。各 Pod のステータスが Running であり、作成時刻が構成の更新後であることを確認します。これにより、更新が有効になったことを確認できます。
Logtail
ユーザー ID を Alibaba Cloud アカウント A に設定します。
Alibaba Cloud アカウント B で ACK コンソールにログインします。
[クラスター] ページで、ターゲットクラスターをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
[名前空間] パラメーターを [kube-system] に設定します。ConfigMap のリストで [alibaba-log-configuration] を見つけ、[操作] 列の [編集] をクリックします。
[編集] パネルで、次の構成を設定し、[OK] をクリックします。
Alibaba Cloud アカウント A の ID を [log-ali-uid] ファイルに追加し、[log-machine-group] パラメーターの値 (例:k8s-group-cc47****54428) を取得します。マシングループを作成する際に、この値を [カスタム ID] パラメーターに指定します。
複数のアカウント ID はカンマ (,) で区切ります。例:
17****397,12****456。
設定を有効にするために、logtail-ds を再起動します。
[logtail-ds] の詳細ページで、各コンテナー Pod が [実行中] 状態であるか、また各 Pod の作成時刻が設定を更新した時刻と同じであるかを確認します。

ステップ 2:マシングループの作成
Alibaba Cloud アカウント A で Log Service コンソールにログインします。
[プロジェクト] セクションで、管理するプロジェクトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
[マシングループ] タブで、 を選択します。
次の図に示すように、[マシングループの作成] パネルでパラメーターを設定し、[OK] をクリックします。
[カスタム ID] フィールドに、「ステップ 1:ユーザー ID としての Alibaba Cloud アカウント ID の設定」で取得したマシングループ ID (例:k8s-group-cc47****54428) を入力します。その他のパラメーターについては、「カスタム ID ベースのマシングループの作成」をご参照ください。

マシングループ内の各サーバーのハートビートステータスが OK であるかを確認します。
マシングループのリストで、作成したマシングループをクリックします。
[マシングループ設定] ページで、各 Elastic Compute Service (ECS) インスタンスのステータスを表示します。
[ハートビート] ステータスが [OK] の場合、ECS インスタンスは Simple Log Service に接続されています。ステータスが [FAIL] の場合は、「Logtail マシングループにハートビートがない場合の対処方法」をご参照ください。

ステップ 3:Logtail 構成の作成
Alibaba Cloud アカウント A で Log Service コンソールにログインします。
[データインポート] セクションで、[Kubernetes - Object] をクリックします。
プロジェクトと Logstore を選択し、[次へ] をクリックします。
[既存のマシングループを使用] をクリックします。
手順 2: マシングループを作成する で作成したマシングループを選択し、[ソースサーバーグループ] セクションから [適用済みサーバーグループ] に移動して、[次へ] をクリックします。
Logtail 構成のパラメーターを設定し、[次へ] をクリックします。
パラメーターの詳細については、「Simple Log Service コンソールを使用した DaemonSet モードでのコンテナーテキストログの収集」をご参照ください。
重要デフォルトでは、1 つのファイルに一致できる Logtail 収集設定は 1 つだけです。アカウント B の収集設定がまだアクティブであるため、アカウント A の新しい設定は有効になりません。次のいずれかの方法を使用して、アカウント A の設定を有効にできます。
アカウント B のログ収集を停止します。これを行うには、アカウント B で Simple Log Service コンソールにログインし、宛先マシングループから Logtail 収集設定を削除します。詳細については、「指定したマシングループへの Logtail 構成の適用」をご参照ください。
アカウント A に強制収集設定を追加します。詳細については、「1 つのファイルから複数回ログを収集する方法」をご参照ください。
Logtail 収集設定を作成した後、ログの重複収集を防ぐために、Alibaba Cloud アカウント B の元の設定を削除します。詳細については、「Logtail 構成の削除」をご参照ください。
データをプレビューし、インデックスを設定してから、[次へ] をクリックします。
デフォルトでは、Simple Log Service はフルテキストインデックス作成を有効にします。手動モードまたは自動モードで収集されたログに基づいて、フィールドインデックスを設定します。詳細については、「インデックスの作成」をご参照ください。
関連操作
Alibaba Cloud アカウント B から現在の Logstore に履歴データを移行する場合は、元の Logstore でデータ変換ジョブを作成し、現在の Logstore にデータを複製します。詳細については、「Logstore からのデータの複製」をご参照ください。
Alibaba Cloud アカウント間でデータを変換するデータ変換ジョブを作成する場合、カスタムロールを使用してジョブに必要な権限を付与する必要があります。
最初の [ロール ARN] は、ソース Logstore からデータを読み取るために必要な権限をカスタムロールまたは AccessKey ペアに付与するために使用されます。RAM ロールに必要な権限を付与する方法については、「ソース Logstore への読み取り専用アクセス権を RAM ロールに付与」をご参照ください。
2 番目の [ロール ARN] は、変換結果を宛先 Logstore に書き込むために必要な権限をカスタムロールまたは AccessKey ペアに付与するために使用されます。RAM ロールに必要な権限を付与する方法については、「Alibaba Cloud アカウントをまたいで宛先 Logstore にデータを書き込む権限を RAM ロールに付与」をご参照ください。
> [マシングループの作成]