본문 바로가기
Dev/AWS

[AWS] CloudWatch를 활용한 docker 이미지 로그 관리하기

by ssyoni 2022. 3. 6.
반응형

ec2 안에서 도커 컨테이너를 실행시키면 컨테이너 내부에 로그가 쌓이게 됩니다. 하지만 컨테이너가 중지되면 로그도 날아가기 때문에 이를 위해서 AWS에서 제공하는 cloudWatch를 활용하여 로그를 관리할 수 있습니다.

Docker Container를 실행시키고 CloudWatch를 통한 로그 백업을 간단하게 실습해보는 스터디 내용을 정리해 보았습니다. 

 

1. EC2에서 CloudWatch 서비스를 액세스할 권한 부여

1) CloudWatchFullAccess 역할 생성 

CloudWatch를 사용하기 위해서는 가장 먼저 EC2에서 CloudWatch에 서비스를 액세스 할 권한을 부여해주어야 합니다. 그러기 위해서는 먼저 IAM에서 CloudWatchFullAccess라는 역할을 생성해주어야 합니다.

CloudWatchFullAccess는 CloudWatch에 대한 AWS 관리형 정책으로써 CloudWatch의 작업 및 리소스에 대한 전체 액세스 권한을 부여합니다. 

IAM > 역할 > 역할 만들기

위와 같이 항목을 선택한 후 권한 추가 단계로 이동합니다.

CloudWatchFullAccess 권한 정책을 선택합니다. 

 

역할 이름을 지정하고 역할을 생성합니다. 

 

역할 생성 완료!

 

 

2) CloudWatch 로그 그룹 생성

로그 그룹은 동일한 소스를 공유하는 로그 이벤트 시퀀스 입니다. 로그 보존 기간, 모니터링 및 액세스 제어 등의 설정을 공유하는 그룹입니다. 로그 그룹에서 포함할 수 있는 스트림의 수에는 제한이 없으며, 만약 여러 실행 파일에서 동일한 로그 스트림을 사용 시, 파일이 덮어씌워지는 것이 아니라 누적되는 형식으로 보관됩니다. 

 

CloudWatch > 로그 그룹 > 로그 그룹 생성

로그 그룹 생성 시 보존 설정에서 로그 관리 기간을 설정할  수 있습니다. 

 

로그 그룹 생성 완료!

 

 

3) EC2와 로그 그룹 연동하기 

 

EC2 대시보드에서 적용할 인스턴스를 선택하고 우측 상단에 작업 > 보안 > IAM 역할 수정 으로 이동합니다.

 

 

생성한 로그 그룹을 선택하고 저장해주면 EC2에서 CloudWatch에 액세스할 권한이 부여됩니다. 

 

 

2. CloudWatch에서 로그 확인하기 

EC2에서 아래의 명령어를 실행합니다.

sudo docker run -i -t --log-driver=awslogs --log-opt awslogs-region=ap-northeast-2 --log-opt awslogs-group=[로그 그룹 이름] --log-opt awslogs-stream=[로그스트림이름] [실행할 도커 이미지]

docker container 실행

 

도커 컨테이너로 서버를 실행시킴과 동시에 지정한 log stream으로 로그가 백업된 것을 확인할 수 있습니다. 

 

 

 

 

 

https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/iam-identity-based-access-control-cw.html

 

CloudWatch에 자격 증명 기반 정책(IAM 정책) 사용 - Amazon CloudWatch

CloudWatch에 자격 증명 기반 정책(IAM 정책) 사용 이 주제에서는 자격 증명 기반 정책의 예를 통해 계정 관리자가 권한 정책을 IAM 자격 증명(즉, 사용자, 그룹, 역할)에 연결함으로써 CloudWatch 리소스

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html

 

로그 그룹 및 로그 스트림 작업 - Amazon CloudWatch Logs

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

반응형

댓글