Docker

[Docker] ECS Fargate 테스트 - Nginx 이미지 빠른 배포

Accept 2025. 7. 10. 00:17

ECS

1. Cluster 생성 (AWS Fargate)

2. Task Definitions 생성

- Task definition family

- AWS Fargate

- Linux/X86_64

- Task size (CPU .25 vCPU / .5GB)

- Task execution role (ecsTaskExecutionRole)

 

* Container - 1

Name : nginx

Imgae URI : nginx -> Private 이미지는 어떻게?

Essential container : Yes (이 컨테이너가 무조건 실행되어야하는지, 살아있는지 여부를 판단하는 기준)

Container port : 80

Resource allocation limits - conditional : Task 내 컨테이너들이 자원을 어떻게 나눠 사용할지에 대한 설정(미설정 시 전체 자원 사용)

 

어떤 이미지를 쓸건지, 컨테이너를 어떻게 정의할지가 핵심

 

3. Run Task

- Capacity provider : FARGATE

* FARGATE_SPOT는 다른 사용자와 서버를 공유해서 사용(강제로 사용 불가할 수도 있으며 안전하지 않음, 단 비용 저렴)

- Applicationtype : Task

- Task definition - Family : 사전에 생성한 Task definition 선택

- VPC, Subnet, Security Group 설정

- Public IP : Turned on

 

4. 생성

 

5. 주의사항

Task definition 생성 시 자동으로 생성된 기본 Cloud Watch 로그 그룹은 삭제 금지, 삭제 시 ECS 기본 권한 그룹에는 로그 그룹 생성 권한이 없기에 Task 생성 에러가 발생됨

 

ECS LB

1. 위 내용에 더해 생성된 Cluster에서 Task가 아닌 Service로 설정 진행

2. Service 선택 시 기대 Service 수 설정 가능 : 3

3. VPC, Subnet, Security Group 등 설정

4. Load balancing 활성화

- Load balancer type 선택 : Application Load Balancer

- Load balancer name 입력 : nginx-lb

- Port, Protocol 선택 : 80, HTTP

- Target Group : Target group name, Health check path 설정 + Health check grace period는 어플리케이션 기동 시간에 맞춰 적절히 설정(테스트 시 약 30초 정도면 적절)

5. 생성

6. CloudFormation > Stacks에서 진행 상황 확인 가능

 

 

K8S

LB는 Cluster 외부에 존재

Cluster Master Node

- 최소 Node 3개 이상 권장

- Pod - Container 1개 권장

 

K8S Pod = ECS Task

'Docker' 카테고리의 다른 글

[Docker] ECS 운영 환경 구축  (0) 2025.07.10
[Docker] 기본 명령어 및 내용 정리  (5) 2025.07.07