클라우드/AWS

[AWS] Auto Scaling

코딩하는 도람쥐 2025. 5. 27. 08:28
728x90
반응형

✅AWS Auto Scaling

AWS에서 리소스 용량을 자동으로 조절해주는 서비스의 총칭 

EC2 인스턴스, ECS 클로서트, EKS 노드, DynamoDB 테이블, Aurora DB, 클러스터 등 

다양한 AWS 서비스의 용량을 자동으로 확장/축소 할 수 있음. 

 

 - 비용 최적화

- 애플리케이션 성능 유지 

- 장애 대응 자동화 

 

✅ Auto Scaling Group (ASG)

EC2 인스턴스를 자동으로 생성/삭제/관리해주는 그룹

 

- 트래픽 급증 시 자동 확장

- 비용 효율적 운영 가능

- Launch Template/Launch Configuration을 통해 인스턴스 생성 시 필요한 세부 설정 관리

- EC2 오토스케일링은 VM 레벨, EKS는 컨테이너/노드 레벨에서 확장

- 인스턴스 헬스 체크 및 교체 기능 포함

- ALB(로드밸런서) Target Group과 연동 가능

 

 

✅ Auto Scaling 구성 요소

구성 요소 설명
Auto Scaling Group (ASG) 어떤 인스턴스를, 몇 개를, 어떤 조건에서 늘리고 줄일지 정의
Launch Template / Launch Configuration EC2 인스턴스를 어떻게 만들지 정의 (AMI, 인스턴스 타입, 키 페어, 보안그룹, 유저데이터 등)
Scaling Policies CPU 사용률, 네트워크 트래픽 등 기준에 따라 자동 확장/축소
Minimum/Maximum/Desired capacity EC2 인스턴스를 최소 몇 개~최대 몇 개까지, 그리고 현재 몇 개를 유지할 건지
Health Check 문제가 생긴 인스턴스를 자동 교체
Target Group (선택) ALB랑 연결되면 인스턴스를 트래픽 분산 대상으로 등록

 

✅ Launch Template

ASG가 EC2를 만들 때 사용할 “설정서”

 

- 설정 가능한 항목

AMI ID, 인스턴스 타입, 키 페어, 네트워크(VPC, 서브넷), 보안 그룹, User Data 스크립트(웹서버 설치, EFS 마운트 등), IAM Role

★ EC2를 직접 만드는 게 아니라, Launch Templeate를 보고 EC2를 복사해서 만드는 것.

 

✅ ASG 작동 예시

예: 최소 2개, 최대 4개, 기본 2개 EC2 유지

  1. ASG가 Launch Template을 보고 EC2 2개 생성
  2. ALB가 이 EC2들(Target Group)을 대상으로 트래픽 분산
  3. CPU가 80% 넘으면 → EC2 1개 더 생성 (총 3개)
  4. 사용량 줄어들면 → EC2 1개 줄임 (다시 2개 유지)

✅ ECS / EKS / Aurora / DynamoDB 스케일링

서비스스케일링 대상스케일링 방식

ECS (EC2 모드) EC2 인스턴스 수 (클러스터 노드) ASG와 동일하게 EC2 인스턴스 확장/축소
ECS (Fargate 모드) 태스크(task) 수 태스크 수를 늘리거나 줄이는 방식 (서버리스 컨테이너 확장)
EKS (Kubernetes) 워커 노드 EC2 인스턴스 수 ASG 기반으로 노드 수 확장/축소 (Cluster Autoscaler 사용)
Aurora (MySQL/PostgreSQL) 읽기 전용 인스턴스 수 읽기 복제 인스턴스 자동 추가/삭제로 읽기 처리량 조절
DynamoDB 테이블 처리량 (RCU/WCU) 읽기/쓰기 처리량 자동 확장 (온디맨드 또는 프로비저닝 모드)

 

✅보완된 스케일링 시나리오


EC2 ASG: CPU 사용률 80% 이상 → 인스턴스 추가, 30% 이하 → 인스턴스 축소
ECS 서비스 (Fargate 모드): 요청이 많아져 서비스의 태스크 수 자동 증가, 적으면 자동 감소
EKS 클러스터: 파드(pod) 수 증가 → 부족한 노드 자동 추가 (ASG가 EC2 노드 확장), 사용량 감소 → 노드 축소
Aurora: 읽기 부하 증가 시 읽기 전용 인스턴스 자동 추가, 부하 감소 시 축소
DynamoDB: 트래픽 급증 시 처리량 자동 확장, 트래픽 감소 시 축소 (비용 최적화)

728x90
반응형