EC2 인스턴스 타입 변경 시 다운타임 분석
1. 다운타임의 세부 구성
일반적인 Linux 인스턴스 기준의 예상 소요 시간입니다.
인스턴스 중지 (1분 ~ 3분): OS가 실행 중인 프로세스를 정리하고 안전하게 종료되는 시간입니다. 루트 볼륨(EBS)의 크기가 크거나 파일 시스템 체크가 필요한 경우 더 길어질 수 있습니다.
유형 변경 (수초): AWS 내부에서 인스턴스 메타데이터를 수정하는 작업으로, 눈 깜짝할 사이에 끝납니다.
인스턴스 시작 및 부팅 (1분 ~ 2분): 새로운 가상 머신(VM)에서 OS가 부팅되고 서비스(Apache, Nginx, DB 등)가 가동되는 시간입니다.
헬스 체크 승인 (30초 ~ 1분): 로드밸런서(ALB)를 사용 중이라면, 인스턴스가 다시 'InService' 상태로 인식되어 트래픽을 받기까지 추가 시간이 소요됩니다.
2. 다운타임에 영향을 주는 변수
Windows vs Linux: Windows 인스턴스는 업데이트 설치나 초기화 과정 때문에 Linux보다 2~3배 더 오래 걸릴 수 있습니다.
인스턴스 크기: 아주 큰 인스턴스(예:
m5.24xlarge)는 하드웨어 리소스를 할당받는 데 시간이 조금 더 걸릴 수 있습니다.탄력적 IP(EIP) 미사용 시: EIP를 사용하지 않는 경우, 재시작 시 공인 IP가 바뀌므로 DNS 전파(Propagation) 시간만큼 서비스 중단이 길어질 수 있습니다.
다운타임 Zero(0)를 위한 엔지니어의 전략
운영계 서비스에서 수 분의 중단도 허용할 수 없다면, '인스턴스 유형 변경' 버튼 대신 아래 방식을 사용해야 합니다.
방법 A: 블루/그린(Blue/Green) 교체
새로운 타입(예:
m5.large)의 인스턴스를 하나 미리 생성합니다.로드밸런서(ALB) 뒤에 새 인스턴스를 붙입니다.
기존 인스턴스(
t3.medium)를 타겟 그룹에서 제거합니다.
장점: 서비스 중단 시간 0초.
방법 B: Auto Scaling Group 인스턴스 새로 고침
ASG의 시작 템플릿(Launch Template)에서 인스턴스 타입을 변경합니다.
'인스턴스 새로 고침(Instance Refresh)' 기능을 실행합니다.
AWS가 순차적으로 기존 인스턴스를 종료하고 새 타입의 인스턴스를 띄웁니다.
장점: 대규모 서버 그룹의 타입을 한꺼번에, 중단 없이 변경 가능.
댓글
댓글 0개
이 문서에는 댓글을 달 수 없습니다.