

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# awslogs 로그 드라이버 사용
<a name="using_awslogs"></a>

기본적으로는 `awslogs` 로그 드라이버가 CloudWatch Logs로 로그 정보를 전송할 수 있도록 AWS Batch 합니다. 이 기능을 사용하면 사용자는 편리한 위치에서 자신의 컨테이너에서 다양한 로그를 볼 수 있으며, 컨테이너 로그가 컨테이너 인스턴스에서 디스크 공간을 차지하는 것이 방지됩니다. 이 주제는 작업 정의에서 `awslogs` 로그 드라이버의 구성을 도와줍니다.

**참고**  
 AWS Batch 콘솔에서 작업 정의를 생성할 때 **로깅 구성** 섹션에서 `awslogs` 로그 드라이버를 구성할 수 있습니다.

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

컨테이너 인스턴스에서 CloudWatch 로그로 시스템 로그를 전송하려면 [에서 CloudWatch Logs 사용 AWS Batch](using_cloudwatch_logs.md) 섹션을 참조하세요. CloudWatch Logs에 대한 자세한 정보는 *Amazon CloudWatch Logs 사용 설명서*의 [로그 파일 모니터링](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) 및 [CloudWatch Logs 할당량](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html)을 참조하세요.

## AWS Batch JobDefiniton 데이터 형식의 awslogs 로그 드라이버 옵션
<a name="create_awslogs_logdriver_options"></a>

