Auto Scaling 그룹에 포함된 EC2 인스턴스에서 OS 패치, 애플리케이션 업데이트, 디버깅 등과 같은 유지 보수 작업을 진행해야 할 때는 다음과 같은 점을 주의해야 한다.
❗ Auto Scaling이 인스턴스를 자동 교체하는 경우
유지 보수 도중 인스턴스가 일시적으로 응답하지 않거나 상태 확인에 실패하면, Auto Scaling 그룹은 해당 인스턴스를 비정상(Unhealthy) 으로 판단하고 자동으로 종료 + 대체 인스턴스를 생성할 수 있다.
이러한 자동 동작은 유지 보수 중인 인스턴스를 방해할 뿐만 아니라 불필요한 리소스 소모로 이어진다.
✅ 가장 안전하고 효율적인 방식: Standby 상태로 전환
인스턴스를 유지 보수 작업 전에 Standby(대기 상태) 로 전환해두면, Auto Scaling 그룹의 상태 감시 및 교체 대상에서 제외된다.
Standby 상태의 특징:
- Auto Scaling 그룹 감시 대상에서 제외됨
- Load Balancer 대상에서 제외됨 (트래픽 미수신)
- 인스턴스 수 계산에서 제외됨
- 유지 보수 완료 후 다시 원래 상태로 복구 가능
사용예시:
# 1. Standby 상태로 전환
aws autoscaling enter-standby \
--instance-ids i-xxxxxxxxxxxxxxxxx \
--auto-scaling-group-name my-asg \
--should-decrement-desired-capacity
# 2. 유지 보수 작업 수행
# 3. 서비스로 복귀
aws autoscaling exit-standby \
--instance-ids i-xxxxxxxxxxxxxxxxx \
--auto-scaling-group-name my-asg
✅ ✅ 대안: ReplaceUnhealthy 프로세스 일시 중단
또 다른 방법으로는 Auto Scaling 그룹의 ReplaceUnhealthy 프로세스를 일시 중단하는 방법이 있다. 이 방식은 유지 보수 중에 인스턴스가 비정상 상태로 표시되더라도 Auto Scaling이 이를 교체하지 않도록 막는다.
다만 이 방법은 Standby 방식과 달리 트래픽은 계속 수신되기 때문에 Load Balancer에서 해당 인스턴스를 수동으로 제거해야 하고,
작업 후 인스턴스의 상태를 수동으로 Healthy로 설정해야 한다는 번거로움이 있다. 또한 프로세스 재활성화를 잊는 실수도 발생할 수 있어 신중하게 관리해야 한다.
사용 예시:
# ReplaceUnhealthy 중단
aws autoscaling suspend-processes \
--auto-scaling-group-name my-asg \
--scaling-processes ReplaceUnhealthy
# 유지 보수 수행
# 인스턴스 상태 수동 복원
aws autoscaling set-instance-health \
--instance-id i-xxxxxxxxxxxxxxxxx \
--health-status Healthy
# ReplaceUnhealthy 재활성화
aws autoscaling resume-processes \
--auto-scaling-group-name my-asg \
--scaling-processes ReplaceUnhealthy
EC2 인스턴스에 유지 보수 작업이 필요할 때는 Auto Scaling 그룹에서 해당 인스턴스를 Standby로 전환하고, 작업 완료 후 다시 정상 상태로 복귀시키는 것이 가장 안전하고 효율적인 방법이다.
'AWS' 카테고리의 다른 글
EC2 스왑 공간 모니터링: CloudWatch Agent와 기본 지표의 차이 (0) | 2025.05.26 |
---|---|
Amazon MQ란? SNS, SQS와의 차이와 선택 기준 정리 (0) | 2025.05.24 |
AWS KMS와 CloudHSM의 차이와 선택 기준 (0) | 2025.05.23 |
VPC 내부 EC2 인스턴스 간 통신 구조와 보안 설정 이해하기 (0) | 2025.05.22 |
AWS KMS와 S3 서버 측 암호화 방식 정리 (0) | 2025.05.21 |