[AWS] ECS 사용하기 (2) - ECS 생성하여 배포하기 (with. EC2)

ECS Task 란?

ECS(Elastic Container Service)는 AWS에서 제공하는 컨테이너 관리 서비스입니다. ECS를 사용하여 Docker 컨테이너를 쉽게 배포, 관리 및 확장할 수 있습니다. ECS Task 정의는 이러한 컨테이너를 실행하기 위한 블루프린트 역할을 합니다.

간단하게 말해서, ECS Task 정의는 다음과 같은 정보를 포함합니다:

컨테이너 이미지: 사용할 Docker 이미지를 지정합니다.

CPU 및 메모리 할당: 각 컨테이너 또는 전체 Task에 할당할 CPU 및 메모리 양을 설정합니다.

네트워크 모드: 컨테이너의 네트워킹 설정을 정의합니다.

볼륨: 데이터 저장을 위한 볼륨을 정의하고 컨테이너에 마운트합니다.

환경 변수: 컨테이너에서 사용할 환경 변수를 설정합니다.

실행 명령 및 인자: 컨테이너 시작 시 실행될 명령과 인자를 지정합니다. ECS Task 정의를 사용하여 컨테이너를 어떻게 구성하고 실행할지 정의하고, 이를 ECS 서비스나 단독 Task로 실행하여 컨테이너화된 애플리케이션을 관리합니다. Task 정의는 JSON 형식으로 작성되며, AWS Management Console, AWS CLI, 또는 AWS SDKs를 통해 생성하고 관리할 수 있습니다.

ECS Task 사용방법

Untitled

테스크 정의 패밀리를 정해줍니다.

Untitled

인프라 요구 사항을 적어줍니다. 저희는 AWS Fargate로 선택하고 운영체제는 Linux/x86_64로 선택했습니다. 네트워크 모드는 AWS Fargate선택시 자동으로 awsvpc로 지정됩니다. 테스크 크기는 인스턴스 라고 생각하면 됩니다. CPU는 2vCPU 메모리는 4GB로 하고 하겠습니다.

Untitled

테스크에는 여러가지 컨테이너를 지정할 수 있습니다. 일종의 localhost 환경에서의 docker-compose 환경이라고 생각하면 편합니다. 여러가지 컨테이너를 만들 수 있습니다.

Untitled

필요한 환경변수도 이렇게 지정할 수 있습니다.