본문으로 건너뛰기

ECS Fargate 템플릿

ECS Fargate 템플릿

목차


아키텍처 개요

┌─────────────────────────────────────────────────────────┐
│ ECS Cluster (Fargate) │
│ ┌─────────────────────────────────────────────────┐ │
Internet ──► ALB ──►│ │ task (ENI: 10.0.10.x) │ │
:80 :{{PORT}} │ │ Port {{PORT}} (서버리스) │ │
│ └─────────────────────────────────────────────────┘ │
│ Target Group: IP Type (awsvpc - Fargate 필수) │
└─────────────────────────────────────────────────────────┘

Fargate: 서버리스 컨테이너 → EC2 관리 불필요, awsvpc 필수

장점: 서비스 생성 시 ALB와 대상 그룹(IP 타입)을 동시에 생성 가능

선행 작업


보안 그룹

{{PREFIX}}-sg-alb

변수소스
보안 그룹 이름{{PREFIX}}-sg-alb-
인바운드 규칙TCP 800.0.0.0/0
인바운드 규칙TCP 4430.0.0.0/0
아웃바운드 규칙모든 트래픽0.0.0.0/0

{{PREFIX}}-sg-ecs-task

변수소스
보안 그룹 이름{{PREFIX}}-sg-ecs-task-
인바운드 규칙TCP {{PORT}}{{PREFIX}}-sg-alb
아웃바운드 규칙모든 트래픽0.0.0.0/0

클러스터

구분항목
클러스터 이름클러스터 이름{{PREFIX}}-cluster
인프라컴퓨팅 용량 확보 방법AWS Fargate (서버리스)✅

Fargate는 EC2 인스턴스 설정이 필요 없음


태스크 정의

구분항목
태스크 정의 구성테스크 정의 패밀리{{PREFIX}}-task
인프라 요구 사항시작 유형AWS Fargate✅
OS, 아키텍쳐, 네트워크 모드Linux/x86_64, awsvpc (필수)
CPU (vCPU)0.5 vCPU
메모리 (GB)1 GB
태스크 역할ecsTaskExecutionRole
태스크 실행 역할ecsTaskExecutionRole
컨테이너컨테이너-1-이름{{CONTAINER_NAME}}
컨테이너-1-이미지 URI{{ECR_URI}}
컨테이너-1-포트{{PORT}}
리소스 할당 제한0 0 0 0 (비권장)

서비스 정의

구분항목
서비스 세부 정보테스크 정의 패밀리{{PREFIX}}-task
테스크 정의 개정1
서비스 이름{{PREFIX}}-service
환경컴퓨팅 구성-컴퓨팅 옵션용량 공급자 전략✅
용량 공급자FARGATE
배포 구성스케줄링 전략복제본
원하는 태스크2
가용 영역 리밸런싱
네트워킹vpc{{PREFIX}}-vpc
서브넷{{PREFIX}}-subnet-private1-1a,{{PREFIX}}-subnet-private2-1b
보안 그룹 이름{{PREFIX}}-sg-ecs-task
⭐로드 밸런싱새 로드 밸런서 생성✅ (또는 기존 선택)
로드 밸런서 이름{{PREFIX}}-alb
로드 밸런서 유형ALB
대상 그룹-이름{{PREFIX}}-tg
대상 그룹-타입IP
대상 그룹-프로토콜HTTP
대상 그룹-포트{{PORT}}
상태 확인 경로/
서비스 자동 크기 조정서비스 자동 크기 조정 사용
최소 태스크 개수2
최대 태스크 개수4
CPU 사용률75%

점검

  • 라우팅 테이블 확인 (NAT, IGW)
  • ALB 보안 그룹 확인
  • ALB 서브넷 확인 (Public)
  • 태스크 보안 그룹 확인
  • 대상 그룹 타입 확인 (IP)
  • 대상 그룹 Health Check 확인

관련 문서

그래프 뷰

그래프 데이터 로딩 중…
현재: ECS Fargate 템플릿
노드 클릭 → 이동 · 드래그 → 위치 조정