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 타입)을 동시에 생성 가능
선행 작업
- VPC/Subnet 구성
- [AWS ECR 리포지토리]
보안 그룹
{{PREFIX}}-sg-alb
| 변수 | 값 | 소스 |
|---|---|---|
| 보안 그룹 이름 | {{PREFIX}}-sg-alb | - |
| 인바운드 규칙 | TCP 80 | 0.0.0.0/0 |
| 인바운드 규칙 | TCP 443 | 0.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 확인