먼저 administration 권한이 있는 IAM 유저를 만들도록 하자

ECS는 아마존에서 제공하는 컨테이너 오케스트레이션 툴을 의미한다. Docker container를 보다 쉽게 이용할 수 있게 한다는 장점이 있다.

태스크(Task) 만들기

배포된 상태에서 컨테이너를 가지고 있는 가장 작은 단위(K8s에서 Pod)을 의미한다. 이 태스크를 만들기 위해서는 태스크를 어떻게 구성할 것인지에 대한 정의(Task definition)가 먼저 이루어저야 한다.

태스크 정의(Task Definition)

자세한 내용은 공식문서에 친절하게 나와있다. 간단하게 태스크에서 정의할 수 있는 내용들은 다음과 같이 정의할 수 있다.

<aside> 💡 Task Definition 주요 지표

클러스터 만들기

클러스터는 컨테이너를 배포하는 가장 상위의 그룸을 의미한다. 관리하고자 하는 서비스의 총 집합채로 보아도 무방하다.

클러스터 옵션

ECS의 클러스터를 생성하게 되면 다음과 같은 기본적인 템플릿이 제공된다.

  1. 네트워킹 전용

    빈 클러스터를 생성하며, VPC를 생성하여 사용할 수 있다.

  2. EC2 Linux + Networking

    리눅스 기반의 클러스터를 생성하기 위한 템플릿으로 EC2 인스턴스에 Autos Scalining 그룹이 생성된다. 실제로 클러스터를 생성하여 서비스를 실행하면 다음과 같은 인스턴스가 생성된다.

    Untitled

  3. EC2 Windows + Networking

    윈도우 기반 컨테이너 구동을 위한 클러스터 생성을 위한 템플릿이라고 한다. 윈도우 기반 컨테이너는 해당 사항이 아니므로 간단하게만 보고 넘어가자.

서비스 만들기

태스크의 라이프 싸이클을 관리하는 부분을 의미한다. 서비스를 생성하는 방법은 태스크 정의를 등록하여 태스크의 수를 정의한다. 이후에 로드밸런서 등록(옵션)을 하면 된다.

서비스 내부의 태스크가 제대로 작동한다면 아래와 같은 정상적인 웹 페이지가 나타날 것이다.

Untitled