EC2 인스턴스 중지와 시작의 동작 방식
EC2 인스턴스 중지와 시작의 동작 방식
Amazon EC2 인스턴스를 중지하면 운영 체제(OS) 수준에서 변경 사항이 등록되고 일부 리소스는 사라지며 일부는 유지돼요. 인스턴스를 시작하면 인스턴스 수준에서 변경 사항이 등록돼요. 이 절에서 중지·시작 시 일어나는 일과 관련 비용을 살펴볼게요.
출처: 문서
본문
Amazon EC2 인스턴스를 중지하면 인스턴스의 OS 수준에서 변경 사항이 등록되고, 일부 리소스는 사라지며 일부는 유지돼요. 인스턴스를 시작하면 인스턴스 수준에서 변경 사항이 등록돼요.
인스턴스를 중지할 때 일어나는 일
다음은 기본 중지 방법을 사용해 인스턴스를 중지할 때 일반적으로 일어나는 일을 설명해요. 사용하는 중지 방법에 따라 일부 측면이 달라질 수 있어요.
OS 수준에서 등록되는 변경 사항
- API 요청이 게스트에 버튼 누름(button press) 이벤트를 보내요.
- 버튼 누름 이벤트의 결과로 다양한 시스템 서비스가 중지돼요. 하이퍼바이저의 ACPI shutdown 버튼 누름 이벤트로 정상적인(graceful) OS 종료가 트리거돼요.
- ACPI shutdown이 시작돼요.
- 정상적인 OS 종료 프로세스가 끝나면 인스턴스가 종료돼요. 구성 가능한 OS 종료 시간은 없어요.
- 인스턴스 OS가 몇 분 안에 깨끗하게 종료되지 않으면 하드 종료(hard shutdown)가 수행돼요.
- 인스턴스 실행이 중지돼요.
- 인스턴스 상태가
stopping으로 바뀐 다음stopped로 바뀌어요. - [Auto Scaling] 인스턴스가 Auto Scaling 그룹에 있다면, 인스턴스가
running이 아닌 다른 Amazon EC2 상태이거나 상태 확인에서 status가 impaired가 되면 Amazon EC2 Auto Scaling은 인스턴스를 비정상으로 간주하고 교체해요. 자세한 내용은 Amazon EC2 Auto Scaling User Guide의 Health checks for instances in an Auto Scaling group을 참고하세요. - [Windows 인스턴스] Windows 인스턴스를 중지·시작하면 시작 에이전트가 연결된 Amazon EBS 볼륨의 드라이브 문자를 바꾸는 등 인스턴스에서 작업을 수행해요. 이러한 기본값과 변경 방법에 대한 자세한 내용은 Use the EC2Launch v2 agent to perform tasks during EC2 Windows instance launch을 참고하세요.
사라지는 리소스
- RAM에 저장된 데이터
- 인스턴스 스토어 볼륨에 저장된 데이터
- Amazon EC2가 시작하거나 켤 때 인스턴스에 자동으로 할당한 공용 IPv4 주소. 절대 변하지 않는 공용 IPv4 주소를 유지하려면 Elastic IP 주소를 인스턴스에 연결할 수 있어요.
유지되는 리소스
- 연결된 모든 Amazon EBS 루트 및 데이터 볼륨
- Amazon EBS 볼륨에 저장된 데이터
- 연결된 모든 네트워크 인터페이스
네트워크 인터페이스에는 유지되는 다음 리소스가 포함돼요.
- 개인 IPv4 주소
- IPv6 주소
- 인스턴스와 연결된 Elastic IP 주소. 참고로 인스턴스가 중지되면 연결된 Elastic IP 주소에 대해 요금이 부과돼요.
다음 다이어그램은 EC2 인스턴스가 중지될 때 무엇이 유지되고 무엇이 사라지는지 보여줘요. 다이어그램은 세 부분으로 나뉘어요. Running EC2 instance라는 첫 부분은 리소스를 가진 running 상태의 인스턴스를 보여주고, Stopped EC2 instance라는 두 번째 부분은 유지되는 리소스를 가진 stopped 상태의 인스턴스를 보여줘요. Lost라는 세 번째 부분은 인스턴스가 중지될 때 사라지는 리소스를 보여줘요.
Mac 인스턴스를 중지할 때 일어나는 일에 대한 정보는 Stop or terminate your Amazon EC2 Mac instance을 참고하세요.
인스턴스를 시작할 때 일어나는 일
- 대부분의 경우 인스턴스는 새 기본 호스트 컴퓨터로 마이그레이션돼요(단, Dedicated Host 구성의 호스트에 인스턴스가 할당된 경우처럼 일부 경우에는 현재 호스트에 남아 있어요).
- 연결된 EBS 볼륨과 네트워크 인터페이스가 인스턴스에 다시 연결돼요.
- 인스턴스가 공용 IPv4 주소를 받도록 구성된 경우 Amazon EC2는 인스턴스에 새 공용 IPv4 주소를 할당해요(보조 네트워크 인터페이스나 Elastic IP 주소와 연결된 보조 개인 IPv4 주소가 없는 경우).
- 배치 그룹(placement group)의 인스턴스를 중지했다가 다시 시작하면 계속 그 배치 그룹에서 실행돼요. 하지만 인스턴스에 충분한 용량이 없으면 시작이 실패할 수 있어요. 이미 실행 중인 인스턴스가 있는 배치 그룹에서 인스턴스를 시작할 때 용량 오류가 발생하면, 배치 그룹의 모든 인스턴스를 중지하고 다시 모두 시작하세요. 인스턴스를 시작하면 요청된 모든 인스턴스에 대한 용량이 있는 하드웨어로 마이그레이션될 수 있어요.
중지·시작에 대한 애플리케이션 응답 테스트
AWS Fault Injection Service를 사용해 인스턴스가 중지·시작될 때 애플리케이션이 어떻게 응답하는지 테스트할 수 있어요. 자세한 내용은 AWS Fault Injection Service User Guide를 참고하세요.
인스턴스 중지·시작 관련 비용
인스턴스 중지와 시작과 관련된 다음 비용이 발생해요.
- 중지(Stopping) – 인스턴스 상태가
shutting-down또는terminated로 바뀌는 즉시 인스턴스에 대한 요금이 더 이상 발생하지 않아요. 중지된 인스턴스에는 사용량이나 데이터 전송 요금이 부과되지 않아요. Amazon EBS 스토리지 볼륨을 저장하는 데는 요금이 발생해요. - 시작(Starting) – 중지된 인스턴스를 시작할 때마다 최소 1분의 사용량이 청구돼요. 1분 후에는 사용한 초만 청구돼요. 예를 들어 인스턴스를 20초 실행한 후 중지하면 1분 사용량이 청구돼요. 인스턴스를 3분 40초 실행하면 3분 40초 사용량이 청구돼요.