ECS- 오토스케일링

은채의 성장통·2025년 2월 19일
0

AWS

목록 보기
69/79

🚀 AWS ECS와 Auto Scaling: 컨테이너 확장 최적화

1️⃣ AWS Auto Scaling이란?

Auto Scaling은 시스템 부하에 따라 자동으로 리소스를 확장하거나 축소하는 AWS의 관리형 서비스다.

  • 필요할 때만 리소스를 추가하여 비용 절감
  • 수요 변화에 따른 자동 대응
  • 안정적인 서비스 운영 가능

✅ ECS와 EC2의 Auto Scaling 차이

Auto Scaling은 ECS 태스크(Task) 단위EC2 인스턴스 단위로 나눠진다.

ECS Auto ScalingEC2 Auto Scaling
대상ECS 태스크 (컨테이너 개수)EC2 인스턴스
확장 방식태스크 개수 조정인스턴스 개수 조정
활용 서비스ECS Service Auto ScalingEC2 Auto Scaling Group
예시트래픽 증가 시 컨테이너 추가서버 CPU 사용량 급증 시 EC2 추가

💡 ECS는 태스크(Task) 개수를 조절하고, EC2는 인스턴스 개수를 조절한다.


2️⃣ ECS Auto Scaling의 동작 방식

ECS에서 태스크를 확장하는 방식은 크게 3가지다.

🔹 1. 타겟 스케일링 (Target Tracking Scaling)

  • 특정 메트릭(CPU, 메모리 등)을 기준으로 자동 확장
  • 예: CPU 사용량 70% 초과 시 태스크 자동 증가

🔹 2. 스텝 스케일링 (Step Scaling)

  • 특정 임계값을 기준으로 단계적으로 확장/축소
  • 예: CPU 사용률 50% 이상 → 태스크 1개 추가, 80% 이상 → 태스크 2개 추가

🔹 3. 스케줄링 스케일링 (Scheduled Scaling)

  • 정해진 시간에 맞춰 태스크 개수 조정
  • 예: 오전 9시 트래픽 증가 예상 → 태스크 미리 추가

3️⃣ ECS Auto Scaling 예제

📌 예제: CPU 사용량에 따른 ECS 태스크 확장

1️⃣ ECS 서비스에 2개의 태스크(Task 1, Task 2)가 실행 중이다.

2️⃣ CPU 사용량 급증 → CloudWatch가 Alarm 발생

3️⃣ Auto Scaling 정책이 작동하여 ECS 태스크 개수 증가

4️⃣ 부하 감소 시, 불필요한 태스크 자동 제거

✅ 활용 사례

  • 웹 서비스 → 트래픽 증가 시 자동 확장하여 안정적인 서비스 제공
  • 데이터 처리 파이프라인 → 데이터가 몰릴 때만 태스크 확장
  • 이벤트 기반 처리 → 특정 시간대에만 태스크 증가

4️⃣ EC2 기반 ECS vs Fargate 기반 ECS Auto Scaling

EC2 기반 ECSFargate 기반 ECS
오토 스케일링 방식EC2 Auto Scaling 활용ECS 태스크만 조정
서버 관리 필요필요 (EC2 인스턴스 관리)불필요 (완전 서버리스)
비용사용량에 따라 변동사용한 만큼만 과금

💡 Fargate를 활용하면 인프라 관리 없이도 ECS Auto Scaling을 사용할 수 있다.


✅ 마무리

  • AWS Auto Scaling을 사용하면 ECS 태스크 개수를 자동으로 조정 가능
  • EC2 기반 ECS는 인스턴스 Auto Scaling, Fargate는 태스크 Auto Scaling 활용
  • 트래픽 급증 시 대응 & 비용 절감 효과
  • CloudWatch + Auto Scaling 조합으로 완전 자동화 가능
profile
인생 별거 없어

0개의 댓글