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 |