인스턴스 종료가 동작하는 방식

인스턴스 종료가 동작하는 방식

인스턴스를 종료하면 인스턴스의 운영 체제(OS) 수준에서 변경 사항이 등록되고, 일부 리소스는 손실되며 일부 리소스는 유지돼요.

출처: 문서

본문

다음 그림은 Amazon EC2 인스턴스가 종료될 때 손실되는 것과 유지되는 것을 보여줘요. 인스턴스가 종료되면 인스턴스 스토어 볼륨의 데이터와 인스턴스 RAM에 저장된 데이터가 지워져요. 인스턴스와 연결된 Elastic IP 주소는 분리돼요. Amazon EBS 루트 볼륨과 데이터 볼륨의 경우 결과는 각 볼륨의 Delete on termination 설정에 따라 달라져요.

고려 사항

데이터 영속성

  • 인스턴스 스토어 볼륨: 인스턴스가 종료되면 모든 데이터가 영구적으로 삭제돼요.
  • EBS 루트 볼륨:
    • 실행 시 연결된 경우: 인스턴스가 종료되면 기본적으로 삭제돼요.
    • 실행 후 연결된 경우: 인스턴스가 종료되면 기본적으로 유지돼요.
  • EBS 데이터 볼륨:
    • 콘솔로 실행 시 연결된 경우: 인스턴스가 종료되면 기본적으로 유지돼요.
    • CLI로 실행 시 연결된 경우: 인스턴스가 종료되면 기본적으로 삭제돼요.
    • 콘솔 또는 CLI로 실행 후 연결된 경우: 인스턴스가 종료되면 기본적으로 유지돼요.

참고 — 인스턴스 종료 시 삭제되지 않는 볼륨은 계속 요금이 발생해요. 인스턴스 종료 시 볼륨을 삭제할지 유지할지 설정을 변경할 수 있어요. 자세한 내용은 인스턴스가 종료될 때 데이터 보존하기 문서를 참고하세요.

실수로 인한 종료 방지

  • 누군가 인스턴스를 실수로 종료하지 못하게 하려면 종료 방지를 활성화하세요.
  • 인스턴스에서 종료가 시작될 때 인스턴스를 중지할지 종료할지 제어하려면 **인스턴스 시작 종료 동작(instance initiated shutdown behavior)**을 변경하세요.

종료 스크립트

  • 인스턴스 종료 시 스크립트를 실행한다면 인스턴스가 비정상적으로 종료될 수 있어요. 종료 스크립트가 실행된다는 보장이 없기 때문이에요. Amazon EC2는 인스턴스를 깨끗하게 종료하고 시스템 종료 스크립트를 실행하려 시도하지만, 하드웨어 장애 같은 특정 이벤트는 시스템 종료 스크립트 실행을 막을 수 있어요.

베어 메탈 인스턴스

  • x86 베어 메탈 인스턴스는 협력 종료(cooperative shutdown)를 지원하지 않아요.

인스턴스를 종료하면 일어나는 일

OS 수준에서 등록되는 변경 사항

  • API 요청이 게스트에 버튼 누름(button press) 이벤트를 보내요.
  • 버튼 누름 이벤트로 인해 다양한 시스템 서비스가 중지돼요. 시스템의 정상 종료는 Linux는 systemd, Windows는 System 프로세스가 제공해요. 정상 종료는 하이퍼바이저의 ACPI 종료 버튼 누름 이벤트에 의해 트리거돼요.
  • ACPI 종료가 시작돼요.
  • 정상 종료 프로세스가 끝나면 인스턴스가 종료돼요. 구성 가능한 OS 종료 시간은 없어요. 인스턴스는 잠시 동안 콘솔에 표시되다가 항목이 자동으로 삭제돼요.

손실되는 리소스

  • 인스턴스 스토어 볼륨에 저장된 데이터.
  • DeleteOnTermination 속성이 true로 설정된 경우 EBS 루트 볼륨.
  • DeleteOnTermination 속성이 true로 설정된 경우 EBS 데이터 볼륨(실행 시 또는 실행 후 연결).

유지되는 리소스

  • DeleteOnTermination 속성이 false로 설정된 경우 EBS 루트 볼륨.
  • DeleteOnTermination 속성이 false로 설정된 경우 EBS 데이터 볼륨(실행 시 또는 실행 후 연결).

인스턴스 종료에 대한 애플리케이션 응답 테스트

AWS Fault Injection Service를 사용해 인스턴스가 종료될 때 애플리케이션이 어떻게 응답하는지 테스트할 수 있어요. 자세한 내용은 AWS Fault Injection Service User Guide를 참고하세요.

더 알아보기

  • 종료하기 (Terminate)
  • 인스턴스 종료 방법