ECS Exec로 Amazon ECS 컨테이너 모니터링하기
ECS Exec로 Amazon ECS 컨테이너 모니터링하기
Amazon ECS Exec를 사용하면 호스트 컨테이너 운영 체제와 먼저 상호작용하거나, 인바운드 포트를 열거나, SSH 키를 관리할 필요 없이 컨테이너와 직접 상호작용할 수 있어요. ECS Exec를 사용해 Amazon EC2 인스턴스나 AWS Fargate에서 실행되는 컨테이너에서 명령을 실행하거나 셸을 얻을 수 있습니다.
출처: 문서
본문
Amazon ECS Exec를 사용하면 호스트 컨테이너 운영 체제에 먼저 접근하거나 인바운드 포트를 열거나 SSH 키를 관리할 필요 없이 컨테이너와 직접 상호작용할 수 있습니다. Amazon EC2 인스턴스나 AWS Fargate에서 실행되는 컨테이너에서 ECS Exec로 명령을 실행하거나 셸을 얻을 수 있어요. 이는 진단 정보를 수집하고 오류를 신속히 해결하는 것을 더 쉽게 만들어 줍니다.
- 개발 환경에서는 ECS Exec로 컨테이너의 다양한 프로세스와 쉽게 상호작용하고 애플리케이션을 트러블슈팅할 수 있습니다.
- 프로덕션 시나리오에서는 break-glass(비상 대비) 접근을 얻어 문제를 디버깅하는 데 사용할 수 있습니다.
Amazon ECS API, AWS Command Line Interface(AWS CLI), AWS SDKs, AWS Copilot CLI를 통해 ECS Exec로 실행 중인 Linux 또는 Windows 컨테이너에서 명령을 실행할 수 있습니다. ECS Exec 사용 방법과 비디오 워크스루는 AWS Copilot CLI를 사용하는 경우 Copilot GitHub 문서를 참고하세요.
또한 ECS Exec를 사용해 더 엄격한 접근 제어 정책을 유지할 수 있습니다. 이 기능을 선택적으로 켜면, 누가 명령을 실행할 수 있고 어떤 태스크에서 명령을 실행할 수 있는지를 제어할 수 있어요. 각 명령과 그 출력의 로그를 통해 어떤 태스크가 실행되었는지 볼 수 있고, CloudTrail로 누가 컨테이너에 접근했는지 감사할 수 있습니다.
고려 사항
ECS Exec를 사용할 때 다음을 고려하세요.
- ECS Exec는 Systems Manager가 지원하지 않는 운영 체제에서 예상대로 동작하지 않을 수 있습니다. 지원되는 운영 체제는 AWS Systems Manager User Guide의 "Operating system types"를 참고하세요.
- ECS Exec는 다음 인프라에서 실행되는 태스크에 지원됩니다.
- Bottlerocket을 포함한 Amazon ECS-optimized AMI에서 Amazon EC2의 Linux 컨테이너
- 외부 인스턴스(Amazon ECS Anywhere)의 Linux 및 Windows 컨테이너
- AWS Fargate의 Linux 및 Windows 컨테이너
- 다음 Windows Amazon ECS-optimized AMI(컨테이너 에이전트 버전 1.56 이상)의 Amazon EC2 Windows 컨테이너:
- Amazon ECS-optimized Windows Server 2022 Full AMI
- Amazon ECS-optimized Windows Server 2022 Core AMI
- Amazon ECS-optimized Windows Server 2019 Full AMI
- Amazon ECS-optimized Windows Server 2019 Core AMI
- Amazon ECS-optimized Windows Server 20H2 Core AMI
- 태스크에 HTTP 프록시를 구성했다면, EC2 인스턴스 메타데이터와 IAM 역할 트래픽에 대해 프록시를 우회하도록
NO_PROXY환경 변수를"NO_PROXY=169.254.169.254,169.254.170.2"로 설정하세요.NO_PROXY환경 변수를 구성하지 않으면 컨테이너 안 메타데이터 엔드포인트에서 인스턴스 메타데이터나 IAM 역할 자격 증명을 가져올 때 실패할 수 있습니다. 권장된 대로NO_PROXY환경 변수를 설정하면 메타데이터와 IAM 트래픽을 필터링해169.254.169.254와169.254.170.2에 대한 요청이 HTTP 프록시를 통과하지 않게 됩니다. - ECS Exec와 Amazon VPC — Amazon ECS와 함께 인터페이스 Amazon VPC 엔드포인트를 사용한다면, Systems Manager Session Manager(
ssmmessages)용 인터페이스 Amazon VPC 엔드포인트를 만들어야 합니다.
더 알아보기 (Learn more)
- ECS Exec 사용 방법에 대한 자세한 내용은 AWS 공식 문서와 Copilot GitHub 문서를 참고해 주세요.