Amazon ECS 컨테이너 에이전트 구성

Amazon ECS 컨테이너 에이전트 구성

적용 대상: EC2 인스턴스. Amazon ECS 컨테이너 에이전트는 여러 구성 옵션을 지원하며, 대부분 환경 변수를 통해 설정해요. 컨테이너 인스턴스가 Amazon ECS-optimized AMI의 Linux 버전으로 실행됐다면, 이 환경 변수들을 /etc/ecs/ecs.config 파일에 설정한 다음 에이전트를 다시 시작할 수 있어요. 구성 변수를 실행 시점에 Amazon EC2 사용자 데이터로 컨테이너 인스턴스에 쓸 수도 있어요. 자세한 내용은 Bootstrapping Amazon ECS Linux container instances to pass data를 참고하세요.

출처: 문서

본문

컨테이너 인스턴스가 Amazon ECS-optimized AMI의 Windows 버전으로 실행됐다면, PowerShell SetEnvironmentVariable 명령으로 이 환경 변수들을 설정한 다음 에이전트를 다시 시작할 수 있어요. 자세한 내용은 Amazon EC2 User Guide의 Run commands when you launch an EC2 instance with user data input과 Bootstrapping Amazon ECS Windows container instances to pass data를 참고하세요.

Amazon ECS 컨테이너 에이전트를 수동으로 시작한다면(Amazon ECS-optimized 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 에이전트 실행

기본적으로 Amazon ECS 에이전트는 자체 PID 네임스페이스로 실행돼요. 다음 구성에서는 Amazon ECS 에이전트를 호스트 PID 네임스페이스로 실행하도록 구성할 수 있어요.

  • SELinux enforcing 모드가 활성화된 경우.
  • Docker의 SELinux 보안 정책이 true로 설정된 경우.

이 동작은 /etc/ecs/ecs.config 파일에서 ECS_AGENT_PID_NAMESPACE_HOST 환경 변수를 true로 설정해 구성할 수 있어요. 이 변수를 활성화하면 ecs-init이 호스트의 PID 네임스페이스(--pid=host)로 Amazon ECS 에이전트 컨테이너를 시작해서, SELinux enforcing 환경에서 에이전트가 제대로 부트스트랩될 수 있게 해 줘요. 이 기능은 Amazon ECS 에이전트 버전 1.94.0 이상에서 사용할 수 있어요.

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

ECS_AGENT_PID_NAMESPACE_HOST=true

변경 후 변경 사항이 적용되도록 Amazon ECS 에이전트를 다시 시작하세요.

sudo systemctl restart ecs

다음 기능은 SELinux enforcing 모드가 활성화되고 Docker 보안 정책이 true로 설정된 경우, ECS_AGENT_PID_NAMESPACE_HOST=true가 설정되어 있어도 작동하지 않아요.

  • Amazon ECS Exec
  • Amazon EBS 태스크 연결 (Amazon EBS task attach)
  • Service Connect
  • FireLens for Amazon ECS

사용 가능한 파라미터 (Available parameters)

사용 가능한 Amazon ECS 컨테이너 에이전트 구성 파라미터에 대한 자세한 내용은 GitHub의 Amazon ECS Container Agent를 참고하세요.