Amazon ECS 로그 컬렉터로 컨테이너 로그 수집
Amazon ECS 로그 컬렉터로 컨테이너 로그 수집
컨테이너 인스턴스의 다양한 로그를 수집하는 방법을 잘 모르는 경우 Amazon ECS 로그 컬렉터(logs collector)를 사용할 수 있습니다. 이 글에서는 로그 컬렉터 스크립트를 실행하는 방법을 알아봅니다.
출처: 문서
본문
참고: Amazon ECS Managed Instances에서는 Amazon ECS 로그 컬렉터를 사용할 수 없습니다.
컨테이너 인스턴스의 다양한 로그를 수집하는 방법을 잘 모르는 경우 Amazon ECS 로그 컬렉터를 사용할 수 있어요. 이는 Linux와 Windows 모두에 대해 GitHub에서 사용할 수 있습니다.
이 스크립트는 일반 운영 체제 로그와 Docker 및 Amazon ECS 컨테이너 에이전트 로그를 수집하며, 이는 AWS Support 케이스를 해결하는 데 도움이 될 수 있습니다. 그런 다음 수집된 정보를 진단 목적으로 쉽게 공유할 수 있는 단일 파일로 압축하고 아카이브합니다. 또한 Amazon Linux 변형(예: Amazon ECS 최적화 AMI)에서 Docker 데몬과 Amazon ECS 컨테이너 에이전트의 디버그 모드를 활성화하는 것도 지원합니다.
참고: Amazon Linux Amazon ECS 최적화 AMI 버전 20250909 이상에서는 Amazon ECS 로그 컬렉터가
/opt/amazon/ecs/ecs-logs-collector.sh에 사전 설치되어 GitHub에서 다운로드하지 않고 바로 사용할 수 있습니다. 자세한 내용은 ECS 최적화 AMI 문서의 ECS Logs Collector 문서를 참고하세요.
현재 Amazon ECS 로그 컬렉터는 다음 운영 체제를 지원합니다:
- Amazon Linux
- Red Hat Enterprise Linux
- Ubuntu
- Windows Server
Linux용 Amazon ECS 로그 컬렉터 실행 (ECS 최적화 AMI)
- 컨테이너 인스턴스에 연결합니다.
- 로그를 수집하고 아카이브를 만들기 위해 스크립트를 실행합니다.
참고: Docker 데몬과 Amazon ECS 컨테이너 에이전트의 디버그 모드를 활성화하려면 다음 명령에
--mode=enable-debug옵션을 추가하세요. 이는 Docker 데몬을 다시 시작할 수 있으며, 이는 인스턴스에서 실행 중인 모든 컨테이너를 종료합니다. 디버그 모드를 활성화하기 전에 컨테이너 인스턴스를 드레이닝하고 중요한 태스크를 다른 컨테이너 인스턴스로 옮기는 것을 고려하세요. 자세한 내용은 Amazon ECS 컨테이너 인스턴스 드레이닝 문서를 참고하세요.
sudo /opt/amazon/ecs/ecs-logs-collector.sh
스크립트를 실행한 후 스크립트가 만든 collect 폴더에서 수집된 로그를 검사할 수 있어요. collect.tgz 파일은 모든 로그의 압축 아카이브이며, 진단 도움을 위해 AWS Support와 공유할 수 있습니다.
Linux용 Amazon ECS 로그 컬렉터 다운로드 및 실행
- 컨테이너 인스턴스에 연결합니다.
- Amazon ECS 로그 컬렉터 스크립트를 다운로드합니다.
curl -O https://raw.githubusercontent.com/awslabs/ecs-logs-collector/master/ecs-logs-collector.sh
- 로그를 수집하고 아카이브를 만들기 위해 스크립트를 실행합니다.
sudo bash ./ecs-logs-collector.sh
Windows용 Amazon ECS 로그 컬렉터 다운로드 및 실행
- 컨테이너 인스턴스에 연결합니다. 자세한 내용은 Amazon EC2 사용자 가이드의 RDP를 사용한 Windows 인스턴스 연결 문서를 참고하세요.
- PowerShell을 사용해 Amazon ECS 로그 컬렉터 스크립트를 다운로드합니다.
Invoke-WebRequest -OutFile ecs-logs-collector.ps1 https://raw.githubusercontent.com/awslabs/aws-ecs-logs-collector-for-windows/master/ecs-logs-collector.ps1
- 로그를 수집하고 아카이브를 만들기 위해 스크립트를 실행합니다.
참고: Docker 데몬과 Amazon ECS 컨테이너 에이전트의 디버그 모드를 활성화하려면 다음 명령에
-RunMode debug옵션을 추가하세요. 이는 Docker 데몬을 다시 시작하며, 이는 인스턴스에서 실행 중인 모든 컨테이너를 종료합니다. 디버그 모드를 활성화하기 전에 컨테이너 인스턴스를 드레이닝하고 중요한 태스크를 다른 컨테이너 인스턴스로 옮기는 것을 고려하세요. 자세한 내용은 Amazon ECS 컨테이너 인스턴스 드레이닝 문서를 참고하세요.
.\ecs-logs-collector.ps1
스크립트를 실행한 후 스크립트가 만든 collect 폴더에서 수집된 로그를 검사할 수 있어요. collect.tgz 파일은 모든 로그의 압축 아카이브이며, 진단 도움을 위해 AWS Support와 공유할 수 있습니다.
더 알아보기 (Learn more)
- Amazon ECS 컨테이너 에이전트 로그 보기에 대한 자세한 내용은 AWS 개발자 가이드의 관련 문서를 참고하세요.