ScaleInProtection
1 Scale-in 보호 개요
- Scale-in 보호는 Auto Scaling Group(ASG)에서 어떤 인스턴스를 종료할 수 있는지 제어하는 기능입니다.
- 특히 컨테이너 기반 워크로드나 장시간 실행되는 작업을 보호하는 데 유용합니다.
- 기본적으로 ASG 생성 시에는 비활성화되어 있으며, ASG 는 그룹 내 모든 인스턴스를 종료할 수 있습니다.
2 Scale-in 보호 메커니즘
2.1 보호 수준
2.1.1 그룹 수준 보호
- ASG 수준에서 설정하는 기본 보호 메커니즘
- 새로 시작되는 모든 인스턴스에 자동으로 적용
- 인스턴스가 InService 상태가 되면 보호가 시작됨
- 기존 인스턴스에는 영향을 주지 않음
2.1.2 인스턴스 수준 보호
- 개별 인스턴스에 대해 독립적으로 적용
- ASG의 설정과 관계없이 특정 인스턴스만 보호 가능
- 동적으로 활성화/비활성화 가능
3 Scale-in 보호의 제한사항
Scale-in 보호는 다음 상황에서는 인스턴스를 보호하지 않습니다:
- 상태 확인 실패로 인한 교체
- Spot 인스턴스 중단
- Capacity Block 예약 종료
terminate-instance-in-auto-scaling-group
명령을 통한 수동 종료- EC2 콘솔, CLI, API를 통한 수동 종료
참고: EC2 수동 종료로부터 보호하려면 별도로 EC2 종료 보호를 활성화해야 합니다.
4 Scale-in 보호 구현
4.1 ASG 수준 설정
4.1.1 AWS CLI를 사용한 설정
## 신규 인스턴스에 대한 Scale-in 보호 활성화
aws autoscaling update-auto-scaling-group \
--auto-scaling-group-name my-asg \
--new-instances-protected-from-scale-in
4.1.2 Console을 통한 설정
- EC2 콘솔의 Auto Scaling Groups 섹션 접근
- 해당 ASG 선택
- Details 탭에서 Advanced configurations 편집
- "Enable instance scale-in protection" 옵션 선택
4.2 인스턴스 수준 설정
4.2.1 AWS CLI를 사용한 설정
## 특정 인스턴스에 대한 Scale-in 보호 활성화
aws autoscaling set-instance-protection \
--auto-scaling-group-name my-asg \
--instance-ids i-1234567890abcdef0 \
--protected-from-scale-in