3.7 KiB
| id | created | tags |
|---|---|---|
| 용량 공급자 전략 (Capacity Provider Strategy) 20260305 | 2026-03-05 10:32 |
💡 생각
이곳에 하나의 생각 또는 아이디어를 작성합니다.
📑 개념
[!abstract] 하나 이상의 인프라(용량 공급자)를 어떤 비율로 섞어서 쓸지 결정하는 고도화된 방식입니다. "평소엔 **파게이트(Fargate)**를 쓰되, 비용 절감을 위해 일부는 **파게이트 스팟(Fargate Spot)**을 섞어서 써줘" 같은 전략을 짤 수 있습니다.
📌 상세
-
방식: "평소엔 **파게이트(Fargate)**를 쓰되, 비용 절감을 위해 일부는 **파게이트 스팟(Fargate Spot)**을 섞어서 써줘" 같은 전략을 짤 수 있습니다.
-
핵심 요소:
-
Base (기본값): 최소한 이만큼은 특정 공급자에서 실행해라 (예: 최소 2개는 안정적인 Fargate에서 실행).
-
Weight (가중치): 추가로 늘어나는 태스크는 어떤 비율로 나눌 것인가 (예: Fargate 1 : Fargate Spot 3 비율로 확장).
-
-
비유: "기본 식사 2인분은 코스 요리로 주고, 그 이후 추가되는 음식은 뷔페식 3 : 단품 1 비율로 섞어와주세요"라고 정교하게 주문하는 것과 같습니다.
기본 (Base)
-
의미: "무슨 일이 있어도 최소 이만큼의 개수는 이 공급자에서 실행해라."
-
작동 방식: 서비스가 시작될 때 가장 먼저 채워지는 숫자입니다.
-
예시: 만약
기본을 2로 설정하면, 전체 태스크가 10개든 100개든 상관없이 처음 2개는 무조건 지정된 공급자(Fargate)에서 실행됩니다.
가중치 (Weight)
-
의미: "기본(Base) 개수를 채우고 남은 태스크들을 어떤 비율로 나눌 것인가?"
-
작동 방식: 여러 공급자를 추가했을 때 상대적인 비율로 계산됩니다.
-
예시:
FARGATE(가중치 1)와FARGATE_SPOT(가중치 3)으로 설정하면, 기본 개수를 채운 후 추가되는 4개의 태스크 중 1개는 Fargate, 3개는 Spot에 배치됩니다.
💡 왜 '용량 공급자 전략'을 써야 할까요? (핵심 이유)
가장 큰 장점은 비용 절감과 자동 스케일링입니다. 특히 **EC2(Elastic Compute Cloud)**를 사용하신다면, 시작 유형 방식은 서버(EC2)가 모자랄 때 태스크 실행이 실패하지만, 용량 공급자를 쓰면 ECS가 직접 **Auto Scaling Group(ASG)**에 명령을 내려서 서버를 새로 받아온 뒤 그 위에 태스크(Task)를 띄워줍니다.
**파게이트(Fargate)**를 쓰실 때도 파게이트 스팟(Fargate Spot)을 적절히 섞으면 성능은 유지하면서 비용을 최대 70%까지 아낄 수 있기 때문에, ==요즘은 대부분 이 전략 방식을 사용합니다.==
추천 시나리오
시나리오: "안정성도 챙기고 돈도 아끼고 싶을 때"
| 용량 공급자 | 기본 (Base) | 가중치 (Weight) | 설명 |
|---|---|---|---|
| FARGATE | 2 | 1 | 최소 2개는 절대 꺼지지 않는 일반 Fargate로 유지 (안정성) |
| FARGATE_SPOT | 0 | 3 | 그 이후 늘어나는 태스크는 75% 비율로 저렴한 Spot 사용 (비용 절감) |
왜 이렇게 하나요?
-
안정성:
FARGATE_SPOT은 AWS에서 자원이 부족하면 예고 없이 꺼질 수 있습니다. 하지만Base를 일반FARGATE로 잡아두면, 서버가 아예 먹통이 되는 사태를 방지할 수 있습니다. -
비용: 트래픽이 몰려 태스크가 10개, 20개로 늘어날 때, 늘어난 분량의 대부분(75%)을 훨씬 저렴한 Spot으로 돌려 비용을 대폭 아낄 수 있습니다.