반응형
공식 문서 참고
https://docs.docker.com/engine/logging/drivers/awslogs/
1. 로그 그룹 만들기
- 먼저 CloudWatch Logs에서 로그 그룹을 생성해야 합니다.
로그 그룹 생성 절차
- AWS Management Console에 로그인합니다.
- CloudWatch 서비스로 이동합니다
- 왼쪽 메뉴에서 Logs를 클릭합니다.
- Log groups에서 Create log group을 클릭합니다.
- 로그 그룹 이름을 입력합니다 (예: /docker/logs).
- Retention(보존 기간)을 설정합니다. (기본은 Never Expire로 설정됩니다).
- 2. Docker daemon 설정 (daemonset.json)
1) daemon.json 생성
- Docker daemon에서 CloudWatch Logs로 로그를 전송하려면 daemon.json 파일을 수정해야 합니다.
vi /etc/docker/daemon.json
{
"log-driver": "awslogs",
"log-opts": {
"awslogs-region": "ap-northeast-2",
"awslogs-group": "/docker/logs"
}
}
- log-driver: awslogs로 설정하여 CloudWatch Logs를 로그 드라이버로 사용합니다.
- awslogs-region: 사용하려는 AWS 리전을 지정합니다. 예: ap-northeast-2 (서울 리전).
- awslogs-group: CloudWatch 로그 그룹을 지정합니다. 위 예시에서는 /docker/logs입니다.
2) 서비스 재시작
- /etc/docker/daemon.json 파일에 위 내용을 추가합니다.
- Docker 서비스를 재시작하여 변경 사항을 적용합니다:
sudo systemctl restart docker
3.awslogs 드라이버 옵션을 통한 Docker 컨테이너 배포
- Docker 컨테이너를 실행할 때, --log-opt 옵션을 사용하여 각 컨테이너의 로그 스트림을 정의할 수 있습니다.
- awslogs-stream="원하는 플랫폼이나, 이름 정의"
- 이미지 이름 전에 옵션 사용해야만 정상 인식
docker run -d -p 80:80 --log-opt awslogs-stream=front nginx
- 로그 확인
4. 재배포
- Docker 컨테이너 재배포 후 기존 로그와 새로 생성된 로그가 중첩됩니다.
- 새 컨테이너를 배포하면, 기존 로그 스트림에 새로운 로그가 이어져 기록됩니다. 기존 로그가 삭제되거나 덮어쓰여지지 않고 새로운 로그가 계속 추가됩니다.
- 로그 확인
반응형
'AWS > EC2' 카테고리의 다른 글
AWS EC2 생성 (0) | 2025.01.03 |
---|---|
AWS EC2 Cloudwatch 설정 (0) | 2025.01.03 |
[AWS EC2]AWS EC2 Container PortForwarding 접속 (0) | 2022.06.22 |
[AWS]AWS EC2 Public IP 추가 하기 (0) | 2022.06.22 |
[AWS EC2]AWS EC2 EBS Volume 증설하기 (0) | 2022.03.11 |
댓글