태스크 정의에서 AWS X-Ray 통합용 AWS Distro for OpenTelemetry 사이드카 지정하기
태스크 정의에서 AWS X-Ray 통합용 AWS Distro for OpenTelemetry 사이드카 지정하기
Amazon ECS 콘솔은 Use trace collection 옵션을 사용해 AWS Distro for OpenTelemetry(AWS ADOT) 사이드카 컨테이너 생성을 간소화해요. 자세한 내용은 "Creating an Amazon ECS task definition using the console"을 참고하세요. Amazon ECS 콘솔을 사용하지 않는다면, 태스크 정의에 AWS Distro for OpenTelemetry 사이드카 컨테이너를 직접 추가할 수 있습니다.
출처: 문서
본문
Amazon ECS 콘솔의 Use trace collection 옵션을 사용하면 AWS Distro for OpenTelemetry(ADOT) 사이드카 컨테이너 생성을 간소화할 수 있습니다. 콘솔을 사용하지 않는다면 태스크 정의에 직접 ADOT 사이드카 컨테이너를 추가하면 됩니다.
다음 태스크 정의 조각은 AWS X-Ray 통합을 위한 AWS Distro for OpenTelemetry 사이드카를 추가하는 컨테이너 정의를 보여줍니다.
{
"family": "otel-using-xray",
"taskRoleArn": "arn:aws:iam::111122223333:role/<AmazonECS_OpenTelemetryXrayRole>",
"executionRoleArn": "arn:aws:iam::111122223333:role/<ecsTaskExecutionRole>",
"containerDefinitions": [
{
"name": "<aws-otel-emitter>",
"image": "<application-image>",
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-create-group": "true",
"awslogs-group": "/ecs/aws-otel-emitter",
"awslogs-region": "<us-east-1>",
"awslogs-stream-prefix": "ecs"
}
},
"dependsOn": [
{
"containerName": "aws-otel-collector",
"condition": "START"
}
]
},
{
"name": "aws-otel-collector",
"image": "public.ecr.aws/aws-observability/aws-otel-collector:v0.30.0",
"essential": true,
"command": [
"--config=/etc/ecs/otel-instance-metrics-config.yaml"
],
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-create-group": "True",
"awslogs-group": "/ecs/ecs-aws-otel-sidecar-collector",
"awslogs-region": "<us-east-1>",
"awslogs-stream-prefix": "ecs"
}
}
}
],
"networkMode": "awsvpc",
"requiresCompatibilities": [
"FARGATE"
],
"cpu": "1024",
"memory": "3072"
}
구성 포인트를 정리하면 다음과 같습니다.
- 애플리케이션 컨테이너(
aws-otel-emitter)는dependsOn으로aws-otel-collector가START상태가 된 후 시작됩니다. aws-otel-collector컨테이너는 AWS Observability 퍼블릭 ECR의 ADOT 컬렉터 이미지를 사용하고, 구성 파일을 지정해 실행됩니다.- 태스크는
awsvpc네트워크 모드와FARGATE호환성을 사용합니다.
더 알아보기 (Learn more)
- Amazon ECS 태스크 정의 생성과 ADOT에 대한 자세한 내용은 AWS 공식 문서를 참고해 주세요.