

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

# Amazon CloudWatch Logs에서 Elastic Beanstalk 사용
CloudWatch Logs

이 주제에서는 Amazon CloudWatch Logs 서비스가 Elastic Beanstalk에 제공할 수 있는 모니터링 기능을 설명합니다. 또한 구성 설정을 안내하고 각 Elastic Beanstalk 플랫폼의 로그 위치를 나열합니다.

CloudWatch Logs를 구현하면 다음과 같은 모니터링 활동을 수행할 수 있습니다.
+ 사용자 환경의 Amazon EC2 인스턴스에서 Elastic Beanstalk 애플리케이션, 시스템 및 사용자 지정 로그 파일을 모니터링하고 아카이브할 수 있습니다.
+ 지표 필터로 추출된 특정 로그 스트림 이벤트에 적절히 대응하도록 경보를 구성할 수 있습니다.

사용자 환경의 각 Amazon EC2 인스턴스에 설치된 CloudWatch Logs 에이전트는 사용자가 구성한 로그 그룹별로 측정치 데이터 요소를 CloudWatch 서비스에 게시합니다. 각 로그 그룹은 고유한 필터 패턴을 적용하여 데이터 포인트로 CloudWatch에전송할 로그 스트림 이벤트를 결정합니다. 동일한 로그 그룹에 속한 로그 스트림은 동일한 보존 기간, 모니터링 및 액세스 제어 설정을 공유합니다. [CloudWatch Logs로 인스턴스 로그 스트리밍](#AWSHowTo.cloudwatchlogs.streaming)에서 설명한 것과 같이 CloudWatch 서비스를 통해 Elastic Beanstalk를 구성하여 로그가 자동 스트리밍하도록 할 수 있습니다. 용어 및 개념을 비롯한 CloudWatch Logs 관련 자세한 내용은 [Amazon CloudWatch Logs 사용 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html)를 참조하세요.

인스턴스 로그 외에도, 환경의 [확장 상태](health-enhanced.md)를 활성화하면 CloudWatch Logs로 상태 정보를 스트리밍하는 환경을 구성할 수 있습니다. [Elastic Beanstalk 환경 상태 정보를 Amazon CloudWatch Logs로 스트리밍](AWSHowTo.cloudwatchlogs.envhealth.md)을(를) 참조하세요.

**Topics**
+ [

## CloudWatch Logs로 인스턴스 로그 스트림을 하기 위한 선행 조건
](#AWSHowTo.cloudwatchlogs.prereqs)
+ [

## Elastic Beanstalk로 CloudWatch Logs를 설정하는 방법
](#AWSHowTo.cloudwatchlogs.loggroups)
+ [

## CloudWatch Logs로 인스턴스 로그 스트리밍
](#AWSHowTo.cloudwatchlogs.streaming)
+ [

## CloudWatch Logs 통합 문제 해결
](#AWSHowTo.cloudwatchlogs.troubleshoot)
+ [

# Elastic Beanstalk 환경 상태 정보를 Amazon CloudWatch Logs로 스트리밍
](AWSHowTo.cloudwatchlogs.envhealth.md)

## CloudWatch Logs로 인스턴스 로그 스트림을 하기 위한 선행 조건


해당 환경의 Amazon EC2 인스턴스 로그를 CloudWatch Logs로 스트리밍하려면 다음 조건을 갖춰야 합니다.
+ *플랫폼* - 이 기능은 [본 릴리스](https://aws.amazon.com/releasenotes/6677534638371416) 이후 버전의 플랫폼에서만 사용할 수 있기 때문에 이전 플랫폼 버전을 사용하고 있는 경우 최신 플랫폼 버전으로 환경을 업데이트해야 합니다.
+ [Elastic Beanstalk 인스턴스 프로파일](concepts-roles-instance.md)에 *AWSElasticBeanstalkWebTier* 또는 *AWSElasticBeanstalkWorkerTier* Elastic Beanstalk 관리형 정책이 없는 경우 프로파일에 다음을 추가하여 이 기능을 활성화해야 합니다.

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:PutLogEvents",
        "logs:CreateLogStream"
      ],
      "Resource": [
      "*"
      ]
    }
    ]
  }
  ```

------

## Elastic Beanstalk로 CloudWatch Logs를 설정하는 방법


Elastic Beanstalk는 생성하는 각 인스턴스의 기본 구성 설정으로 CloudWatch Logs 에이전트를 설치합니다. [CloudWatch Logs 에이전트 참조](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html)에서 자세히 알아보세요.

CloudWatch Logs로의 인스턴스 로그 스트리밍을 활성화하면 Elastic Beanstalk가 해당 환경 인스턴스의 로그 파일을 CloudWatch Logs로 전송합니다. 플랫폼마다 상이한 로그를 스트리밍합니다. 다음 표에는 플랫폼별 로그가 나열되어 있습니다.


****  

|  플랫폼 / 플랫폼 브랜치  |  로그  | 
| --- | --- | 
|  도커 / 플랫폼 브랜치: 64비트 Amazon Linux 2에서 실행되는 도커  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Docker / 플랫폼 브랜치: 64비트 Amazon Linux 2에서 실행되는 ECS  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Go Linux의 .NET Core Java / 플랫폼 브랜치: 64비트 Amazon Linux 2에서 실행되는 Corretto  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Node.js Python  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Tomcat PHP  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Windows Server의 .NET  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Ruby  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 

### Amazon Linux AMI 플랫폼의 로그 파일


**참고**  
 [2022년 7월 18일](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html), Elastic Beanstalk는 Amazon Linux AMI(AL1)에 기반한 모든 플랫폼 브랜치의 상태를 **사용 중지**로 설정했습니다. 완전 지원이 가능한 현재 Amazon Linux 2023 플랫폼 브랜치로 마이그레이션하는 방법에 대한 자세한 내용은 [Elastic Beanstalk Linux 애플리케이션을 Amazon Linux 2023 또는 Amazon Linux 2로 마이그레이션](using-features.migration-al.md)을(를) 참조하세요.

다음 표에는 Amazon Linux AMI(이전 Amazon Linux 2) 기반 플랫폼 브랜치의 인스턴스에서 스트리밍되는 로그 파일이 플랫폼별로 나열되어 있습니다.


****  

|  플랫폼 / 플랫폼 브랜치  |  로그  | 
| --- | --- | 
|  Docker /  플랫폼 브랜치: 64비트 Amazon Linux에서 실행되는 Docker  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Docker /  플랫폼 브랜치: 64비트 Amazon Linux에서 실행되는 멀티컨테이너 Docker  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Glassfish(미리 구성된 Docker)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Go  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Java / 플랫폼 브랜치: 64비트 Amazon Linux에서 실행되는 Java 8 플랫폼 브랜치: 64비트 Amazon Linux에서 실행되는 Java 7  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Tomcat  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Node.js  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  PHP  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Python  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Ruby / 플랫폼 브랜치: 64비트 Amazon Linux에서 실행되는 Puma with Ruby  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Ruby / 플랫폼 브랜치: 64비트 Amazon Linux에서 실행되는 Passenger with Ruby  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 

Elastic Beanstalk는 CloudWatch Logs에서 스트리밍하는 다양한 로그 파일의 로그 그룹을 구성합니다. CloudWatch Logs에서 특정 로그 파일을 검색하려면 해당 로그 그룹의 이름을 알아야 합니다. 로그 그룹 이름 지정 규칙은 플랫폼 운영 체제에 따라 다릅니다.

Linux 플랫폼의 경우 로그 그룹 이름을 얻기 위해서는 인스턴스 로그 파일 위치 앞에 `/aws/elasticbeanstalk/environment_name`를 붙여야 합니다. 예를 들어 `/var/log/nginx/error.log` 파일을 검색하려면 로그 그룹 `/aws/elasticbeanstalk/environment_name/var/log/nginx/error.log`를 지정합니다.

Windows 플랫폼의 경우 다음 표에서 각 로그 파일에 해당하는 로그 그룹을 참조하십시오.


|  온 인스턴스 로그 위치  |  로그 그룹:  | 
| --- | --- | 
|  `C:\Program Files\Amazon\ElasticBeanstalk\logs\AWSDeployment.log`  |  `/aws/elasticbeanstalk/<environment-name>/EBDeploy-Log`  | 
|  `C:\Program Files\Amazon\ElasticBeanstalk\logs\Hooks.log`  |  `/aws/elasticbeanstalk/<environment-name>/EBHooks-Log`  | 
|  `C:\inetpub\logs\LogFiles` (전체 디렉터리)  |  `/aws/elasticbeanstalk/<environment-name>/IIS-Log`  | 

## CloudWatch Logs로 인스턴스 로그 스트리밍


Elastic Beanstalk 콘솔, EB CLI 또는 구성 옵션을 사용하여 CloudWatch Logs로의 인스턴스 로그 스트리밍을 활성화할 수 있습니다.

활성화하기 전에 CloudWatch Logs 에이전트와 함께 사용할 IAM 권한을 설정합니다. 환경으로 할당하는 [인스턴스 프로파일](concepts-roles-instance.md)에 다음 사용자 지정 정책을 연결할 수 있습니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

### Elastic Beanstalk 콘솔을 사용한 인스턴스 로그 스트리밍


**인스턴스 로그를 CloudWatch Logs로 스트리밍하려면**

1. [Elastic Beanstalk 콘솔](https://console.aws.amazon.com/elasticbeanstalk)을 열고 **리전** 목록에서를 선택합니다 AWS 리전.

1. 탐색 창에서 **환경**을 선택한 다음 목록에서 환경의 이름을 선택합니다.

1. 탐색 창에서 **구성**을 선택합니다.

1. **업데이트, 모니터링 및 로깅** 구성 범주에서 **편집**을 선택합니다.

1. **CloudWatch Logs로 인스턴스 로그 스트리밍**에서 다음을 수행합니다.
   + **로그 스트리밍**을 활성화합니다.
   + **보존**에 로그 저장 일수를 설정합니다.
   + 환경이 종료된 후 로그를 저장할지 여부를 지정하는 **수명 주기** 설정을 선택합니다.

1. 변경 사항을 저장하려면 페이지 하단에서 **적용**을 선택합니다.

로그 스트리밍을 활성화한 후 **소프트웨어** 구성 범주나 페이지로 돌아와서 **로그 그룹** 링크를 확인합니다. 이 링크를 클릭하여 CloudWatch 콘솔에서 로그를 확인합니다.

### EB CLI를 통해 인스턴스 로그 스트리밍


EB CLI를 사용하여 CloudWatch Logs로 인스턴스 로그 스트리밍을 활성화하려면 [**eb logs**](eb3-logs.md) 명령을 사용합니다.

```
$ eb logs --cloudwatch-logs enable
```

**eb logs**를 사용하여 CloudWatch Logs의 로그를 검색할 수도 있습니다. 모든 환경의 인스턴스 로그를 검색하거나, 명령의 다양한 옵션을 사용하여 검색할 하위 로그를 지정할 수 있습니다. 예를 들어 다음 명령은 해당 환경에 대한 전체 인스턴스 로그를 검색하고 이러한 로그를 `.elasticbeanstalk/logs` 아래의 디렉터리에 저장합니다.

```
$ eb logs --all
```

특히 `--log-group` 옵션을 사용하면 특정 온 인스턴스 로그 파일에 해당하는 로그 그룹의 인스턴스 로그를 검색할 수 있습니다. 이를 위해 검색하려는 로그 파일이 속한 로그 그룹의 이름을 알아야 합니다. 이 정보는 [Elastic Beanstalk로 CloudWatch Logs를 설정하는 방법](#AWSHowTo.cloudwatchlogs.loggroups)에서 확인할 수 있습니다.

### 구성 파일을 통한 인스턴스 로그 스트리밍


환경을 만들거나 업데이트할 때 구성 파일을 사용하여 CloudWatch Logs로의 인스턴스 로그 스트리밍을 설정하고 구성할 수 있습니다. 다음 예제 구성 파일은 기본 인스턴스 로그 스트리밍을 활성화합니다. Elastic Beanstalk는 해당 환경 플랫폼에 대한 기본 로그 파일을 스트리밍합니다. 예제를 사용하려면 텍스트를 복사한 후, 해당 애플리케이션 소스 번들 최상위 `.ebextensions` 디렉터리에서 확장명이 `.config`인 파일에 붙여넣습니다.

```
option_settings:
  - namespace: aws:elasticbeanstalk:cloudwatch:logs
    option_name: StreamLogs
    value: true
```

### 사용자 지정 로그 파일 스트리밍


CloudWatch Logs와 Elastic Beanstalk의 통합은 애플리케이션에서 생성하는 사용자 지정 로그 파일의 스트리밍을 직접 지원하지 않습니다. 사용자 지정 로그를 스트리밍하려면 구성 파일을 사용하여 CloudWatch 에이전트를 직접 설치하고 파일이 푸시될 수 있도록 구성합니다. 예제 구성 파일은 [https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-streamtocloudwatch-linux.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-streamtocloudwatch-linux.config)을 참조하세요.

**참고**  
예제는 Windows 플랫폼에서 작동하지 않습니다.

CloudWatch Logs 구성에 대한 자세한 내용은 *Amazon CloudWatch Logs 사용 설명서*의 [CloudWatch 에이전트 구성 파일 참조](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html)를 확인하세요.

## CloudWatch Logs 통합 문제 해결


**AI 지원 문제 해결을 위해 Amazon Q Developer CLI 사용**  
 Amazon Q Developer CLI를 사용하면 환경 문제를 신속하게 해결할 수 있습니다. Q CLI는 환경 상태를 확인하고, 이벤트를 검토하고, 로그를 분석하고, 명확한 질문을 하여 솔루션을 제공합니다. 자세한 내용과 자세한 안내는 AWS 블로그의 [Amazon Q Developer CLI를 사용한 Elastic Beanstalk 환경 문제 해결을 ](https://aws.amazon.com/blogs/devops/troubleshooting-elastic-beanstalk-environments-with-amazon-q-developer-cli/) 참조하세요.

**환경 인스턴스 로그를 찾을 수 없음**  
CloudWatch Logs에서 예상한 환경 인스턴스 로그 중 일부를 찾을 수 없는 경우 다음 일반적인 문제를 조사합니다.
+ IAM 역할에 필요한 IAM 권한이 없습니다.
+ CloudWatch Logs를 지원하지 AWS 리전 않는에서 환경을 시작했습니다.
+ 사용자 지정 로그 파일 중 하나가 해당 경로에 없습니다.

**애플리케이션 로그 누락 또는 간헐적 표시**  
Elastic Beanstalk 애플리케이션 로그(`/var/log/web.stdout.log`)가 누락되거나 간헐적으로 표시되는 경우 rsyslog 및 journald의 기본 속도 제한 설정 때문일 수 있습니다. 속도 제한을 완전히 비활성화하면 이 문제가 해결될 수 있지만, 예기치 않은 로그 폭증 시 과도한 디스크 사용, 잠재적인 서비스 거부 또는 시스템 성능 저하로 이어질 수 있으므로 권장되지 않습니다. 대신 다음 [https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-ratelimitcloudwatchlogs-linux.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-ratelimitcloudwatchlogs-linux.config)을 사용하여 속도 제한을 조정할 수 있습니다. 이 구성은 속도 제한 간격을 600초로 늘리고 버스트 한도를 높여 적절한 로깅과 시스템 보호 간의 균형을 제공합니다.

**제한(Throttling) 문제**  
많은 수의 인스턴스를 동시에 시작하는 Elastic Beanstalk 작업이 `Error: fail to create log stream: ThrottlingException: Rate exceeded`와 같은 메시지를 반환하는 경우 CloudWatch API에 대한 호출이 너무 많아서 제한이 발생합니다.

제한 문제를 해결하려면 다음 작업 중 하나를 수행합니다.
+ 롤링 배포에 더 작은 배치 크기를 사용하여 동시 업데이트를 줄입니다.
+ *CreateLogStream*에 대한 AWS 계정의 초당 트랜잭션(TPS) 한도 서비스 할당량 증가를 요청합니다. 자세한 내용은 *Amazon CloudWatch Logs 사용 설명서*의 [CloudWatch Logs 할당량](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html) 및 [CloudWatch Logs 서비스 할당량 관리](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html#service-quotas-manage)를 참조하세요.

# Elastic Beanstalk 환경 상태 정보를 Amazon CloudWatch Logs로 스트리밍
환경 상태 스트리밍

환경에 대해 [확장 상태](health-enhanced.md) 보고를 활성화하면 CloudWatch Logs로 상태 정보를 스트리밍하도록 환경을 구성할 수 있습니다. 이 스트리밍은 Amazon EC2 인스턴스 로그 스트리밍과 독립적입니다. 이 단원에서는 환경 상태 정보 스트리밍에 대해 설명합니다. 인스턴스 로그 스트리밍에 대한 자세한 내용은 [Amazon CloudWatch Logs에서 Elastic Beanstalk 사용](AWSHowTo.cloudwatchlogs.md) 단원을 참조하십시오.

환경 상태 스트리밍을 구성하면 Elastic Beanstalk가 환경 상태에 대한 CloudWatch Logs 로그 그룹을 생성합니다. 로그 그룹의 이름은 `/aws/elasticbeanstalk/environment-name/environment-health.log`입니다. 이 로그 그룹 내에서 Elastic Beanstalk는 `YYYY-MM-DD#<hash-suffix>`라는 로그 스트림을 생성합니다(날짜당 로그 스트림이 둘 이상일 수 있음).

환경의 상태가 변경되면 Elastic Beanstalk는 상태 로그 스트림에 레코드를 추가합니다. 이 레코드는 상태 변화, 즉 새로운 상태와 상태 변경 이유에 대한 설명을 보여 줍니다. 예를 들어 로드 밸런서가 실패하면 환경의 상태가 심각으로 바뀔 수 있습니다. 확장 상태에 대한 설명은 [상태 색상 및 상태](health-enhanced-status.md) 단원을 참조하십시오.

## CloudWatch Logs로의 환경 상태 스트리밍을 위한 전제 조건


CloudWatch Logs로 환경 상태 스트리밍을 활성화하려면 다음 조건을 충족해야 합니다.
+ *플랫폼* - 확장 상태 보고를 지원하는 플랫폼 버전을 사용해야 합니다.
+ *권한* - Elastic Beanstalk가 환경에 대한 상태 정보를 스트리밍할 수 있도록 특정 로깅 관련 권한을 부여해야 합니다. Elasctic Beanstalk가 생성한 서비스 역할, `aws-elasticbeanstalk-service-role` 또는 계정의 서비스 연결 역할, `AWSServiceRoleForElasticBeanstalk`를 환경에서 사용하지 않는 경우 사용자 지정 서비스 역할에 다음 권한을 추가해야 합니다.

  ```
  {
        "Effect": "Allow",
        "Action": [
          "logs:DescribeLogStreams",
          "logs:CreateLogStream",
          "logs:PutLogEvents"
        ],
        "Resource": "arn:aws:logs:*:*:log-group:/aws/elasticbeanstalk/*:log-stream:*"
  }
  ```

## 환경 상태 로그를 CloudWatch Logs로 스트리밍


Elastic Beanstalk 콘솔, EB CLI 또는 구성 옵션을 사용하여 CloudWatch Logs로의 환경 상태 스트리밍을 활성화할 수 있습니다.

### Elastic Beanstalk 콘솔을 사용하여 환경 상태 로그 스트리밍


**환경 상태 로그를 CloudWatch Logs로 스트리밍하려면**

1. [Elastic Beanstalk 콘솔](https://console.aws.amazon.com/elasticbeanstalk)을 열고 **리전** 목록에서를 선택합니다 AWS 리전.

1. 탐색 창에서 **환경**을 선택한 다음 목록에서 환경의 이름을 선택합니다.

1. 탐색 창에서 **구성**을 선택합니다.

1. [**모니터링**] 구성 범주에서 [**편집**]을 선택합니다.

1. **상태 보고**에서 보고 **시스템**이 **확장**으로 설정되었는지 확인합니다.

1. **CloudWatch Logs로 상태 이벤트 스트리밍**에서 다음과 같이 합니다.
   + **로그 스트리밍**을 활성화합니다.
   + **보존**에 로그 저장 일수를 설정합니다.
   + 환경이 종료된 후 로그를 저장할지 여부를 지정하는 **수명 주기** 설정을 선택합니다.

1. 변경 사항을 저장하려면 페이지 하단에서 **적용**을 선택합니다.

로그 스트리밍을 활성화한 후 **모니터링** 구성 범주나 페이지로 돌아와서 **로그 그룹** 링크를 확인합니다. 이 링크를 클릭하여 CloudWatch 콘솔에서 환경 상태 로그를 봅니다.

### EB CLI를 사용하여 환경 상태 로그 스트리밍


EB CLI를 사용하여 CloudWatch Logs로 환경 상태 로그 스트리밍을 활성화하려면 [**eb logs**](eb3-logs.md) 명령을 사용합니다.

```
$ eb logs --cloudwatch-logs enable --cloudwatch-log-source environment-health
```

**eb logs**를 사용하여 CloudWatch Logs의 로그를 검색할 수도 있습니다. 예를 들어 다음 명령은 해당 환경에 대한 모든 상태 로그를 검색하고 이러한 로그를 `.elasticbeanstalk/logs` 아래의 디렉터리에 저장합니다.

```
$ eb logs --all --cloudwatch-log-source environment-health
```

### 구성 파일을 사용하여 환경 상태 로그 스트리밍


환경을 만들거나 업데이트할 때 구성 파일을 사용하여 CloudWatch Logs로의 환경 상태 로그 스트리밍을 설정하고 구성할 수 있습니다. 아래 예제를 사용하려면 텍스트를 복사하여, 해당 애플리케이션 소스 번들 최상위 수준의 `.config` 디렉터리 아래에 있는 확장명이 `.ebextensions`인 파일에 붙여 넣으십시오. 이 예제는 환경 상태 로그 스트리밍을 활성화하고, 환경 종료 후 로그를 유지하고, 로그를 30일 동안 저장하도록 Elastic Beanstalk를 구성합니다.

**Example [상태 스트리밍 구성 파일](samples/aws_eb_cloudwatchlogs-envhealth.zip)**  

```
############################################################################
##  Sets up Elastic Beanstalk to stream environment health information
##  to Amazon CloudWatch Logs.
##  Works only for environments that have enhanced health reporting enabled.
############################################################################

option_settings:
  aws:elasticbeanstalk:cloudwatch:logs:health:
    HealthStreamingEnabled: true
    ### Settings below this line are optional.
    # DeleteOnTerminate: Delete the log group when the environment is
    # terminated. Default is false. If false, the health data is kept
    # RetentionInDays days.
    DeleteOnTerminate: false
    # RetentionInDays: The number of days to keep the archived health data
    # before it expires, if DeleteOnTerminate isn't set. Default is 7 days.
    RetentionInDays: 30
```

기본 옵션 및 유효한 값은 [`aws:elasticbeanstalk:cloudwatch:logs:health`](command-options-general.md#command-options-general-cloudwatchlogs-health) 단원을 참조하십시오.