작업 환경

aws ec2 ubuntu 20.04

 

공식 문서

https://docs.docker.com/config/containers/logging/awslogs/

 

Amazon CloudWatch Logs logging driver

 

docs.docker.com

 

1. ec2 IAM에 CloudWatch 권한 역할 부여

ec2->인스턴스->작업->보안->IAM 역할 수정

기존에 IAM을 생성해두지 않은 상태로 새 IAM 역할 생성 -> 역할 만들기 -> AWS 서비스-> EC2

CloudWatchLogsFullAccess 권한 부여 -> 역할 생성

참조) docker 공식 문서에서는 아래와 같은 권한 2개 부여하라는데 권한 검색에 검색하면 안뜬다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}

구글링 통해 fullaccess 정책 권한 부여했다. 공식 문서 업데이트가 필요해보인다.

이후 ec2 -> 인스턴스 -> 관련 인스턴스 선택 -> 보안 -> IAM 역할 수정에서 방금 만든 역할을 선택해 연결한다.

 

2. CloudWatch 로그 그룹/로그 스트림 생성

로그를 보내는 역할 설정을 완료했으므로 이제 로그를 받을 수 있는 공간 설정을 해야한다.

AWS CloudWatch -> 로그 -> 로그 그룹 -> 로그 그룹 생성 

생성한 로그 그룹 클릭 -> 로그 스트림 -> 로그 스트림 생성

3. docker-compose에 로깅 관련 정보 추가

services:
  backend:
    image: 가나다
    container_name: 라마바사
    
    ##아래 부분 생성한 정보대로 내용 추가하시면 됩니다.
    logging:
      driver: awslogs
      options:
        awslogs-group: higoods-docker-log
        awslogs-region: ap-northeast-2
        awslogs-stream: backend

 

정상 작동 확인

참고사이트

https://docs.docker.com/config/containers/logging/awslogs/

https://kitty-geno.tistory.com/67

https://ch-visu4l.tistory.com/14

https://devnm.tistory.com/8

 

+ Recent posts