Amazon ECS 로그를 CloudWatch로 전송 - Amazon Elastic Container Service

Amazon ECS 로그를 CloudWatch로 전송

CloudWatch Logs로 로그 정보를 전송하도록 태스크의 컨테이너를 구성할 수 있습니다. 태스크의 Fargate 시작 유형을 사용하는 경우, 컨테이너에서 로그를 볼 수 있습니다. EC2 시작 유형을 사용하고 있다면 한 곳의 편리한 위치에서 컨테이너의 다양한 로그를 볼 수 있으며 컨테이너 로그가 컨테이너 인스턴스에서 디스크 공간을 차지하지 못하도록 방지합니다.

참고

태스크의 컨테이너에서 기록되는 정보 유형은 대부분 ENTRYPOINT 명령에 따라 결정됩니다. 기본적으로 수집되는 로그는 컨테이너를 로컬에서 실행했을 때 일반적으로 대화식 터미널에 표시되는 명령 출력(STDOUTSTDERR I/O 스트림)을 나타냅니다. awslogs 로그 드라이버는 이러한 로그를 Docker에서 CloudWatch Logs로 전달하는 역할만 합니다. 다른 파일 데이터 또는 스트림을 수집할 수 있는 대체 방법을 포함해 Docker 로그가 처리되는 방식에 대한 자세한 정보는 Docker 설명서에서 컨테이너 또는 서비스 로그 보기 섹션을 참조하세요.

Amazon ECS 컨테이너 인스턴스에서 CloudWatch Logs로 시스템 로그를 보내려면 Amazon CloudWatch Logs 사용 설명서로그 파일 모니터링CloudWatch Logs 할당량을 참조하세요.

Fargate 시작 유형

작업에 Fargate 시작 유형을 사용하는 경우 작업 정의에 필요한 logConfiguration 파라미터를 추가하여 awslogs 로그 드라이버를 켜야 합니다. 자세한 내용은 Amazon ECS 태스크 정의 예제: 로그를 CloudWatch로 라우팅 단원을 참조하십시오.

Fargate의 Windows 컨테이너의 경우 태스크 정의 파라미터에 특수 문자(예: & \ < > ^ |)가 있는 경우 다음 옵션 중 하나를 수행합니다.

  • 전체 파라미터 문자열 주위에 큰따옴표가 포함된 이스케이프(\) 추가

    "awslogs-multiline-pattern": "\"^[|DEBUG|INFO|WARNING|ERROR\"",
  • 각 특수 문자 주위에 이스케이프(^) 문자 추가

    "awslogs-multiline-pattern": "^^[^|DEBUG^|INFO^|WARNING^|ERROR",

EC2 시작 유형

해당 태스크에 EC2 시작 유형을 사용하는 경우 awslogs 로그 드라이버를 설정하려면 Amazon ECS 컨테이너 인스턴스에 버전 1.9.0 이상의 컨테이너 에이전트가 필요합니다. 에이전트 버전을 확인하고 최신 버전으로 업데이트하는 방법에 대한 자세한 정보는 Amazon ECS 컨테이너 에이전트 업데이트 섹션을 참조하세요.

참고

Amazon ECS 최적화 AMI 또는 ecs-init 패키지의 최소 버전 1.9.0-1이 포함된 사용자 지정 AMI를 사용해야 합니다. 사용자 지정 AMI를 사용하는 경우 docker run 문 또는 환경 변수 파일에서 다음 환경 변수를 사용하여 에이전트를 시작할 때 Amazon EC2 인스턴스에서 awslogs 로깅 드라이버를 사용할 수 있도록 지정해야 합니다.

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

또한 Amazon ECS 컨테이너 인스턴스는 컨테이너 인스턴스를 시작할 때 사용하는 IAM 역할에 logs:CreateLogStreamlogs:PutLogEvents 권한도 요구합니다. Amazon ECS에서 awslogs 로그 드라이버를 사용 설정하기 전에 Amazon ECS 컨테이너 인스턴스 역할을 생성한 경우 이 권한을 추가해야 할 수 있습니다. ecsTaskExecutionRole은 태스크에 할당되고 올바른 권한이 포함되어 있을 때 사용됩니다. 작업 실행 역할에 대한 자세한 내용은 Amazon ECS 태스크 실행 IAM 역할 섹션을 참조하세요. 컨테이너 인스턴스가 컨테이너 인스턴스에 대해 관리형 IAM 정책을 사용하는 경우 컨테이너 인스턴스에 올바른 권한이 부여될 수 있습니다. 컨테이너 인스턴스의 관리형 IAM 정책에 대한 자세한 내용은 Amazon ECS 컨테이너 인스턴스 IAM 역할 섹션을 참조하세요.