`awslogs` 로그 드라이버는 AWS Batch 작업 정의에서 다음 옵션을 지원합니다. 자세한 내용은 Docker 문서의 [CloudWatch 로그 로깅 드라이버](https://docs.docker.com/config/containers/logging/awslogs/)를 참조하세요.

`awslogs-region`  
필수 여부: 아니요  
`awslogs` 로그 드라이버가 Docker 로그를 전송할 리전을 지정합니다. 기본적으로 사용되는 리전은 작업에 사용되는 리전과 동일합니다. 사용자는 여러 리전 작업의 모든 로그를 CloudWatch 로그의 단일 리전으로 전송할 수 있습니다. 이렇게 하면 한 위치에서 모든 작업을 볼 수 있습니다. 또는, 리전별로 구분하여 세분화할 수 있습니다. 그러나 이 옵션을 선택할 경우, 지정한 로그 그룹이 지정한 리전에 위치하는지 확인해야 하세요.

`awslogs-group`  
필수 항목 여부: 선택 사항  
`awslogs-group` 옵션을 사용하면 사용자는 `awslogs` 로그 드라이버가 로그 스트림을 전송할 로그 그룹을 지정할 수 있습니다. 지정되지 않은 경우 `aws/batch/job`이 사용됩니다.

`awslogs-stream-prefix`  
필수 항목 여부: 선택 사항  
`awslogs-stream-prefix` 옵션을 사용하면 로그 스트림을 컨테이너가 속한 AWS Batch 작업의 지정된 접두사 및 Amazon ECS 작업 ID와 연결할 수 있습니다. 이 옵션을 사용하여 접두사를 지정하는 경우 로그 스트림은 다음 형식을 취합니다.  

```
prefix-name/default/ecs-task-id
```

`awslogs-datetime-format`  
필수 여부: 아니요  
이 옵션은 Python `strftime` 형식의 여러 줄 시작 패턴을 정의합니다. 로그 메시지는 패턴과 일치하는 하나의 라인과 패턴과 일치하지 않는 나머지 라인으로 이루어져 있습니다. 따라서 일치하는 줄은 로그 메시지 간의 구분 기호입니다.  
이 형식을 사용하는 사용 사례의 한 예는 스택 덤프와 같은 출력을 구문 분석하는 것이며, 그렇지 않으면 여러 항목에 기록될 수 있습니다. 올바른 패턴을 통해 단일 항목으로 캡처할 수 있습니다.  
자세한 내용은 [awslogs-datetime-format](https://docs.docker.com/config/containers/logging/awslogs/#awslogs-datetime-format)을 참조하세요.  
`awslogs-datetime-format`과 `awslogs-multiline-pattern`이 모두 구성된 경우, 이 옵션은 항상 우선순위를 갖습니다.  
여러 줄 로깅은 모든 로그 메시지의 정규식 구문 분석 및 일치 태스크를 수행합니다. 이는 로깅 성능에 부정적인 영향을 줄 수 있습니다.

`awslogs-multiline-pattern`  
필수 여부: 아니요  
이 옵션은 정규식을 사용하여 여러 줄 시작 패턴을 정의합니다. 로그 메시지는 패턴과 일치하는 하나의 라인과 패턴과 일치하지 않는 나머지 라인으로 이루어져 있습니다. 따라서 일치하는 라인은 로그 메시지 간의 구분 기호입니다.  
자세한 내용은 Docker 설명서의 [awslogs-multiline-pattern](https://docs.docker.com/config/containers/logging/awslogs/#awslogs-multiline-pattern)을 참조하세요.  
이 옵션은 `awslogs-datetime-format`을 구성하는 경우에 무시됩니다.  
여러 줄 로깅은 모든 로그 메시지의 정규식 구문 분석 및 일치 태스크를 수행합니다. 이는 로깅 성능에 부정적인 영향을 줄 수 있습니다.

`awslogs-create-group`  
필수 여부: 아니요  
로그 그룹을 자동으로 생성할지를 지정합니다. 이 옵션이 지정되지 않은 경우 기본적으로 `false`로 설정됩니다.  
이 옵션은 권장되지 않습니다. 각 작업에서 로그 그룹을 생성하려고 시도하면 작업이 실패할 가능성이 높아지므로 CloudWatch [Logs](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html) CreateLoggroup API 작업을 사용하여 로그 그룹을 미리 생성하는 것이 좋습니다.
`awslogs-create-group`을 사용하기 전에 실행 역할에 대한 IAM 정책이 `logs:CreateLogGroup` 권한을 포함해야 합니다

## 작업 정의에서 로그 구성 지정
<a name="specify-log-config"></a>

기본적으로는 `awslogs` 로그 드라이버를 AWS Batch 활성화합니다. 이 섹션에서는 작업의 `awslogs` 로그 구성을 사용자 지정하는 방법을 설명합니다. 자세한 내용은 [단일 노드 작업 정의 생성](create-job-definition.md) 단원을 참조하십시오.

다음 로그 구성 JSON 스니펫에는 각 작업에 지정된 `logConfiguration` 개체가 있습니다. 하나는 `awslogs-wordpress`라는 로그 그룹에 로그를 보내는 WordPress 작업용이고 다른 하나는 `awslogs-mysql`이라는 로그 그룹에 로그를 보내는 MySQL 컨테이너용입니다. 두 컨테이너 모두 `awslogs-example` 로그 스트림 접두사를 사용합니다.

```
"logConfiguration": {
    "logDriver": "awslogs",
    "options": {
        "awslogs-group": "awslogs-wordpress",
        "awslogs-stream-prefix": "awslogs-example"
    }
}
```

```
"logConfiguration": {
    "logDriver": "awslogs",
    "options": {
        "awslogs-group": "awslogs-mysql",
        "awslogs-stream-prefix": "awslogs-example"
    }
}
```

 AWS Batch 콘솔에서 `wordpress` 작업 정의에 대한 로그 구성은 다음 이미지와 같이 지정됩니다.

![\[Log configuration interface showing awslogs driver with group and stream prefix options.\]](http://docs.aws.amazon.com/ko_kr/batch/latest/userguide/images/awslogs-console-config.png)


작업 정의 로그 구성에 `awslogs` 로그 드라이버로 태스크 정의를 등록하면 사용자는 CloudWatch 로그로 로그 전송을 시작할 수 있는 작업 정의를 가진 작업을 제출할 수 있습니다. 자세한 내용은 [자습서: 작업 제출](submit_job.md) 단원을 참조하십시오.