내용으로 건너뛰기

Amazon ECS 컨테이너 로그가 CloudWatch Logs로 전송되지 않는 이유는 무엇입니까?

2분 분량
0

Amazon Elastic Container Service(Amazon ECS) 컨테이너 로그가 Amazon CloudWatch Logs에 제대로 표시되지 않습니다.

해결 방법

awslogs 로그 드라이버 수정

awslogs 로그 드라이버logConfiguration 파라미터를 작업 정의에 추가합니다. 여러 컨테이너가 있는 Amazon ECS 작업의 경우 각 컨테이너에 대해 logConfiguration 파라미터를 구성합니다.

Amazon Elastic Compute Cloud(Amazon EC2) 시작 유형이 있는 경우 Amazon ECS 컨테이너 인스턴스를 버전 1.9.0 이상으로 업데이트하십시오.

컨테이너 인스턴스가 Amazon ECS에 최적화된 Amazon Machine Image(AMI)를 사용하지 않는 경우 다음 환경 변수를 실행하여 컨테이너 에이전트를 시작합니다.

ECS_AVAILABLE_LOGGING_DRIVERS='["json-file","awslogs"]'

참고: 컨테이너 인스턴스에서 awslogs 로그 드라이버를 지정합니다.

자세한 내용은 Amazon ECS 컨테이너 에이전트 설치를 참조하십시오.

필요한 IAM 역할 권한 추가

AWS Fargate 시작 유형

AmazonECSTaskExecutionRolePolicy 정책을 Amazon ECS 작업 실행 AWS Identity and Access Management(IAM) 역할에 연결합니다. 정책에는 필요한 logs:CreateLogStreamlogs:PutLogEvents 권한이 포함됩니다. 또는 사용자 지정 IAM 정책을 생성하고 필요한 권한을 포함하십시오.

작업 실행 IAM 역할이 없는 Amazon EC2 시작 유형 작업

AmazonEC2ContainerServiceforEC2Role 정책을 컨테이너 인스턴스 IAM 역할에 연결합니다. 정책에는 필요한 logs:CreateLogStreamlogs:PutLogEvents 권한이 포함됩니다. 또는 사용자 지정 IAM 정책을 생성하고 필요한 권한을 포함하십시오.

작업 실행 IAM 역할이 있는 Amazon EC2 시작 유형 작업

컨테이너 에이전트 구성의 경우 ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE 파라미터를 true로 업데이트합니다.

참고: 컨테이너 에이전트 파라미터의 기본값은 버전 1.16.0-1 이상의 Amazon ECS 최적화 AMI에서는 true이고 Windows에서는 false입니다.

네트워크 구성 확인

작업이 인터넷 게이트웨이 없이 Amazon Virtual Private Cloud(Amazon VPC)에서 awslogs 로그 드라이버를 사용하는 경우 CloudWatch Logs용 인터페이스 VPC 엔드포인트를 생성하십시오. com.amazonaws.Region.logs를 서비스로 선택합니다.

컨테이너 로그 수준 구성 확인

awslogs 로그 드라이버는 Docker에서 CloudWatch Logs로 STDOUTSTDERR I/O 스트림을 전달합니다.

로그를 구성하려면 STDOUTSTDERR I/O 스트림으로 로그를 전송하도록 애플리케이션을 업데이트하십시오. 그런 다음, 컨테이너 빌드 중에 환경 변수 또는 구성 파일을 통해 애플리케이션의 로그 수준을 구성합니다.

관련 정보

Amazon ECS용 모니터링 도구

Amazon ECS 또는 Amazon EKS의 컨테이너 로그 누락 문제를 해결하려면 어떻게 해야 합니까?

Amazon ECS 로그를 CloudWatch로 전송

AWS 공식업데이트됨 6달 전