수업을 듣고 배운 내용과 연습한 내용을 정리하였습니다
개인 공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
잘못된 부분이 있거나 질문사항은 댓글로 남겨주시면 성심성의껏 답변해드리겠습니다. 감사합니다!
교재 <시작하세요! 도커/쿠버네티스 - 용찬호 지음>를 토대로 실습을 진행하였습니다.
* awslogs
AWS에서는 로그 및 이벤트 등을 수집하고 저장해 시각적으로 보여주는 CloudWatch를 제공합니다.
따라서, EC2에서 도커를 사용하면 다른 도구를 별도로 설치할 필요 없이 컨테이너에서 드라이버 옵션을 설정하는 것만으로 CloudWatch 로깅 드라이버를 사용할 수 있습니다.
* 실습요약
1. CloudWatch에 해당하는 IAM 권한 생성
2. Log Group 생성
3. Log Group에 Log Stream 생성
4. CloudWatch의 IAM 권한을 사용할 수 있는 EC2 인스턴스 생성 및 로그 전송
1. CloudWatch에 해당하는 IAM 권한 생성
IAM > 역할 만들기 > 사용 사례 : EC2 > 권한 : CloudWatchFullAccess > 이름 : mycloudwatch > 역할 만들기
2. Log Group 생성
CloudWatch > 로그 > 로그 그룹 생성 > 이름 : mylogs
3. Log Group에 Log Stream 생성
mylogs 클릭 > 로그 스트림 생성 > 이름 : mylogstream
4. CloudWatch의 IAM 권한을 사용할 수 있는 EC2 인스턴스 생성 및 로그 전송
EC2 > 인스턴스 시작 > 단계 3: 인스턴스 세부 정보 구성에서 IAM 역할을 mycloudwatch로 설정
나머지는 프리티어 및 기본값으로 설정합니다.
cmd를 통해 EC2인스턴스에 ssh로 접속합니다.
$ssh -i [key.pem] ec2-user@퍼블릭IP주소
docker를 설치합니다.
$sudo yum -y upgrade
$sudo amazon-linux-extras install -y docker
docker 잘 깔렸는지 확인해봅니다.
$docker --version
docker를 시작합니다.
$sudo systemctl start docker
IAM 권한을 사용하도록 설정한 EC2 인스턴스의 도커 엔진에서 다음 명령어를 입력해 컨테이너를 생성합니다.
로깅 드라이버로 awslogs를 사용할 수 있게 설정하고 로그 그룹과 스트림은 mylogs와 mylogstream을 사용합니다.
리전으로는 EC2 인스턴스가 아닌 로그 그룹 및 스트림이 생성된 리전을 입력해야 합니다.
$docker run -i -t \
> --log-driver=awslogs \
> --log-opt awslogs-region=ap-northeast-2 \
> --log-opt awslogs-group=mylogs \
> --log-opt awslogs-stream=mylogstream \
> ubuntu:14.04
이미지가 다운로드 되고, 도커에 접속됩니다.
test! 를 출력했을 때, CloudWatch로 로그가 전송된 것을 확인할 수 있습니다!
#echo test!
test!
'서버 > Docker&Kubernetes' 카테고리의 다른 글
Docker Swarm (0) | 2021.04.20 |
---|---|
Dockerfile 작성 및 빌드 (0) | 2021.04.16 |
Docker 이미지 추출 및 저장소 생성(2/2) (0) | 2021.04.15 |
Docker 이미지 생성하기- Docker Hub(1/2) (0) | 2021.04.15 |
Docker Container Logging - fluentd (0) | 2021.04.14 |
댓글