본문 바로가기

메가존 클라우드 2기 교육/실무 특화

Docker - AWS ECS

Amazon ECS란?

Amazon Elastic Container Service(Amazon ECS)는 클러스터에서 Docker 컨테이너를 손쉽게 실행, 중지 및 관리할 수 있게 해주는 컨테이너 관리 서비스로서 확장성과 속도가 뛰어나다. Amazon ECS 시작 유형을 사용하는 서비스 또는 작업을 시작하여 Fargate(Serverless. 즉, 리소스 제한이 없음)에서 관리하는 서버를 사용하지 않는 인프라에서 클러스터를 호스팅할 수 있다. 인프라에 대한 더 세부적인 제어를 위해 EC2 시작 유형을 사용하여 관리하는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 클러스터에서 작업을 호스팅할 수 있다.


AWS EC2 도커

AWS EC2 도커 - Task 생성

AWS에서 'ECS'(이전 ECS 환경)의 '작업 정의' 메뉴에서 '새 작업 정의 생성' 클릭



테스크 역할은 선택하지 않으면 자동으로 생성된다.

'컨테이너 생성' 버튼 클릭

하드 제한: 인스턴스가 멈춤 소프트 제한: 정해진 용량까지 제한하나, 하드 제한까지 용량을 요청할 수 있음

컨테이너 생성 완료. '다음' 클릭

task1 정의 생성 완료. '새 개정 생성'(task2) 클릭

컨테이너 이름 'webserver'를 클릭하여 편집. 이미지의 태그를 'food'로 변경. 그러고나서 '생성' 버튼 클릭.

총 2개의 task 생성.

AWS EC2 도커 - 클러스터 생성

'클러스터' 메뉴에서 '클러스터 생성' 클릭

'EC2 Linux + 네트워킹' 클릭

IAM 역할은 자동으로 생성된다.

 


인스턴스가 생성됐다.

서비스 생성

'생성' 버튼 클릭


EC2 콘솔에 접속하여 로드밸런스 생성


대상 그룹 생성




작성 후, '저장' 버튼 클릭

이후, 검토 후 생성을 하면 다음과 같이 서비스가 생성된다.

EC2에서 로드밸런스의 DNS 주소로 접속을 한다.
정상적으로 웹 서버가 구동된다.

 이제 HTTPS 접속이 되도록 할 것이다.

로드 밸런서의 리스너에서 'HTTP:80' 클릭
'편집' 클릭

도메인에 대한 인증서를 사용했으므로 Route53에서 레코드 생성을 해서, 도메인 주소로 접속해야한다.

그러므로, Route53에서 레코드를 생성한다.

HTTPS 접속 완료.

서비스 업데이트 

'업데이트' 클릭
개정을 'food'이미지를 가지고 있는 '2'로 변경. '새 배포 적용' 체크

테스크가 2로 하나씩 변경되고있다. (약 10분정도 소요)
업데이트를 마치면, 이제 웹 서버가 테스크2의 이미지로 운영된다.