✅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 유지
- ASG가 Launch Template을 보고 EC2 2개 생성
- ALB가 이 EC2들(Target Group)을 대상으로 트래픽 분산
- CPU가 80% 넘으면 → EC2 1개 더 생성 (총 3개)
- 사용량 줄어들면 → 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: 트래픽 급증 시 처리량 자동 확장, 트래픽 감소 시 축소 (비용 최적화)
'클라우드 > AWS' 카테고리의 다른 글
[AWS][SOA -C02] aws-certified-sysops-administrator-associate 31 ~ 50 (1) | 2025.07.16 |
---|---|
[AWS] 로드 밸런서(ELB: Elastic Load Balancing) | ALB, NLB (0) | 2025.05.22 |
[AWS] EC2, 인스턴스, 리전, 가용 영역 (0) | 2025.05.22 |
[AWS] VPC 개념 및 구성 요소 완벽 정리 (0) | 2025.05.22 |
[AWS] 컨테이너 (0) | 2025.05.19 |