AWS Distro for OpenTelemetry を使用した Amazon ECS での Container Insights の設定 - Amazon CloudWatch

AWS Distro for OpenTelemetry を使用した Amazon ECS での Container Insights の設定

このセクションは、AWS Distro for OpenTelemetry を使用して Amazon ECS クラスターで CloudWatch Container Insights を設定する場合に使用します。AWS Distro for Open Telemetry の詳細については、AWS Distro for OpenTelemetry を参照してください。

以下の手順では、クラスターが Amazon ECS を実行するように既に設定されていることを前提としています。Amazon ECS で AWS Distro for Open Telemetry を使用し、この目的のために Amazon ECS クラスターを設定する方法の詳細については、Amazon Elastic Container Service で AWS Distro for OpenTelemetry Collector を設定するを参照してください。

ステップ 1: タスクロールを作成する

最初のステップでは、AWS OpenTelemetry Collector が使用するクラスター内にタスクロールを作成します。

AWS Distro for OpenTelemetry のタスクロールを作成するには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで、[Policies (ポリシー)] を選択し、[Create Policy (ポリシーの作成)] を選択します。

  3. [JSON] タブを選択し、以下のポリシーをコピーします。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:DescribeLogGroups", "ssm:GetParameters" ], "Resource": "*" } ] }
  4. [Review policy (ポリシーの確認)] を選択します。

  5. 名前に AWSDistroOpenTelemetryPolicy と入力し、[Create policy] (ポリシーの作成) を選択します。

  6. 左側のナビゲーションペインから、[Roles] (ロール) を選択してから、[Create role] (ロールの作成) をクリックします。

  7. サービスのリストで、[Elastic Container Service] を選択します。

  8. ページの下部にある [Elastic Container Service Task] を選択し、[Next: Permissions] (次へ: アクセス許可) を選択します。

  9. ポリシーのリストで AWSDistroOpenTelemetryPolicy を検索します。

  10. AWSDistroOpenTelemetryPolicy の横にあるチェックボックスをオンにします。

  11. [Next: Tags] (次へ: タグ)、[Next: Review] (次へ: 確認) の順に選択します。

  12. [Role name] (ロール名) に AWSOpenTelemetryTaskRole と入力し、[Create role] (ロールの作成) を選択します。

ステップ 2: タスク実行ロールを作成する

次のステップでは、AWS OpenTelemetry Collector のタスク実行ロールを作成します。

AWS Distro for OpenTelemetry のタスク実行ロールを作成するには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. 左側のナビゲーションペインから、[Roles] (ロール) を選択してから、[Create role] (ロールの作成) をクリックします。

  3. サービスのリストで、[Elastic Container Service] を選択します。

  4. ページの下部にある [Elastic Container Service Task] を選択し、[Next: Permissions] (次へ: アクセス許可) を選択します。

  5. ポリシーのリストで AmazonECSTaskExecutionRolePolicy を検索し、AmazonECSTaskExecutionRolePolicy の横にあるチェックボックスをオンにします。

  6. ポリシーのリストで CloudWatchLogsFullAccess を検索し、CloudWatchLogsFullAccess の横にあるチェックボックスをオンにします。

  7. ポリシーのリストで AmazonSSMReadOnlyAccess を検索し、AmazonSSMReadOnlyAccess の横にあるチェックボックスをオンにします。

  8. [Next: Tags] (次へ: タグ)、[Next: Review] (次へ: 確認) の順に選択します。

  9. [Role name] (ロール名) に AWSOpenTelemetryTaskExecutionRole と入力し、[Create role] (ロールの作成) を選択します。

ステップ 3: タスク定義を作成する

次のステップでは、タスク定義を作成します。

AWS Distro for OpenTelemetry のタスク定義を作成するには
  1. コンソール (https://console.aws.amazon.com/ecs/v2) を開きます。

  2. ナビゲーションペインで、[Task definitions] (タスク定義) を選択します。

  3. [Create new task definition] (新しいタスク定義の作成)、[Create new task definition] (新しいタスク定義の作成) の順に選択します。

  4. [Task definition family] (タスク定義ファミリー) を使用する場合、タスク定義ファミリーには、タスク定義に一意の名前を指定します。

  5. コンテナを設定し、[次へ] を選択します。

  6. [メトリクスとログ記録] で、[メトリクス収集の使用] を選択します。

  7. [Next (次へ)] を選択します。

  8. [Create] を選択します。

AWS OpenTelemetry Collector を Amazon ECS で使用する方法の詳細については、Amazon Elastic Container Service での AWS Distro for OpenTelemetry Collector の設定を参照してください。

ステップ 4: タスクを実行する

最後のステップでは、作成したタスクを実行します。

AWS Distro for OpenTelemetry のタスクを実行するには
  1. コンソール (https://console.aws.amazon.com/ecs/v2) を開きます。

  2. 左のナビゲーションペインで、[Task Definitions] (タスク定義) を選択し、作成したタスクを選択します。

  3. [アクション][デプロイ][タスクの実行] を選択します。

  4. [Deploy] (デプロイ)、[Run task] (タスク実行) の順に選択します。

  5. [コンピューティングオプション] セクションの [既存のクラスター] から、クラスターを選択します。

  6. [Create] (作成) を選択します。

  7. 次に、CloudWatch コンソールで新しいメトリクスを確認できます。

  8. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  9. 左のナビゲーションペインで [Metrics] (メトリクス) を選択します。

    ECS/ContainerInsights 名前空間が表示されます。その名前空間を選択すると、8 つのメトリクスが表示されます。