kui-vault/03.Note/용량 공급자 전략 (Capacity Provide...

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 사용 (비용 절감)

왜 이렇게 하나요?

  1. 안정성: FARGATE_SPOT은 AWS에서 자원이 부족하면 예고 없이 꺼질 수 있습니다. 하지만 Base를 일반 FARGATE로 잡아두면, 서버가 아예 먹통이 되는 사태를 방지할 수 있습니다.

  2. 비용: 트래픽이 몰려 태스크가 10개, 20개로 늘어날 때, 늘어난 분량의 대부분(75%)을 훨씬 저렴한 Spot으로 돌려 비용을 대폭 아낄 수 있습니다.