1. 개념
Auto Scaling 그룹 : 애플리케이션이 해야할 일을 처리할 수 있는 Amazon EC2 인스턴스 그룹
각 Auto Scaling 그룹의 최소 인스턴스 수를 지정가능
언제 인스턴스 수가 늘리고, 언제 인스턴스 수를 줄일지 그 정책 지정 가능
2. 구성요소
- Groups : EC2 인스턴스의 최소 및 최대 인스턴스 수와 원하는 인스턴스 수를 지정 가능
- 구성템플릿(시작구성) : 인스턴스의 AMI ID, 인스턴스 유형, 키 페어, 보안 그룹, 블록 디바이스 매핑 등의 정보 지정
- 조정옵션 : 무슨 조건일 때 확장/축소될지, 또는 스케줄에 따라서 확장/축소 될지 지정
3. 이점
- 내결함성 향상 : 인스턴스가 비정상 상태일 때 이를 감지하여 종료 -> 대체할 인스턴스 시작
- 가용성 향상 : 애플리케이션이 항상 현재 트래픽 요구를 처리할 수 있는 올바른 용량을 갖추도록
- 비용관리 개선 : 필요에 따라 용량을 동적으로 확장 및 축소, 사용한 EC2 인스턴스에 대해서만 비용을 지불
4. 수명주기(life cycle)
EC2 수명주기랑 다름
Auto scaling그룹이 인스턴스를 시작하고, 서비스에 들어갈 때 시작되고
Auto scaling그룹이 서비스에서 인스턴스를 제외하고, 인스턴스가 종료될 때 끝남
Amazon EC2 Auto Scaling 수명주기(life cycle) 상태
1) Scale-out(확장)
auto 스케일링 그룹의 크기를 스케줄이 일어날 때/부하가 올 때, 수동으로/자동으로 늘림
2) inservice(인서비스)
scale in이 발생해서 인스턴스가 종료되어 있는 경우
auto 스케일링 그룹에서 인스턴스가 분리되어 있는 경우
인스턴스를 Standby 상태로 설정하는 경우
3) Scale-in(축소)
auto 스케일링 그룹의 크기를 스케줄이 일어날 때/부하가 끝날 때, 수동으로/자동으로 줄임
*inservice 상태랑 standby상태 차이점
inservice : 확장/축소에 사용하기 위한 준비완료 ec2의 상태
standby : 다음 확장/축소를 위해 대기하고 있는 ec2의 상태
4) 인스턴스 Attach(연결)
5) 인스턴스 Detaach(분리)
6) LifeCycle hook
인스턴스를 시작하거나 종료할 때 사용자 지정 작업을 수행 할 수 있는 장치
예를 들어서, Auto 스케일링 그룹에 있던 인스턴스가 죽어서 그 사이에 인스턴스를 백업 시키는 작업(사용자 지정 작업)을 하려고 할 때 lifecycle hook을 사용해서 홀딩하는 시간을 갖게 함
5. LifeCycle hook
1) Scale-out 일 때 인스턴스 시작
Pending -> inservice로 바뀌기 전에 Pending: wait 상태로 이동
사용자 작업을 처리할 수 있는 홀딩시간
사용자가 지정한 작업이 다 끝나고 나면 Pending:Proceed 상태로 이동
인스턴스에 대한 추가 작업이 완료됐다고 판단하고 auto 스케일링 그룹에 연결(inservice 상태)
2) Scale-in 일 때 인스턴스 종료
Terminating -> Terminated로 바뀌기 전에 Terminating:wait 상태로 이동
사용자 작업을 처리할 수 있는 홀딩시간
사용자가 지정한 작업이 다 끝나고 나면 Terminating:Proceed 상태로 이동
인스턴스에 대한 추가 작업이 완료됐다고 판단하고 auto 스케일링 그룹에서 분리(Terminated 상태)
https://docs.aws.amazon.com/ko_kr/autoscaling/ec2/userguide/lifecycle-hooks.html
'🌴 DevOps > Cloud' 카테고리의 다른 글
[ACM] SSL인증서 개념 및 CA인증기관 (0) | 2020.05.26 |
---|---|
[Cloudwatch] Cloudwatch로 모니터링? Custom Metric 생성 (0) | 2020.05.18 |
[VPC] VPC Peering 개념정리 및 테스트 (0) | 2020.05.11 |
[EC2] 인스턴스 상태검사-시스템상태/인스턴스상태 (0) | 2020.04.15 |
[ELB] ELB종류 (CLB vs ALB vs NLB) + L4 /L7 동작방식 (0) | 2020.04.09 |
[ELB] 로드밸런서란? Health Check기능과 외부 vs 내부 ELB (1) | 2020.04.05 |