

# Amazon ECS 컨테이너 에이전트 구성
<a name="ecs-agent-config"></a>

**적용 대상**: EC2 인스턴스

Amazon ECS 컨테이너 에이전트는 다양한 구성 옵션을 지원하며 대부분은 환경 변수를 통해 설정합니다.

Amazon ECS 최적화 AMI의 Linux 변형을 사용하여 컨테이너 인스턴스를 시작한 경우, 이들 환경 변수를 `/etc/ecs/ecs.config` 파일에서 설정한 후 에이전트를 다시 시작할 수 있습니다. 실행 시 Amazon EC2 사용자 데이터를 사용하여 컨테이너 인스턴스에 구성 변수를 작성할 수도 있습니다. 자세한 내용은 [데이터 전달을 위한 Amazon ECS Linux 컨테이너 인스턴스 부트스트래핑](bootstrap_container_instance.md) 섹션을 참조하세요.

컨테이너 인스턴스가 Amazon ECS 최적화 AMI의 Windows 변형으로 시작된 경우 PowerShell SetEnvironmentVariable 명령을 사용하여 이러한 환경 변수를 설정한 다음 에이전트를 다시 시작할 수 있습니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [사용자 데이터 입력을 사용하여 EC2 인스턴스를 시작할 때 명령 실행](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)과 [데이터 전달을 위한 Amazon ECS Windows 컨테이너 인스턴스 부트스트래핑](bootstrap_windows_container_instance.md)를 참조하세요.

수동으로 Amazon ECS 컨테이너 에이전트(비 Amazon ECS 최적화 AMI 이외 용도)를 시작하는 경우 에이전트를 시작하는 데 사용하는 **docker run** 명령에서 이 환경 변수를 사용할 수 있습니다. `--env=VARIABLE_NAME=VARIABLE_VALUE` 구문에 이러한 변수를 사용합니다. 프라이빗 리포지토리의 인증 자격 증명과 같은 민감한 정보의 경우, 에이전트 환경 변수를 파일에 저장하고 `--env-file path_to_env_file` 옵션을 사용하여 한 번에 모두 전달해야 합니다. 이러한 명령을 사용하여 변수를 추가할 수 있습니다.

```
sudo systemctl stop ecs
sudo vi /etc/ecs/ecs.config 
# And add the environment variables with VARIABLE_NAME=VARIABLE_VALUE format.
sudo systemctl start ecs
```

## 호스트 PID 네임스페이스로 Amazon ECS 에이전트 실행
<a name="ecs-agent-pid-namespace"></a>

기본적으로 Amazon ECS 에이전트는 자체 PID 네임스페이스로 실행됩니다. 다음 구성에서 호스트 PID 네임스페이스로 실행되도록 Amazon ECS 에이전트를 구성할 수 있습니다.
+ SELinux 적용 모드가 활성화되었습니다.
+ Docker의 SELinux 보안 정책이 true로 설정되었습니다.

`/etc/ecs/ecs.config` 파일에서 `ECS_AGENT_PID_NAMESPACE_HOST` 환경 변수를 `true`로 설정하여 이 동작을 구성할 수 있습니다. 이 변수가 활성화되면 `ecs-init`는 호스트의 PID 네임스페이스(`--pid=host`)로 Amazon ECS 에이전트 컨테이너를 시작하여 에이전트가 SELinux 적용 환경에서 올바르게 부트스트랩할 수 있도록 합니다. 이 기능은 Amazon ECS 에이전트 버전 `1.94.0` 이상에서 사용할 수 있습니다.

이 기능을 활성화하려면 `/etc/ecs/ecs.config` 파일에 다음 줄을 추가하세요.

```
ECS_AGENT_PID_NAMESPACE_HOST=true
```

이렇게 변경한 후 Amazon ECS 에이전트를 다시 시작하여 변경 사항을 적용하세요.

```
sudo systemctl restart ecs
```

SELinux 적용 모드가 활성화되어 있고 Docker 보안 정책이 true로 설정되어 있는 경우 `ECS_AGENT_PID_NAMESPACE_HOST=true`가 설정되어 있어도 다음 기능은 작동하지 않습니다.
+ Amazon ECS Exec
+ Amazon EBS 태스크 연결
+ Service Connect
+ Amazon ECS용 FireLens

## 사용 가능한 파라미터
<a name="ecs-agent-availparam"></a>

사용 가능한 Amazon ECS 컨테이너 에이전트 구성 파라미터에 대한 자세한 정보는 GitHub의 [Amazon ECS Container Agent](https://github.com/aws/amazon-ecs-agent/blob/master/README.md)를 참조하세요.