Amazon ECS 컨테이너 에이전트 구성
적용 대상: EC2 인스턴스
Amazon ECS 컨테이너 에이전트는 다양한 구성 옵션을 지원하며 대부분은 환경 변수를 통해 설정합니다.
Amazon ECS 최적화 AMI의 Linux 변형을 사용하여 컨테이너 인스턴스를 시작한 경우, 이들 환경 변수를 /etc/ecs/ecs.config
파일에서 설정한 후 에이전트를 다시 시작할 수 있습니다. 실행 시 Amazon EC2 사용자 데이터를 사용하여 컨테이너 인스턴스에 구성 변수를 작성할 수도 있습니다. 자세한 내용은 데이터 전달을 위한 Amazon ECS Linux 컨테이너 인스턴스 부트스트래핑 섹션을 참조하세요.
컨테이너 인스턴스가 Amazon ECS 최적화 AMI의 Windows 변형으로 시작된 경우 PowerShell SetEnvironmentVariable 명령을 사용하여 이러한 환경 변수를 설정한 다음 에이전트를 다시 시작할 수 있습니다. 자세한 내용은 Amazon EC2 사용 설명서의 사용자 데이터 입력을 사용하여 EC2 인스턴스를 시작할 때 명령 실행과 데이터 전달을 위한 Amazon ECS Windows 컨테이너 인스턴스 부트스트래핑를 참조하세요.
수동으로 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 에이전트 실행
기본적으로 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
사용 가능한 파라미터
사용 가능한 Amazon ECS 컨테이너 에이전트 구성 파라미터에 대한 자세한 정보는 GitHub의 Amazon ECS Container Agent