Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- aws SAA-c03
- vmware
- GNS3
- aws cloud
- 네트워크
- EC2 인스턴스
- Firewall
- IAM
- ELB
- ALB
- SAA
- FTP
- Troubleshooting
- aws cloud shcool 8
- CentOS
- NAT
- AWS 자격증
- HTTP
- load balancer
- vyos
- SAA-C03
- linux
- tftp
- docker
- AWS
- aws saa
- aws cloud school
- aws iam
- Ebs
- EC2
Archives
- Today
- Total
나의 공부기록
[AWS] 36. Auto Scaling Group(ASG) & Scaling Policies(크기 조정 정책) 본문
Auto Scaling Group(ASG)
- 웹 사이트/애플리케이션의 변동하는 부하(load)에 따라 EC2 인스턴스를 자동으로 늘리고 줄이는 기능
- 목표
- Scale Out : 부하 증가 시, 인스턴스 추가
- Scale In : 부하 감소 시, 인스턴스 제거
- Min/Max/Desired 개수 유지
- 인스턴스가 죽으면 자동으로 새로 생성
- 로드 밸런서와 연동해 자동 등록
👉ASG는 무료! EC2 사용량만 과금
핵심 구성 요소
구성 요소 | 설명 |
Launch Template | AMI, 인스턴스 타입, 보안 그룹, 키페어 등 포함 |
Min/Max/Desired Capacity | 최소 / 최대 / 초기 인스턴스 수 |
로드 밸런서 연동 | ALB/NLB와 연결하여 트래픽 분산 및 상태 체크 |
VPC/서브넷 정보 | 어떤 네트워크에서 인스턴스 생성할지 결정 |
IAM Role | EC2 인스턴스에 할당할 권한 설정 |
EC2 User Data | 인스턴스 초기 설정 스크립트 |
확장 방식(Scaling Policies)
1️⃣ Dynamic Scaling
- Target Tracking Scaling : 목표 기준에 따라 자동 조절
👉 EX) CPU 40% - Simple/Step Scaling : 알람 기준으로 정해진 수만큼 증가
👉 EX) CPU > 70% ➡️ +2 인스턴스, CPU < 30% ➡️ -1 인스턴스
2️⃣ Scheduled Scaling
- 특정 시간에 확장/축소
👉 EX) 매주 금요일 5시 ➡️ 최소 인스턴스 10개
3️⃣ Predictive Scaling
- 기계 학습 기반 예측으로 자동 스케줄링 확장
- 미리 부하 예측해서 사전 확장
CloudWatch와 연동
- CloudWatch Alarm으로 특정 조건 발생 시, 확장/축소 트리거
- 자주 사용하는 지표
- CPUUtilization : 평균 CPU 사용률
- RequestCountPerTarget : 인스턴스 당 요청 수
- NetworkIn / NetworkOut
- 커스텀 메트릭도 가능
Cooldown Period
- 확장/축소 후 기본 300초 대기 시간
- 그동안 추가 확장/축소 작업 금지
- 준비된 AMI를 사용하면 인스턴스가 더 빨리 응답하고 cooldown 줄일 수 있음
로드 밸런서와의 연동
- ASG에서 생성된 인스턴스는 ALB/NLB에 자동 등록
- 로드 밸런서가 헬스체크 수행 ➡️ 비정상 시, 인스턴스 교체 가능
AutoScaling Group 실습
1. Auto Scaling Group 생성
2. 시작 템플릿 선택
- 시작 템플릿 생성
3. 네트워크 선택
- 가용영역 선택
4. 로드밸런서 선택
5. 원하는 용량 & 크기 선택
- 원하는 용량 : 유지되었으면 좋겠는 크기
6. Auto Scaling 그룹 생성 확인
- 활동 - EC2 생성 및 활동 내역 확인 가능
- EC2 생성 & Healthy 확인
7. ALB 접속 시, EC2 접속 확인
AutoScaling Group - Scaling Policies 실습
1️⃣ 동적 크기 조정 정책 - Dynamic Scaling Policies
1. 동적 크기 조정 정책 생성
1-1. 단순 크기 조정
- CloudWatch 경보에 따른 작업 수행
➡️ 인스턴스 추가/삭제(경보에 따른 단일 작업)
1-2. 단계 크기 조정
- 경보 단계별 작업 설정 가능
➡️ 다수의 작업 설정 가능
1-3. 대상 추적 크기 조정 - 🌟본 실습에서는 '대상 추적 크기 조정'을 사용
2. 동적 크기 조정 정책 생성 확인
3. ASG의 크기 조정 한도 수정
4. EC2 인스턴스에 부하
- ASG에 포함된 인스턴스에 부하를 주어 CPU가 40% 이상 사용하여 정책에 의해 EC2 인스턴스가 생성되는지 확인
4-1. 인스턴스 연결
4-2. stress 패키지 설치
[ec2-user@ip-172-31-16-56 ~]$ sudo amazon-linux-extras install epel -y
[ec2-user@ip-172-31-16-56 ~]$ sudo yum install stress -y
4-3. 부하 주기
[ec2-user@ip-172-31-16-56 ~]$ stress -c 4
5. ASG의 모니터링 > EC2 인스턴스의 CPU 사용량 확인
6. 인스턴스 증가 확인
- Scale Out : 1 ➡️ 2
7. CloudWatch 경보 확인
8. 부하 멈춤
9. ASG의 모니터링 > 인스턴스 CPU 사용량 감소 확인
10. Scaling Policies를 통해 Scale In 된 것을 확인 가능
2️⃣ 예측된 크기 조정 정책 - Predictive Scaling Policies
- Machine Learning 기반
3️⃣ 예약된 작업 - Scheduled Actions
- 향후 스케일링 작업을 예약 가능
'자격증 > AWS' 카테고리의 다른 글
[AWS] 35. Connection Draining(연결 드레이닝) (1) | 2025.04.10 |
---|---|
[AWS] 34. ELB의 SSL 인증서 (0) | 2025.04.10 |
[AWS] 33. Cross-Zone Load Balancing (0) | 2025.04.10 |
[AWS] 32. GateWay Load Balancer(GWLB) & Sticky Sessions(고정 세션) (0) | 2025.04.10 |
[AWS] 31. NLB(Network Load Balancer) (0) | 2025.04.10 |