도커 빌드 후 ECR에 업로드한다.
작업 정의를 생성한다.
JSON을 복사 후 수정한다.
log_router
컨테이너의 image, firelensConfiguration
을 수정한다.
image
firelensConfiguration
"type": "fluentbit",
"options": {
"config-file-type": "file",
"config-file-value": "/extra.conf"
}
{
"taskDefinitionArn": "arn:aws:ecs:ap-northeast-2:511256179815:task-definition/test-td:1",
"containerDefinitions": [
{
"name": "app",
"image": "511256179815.dkr.ecr.ap-northeast-2.amazonaws.com/test-ecr:latest",
"cpu": 0,
"portMappings": [
{
"name": "app-8080-tcp",
"containerPort": 8080,
"hostPort": 8080,
"protocol": "tcp",
"appProtocol": "http"
}
],
"essential": true,
"environment": [],
"environmentFiles": [],
"mountPoints": [],
"volumesFrom": [],
"ulimits": [],
"logConfiguration": {
"logDriver": "awsfirelens",
"options": {
"Name": "kinesis_streams",
"region": "ap-northeast-2",
"stream": "test"
},
"secretOptions": []
},
"healthCheck": {
"command": [
"CMD-SHELL",
"curl -f <http://localhost:8080/> || exit 1"
],
"interval": 30,
"timeout": 5,
"retries": 3
}
},
{
"name": "log_router",
"image": "public.ecr.aws/aws-observability/aws-for-fluent-bit:stable"
"cpu": 0,
"memoryReservation": 50,
"portMappings": [],
"essential": true,
"environment": [],
"mountPoints": [],
"volumesFrom": [],
"user": "0",
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-create-group": "true",
"awslogs-group": "/ecs/ecs-aws-firelens-sidecar-container",
"awslogs-region": "ap-northeast-2",
"awslogs-stream-prefix": "firelens"
}
},
"firelensConfiguration": {
"type": "fluentbit",
}
}
],
"family": "test-td",
"taskRoleArn": "arn:aws:iam::511256179815:role/ecsTaskExecutionRole",
"executionRoleArn": "arn:aws:iam::511256179815:role/ecsTaskExecutionRole",
"networkMode": "awsvpc",
"revision": 1,
"volumes": [],
"status": "ACTIVE",
"requiresAttributes": [
{
"name": "ecs.capability.execution-role-awslogs"
},
{
"name": "com.amazonaws.ecs.capability.ecr-auth"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.21"
},
{
"name": "com.amazonaws.ecs.capability.logging-driver.awsfirelens"
},
{
"name": "com.amazonaws.ecs.capability.task-iam-role"
},
{
"name": "ecs.capability.container-health-check"
},
{
"name": "ecs.capability.execution-role-ecr-pull"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.18"
},
{
"name": "ecs.capability.task-eni"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.29"
},
{
"name": "com.amazonaws.ecs.capability.logging-driver.awslogs"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.24"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.19"
},
{
"name": "ecs.capability.firelens.fluentbit"
}
],
"placementConstraints": [],
"compatibilities": [
"EC2",
"FARGATE"
],
"requiresCompatibilities": [
"FARGATE"
],
"cpu": "1024",
"memory": "3072",
"runtimePlatform": {
"cpuArchitecture": "X86_64",
"operatingSystemFamily": "LINUX"
},
"registeredAt": "2023-10-02T05:34:38.515Z",
"registeredBy": "arn:aws:iam::511256179815:root",
"tags": []
}