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 のタスクロールを作成するには
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで、[Policies (ポリシー)] を選択し、[Create Policy (ポリシーの作成)] を選択します。
-
[JSON] タブを選択し、以下のポリシーをコピーします。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:DescribeLogGroups", "ssm:GetParameters" ], "Resource": "*" } ] }
-
[Review policy (ポリシーの確認)] を選択します。
-
名前に
AWSDistroOpenTelemetryPolicy
と入力し、[Create policy] (ポリシーの作成) を選択します。 -
左側のナビゲーションペインから、[Roles] (ロール) を選択してから、[Create role] (ロールの作成) をクリックします。
-
サービスのリストで、[Elastic Container Service] を選択します。
-
ページの下部にある [Elastic Container Service Task] を選択し、[Next: Permissions] (次へ: アクセス許可) を選択します。
-
ポリシーのリストで AWSDistroOpenTelemetryPolicy を検索します。
-
AWSDistroOpenTelemetryPolicy の横にあるチェックボックスをオンにします。
-
[Next: Tags] (次へ: タグ)、[Next: Review] (次へ: 確認) の順に選択します。
-
[Role name] (ロール名) に
AWSOpenTelemetryTaskRole
と入力し、[Create role] (ロールの作成) を選択します。
ステップ 2: タスク実行ロールを作成する
次のステップでは、AWS OpenTelemetry Collector のタスク実行ロールを作成します。
AWS Distro for OpenTelemetry のタスク実行ロールを作成するには
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
左側のナビゲーションペインから、[Roles] (ロール) を選択してから、[Create role] (ロールの作成) をクリックします。
-
サービスのリストで、[Elastic Container Service] を選択します。
-
ページの下部にある [Elastic Container Service Task] を選択し、[Next: Permissions] (次へ: アクセス許可) を選択します。
-
ポリシーのリストで AmazonECSTaskExecutionRolePolicy を検索し、AmazonECSTaskExecutionRolePolicy の横にあるチェックボックスをオンにします。
-
ポリシーのリストで CloudWatchLogsFullAccess を検索し、CloudWatchLogsFullAccess の横にあるチェックボックスをオンにします。
-
ポリシーのリストで AmazonSSMReadOnlyAccess を検索し、AmazonSSMReadOnlyAccess の横にあるチェックボックスをオンにします。
-
[Next: Tags] (次へ: タグ)、[Next: Review] (次へ: 確認) の順に選択します。
-
[Role name] (ロール名) に
AWSOpenTelemetryTaskExecutionRole
と入力し、[Create role] (ロールの作成) を選択します。
ステップ 3: タスク定義を作成する
次のステップでは、タスク定義を作成します。
AWS Distro for OpenTelemetry のタスク定義を作成するには
コンソール (https://console.aws.amazon.com/ecs/v2
) を開きます。 -
ナビゲーションペインで、[Task definitions] (タスク定義) を選択します。
-
[Create new task definition] (新しいタスク定義の作成)、[Create new task definition] (新しいタスク定義の作成) の順に選択します。
-
[Task definition family] (タスク定義ファミリー) を使用する場合、タスク定義ファミリーには、タスク定義に一意の名前を指定します。
-
コンテナを設定し、[次へ] を選択します。
-
[メトリクスとログ記録] で、[メトリクス収集の使用] を選択します。
-
[Next (次へ)] を選択します。
-
[Create] を選択します。
AWS OpenTelemetry Collector を Amazon ECS で使用する方法の詳細については、Amazon Elastic Container Service での AWS Distro for OpenTelemetry Collector の設定
ステップ 4: タスクを実行する
最後のステップでは、作成したタスクを実行します。
AWS Distro for OpenTelemetry のタスクを実行するには
コンソール (https://console.aws.amazon.com/ecs/v2
) を開きます。 -
左のナビゲーションペインで、[Task Definitions] (タスク定義) を選択し、作成したタスクを選択します。
-
[アクション]、[デプロイ]、[タスクの実行] を選択します。
-
[Deploy] (デプロイ)、[Run task] (タスク実行) の順に選択します。
-
[コンピューティングオプション] セクションの [既存のクラスター] から、クラスターを選択します。
-
[Create] (作成) を選択します。
-
次に、CloudWatch コンソールで新しいメトリクスを確認できます。
CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/
) を開きます。 -
左のナビゲーションペインで [Metrics] (メトリクス) を選択します。
ECS/ContainerInsights 名前空間が表示されます。その名前空間を選択すると、8 つのメトリクスが表示されます。