

# 인스턴스 종료 작동 방식
<a name="how-ec2-instance-termination-works"></a>

인스턴스를 종료하면 변경 내용이 인스턴스의 운영 체제(OS) 수준에 등록되며 일부 리소스는 손실되고 일부는 지속됩니다.

다음 다이어그램은 Amazon EC2 인스턴스가 종료될 때 손실되는 항목과 지속되는 항목을 나타냅니다. 인스턴스가 종료되면 인스턴스 저장소 볼륨의 데이터와 인스턴스 RAM에 저장된 데이터가 지워집니다. 인스턴스와 연결된 탄력적 IP 주소가 분리됩니다. Amazon EBS 루트 볼륨과 데이터 볼륨의 경우 결과는 각 볼륨의 **종료 시 삭제** 설정에 따라 달라집니다.

![\[인스턴스가 종료되면 IP 주소, RAM, 인스턴스 저장소 볼륨, EBS 루트 볼륨이 손실됩니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/terminate-instance.png)


## 고려 사항
<a name="terminate-instance-overview"></a>
+ **데이터 지속성**
  + 인스턴스 저장소 볼륨: 인스턴스가 종료될 때 모든 데이터가 영구적으로 삭제됩니다.
  + EBS 루트 볼륨
    + 시작 시 연결된 경우 인스턴스가 종료될 때 기본적으로 삭제됩니다.
    + 시작 후 연결된 경우 인스턴스가 종료될 때 기본적으로 유지됩니다.
  + EBS 데이터 볼륨:
    + 콘솔을 사용하여 시작 시 연결된 경우: 인스턴스가 종료될 때 기본적으로 유지됩니다.
    + CLI를 사용하여 시작 시 연결된 경우: 인스턴스가 종료될 때 기본적으로 삭제됩니다.
    + 콘솔 또는 CLI를 사용하여 시작 후 연결된 경우: 인스턴스가 종료될 때 기본적으로 유지됩니다.
**참고**  
인스턴스 종료 시 삭제되지 않은 볼륨에는 계속 요금이 부과됩니다. 인스턴스 종료 시 볼륨이 삭제되거나 유지되도록 설정을 변경할 수 있습니다. 자세한 내용은 [인스턴스가 종료될 때 데이터 보존](preserving-volumes-on-termination.md) 섹션을 참조하세요.
+ **우발적인 종료로부터 보호**
  + 인스턴스를 실수로 종료하지 않도록 하기 위해 인스턴스에 대한 [종료 방지를 활성화](Using_ChangingDisableAPITermination.md)합니다.
  + 인스턴스에서 종료를 시작할 때 인스턴스의 중지 또는 종료 여부를 제어하려면 [인스턴스 시작 종료 동작](Using_ChangingInstanceInitiatedShutdownBehavior.md)을 변경합니다.
+ **종료 스크립트** - 인스턴스 종료에 대한 스크립트를 실행하는 경우 종료 스크립트의 실행을 보장할 방법이 없기 때문에 인스턴스가 비정상적으로 종료될 수 있습니다. Amazon EC2는 인스턴스를 완전히 종료하고 시스템 종료 스크립트를 실행하려고 시도합니다. 그러나 하드웨어 장애와 같은 특정 이벤트로 인해 이러한 시스템 종료 스크립트가 실행되지 않을 수 있습니다.
+ **베어 메탈 인스턴스** - x86 베어 메탈 인스턴스는 협력적 종료를 지원하지 않습니다.

## 인스턴스 종료 시 발생하는 상황
<a name="what-happens-terminate"></a>

**OS 수준에서 등록된 변경 내용**
+ API 요청은 버튼 누름 이벤트를 게스트로 전송합니다.
+ 버튼 누름 이벤트로 인해 다양한 시스템 서비스가 중지됩니다. 시스템의 정상 종료는 **systemd**(Linux) 또는 시스템 프로세스(Windows)에 의해 제공됩니다. 정상 종료는 하이퍼바이저에서 ACPI 종료 버튼 누름 이벤트에 의해 트리거됩니다.
+ ACPI 종료가 시작됩니다.
+ 정상 종료 프로세스가 종료되면 인스턴스가 종료됩니다. 구성 가능한 OS 종료 시간은 없습니다. 인스턴스는 잠시 동안 콘솔에 표시되며 그 이후 항목이 자동으로 삭제됩니다.

**리소스 손실**
+ 인스턴스 저장소 볼륨에 저장된 데이터.
+ `DeleteOnTermination` 속성이 `true`로 설정된 경우 EBS 루트 볼륨
+ `DeleteOnTermination` 속성이 `true`로 설정된 경우 EBS 데이터 볼륨(시작 시 또는 시작 후 연결됨)

**지속되는 리소스**
+ `DeleteOnTermination` 속성이 `false`로 설정된 경우 EBS 루트 볼륨
+ `DeleteOnTermination` 속성이 `false`로 설정된 경우 EBS 데이터 볼륨(시작 시 또는 시작 후 연결됨)

## 인스턴스 종료에 대한 애플리케이션 응답 테스트
<a name="test-terminate-instance"></a>

AWS Fault Injection Service를 사용하여 인스턴스가 종료될 때 애플리케이션이 어떻게 반응하는지 테스트할 수 있습니다. 자세한 내용은 [AWS Fault Injection Service 사용 설명서](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html)를 참조하세요.