

# Amazon EC2 인스턴스 상태 변경
<a name="ec2-instance-lifecycle"></a>

Amazon EC2 인스턴스는 시작한 순간부터 종료될 때까지 다양한 상태로 전환됩니다.

다음 그림은 인스턴스 상태 간 전환을 나타냅니다.

![\[인스턴스 수명 주기입니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/instance_lifecycle.png)


인스턴스 상태가 변경될 때 알림을 받을 수 있습니다. 자세한 내용은 [Amazon EC2 인스턴스의 상태 변경 이벤트](monitoring-instance-state-changes.md) 섹션을 참조하세요.

## 인스턴스 상태별 청구
<a name="instance-billing-by-state"></a>

다음 테이블에서는 각 인스턴스 상태에 대한 간략한 설명과 인스턴스 사용량에 대한 비용 청구 여부를 제공합니다. Amazon EBS 볼륨 및 탄력적 IP 주소와 같은 일부 AWS 리소스는 인스턴스의 상태와 상관없이 요금이 발생합니다. 자세한 내용은 *AWS Billing 사용 설명서*에서 [예기치 않은 비용 방지](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/checklistforunwantedcharges.html)를 참조하세요.


| 인스턴스 상태 | 설명 | 인스턴스 사용 요금 | 
| --- | --- | --- | 
|  `pending`  |  인스턴스는 `running` 상태로 될 준비를 하고 있습니다. 인스턴스는 시작되거나 `stopped` 상태 이후에 시작되면 `pending` 상태로 들어갑니다.  |  미청구  | 
|  `running`  |  인스턴스를 실행하고 사용할 준비가 되었습니다.  |  청구  | 
|  `stopping`  |  인스턴스를 중지할 준비를 하고 있습니다.  |  미청구  인스턴스를 최대 절전 모드로 전환하면 인스턴스가 `stopping` 상태인 동안 요금이 청구됩니다.   | 
|  `stopped`  |  인스턴스가 종료되고 사용이 불가합니다. 언제든지 인스턴스를 다시 시작할 수 있습니다.  |  미청구  | 
|  `shutting-down`  |  인스턴스가 종료할 준비를 하고 있습니다.  |  미청구  | 
|  `terminated`  |  인스턴스가 영구적으로 삭제되었으며 시작할 수 없습니다.  |  미청구  종료된 인스턴스에 적용되는 예약 인스턴스는 결제 옵션에 따라 기간이 종료될 때까지 요금이 청구됩니다. 자세한 내용은 [Amazon EC2용 예약 인스턴스 개요](ec2-reserved-instances.md) 섹션을 참조하세요.   | 

## 보류 중인 인스턴스
<a name="instance-launch"></a>

인스턴스를 시작하면 인스턴스가 `pending` 상태로 전환됩니다. 시작 시 지정한 인스턴스 유형에 따라 인스턴스에 사용되는 호스트 컴퓨터의 하드웨어가 결정됩니다. 인스턴스는 시작 시 사용자가 지정한 Amazon Machine Image(AMI)를 사용하여 부팅됩니다. 인스턴스 사용이 준비되고 나면 인스턴스가 `running` 상태로 전환됩니다. 실행 중인 인스턴스에 연결하여 바로 앞에 있는 컴퓨터를 사용하는 것처럼 인스턴스를 사용할 수 있습니다.

인스턴스가 `running` 상태로 전환되는 즉시 인스턴스 실행이 지속된 각 초(최소 1분)에 대해 비용이 청구됩니다. 인스턴스가 유휴 상태이고 인스턴스에 연결하지 않더라도 마찬가지입니다.

## 중지된 인스턴스
<a name="instance-stop-start"></a>

인스턴스가 상태 확인을 통과하지 못하거나 애플리케이션이 예상대로 실행되고 있지 않은 경우 또는 인스턴스의 루트 볼륨이 Amazon EBS 볼륨인 경우 인스턴스를 중지했다가 시작하여 문제를 해결해 볼 수 있습니다.

인스턴스를 중지하면 `stopping` 상태로 전환되고 나서 `stopped` 상태로 전환됩니다. 인스턴스가 `stopped`인 경우에는 인스턴스에 대한 사용 또는 데이터 전송 요금이 청구되지 않습니다. 모든 Amazon EBS 볼륨의 스토리지에는 요금이 부과됩니다. 인스턴스가 `stopped`상태인 경우 인스턴스 유형을 비롯하여 인스턴스의 특정 속성을 수정할 수 있습니다.

인스턴스를 시작하면 인스턴스가 `pending` 상태로 전환되며, 인스턴스가 새 호스트 컴퓨터로 이동됩니다(경우에 따라 현재 호스트에 남아 있음). 인스턴스를 중지했다가 시작하면 이전 호스트 컴퓨터에 연결된 인스턴스 스토어 볼륨에 있는 데이터가 모두 손실됩니다.

인스턴스에서 프라이빗 IPv4 주소가 유지됩니다. 즉, 프라이빗 IPv4 주소 또는 네트워크 인터페이스와 연결된 탄력적 IP 주소와 인스턴스가 연결된 상태로 유지된다는 의미입니다. 인스턴스에 IPv6 주소가 있는 경우 해당 IPv6 주소를 유지합니다.

`stopped`에서 `running`으로 인스턴스를 전환할 때마다 인스턴스 실행 시간에 대해 초 단위로 요금을 청구하며, 인스턴스를 시작할 때마다 최소 1분의 요금이 부과됩니다.

인스턴스의 중지 및 시작에 대한 자세한 내용은 [Amazon EC2 인스턴스 중지 및 시작](Stop_Start.md) 단원을 참조하세요.

## 최대 절전 모드로 전환된 인스턴스
<a name="instance-hibernate"></a>

인스턴스를 최대 절전 모드로 전환하면 운영 체제에 최대 절전 모드(suspend-to-disk)를 수행하도록 알립니다. 그러면 인스턴스 메모리(RAM)의 콘텐츠를 Amazon EBS 루트 볼륨에 저장합니다. 인스턴스의 Amazon EBS 루트 볼륨과 연결된 모든 Amazon EBS 데이터 볼륨을 유지합니다. 인스턴스를 시작하면 Amazon EBS 루트 볼륨이 이전 상태로 복원되고, RAM 콘텐츠가 다시 로드됩니다. 이전에 연결된 데이터 볼륨이 다시 연결되고, 인스턴스는 해당 인스턴스 ID를 유지합니다.

인스턴스를 최대 절전 모드로 전환하면 `stopping` 상태로 전환되고 나서 `stopped` 상태로 전환됩니다. 최대 절전 모드로 전환하지 않고 [인스턴스를 중지](#instance-stop-start)한 경우와 달리 최대 절전 모드 인스턴스가 `stopped` 상태이면 해당 인스턴스에 대해서는 사용 요금을 청구할 수 없지만 `stopping` 상태일 때 비용이 청구됩니다. 데이터 전송에 대해 사용 요금이 부과되지는 않지만 RAM 데이터에 대한 스토리지를 포함해 모든 Amazon EBS 볼륨에 대한 스토리지 요금은 부과됩니다.

최대 절전 모드의 인스턴스를 시작하면 인스턴스가 `pending` 상태로 전환되며, 인스턴스가 새 호스트 컴퓨터로 이동됩니다(경우에 따라 현재 호스트에 남아 있음).

인스턴스에서 프라이빗 IPv4 주소가 유지됩니다. 즉, 프라이빗 IPv4 주소 또는 네트워크 인터페이스와 연결된 탄력적 IP 주소가 여전히 인스턴스와 연결되어 있다는 의미입니다. 인스턴스에 IPv6 주소가 있는 경우 해당 IPv6 주소를 유지합니다.

자세한 내용은 [Amazon EC2 인스턴스를 최대 절전 모드로 전환](Hibernate.md) 섹션을 참조하세요.

## 재부팅 중인 인스턴스
<a name="instance-reboot"></a>

Amazon EC2 콘솔, 명령줄 도구 및 Amazon EC2 API를 사용하여 인스턴스를 재부팅할 수 있습니다. Amazon EC2를 사용하여 인스턴스에서 운영 체제 재부팅 명령을 실행하는 대신 인스턴스를 재부팅하는 것이 좋습니다.

인스턴스 재부팅은 운영 체제 재부팅과 같습니다. 인스턴스가 동일한 호스트 컴퓨터에 남아 있고, 퍼블릭 DNS 이름, 프라이빗 IP 주소 및 인스턴스 스토어 볼륨의 모든 데이터가 유지됩니다. 일반적으로 재부팅을 완료하는 데 몇 분 정도 소요되지만, 재부팅 소요 시간은 인스턴스 구성에 따라 달라집니다.

인스턴스를 재부팅하면 인스턴스 청구 시간이 새로 시작되지 않으며, 최소 1분 요금 부과 없이 초 단위 결제가 계속됩니다.

자세한 내용은 [Amazon EC2 인스턴스 재부팅](ec2-instance-reboot.md) 섹션을 참조하세요.

## 종료된 인스턴스
<a name="instance-termination"></a>

더 이상 인스턴스가 필요하지 않다고 판단되면 인스턴스를 종료할 수 있습니다. 인스턴스 상태가 `shutting-down` 또는 `terminated`로 변경되는 즉시 해당 인스턴스에 대한 요금 부과가 중지됩니다.

종료 방지 기능을 사용하는 경우 콘솔, CLI 또는 API를 사용하여 인스턴스를 종료할 수 없습니다.

인스턴스는 종료한 후에도 잠시 동안 콘솔에 표시되며 그 이후 항목이 자동으로 삭제됩니다. 또한 CLI 및 API를 사용하여 종료된 인스턴스를 설명할 수도 있습니다. 리소스(예: 태그)는 종료된 인스턴스에서 점차 연결 해제되므로 잠시 후 종료된 인스턴스에서 더 이상 보이지 않을 수 있습니다. 종료한 인스턴스에 연결하거나 복구할 수 없습니다.

각각의 Amazon EBS 기반 인스턴스는 `InstanceInitiatedShutdownBehavior` 속성을 지원하는데, 이러한 속성은 인스턴스 자체 내에서 종료를 시작할 때 인스턴스가 중지되는지 또는 종료되는지를 제어합니다(예: Linux에서 **shutdown** 명령 사용). 기본 동작은 인스턴스를 중지하는 것입니다. 인스턴스가 실행 중이거나 중단된 상태에 있을 때 이 속성을 수정할 수 있습니다.

각각의 Amazon EBS 볼륨은 `DeleteOnTermination` 속성을 지원하는데, 이 속성은 연결된 인스턴스를 종료할 때 볼륨이 삭제되는지, 유지되는지를 제어합니다. 기본값은 루트 볼륨을 삭제하고 다른 EBS 볼륨을 유지하는 것입니다.

자세한 내용은 [Amazon EC2 인스턴스 종료](terminating-instances.md) 섹션을 참조하세요.

## 인스턴스 상태 간 차이
<a name="lifecycle-differences"></a>

다음 표에는 인스턴스 재부팅, 중지, 최대 절전 모드 및 종료의 주요 차이점이 요약되어 있습니다.


| 특성 | 재부팅 | 중지/시작(Amazon EBS 기반 인스턴스에만 해당) | 최대 절전 모드(Amazon EBS 지원 인스턴스에만 해당) | Terminate | 
| --- | --- | --- | --- | --- | 
|  호스트 컴퓨터  |  인스턴스가 동일 호스트 컴퓨터에서 유지됩니다.  |  인스턴스가 새 호스트 컴퓨터로 이동됩니다(경우에 따라 현재 호스트에 남아 있음).  |  인스턴스가 새 호스트 컴퓨터로 이동됩니다(경우에 따라 현재 호스트에 남아 있음).  |  없음  | 
|  프라이빗 IPv4 주소  |  인스턴스가 관련 프라이빗 IPv4 주소를 유지합니다.  |  인스턴스가 관련 프라이빗 IPv4 주소를 유지합니다.  |  인스턴스가 관련 프라이빗 IPv4 주소를 유지합니다.  |  없음  | 
|  퍼블릭 IPv4 주소  |  인스턴스가 퍼블릭 IPv4 주소를 유지합니다.  |  인스턴스에 탄력적 IP 주소와 연결된 보조 네트워크 인터페이스 또는 보조 프라이빗 IPv4 주소가 없는 경우 인스턴스는 새 퍼블릭 IPv4 주소를 가져옵니다.  |  인스턴스에 탄력적 IP 주소와 연결된 보조 네트워크 인터페이스 또는 보조 프라이빗 IPv4 주소가 없는 경우 인스턴스는 새 퍼블릭 IPv4 주소를 가져옵니다.  |  없음  | 
|  탄력적 IP 주소(IPv4)  |  탄력적 IP 주소가 인스턴스와 연결된 상태로 유지됩니다.  |  탄력적 IP 주소가 인스턴스와 연결된 상태로 유지됩니다.  |  탄력적 IP 주소가 인스턴스와 연결된 상태로 유지됩니다.  |  인스턴스로부터 탄력적 IP 주소 연결이 끊깁니다.  | 
|  IPv6 주소  |  인스턴스가 관련 IPv6 주소를 유지합니다.  |  인스턴스가 관련 IPv6 주소를 유지합니다.  |  인스턴스가 관련 IPv6 주소를 유지합니다.  |  없음  | 
|  인스턴스 스토어 볼륨  |  데이터가 유지됩니다.  |  데이터가 지워집니다.  |  데이터가 지워집니다.  |  데이터가 지워집니다.  | 
|  루트 볼륨  |  볼륨이 유지됩니다.  |  볼륨이 유지됩니다.  |  볼륨이 유지됩니다.  |  볼륨이 기본적으로 삭제됩니다.  | 
|  RAM(메모리의 콘텐츠)  |  RAM이 지워집니다.  |  RAM이 지워집니다.  |  RAM은 루트 볼륨의 파일에 저장됩니다.  |  RAM이 지워집니다.  | 
|  결제  |  인스턴스 결제 시간이 변경되지 않습니다.  |  상태가 `stopping`으로 변경되는 즉시 인스턴스에 대한 요금 발생이 중지됩니다. 인스턴스 상태가 `stopped`에서 `running`으로 전환될 때마다 새로운 인스턴스 결제 기간이 시작되며, 인스턴스를 시작할 때마다 최소 1분의 요금이 부과됩니다.  |  인스턴스가 `stopping` 상태이면 비용이 발생하지만 `stopped` 상태일 때는 비용이 발생하지 않습니다. 인스턴스 상태가 `stopped`에서 `running`으로 전환될 때마다 새로운 인스턴스 결제 기간이 시작되며, 인스턴스를 시작할 때마다 최소 1분의 요금이 부과됩니다.  |  상태가 `shutting-down`으로 변경되는 즉시 인스턴스에 대한 요금 발생이 중지됩니다.  | 

운영 체제 종료 명령을 실행하면 항상 인스턴스 저장소 루트 볼륨이 있는 인스턴스가 종료됩니다. 운영 체제 종료 명령으로 EBS 루트 볼륨이 있는 인스턴스의 중지 또는 종료를 제어할 수 있습니다. 자세한 내용은 [인스턴스가 시작하는 종료 동작 변경](Using_ChangingInstanceInitiatedShutdownBehavior.md) 섹션을 참조하세요.

# Amazon EC2 인스턴스 중지 및 시작
<a name="Stop_Start"></a>

Amazon EBS 볼륨을 루트 볼륨으로 사용하는 인스턴스를 중지했다가 다시 시작할 수 있습니다. 인스턴스를 중지하면 인스턴스가 종료됩니다. 인스턴스를 시작하면 일반적으로 새 기본 호스트 컴퓨터로 마이그레이션되고 새 퍼블릭 IPv4 주소가 할당됩니다.

인스턴스 중지는 사용자가 시작하거나(인스턴스를 수동으로 중지하는 경우), AWS에 의해 시작될 수 있습니다(AWS가 인스턴스의 기본 호스트에서 복구할 수 없는 장애를 감지한 경우 예약된 중지 이벤트에 대한 응답으로).

사용자가 시작한 중지의 경우 인스턴스에서 운영 체제 중지 명령을 실행하는 대신 Amazon EC2 콘솔, CLI 또는 API를 사용하는 것이 좋습니다. Amazon EC2를 사용하는 경우 인스턴스가 몇 분 안에 완전히 종료되지 않으면 Amazon EC2가 하드 종료를 수행합니다. 또한 AWS CloudTrail에서는 인스턴스가 중지된 시점의 API 레코드를 생성합니다.

이 주제에서는 사용자가 시작하는 중지를 수행하는 방법을 설명합니다. AWS에서 수행하는 중지에 대한 자세한 내용은 [중지 또는 사용 중지하도록 Amazon EC2 인스턴스 관리](schedevents_actions_retire.md) 섹션을 참조하세요.

인스턴스를 중지해도 해당 인스턴스는 삭제되지 않습니다. 더 이상 필요 없는 인스턴스는 종료할 수 있습니다. 자세한 내용은 [Amazon EC2 인스턴스 종료](terminating-instances.md) 섹션을 참조하세요. 인스턴스를 최대 절전 모드로 전환하여 인스턴스 메모리(RAM)의 콘텐츠를 저장하려면 [Amazon EC2 인스턴스를 최대 절전 모드로 전환](Hibernate.md) 섹션을 참조하세요. 인스턴스 수명 주기 작업 간의 차이점에 대해서는 [인스턴스 상태 간 차이](ec2-instance-lifecycle.md#lifecycle-differences) 섹션을 참조하세요.

**Topics**
+ [작동 방식](how-ec2-instance-stop-start-works.md)
+ [인스턴스를 중지하는 방법](instance-stop-methods.md)
+ [수동 중지 및 시작](#starting-stopping-instances)
+ [자동 중지 및 시작](#stop-start-ec2-instances-on-a-schedule)
+ [실행 중인 인스턴스와 중지된 인스턴스 찾기](#find-running-and-stopped-instances-in-globalview)
+ [초기 및 가장 최근 시작 시간 찾기](#find-initial-launch-time)
+ [중지 방지 사용 설정](ec2-stop-protection.md)

# EC2 인스턴스 중지 및 시작 작동 방식
<a name="how-ec2-instance-stop-start-works"></a>

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

**Topics**
+ [인스턴스 중지 시 발생하는 상황](#what-happens-stop)
+ [인스턴스 시작 시 발생하는 상황](#what-happens-start)
+ [중지 및 시작에 대한 애플리케이션 응답 테스트](#test-stop-start-instance)
+ [인스턴스 시작 및 중지와 관련된 비용](#ec2-stop-start-costs)

## 인스턴스 중지 시 발생하는 상황
<a name="what-happens-stop"></a>

다음은 기본 중지 방법을 사용하여 인스턴스를 중지할 때 일반적으로 발생하는 일을 설명합니다. 사용하는 [중지 방법](instance-stop-methods.md)에 따라 일부 측면이 달라질 수 있습니다.

**OS 수준에서 등록된 변경 내용**
+ API 요청은 버튼 누름 이벤트를 게스트로 전송합니다.
+ 버튼 누름 이벤트로 인해 다양한 시스템 서비스가 중지됩니다. 하이퍼바이저에서 ACPI 종료 버튼 누름 이벤트가 발생하면 정상적 OS 종료가 트리거됩니다.
+ ACPI 종료가 시작됩니다.
+ 정상적 OS 종료 프로세스가 종료되면 인스턴스가 종료됩니다. 구성 가능한 OS 종료 시간은 없습니다.
+ 인스턴스 OS가 몇 분 이내에 완전히 종료되지 않으면 하드 종료가 수행됩니다.
+ 인스턴스 실행을 중지합니다.
+ 인스턴스 상태가 `stopping`으로 바뀌었다가 `stopped`로 바뀝니다.
+ [Auto Scaling] 인스턴스가 Auto Scaling 그룹에 있는 경우, 인스턴스가 `running` 이외의 Amazon EC2 상태이거나 상태 확인의 상태가 `impaired`가 되면 Amazon EC2 Auto Scaling은 인스턴스를 비정상으로 간주하여 대체합니다. 자세한 내용은 *Amazon EC2 Auto Scaling 사용 설명서*의 [Auto Scaling 그룹의 인스턴스 상태 확인](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) 섹션을 참조하세요.
+ [Windows 인스턴스] Windows 인스턴스를 중지하고 시작할 때 시작 에이전트가 연결된 Amazon EBS 볼륨의 드라이브 문자를 변경하는 등 인스턴스에 대한 태스크를 수행합니다. 이러한 기본값과 변경 방법에 대한 자세한 내용은 [EC2Launch v2 에이전트를 사용하여 EC2 Windows 인스턴스 시작 중 태스크 수행](ec2launch-v2.md) 섹션을 참조하세요.

**리소스 손실**
+ RAM에 저장된 데이터.
+ 인스턴스 저장소 볼륨에 저장된 데이터.
+ 시작 시 Amazon EC2가 인스턴스에 자동으로 할당한 퍼블릭 IPv4 주소. 변경되지 않는 퍼블릭 IPv4 주소를 유지하려면 [탄력적 IP 주소](elastic-ip-addresses-eip.md)를 인스턴스와 연결할 수 있습니다.

**지속되는 리소스**
+ 연결된 모든 Amazon EBS 루트 및 데이터 볼륨.
+ Amazon EBS 볼륨에 저장된 데이터.
+ 연결된 모든 [네트워크 인터페이스](using-eni.md).

  네트워크 인터페이스에는 다음과 같은 리소스가 포함되며, 이러한 리소스도 지속됩니다.
  + 프라이빗 IPv4 주소.
  + IPv6 주소.
  + 인스턴스와 연결된 탄력적 IP 주소. 인스턴스가 중지되면 [연결된 탄력적 IP 주소에 대한 요금이 부과](elastic-ip-addresses-eip.md#eip-pricing)됩니다.

다음 다이어그램에서는 Amazon EC2 인스턴스가 중지되었을 때 지속되는 항목과 손실되는 항목을 보여줍니다. 다이어그램은 세 부분으로 나뉩니다. **EC2 인스턴스 실행 중**이라는 레이블이 지정된 첫 번째 부분에서는 `running` 상태의 인스턴스를 리소스와 함께 보여줍니다. **중지된 EC2 인스턴스**라는 레이블이 지정된 두 번째 부분에서는 `stopped` 상태의 인스턴스를 지속되는 리소스와 함께 보여줍니다. **손실**이라는 레이블이 지정된 세 번째 부분에서는 인스턴스가 중지될 때 손실된 리소스를 보여줍니다.

![\[퍼블릭 IPv4 주소, RAM 및 인스턴스 스토리지 데이터는 인스턴스가 중지될 경우 손실됩니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/stop-instance.png)


Mac 인스턴스를 중지하면 어떤 일이 발생하는지에 대한 자세한 내용은 [Amazon EC2 Mac 인스턴스를 중지 또는 종료](mac-instance-stop.md) 섹션을 참조하세요.

## 인스턴스 시작 시 발생하는 상황
<a name="what-happens-start"></a>
+ 대부분의 경우 인스턴스는 새로운 기본 호스트 컴퓨터로 마이그레이션됩니다([전용 호스트](dedicated-hosts-understanding.md) 구성에서 인스턴스가 호스트에 할당된 경우와 같은 일부 경우에는 현재 호스트에 남아 있음).
+ 관련 EBS 볼륨 및 네트워크 인터페이스가 인스턴스에 다시 연결됩니다.
+ Amazon EC2는 인스턴스에 탄력적 IP 주소와 연결된 보조 네트워크 인터페이스 또는 보조 프라이빗 IPv4 주소가 없는 한 인스턴스가 퍼블릭 IPv4 주소를 수신하도록 구성된 경우 인스턴스에 새 퍼블릭 IPv4 주소를 할당합니다.
+ 배치 그룹의 인스턴스를 중지한 후 다시 시작하면 인스턴스가 계속 배치 그룹에서 실행됩니다. 그러나 인스턴스에 대해 용량이 부족한 경우 시작에 실패합니다. 이미 인스턴스를 실행한 배치 그룹의 인스턴스를 시작할 때 용량 오류가 발생하는 경우, 배치 그룹의 모든 인스턴스를 중지하고 다시 모든 인스턴스를 시작해 보세요. 인스턴스를 시작하면 요청한 모든 인스턴스를 수용할 용량이 있는 하드웨어로 인스턴스가 마이그레이션될 수 있습니다.

## 중지 및 시작에 대한 애플리케이션 응답 테스트
<a name="test-stop-start-instance"></a>

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

## 인스턴스 시작 및 중지와 관련된 비용
<a name="ec2-stop-start-costs"></a>

인스턴스 중지 및 시작과 관련된 비용은 다음과 같습니다.

**중지** - 인스턴스 상태가 `shutting-down` 또는 `terminated`으로 변경되는 즉시 해당 인스턴스에 대한 요금은 더 이상 발생하지 않습니다. 중지된 인스턴스에 대한 사용 또는 데이터 전송 요금은 청구되지 않습니다. Amazon EBS 스토리지 볼륨을 저장하려면 요금이 발생합니다.

**시작** - 중지된 인스턴스를 시작할 때마다 최소 1분의 사용량에 대해 요금이 부과됩니다. 1분 이후에는 사용한 시간(초)에 대해서만 요금이 부과됩니다. 예를 들어 인스턴스를 20초 동안 실행한 다음 중지하면 1분 사용 요금이 부과됩니다. 인스턴스를 3분 40초간 실행한 경우 사용한 3분 40초에 대한 요금이 부과됩니다.

# 인스턴스를 중지하는 방법
<a name="instance-stop-methods"></a>

사용자 시작 중지를 수행하는 방법에는 기본 중지, OS 종료 건너뛰기를 사용한 중지, 강제 중지, OS 종료 건너뛰기를 사용한 강제 중지의 네 가지가 있습니다. 다음 표에서는 중지 방법의 주요 차이점을 비교합니다.


| 중지 방법 | 주요 용도 | 사용 사례: | CLI 명령 | 
| --- | --- | --- | --- | 
| 기본 중지 | 정상적 OS 종료를 시도하는 정상적인 인스턴스 종료. | 일반적인 인스턴스 중지. |  <pre>aws ec2 stop-instances \<br />--instance-id i-1234567890abcdef0</pre>  | 
| OS 종료 건너뛰기를 사용한 중지 | 인스턴스를 중지할 때 정상적 OS 종료를 바이패스합니다. | 정상적인 OS 종료 바이패스가 필요한 경우. | <pre>aws ec2 stop-instances \<br />--instance-id i-1234567890abcdef0 \<br />--skip-os-shutdown</pre> | 
| 강제 중지 | 멈춘 인스턴스를 처리합니다. 기본 중지를 먼저 시도합니다. 인스턴스가 중지되지 않으면 인스턴스를 강제로 중지합니다. | 인스턴스가 stopping 상태로 멈춘 경우. | <pre>aws ec2 stop-instances \<br />--instance-id i-1234567890abcdef0 \<br />--force</pre> | 
| OS 종료 건너뛰기를 사용한 강제 중지 | 인스턴스를 중지할 때 강제 중지하고 정상적 OS 종료를 바이패스합니다. | 강제 중지와 정상적 OS 종료 바이패스가 필요한 경우. | <pre>aws ec2 stop-instances \<br />--instance-id i-1234567890abcdef0 \<br />--force \<br />--skip-os-shutdown</pre> | 

각 방법을 사용하는 방법에 대한 지침은 다음을 참조하세요.
+ [정상적 OS 종료를 사용한 인스턴스 중지](Stop_Start.md#stop-instance-with-graceful-os-shutdown)
+ [인스턴스 중지 및 정상적 OS 종료 바이패스](Stop_Start.md#stop-instance-bypass-graceful-os-shutdown)
+ [인스턴스 강제 중지](TroubleshootingInstancesStopping.md#force-stop-instance)

**Topics**
+ [기본 중지](#ec2-instance-default-stop)
+ [OS 종료 건너뛰기를 사용한 중지](#ec2-instance-stop-with-skip-os-shutdown)
+ [강제 중지](#ec2-instance-force-stop)
+ [OS 종료 건너뛰기를 사용한 강제 중지](#ec2-instance-force-stop-with-skip-os-shutdown)

다음 섹션에서는 사용자가 시작하는 네 가지 중지 방법에 대한 자세한 정보를 제공합니다.

## 기본 중지
<a name="ec2-instance-default-stop"></a>

기본 중지 방법은 인스턴스를 중지하는 표준 방법입니다. StopInstances 명령을 실행하면 다음 다이어그램과 같이 인스턴스가 `running` 상태에서 `stopping`으로, 마지막으로 `stopped`로 전환됩니다.

![\[기본 중지 흐름\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/stop-instance-flow-1.png)


**용도:** 정상적 OS 종료를 시도하는 정상적 인스턴스 종료.

**데이터 영향:** EBS 루트 볼륨 및 데이터 볼륨의 데이터가 보존됩니다. 인스턴스 저장소 볼륨의 데이터가 손실됩니다.

**사용 시기:** 일반적 중지를 위한 첫 번째 중지 시도.

**참고**  
OS 종료 건너뛰기를 사용하여 이미 중지를 시도했다면 동일한 상태 전환 세션 중에는 후속 기본 중지 시도가 정상적 OS 종료를 수행하지 않습니다. 인스턴스의 현재 세션에서 정상적 OS 종료를 바이패스하면 되돌릴 수 없습니다.

## OS 종료 건너뛰기를 사용한 중지
<a name="ec2-instance-stop-with-skip-os-shutdown"></a>

정상적 OS 종료를 바이패스해야 하는 경우 다음 다이어그램과 같이 OS 종료 건너뛰기를 사용하여 인스턴스를 중지하고 정상적 OS 종료를 바이패스할 수 있습니다.

![\[OS 종료 건너뛰기를 사용한 중지 흐름\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/stop-instance-flow-3.png)


**주의**  
정상적 OS 종료를 바이패스하면 데이터 손실 또는 손상(예: 메모리 콘텐츠가 디스크로 플러싱되지 않거나 진행 중인 IO 손실)이 발생하거나 종료 스크립트를 건너뛸 수 있습니다.

**용도:** 인스턴스를 중지할 때 정상적 OS 종료를 바이패스합니다.

**데이터 영향:** 데이터 손실 또는 손상이 발생할 수 있습니다. 메모리 콘텐츠가 디스크로 플러싱되지 않고 진행 중인 IO가 손실될 수 있습니다. 종료 스크립트를 건너뛸 수 있습니다.

**사용 시기:** 정상적 OS 종료 바이패스가 필요한 경우. 정상적 OS 종료를 사용한 기본 중지가 진행되는 동안 사용하면 정상적 OS 종료가 바이패스됩니다.

**참고**  
인스턴스의 현재 상태 전환 세션에서 정상적 OS 종료를 바이패스하면 되돌릴 수 없습니다. 이 세션 중에 후속 기본 중지를 시도하면 정상적 OS 종료가 시도되지 않습니다.

## 강제 중지
<a name="ec2-instance-force-stop"></a>

강제 중지 방법은 `stopping` 상태에서 멈춘 인스턴스를 처리하는 데 사용됩니다. 일반적으로 인스턴스는 기본 하드웨어 문제([시스템 상태 확인](monitoring-system-instance-status-check.md#system-status-checks) 실패로 표시됨)로 인해 멈춥니다.

강제 중지 방법에서는 먼저 기본 중지를 시도합니다. 인스턴스가 `stopping` 상태로 계속 멈춰 있으면 다음 다이어그램과 같이 `force` 파라미터가 인스턴스를 강제로 종료하고 인스턴스를 `stopped` 상태로 전환합니다.

![\[강제 중지 흐름\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/stop-instance-flow-2.png)


**용도:** `stopping` 상태에서 멈춘 인스턴스를 처리합니다. 기본 중지를 먼저 시도합니다. 인스턴스가 중지되지 않으면 인스턴스를 강제로 종료합니다.

**데이터 영향:** 기본 중지를 먼저 시도하지만 강제 중지가 진행되면 데이터 손실 또는 손상이 발생할 수 있습니다. 드문 경우 EBS 볼륨이나 기타 공유 리소스에 대한 중지 후 쓰기가 발생합니다.

**사용 시기:** 기본 중지 후 인스턴스가 계속 멈춰 있는 경우 두 번째 중지 시도. 자세한 내용은 [Amazon EC2 인스턴스 중지 문제 해결](TroubleshootingInstancesStopping.md) 섹션을 참조하세요.

## OS 종료 건너뛰기를 사용한 강제 중지
<a name="ec2-instance-force-stop-with-skip-os-shutdown"></a>

강제 중지하고 정상적 OS 종료를 바이패스해야 하는 경우 다음 다이어그램과 같이 OS 종료 건너뛰기를 사용한 강제 중지를 사용하여 인스턴스를 `stopped` 상태로 전환할 수 있습니다.

![\[OS 종료 건너뛰기를 사용한 강제 중지 흐름\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/stop-instance-flow-4.png)


**용도:** 인스턴스를 중지할 때 강제 중지와 정상적 OS 종료 바이패스를 결합합니다.

**데이터 영향:** OS 종료를 건너뛰면 데이터가 손실되거나 손상될 수 있습니다. 메모리 콘텐츠가 디스크로 플러싱되지 않고 진행 중인 IO가 손실될 수 있습니다. 종료 스크립트를 건너뛸 수 있습니다. 강제 중지가 진행되면 추가 데이터 손실 또는 손상이 발생할 수 있습니다. 드문 경우 EBS 볼륨이나 기타 공유 리소스에 중지 후 쓰기가 발생합니다.

**사용 시기:** 인스턴스를 중지하고 정상적 OS 종료를 바이패스하려는 경우. 정상적 OS 종료를 사용한 기본 중지가 진행되는 동안 사용하는 경우 정상적 OS 종료가 바이패스됩니다.

## 인스턴스 수동 중지 및 시작
<a name="starting-stopping-instances"></a>

Amazon EBS 지원 인스턴스(EBS 루트 볼륨이 있는 인스턴스)를 중지하고 시작할 수 있습니다. 인스턴스 저장소 루트 볼륨이 있는 인스턴스는 중지하거나 시작할 수 없습니다.

기본 방법을 사용하여 인스턴스를 중지하면 정상적 운영 체제(OS) 종료가 시도됩니다. 정상적 OS 종료를 바이패스할 수 있지만 데이터 무결성이 위험해질 수 있습니다.

**주의**  
인스턴스를 중지하면 인스턴스 저장소 볼륨의 데이터가 삭제됩니다. 인스턴스를 중지하기 전에 필요한 데이터를 인스턴스 저장소 볼륨에서 영구 스토리지(예: Amazon EBS 또는 Amazon S3)로 복사했는지 확인합니다.

[Linux 인스턴스] 인스턴스에서 OS **halt** 명령을 사용해도 종료가 시작되지 않습니다. **halt** 명령을 사용하는 경우 인스턴스는 종료되지 않습니다. 대신 CPU를 `HLT` 안으로 배치하여 CPU 작업이 일시 중단됩니다. 인스턴스는 계속 실행됩니다.

OS **shutdown** 또는 **poweroff** 명령을 사용하여 종료를 시작할 수 있습니다. OS 명령을 사용하면 기본적으로 인스턴스가 중지됩니다. 이 동작을 변경할 수 있습니다. 자세한 내용은 [인스턴스가 시작하는 종료 동작 변경](Using_ChangingInstanceInitiatedShutdownBehavior.md) 섹션을 참조하세요.

**참고**  
중지한 Amazon EBS 기반 인스턴스가 `stopping` 상태에서 "멈춘" 것으로 나타나는 경우 해당 인스턴스를 강제로 중지할 수 있습니다. 자세한 내용은 [Amazon EC2 인스턴스 중지 문제 해결](TroubleshootingInstancesStopping.md) 섹션을 참조하세요.

**Topics**
+ [정상적 OS 종료를 사용한 인스턴스 중지](#stop-instance-with-graceful-os-shutdown)
+ [인스턴스 중지 및 정상적 OS 종료 바이패스](#stop-instance-bypass-graceful-os-shutdown)
+ [인스턴스 시작](#start-ec2-instance)

### 정상적 OS 종료를 사용한 인스턴스 중지
<a name="stop-instance-with-graceful-os-shutdown"></a>

정상적 OS 종료 시도를 포함하는 기본 중지 방법을 사용하여 인스턴스를 중지할 수 있습니다. 자세한 내용은 [기본 중지](instance-stop-methods.md#ec2-instance-default-stop) 섹션을 참조하세요.

------
#### [ Console ]

**기본 중지 방법을 사용하여 인스턴스를 중지하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **인스턴스**를 선택한 다음, 인스턴스를 선택합니다.

1. **인스턴스 상태**, **인스턴스 중지**를 차례로 선택합니다. 이 옵션이 비활성화되어 있으면 해당 인스턴스가 이미 중지되었거나 해당 루트 볼륨이 인스턴스 저장소 볼륨인 것입니다.

1. 확인 메시지가 표시되면 [**중지(Stop)**]를 선택합니다. 인스턴스가 중지하는 데 몇 분 정도 걸릴 수 있습니다.

------
#### [ AWS CLI ]

**기본 중지 방법을 사용하여 인스턴스를 중지하려면**  
[stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) 명령을 사용합니다.

```
aws ec2 stop-instances --instance-ids i-1234567890abcdef0
```

------
#### [ PowerShell ]

**기본 중지 방법을 사용하여 인스턴스를 중지하려면**  
[Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) cmdlet을 사용합니다.

```
Stop-EC2Instance -InstanceId i-1234567890abcdef0
```

------

### 인스턴스 중지 및 정상적 OS 종료 바이패스
<a name="stop-instance-bypass-graceful-os-shutdown"></a>

인스턴스를 중지할 때 정상적 OS 종료를 바이패스할 수 있습니다. 자세한 내용은 [OS 종료 건너뛰기를 사용한 중지](instance-stop-methods.md#ec2-instance-stop-with-skip-os-shutdown) 섹션을 참조하세요.

**주의**  
정상적 OS 종료를 바이패스하면 데이터 손실 또는 손상(예: 메모리 콘텐츠가 디스크로 플러싱되지 않거나 진행 중인 IO 손실)이 발생하거나 종료 스크립트를 건너뛸 수 있습니다.

------
#### [ Console ]

**인스턴스를 중지하고 정상적 OS 종료를 바이패스하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택하고 인스턴스를 선택합니다.

1. **인스턴스 상태**, **인스턴스 중지**를 차례로 선택합니다.

1. **OS 종료 건너뛰기**에서 **OS 종료 건너뛰기** 확인란을 선택합니다. 콘솔에 이 옵션이 표시되지 않는 경우 현재 리전의 콘솔에서 이 옵션을 아직 사용할 수 없는 것입니다. 그러나 AWS CLI 또는 SDK를 사용하여 이 기능에 액세스하거나 콘솔에서 다른 리전을 시도할 수 있습니다.

1. **중지**를 선택합니다.

------
#### [ AWS CLI ]

**인스턴스를 중지하고 정상적 OS 종료를 바이패스하려면**  
[stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) 명령을 `--skip-os-shutdown`과 함께 사용합니다.

```
aws ec2 stop-instances \
    --instance-ids i-1234567890abcdef0 \
    --skip-os-shutdown
```

------
#### [ PowerShell ]

**인스턴스를 중지하고 정상적 OS 종료를 바이패스하려면**  
[Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) cmdlet을 `-SkipOsShutdown $true`와 함께 사용합니다.

```
Stop-EC2Instance `
    -InstanceId i-1234567890abcdef0 `
    -SkipOsShutdown $true
```

------

### 인스턴스 시작
<a name="start-ec2-instance"></a>

중지된 인스턴스를 시작할 수 있습니다.

------
#### [ Console ]

**인스턴스 시작**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 **인스턴스 상태**, **인스턴스 시작**을 차례로 선택합니다.

   인스턴스가 `running` 상태가 되는 데 몇 분 정도 걸릴 수 있습니다.

------
#### [ AWS CLI ]

**인스턴스 시작**  
아래와 같이 [start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) 명령을 사용합니다.

```
aws ec2 start-instances --instance-ids i-1234567890abcdef0
```

------
#### [ PowerShell ]

**인스턴스 시작**  
[Start-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) cmdlet을 사용합니다.

```
Start-EC2Instance -InstanceId i-1234567890abcdef0
```

------

## 인스턴스 자동 중지 및 시작
<a name="stop-start-ec2-instances-on-a-schedule"></a>

다음 서비스를 사용하여 인스턴스 중지 및 시작을 자동화할 수 있습니다.

**AWS의 인스턴스 스케줄러**  
AWS에서 인스턴스 스케줄러를 사용하여 EC2 인스턴스의 시작 및 중지를 자동화할 수 있습니다. 자세한 내용은 [인스턴스 스케줄러를 CloudFormation과 함께 사용하여 EC2 인스턴스를 예약하려면 어떻게 해야 합니까?](https://repost.aws/knowledge-center/stop-start-instance-scheduler)를 참조하세요. [추가 요금이 적용](https://docs.aws.amazon.com/solutions/latest/instance-scheduler-on-aws/cost.html)됩니다.

**AWS Lambda 및 Amazon EventBridge 규칙**  
Lambda 및 EventBridge 규칙을 사용하여 예약에 따라 인스턴스를 중지하고 시작할 수 있습니다. 자세한 내용은 [Lambda를 사용하여 Amazon EC2 인스턴스를 정기적으로 중지하고 시작하려면 어떻게 해야 하나요?](https://repost.aws/knowledge-center/start-stop-lambda-eventbridge)를 참조하세요.

**Amazon EC2 Auto Scaling**  
애플리케이션 로드를 처리하는 데 사용할 수 있는 Amazon EC2 인스턴스의 정확한 수를 확보하려면 Auto Scaling을 생성합니다. Amazon EC2 Auto Scaling에서는 애플리케이션이 항상 트래픽 수요를 처리할 수 있는 적절한 용량을 갖고 필요할 때만 인스턴스를 시작하여 비용을 절감하도록 보장합니다. Amazon EC2 Auto Scaling에서는 불필요한 인스턴스를 중지하는 것이 아니라 종료합니다. Auto Scaling을 설정하려면 [Amazon EC2 Auto Scaling 시작하기](https://docs.aws.amazon.com/autoscaling/ec2/userguide/get-started-with-ec2-auto-scaling.html)를 참조하세요.

## 실행 중인 인스턴스와 중지된 인스턴스 모두 찾기
<a name="find-running-and-stopped-instances-in-globalview"></a>

[Amazon EC2 Global View](https://console.aws.amazon.com/ec2globalview/home)를 사용하여 단일 페이지의 모든 AWS 리전에서 실행 중인 모든 인스턴스와 중지된 인스턴스를 모두 찾을 수 있습니다. 이 기능은 인벤토리를 작성하고 잊어버린 인스턴스를 찾는 데 특히 유용합니다. 글로벌 보기 사용 방법에 대한 자세한 내용은 [AWS Global View를 사용하여 리전 간 리소스 보기](global-view.md) 섹션을 참조하세요.

또는 인스턴스가 있는 각 리전에서 명령 또는 cmdlet을 실행할 수 있습니다.

------
#### [ AWS CLI ]

**리전의 EC2 인스턴스 수를 가져오는 방법**  
다음 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용하여 현재 리전의 인스턴스를 계산합니다. 인스턴스가 있는 각 리전에서 이 명령을 실행해야 합니다.

```
aws ec2 describe-instances \
    --region us-east-2 \
    --query "length(Reservations[].Instances[])"
```

다음은 예제 출력입니다.

```
27
```

**리전의 EC2 인스턴스에 대한 요약 정보를 가져오는 방법**  
다음 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용합니다. 인스턴스가 있는 각 리전에서 이 명령을 실행해야 합니다.

```
aws ec2 describe-instances \
    --region us-east-2 \
    --query "Reservations[].Instances[].[InstanceId,InstanceType,PrivateIpAddress]" \
    --output table
```

다음은 예제 출력입니다.

```
---------------------------------------------------------
|                   DescribeInstances                   |
+---------------------+---------------+-----------------+
|  i-0e3e777f4362f1bf7|  t2.micro     |  10.0.12.9      |
|  i-09453945dcf1529e9|  t2.micro     |  10.0.143.213   |
|  i-08fd74f3f1595fdbd|  m7i.4xlarge  |  10.0.1.103     |
+---------------------+---------------+-----------------+
```

------
#### [ PowerShell ]

**리전의 EC2 인스턴스 수를 가져오는 방법**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet을 사용합니다.

```
(Get-EC2Instance -Region us-east-2).Instances.Length
```

다음은 예제 출력입니다.

```
27
```

**리전의 EC2 인스턴스에 대한 요약 정보를 가져오는 방법**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet을 사용합니다. 인스턴스가 있는 각 리전에서 이 명령을 실행해야 합니다.

```
(Get-EC2Instance).Instances | Select InstanceId, InstanceType, PrivateIpAddress
```

다음은 예제 출력입니다.

```
InstanceId          InstanceType PrivateIpAddress
----------          ------------ ----------------
i-0e3e777f4362f1bf7 t2.micro     10.0.12.9
i-09453945dcf1529e9 t2.micro     10.0.143.213
i-08fd74f3f1595fdbd m7i.4xlarge  10.0.1.103
```

------

## 초기 및 가장 최근 시작 시간 찾기
<a name="find-initial-launch-time"></a>

인스턴스를 설명할 때 인스턴스의 시작 시간은 가장 최근 시작 시간입니다. 인스턴스를 중지하고 시작하면 시작 시간에 새 인스턴스 시작 시간이 반영됩니다. 인스턴스의 초기 시작 시간을 찾으려면 인스턴스를 중지했다가 시작한 후에도 기본 네트워크 인터페이스가 인스턴스에 연결된 시간을 확인합니다.

------
#### [ Console ]

**최신 시작 시간을 찾는 방법**  
인스턴스를 선택하고 **세부 정보** 탭의 **인스턴스 세부 정보**에서 **시작 시간**을 찾습니다.

**초기 시작 시간을 찾는 방법**  
인스턴스를 선택하고 **네트워킹** 탭의 **네트워크 인터페이스**에서 기본 네트워크 인터페이스(디바이스 인덱스가 0)를 찾습니다.

------
#### [ AWS CLI ]

**초기 및 가장 최신 시작 시간을 찾는 방법**  
[describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 실행하여 지정된 인스턴스의 초기 시작 시간과 최신 시작 시간을 모두 표시합니다.

```
aws ec2 describe-instances \
    --instance-id i-1234567890abcdef0 \
    --query 'Reservations[].Instances[].{InstanceID:InstanceId,InitialLaunch:NetworkInterfaces[0].Attachment.AttachTime,LastLaunch:LaunchTime}'
```

다음은 예제 출력입니다.

```
[
    {
        "InstanceID": "i-1234567890abcdef0",
        "InitialLaunch": "2024-04-19T00:47:08+00:00",
        "LastLaunch": "2024-05-27T06:24:06+00:00"
    }
]
```

------
#### [ PowerShell ]

**최신 시작 시간을 찾는 방법**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet을 사용합니다.

```
(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances.LaunchTime
```

다음은 예제 출력입니다.

```
Monday, May 27, 2024 6:24:06 AM
```

**초기 시작 시간을 찾는 방법**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet을 사용합니다.

```
(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances.NetworkInterfaces.Attachment.AttachTime
```

다음은 예제 출력입니다.

```
Friday, April 19, 2024 12:47:08 AM
```

------

# EC2 인스턴스에 대한 중지 방지 활성화
<a name="ec2-stop-protection"></a>

인스턴스의 우발적 중지를 방지하기 위해 해당 인스턴스에 대한 중지 방지를 사용 설정할 수 있습니다. 또한 중지 방지는 인스턴스를 우발적인 종료로부터 보호합니다.

Amazon EC2 [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html) API의 `DisableApiStop` 속성은 Amazon EC2 콘솔, AWS CLI 또는 Amazon EC2 API를 사용하여 인스턴스 중지 여부를 제어합니다. 인스턴스를 실행할 때 또는 인스턴스가 실행 중이거나 인스턴스가 중지되어 있을 때 이 속성의 값을 설정할 수 있습니다.

**고려 사항**
+ 중지 방지 기능을 활성화해도 운영 체제 명령(**shutdown** 또는 **poweroff**)을 사용하여 인스턴스 종료를 시작하는 방식으로 인스턴스 종료를 방지하지 않습니다.
+ 중지 방지를 활성화해도 인스턴스를 중지하는 [예약 이벤트](monitoring-instances-status-check_sched.md)가 있는 경우 AWS에서 인스턴스 중지를 방지하지 않습니다.
+ 중지 보호를 활성화해도 인스턴스가 비정상일 때 또는 스케일 인(scale-in) 이벤트 중에 Amazon EC2 Auto Scaling에서 인스턴스를 종료합니다. [인스턴스 스케일 인 보호](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html)를 사용하여 스케일 인할 때 Auto Scaling이 특정 인스턴스를 종료할 수 있는지 여부를 제어할 수 있습니다.
+ 보호 중지는 인스턴스의 우발적 중지를 방지할 뿐만 아니라 콘솔, AWS CLI 또는 API를 사용한 우발적 종료도 방지합니다. 그러나 `DisableApiTermination` 속성을 자동으로 설정하지는 않습니다. `DisableApiStop` 속성이 `false`로 설정되면 `DisableApiTermination` 속성 설정에 따라 콘솔, AWS CLI, 또는 API를 사용하여 인스턴스를 종료할 수 있는지 여부가 결정됩니다. 자세한 내용은 [Amazon EC2 인스턴스 종료](terminating-instances.md)을 참조하세요.
+ 인스턴스 저장소 루트 볼륨이 있는 인스턴스에 대해 중지 방지를 활성화할 수 없습니다.
+ 스팟 인스턴스에 대한 중지 방지는 활성화할 수 없습니다.
+ Amazon EC2 API는 중지 방지를 사용 설정하거나 사용 중지할 때 최종 일관성 모델을 따릅니다. 이는 중지 방지 속성을 설정하기 위해 명령을 실행한 결과가 실행하는 모든 후속 명령에 즉시 표시되지 않을 수 있음을 의미합니다. 자세한 내용은 *Amazon EC2 개발자 가이드*의 [Eventual consistency](https://docs.aws.amazon.com/ec2/latest/devguide/eventual-consistency.html)를 참조하세요.

**Topics**
+ [시작 시 인스턴스에 대한 중지 방지 사용 설정](#enable-stop-protection-at-launch)
+ [실행 중이거나 중지된 인스턴스에 대한 중지 방지 사용 설정](#enable-stop-protection-on-running-or-stopped-instance)
+ [실행 중이거나 중지된 인스턴스에 대한 중지 방지 사용 중지](#disable-stop-protection-on-running-or-stopped-instance)

## 시작 시 인스턴스에 대한 중지 방지 사용 설정
<a name="enable-stop-protection-at-launch"></a>

인스턴스를 시작할 때 인스턴스에 대한 중지 방지를 활성화할 수 있습니다.

------
#### [ Console ]

**시작 시 인스턴스에 대한 중지 방지 사용 설정**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 대시보드에서 **인스턴스 시작**을 선택합니다.

1. [새 인스턴스 시작 마법사](ec2-launch-instance-wizard.md)에서 인스턴스를 구성합니다.

1. 마법사에서 **고급 세부 정보** 아래의 **중지 방지**에 대해 **활성화**를 선택하여 중지 방지를 활성화합니다.

------
#### [ AWS CLI ]

**시작 시 인스턴스에 대한 중지 방지 사용 설정**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용하여 인스턴스를 시작합니다. 다음 파라미터를 추가합니다.

```
--disable-api-stop
```

------
#### [ PowerShell ]

**시작 시 인스턴스에 대한 중지 방지 사용 설정**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet을 사용하여 인스턴스를 시작합니다. 다음 파라미터를 추가합니다.

```
-DisableApiStop $true
```

------

## 실행 중이거나 중지된 인스턴스에 대한 중지 방지 사용 설정
<a name="enable-stop-protection-on-running-or-stopped-instance"></a>

인스턴스가 실행 중이거나 중지된 동안 인스턴스에 대한 중지 방지를 활성화할 수 있습니다.

------
#### [ Console ]

**인스턴스에 대한 중지 방지를 활성화하는 방법**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 **작업**>**인스턴스 설정**>**중지 방지 변경**을 선택합니다.

1. **활성화** 확인란을 선택한 다음 **저장**을 선택합니다.

------
#### [ AWS CLI ]

**인스턴스에 대한 중지 방지를 활성화하는 방법**  
[modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) 명령을 사용합니다.

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --disable-api-stop
```

------
#### [ PowerShell ]

**인스턴스에 대한 중지 방지를 활성화하는 방법**  
[Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) cmdlet을 사용합니다.

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiStop $true
```

------

## 실행 중이거나 중지된 인스턴스에 대한 중지 방지 사용 중지
<a name="disable-stop-protection-on-running-or-stopped-instance"></a>

다음 방법 중 하나를 사용하여 실행 중이거나 중지된 인스턴스에 대한 중지 방지를 사용 중지할 수 있습니다.

------
#### [ Console ]

**실행 중인 또는 중단된 인스턴스에 대한 중지 방지 비활성화**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 **작업(Actions)**, **인스턴스 설정(Instance Settings)**, **중지 방지 변경(Change Stop Protection)**을 선택합니다.

1. **활성화** 확인란을 선택 취소한 다음 **저장**을 선택합니다.

------
#### [ AWS CLI ]

**실행 중인 또는 중단된 인스턴스에 대한 중지 방지 비활성화**  
[modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) 명령을 사용합니다.

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --no-disable-api-stop
```

------
#### [ PowerShell ]

**인스턴스에 대한 중지 방지를 비활성화하는 방법**  
[Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) cmdlet을 사용합니다.

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiStop $false
```

------

# Amazon EC2 인스턴스를 최대 절전 모드로 전환
<a name="Hibernate"></a>

인스턴스를 최대 절전 모드로 전환하면 Amazon EC2에서 최대 절전 모드(디스크 일시 중단)를 수행하도록 운영 체제에 신호를 보냅니다. 최대 절전 모드는 인스턴스 메모리(RAM)의 내용을 Amazon Elastic Block Store(Amazon EBS) 루트 볼륨에 저장합니다. Amazon EC2는 인스턴스의 EBS 루트 볼륨과 연결된 모든 EBS 데이터 볼륨을 유지합니다. 인스턴스 시작 시:
+ EBS 루트 볼륨이 이전 상태로 복원됩니다
+ RAM 내용이 다시 로드됩니다
+ 이전에 인스턴스에서 실행되었던 프로세스가 재개됩니다.
+ 이전에 연결된 데이터 볼륨이 다시 연결되고, 인스턴스는 해당 인스턴스 ID를 유지합니다.

인스턴스에 대해 [최대 절전 모드가 활성화](enabling-hibernation.md)되어 있고 [최대 절전 모드 사전 조건](hibernating-prerequisites.md)을 충족하는 경우 인스턴스를 최대 절전 모드로 전환할 수 있습니다.

인스턴스 또는 애플리케이션에서 최적의 생산성을 내기 위해 메모리 공간을 부트스트랩 및 빌드하는 데 시간이 오래 걸리는 경우 최대 절전 모드를 사용해 인스턴스를 사전 워밍할 수 있습니다. 인스턴스를 사전 예열하려면 다음을 수행하세요.

1. 최대 절전 모드가 활성화된 상태에서 시작하세요.

1. 원하는 상태로 만듭니다.

1. 최대 절전 모드로 전환하여 필요할 때마다 원하는 상태로 다시 시작할 수 있습니다.

인스턴스가 `stopped` 상태일 때 최대 절전 모드로 전환된 인스턴스의 인스턴스 사용량에 대한 비용이나 RAM의 콘텐츠를 EBS 루트 볼륨으로 전송할 때 데이터 전송에 대한 비용은 부과되지 않습니다. RAM 콘텐츠에 대한 스토리지를 포함하여 모든 EBS 볼륨의 스토리지에 대해서는 요금이 부과됩니다.

인스턴스가 더 이상 필요하지 않을 경우 `stopped`(최대 절전 모드) 상태인 경우를 포함해 언제든지 인스턴스를 종료할 수 있습니다. 자세한 내용은 [Amazon EC2 인스턴스 종료](terminating-instances.md) 섹션을 참조하세요.

**Topics**
+ [작동 방식](instance-hibernate-overview.md)
+ [사전 조건](hibernating-prerequisites.md)
+ [최대 절전 모드를 지원하도록 Linux AMI 구성](hibernation-enabled-AMI.md)
+ [인스턴스의 최대 절전 모드 활성화](enabling-hibernation.md)
+ [인스턴스에서 KASLR 비활성화(Ubuntu만 해당)](hibernation-disable-kaslr.md)
+ [인스턴스를 최대 절전 모드로 전환](hibernating-instances.md)
+ [최대 절전 모드로 전환된 인스턴스 시작](hibernating-resuming.md)
+ [문제 해결](troubleshoot-instance-hibernate.md)

# Amazon EC2 인스턴스의 최대 절전 모드 작동 방식
<a name="instance-hibernate-overview"></a>

다음 다이어그램에서는 EC2 인스턴스의 최대 절전 모드 프로세스에 대한 기본 개요를 보여줍니다.

![\[최대 절전 모드 흐름 개요입니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/hibernation-flow.png)


## 인스턴스를 최대 절전 모드로 전환할 때 상황
<a name="how-instance-hibernation-works"></a>

인스턴스를 최대 절전 모드로 전환하면 다음과 같은 상황이 나타납니다.
+ 인스턴스는 `stopping` 상태로 이동합니다. Amazon EC2는 운영 체제에 최대 절전 모드(디스크 일시 중단)를 수행하라는 신호를 보냅니다. 최대 절전 모드를 실행하면 모든 프로세스가 동결되고, RAM의 콘텐츠를 EBS 루트 볼륨에 저장한 다음 일상적인 종료를 수행합니다.
+ 종료가 완료되면 인스턴스가 `stopped` 상태가 됩니다.
+ 모든 EBS 볼륨이 인스턴스에 연결된 상태로 유지되고 저장된 RAM 콘텐츠를 포함해 볼륨의 데이터도 유지됩니다.
+ 인스턴스에 연결된 Amazon EC2 인스턴스 저장소 볼륨이 있는 경우 인스턴스 저장소 볼륨상의 데이터는 손실됩니다.
+ 대부분의 경우 인스턴스가 시작되면 새로운 기본 호스트 컴퓨터로 마이그레이션됩니다. 인스턴스를 중지했다가 시작할 때도 이렇게 됩니다.
+ 인스턴스가 시작되면 인스턴스가 부팅되고, 프로세스가 동결 해제되어 상태가 재개되기 전에 운영 체제에서 EBS 루트 볼륨의 RAM 내용을 읽습니다.
+ 인스턴스는 프라이빗 IPv4 주소와 모든 IPv6 주소를 유지합니다. 인스턴스가 시작되면 인스턴스에서는 프라이빗 IPv4 주소와 모든 IPv6 주소를 계속 유지합니다.
+ Amazon EC2는 퍼블릭 IPv4 주소를 해제합니다. 인스턴스가 시작되면 Amazon EC2에서는 인스턴스에 새 퍼블릭 IPv4 주소를 할당합니다.
+ 인스턴스가 연결된 탄력적 IP 주소를 유지합니다. 최대 절전 모드 인스턴스와 연결된 모든 탄력적 IP 주소에 대한 요금이 부과됩니다.

최대 절전 모드와 재부팅, 중지 및 종료 간의 차이점은 [인스턴스 상태 간 차이](ec2-instance-lifecycle.md#lifecycle-differences) 섹션을 참조하세요.

## 제한 사항
<a name="instance-hibernate-limitations"></a>
+ 인스턴스를 최대 절전 모드로 전환하면 인스턴스 저장소 볼륨의 데이터가 삭제됩니다.
+ (Linux 인스턴스) RAM이 150GiB를 초과하는 Linux 인스턴스는 최대 절전 모드로 전환할 수 없습니다.
+ (Windows 인스턴스) RAM이 16GiB를 초과하는 Windows 인스턴스는 최대 절전 모드로 전환할 수 없습니다.
+ 인스턴스가 최대 절전 모드로 전환된 동안에는 인스턴스를 수정할 수 없습니다. 이는 인스턴스를 중지했지만 최대 절전 모드가 아닌 경우와는 다릅니다. 최대 절전 모드가 아닌 중지된 인스턴스에서는 인스턴스 유형이나 크기 같은 특정 속성을 수정할 수 있습니다.
+ 최대 절전 모드이거나 최대 절전 모드가 사용 설정된 인스턴스에서 스냅샷 또는 AMI를 생성하는 경우, AMI 또는 스냅샷으로 생성된 AMI에서 시작된 새 인스턴스에 연결하지 못할 수 있습니다.
+ (스팟 인스턴스만 해당) Amazon EC2에서 스팟 인스턴스를 최대 절전 모드로 전환하는 경우 Amazon EC2에서만 인스턴스를 재개할 수 있습니다. 본인이 스팟 인스턴스를 최대 절전 모드로 전환하는 경우([사용자가 시작한 최대 절전 모드 전환](hibernating-instances.md)) 본인이 인스턴스를 재개할 수 있습니다. 최대 절전 모드로 전환된 스팟 인스턴스는 용량을 사용할 수 있고 스팟 가격이 지정된 최대 가격 이하인 경우에만 재개될 수 있습니다.
+ Auto Scaling 그룹에 속하거나 Amazon ECS에서 사용하는 인스턴스는 최대 절전 모드로 전환할 수 없습니다. 인스턴스가 Auto Scaling 그룹에 있을 때 최대 절전 모드로 전환하려고 하면, Amazon EC2 Auto Scaling 서비스가 중지된 인스턴스를 비정상으로 간주해 이를 종료하고 대체 인스턴스를 시작할 수 있습니다. 자세한 내용은 *Amazon EC2 Auto Scaling 사용 설명서*의 [Auto Scaling 그룹의 인스턴스 상태 확인](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) 섹션을 참조하세요.
+ [UEFI 보안 부팅](uefi-secure-boot.md)이 활성화된 상태에서 UEFI 모드로 부팅하도록 구성된 인스턴스는 최대 절전 모드로 전환할 수 없습니다.
+ 용량 예약으로 시작된 인스턴스를 최대 절전 모드로 전환하면 최대 절전 모드 인스턴스를 시작하려고 한 후 용량 예약에서 해당 인스턴스를 다시 시작할 수 있도록 보장하지 않습니다.
+ FIPS(Federal Information Processing Standard) 모드를 사용하는 경우 5.10 이하의 커널을 사용하는 인스턴스를 최대 절전 모드로 전환할 수 없습니다.
+ 인스턴스는 60일까지만 최대 절전 모드로 유지할 수 있습니다. 인스턴스를 60일 이상 유지하려면 최대 절전 모드의 인스턴스를 시작하고, 중지하고, 다시 시작해야 합니다.
+ 업그레이드 및 보안 패치를 사용해 플랫폼을 지속적으로 업데이트하는 과정에서 기존의 최대 절전 모드 인스턴스와 충돌할 수 있습니다. 필요한 업그레이드 및 보안 패치를 적용하기 위해 종료 또는 재부팅하고자 최대 절전 모드의 인스턴스를 다시 시작해야 하는 중요 업데이트에 대해 알려 드립니다.

## 스팟 인스턴스 최대 절전 모드 전환 시 고려 사항
<a name="spot-hibernation-considerations"></a>
+ **직접 스팟 인스턴스를 최대 절전 모드로 전환하는 경우 용량을 사용할 수 있고 스팟 가격이 지정된 최대 가격 이하이면 다시 시작할 수 있습니다.
+ **Amazon EC2에서 스팟 인스턴스를 최대 절전 모드로 전환하는 경우: 
  + Amazon EC2에서만 인스턴스를 재개할 수 있습니다.
  + 지정된 최대 가격 이하인 스팟 가격으로 용량을 사용할 수 있게 되면 최대 절전 모드로 전환된 스팟 인스턴스를 Amazon EC2에서 재개합니다.
  + Amazon EC2에서 스팟 인스턴스를 최대 절전 모드로 전환하기 전에 최대 절전 모드 시작 2분 전에 중단 고지가 수신됩니다.

  자세한 내용은 [스팟 인스턴스 중단](spot-interruptions.md) 섹션을 참조하세요.

# EC2 인스턴스 최대 절전 모드를 위한 사전 조건
<a name="hibernating-prerequisites"></a>

온디맨드 인스턴스 또는 스팟 인스턴스를 시작할 때 최대 절전 모드 지원을 활성화할 수 있습니다. 기존 인스턴스(실행 중 또는 중지됨 상태)에서는 최대 절전 모드를 활성화할 수 없습니다. 자세한 내용은 [인스턴스의 최대 절전 모드 활성화](enabling-hibernation.md) 섹션을 참조하세요.

**Topics**
+ [AWS 리전](#hibernation-prereqs-regions)
+ [AMI](#hibernation-prereqs-supported-amis)
+ [인스턴스 패밀리](#hibernation-prereqs-supported-instance-families)
+ [인스턴스 RAM 크기](#instance-ram-size)
+ [루트 볼륨 유형](#hibernation-prereqs-root-volume-type)
+ [루트 볼륨 크기](#hibernation-prereqs-ebs-root-volume-size)
+ [루트 볼륨 암호화](#hibernation-prereqs-ebs-root-volume-encryption)
+ [EBS 볼륨 유형](#hibernation-prereqs-ebs-volume-types)
+ [스팟 인스턴스 요청](#hibernation-prereqs-spot-request)

## AWS 리전
<a name="hibernation-prereqs-regions"></a>

모든 AWS 리전에서 최대 절전 모드를 사용할 수 있습니다.

## AMI
<a name="hibernation-prereqs-supported-amis"></a>

최대 절전 모드를 지원하는 HVM AMI를 사용해야 합니다. 다음 AMI는 최대 절전 모드를 지원합니다.

### Linux AMI
<a name="hibernation-prereqs-supported-amis-linux"></a>

**Intel 및 AMD 인스턴스 유형용 AMI**
+ 2023년 9월 20일 또는 그 이후에 릴리스된 AL2023 AMI ¹
+ 2019년 8월 29일 또는 그 이후에 릴리스된 Amazon Linux 2 AMI
+ 2018년 11월 16일 또는 그 이후에 릴리스된 Amazon Linux AMI 2018.03
+ CentOS 버전 8 AMI ²([추가 구성](hibernation-enabled-AMI.md#configure-centos-for-hibernation) 필요)
+ Fedora 버전 34 이상 AMI ²([추가 구성](hibernation-enabled-AMI.md#configure-fedora-for-hibernation) 필요)
+ Red Hat Enterprise Linux(RHEL) 9 AMI ²([추가 구성](hibernation-enabled-AMI.md#configure-RHEL-for-hibernation) 필요)
+ Red Hat Enterprise Linux(RHEL) 8 AMI ²([추가 구성](hibernation-enabled-AMI.md#configure-RHEL-for-hibernation) 필요)
+ 일련 번호 20230303 이상으로 릴리스된 Ubuntu 22.04.2 LTS (Jammy Jellyfish) AMI ³
+ 일련 번호 20210820 이상으로 릴리스된 Ubuntu 20.04 LTS(Focal Fossa) ³
+ 일련 번호 20190722.1 이상으로 릴리스된 Ubuntu 18.04 LTS(Bionic Beaver) AMI ³ ⁵
+ Ubuntu 16.04 LTS(Xenial Xerus) AMI ³ ⁴ ⁵([추가 구성](hibernation-enabled-AMI.md#configure-ubuntu1604-for-hibernation) 필요)

**Graviton 인스턴스 유형용 AMI**
+ AL2023 AMI(64비트 Arm), 2024년 7월 1일 이후 릴리스 ¹
+ Amazon Linux 2 AMI(64비트 Arm), 2024년 6월 20일 이후 릴리스
+ Ubuntu 22.04.2 LTS(64비트 Arm)(Jammy Jellyfish) AMI, 일련 번호 20240701 이후에 릴리스 ³
+ Ubuntu 20.04 LTS(64비트 Arm)(Focal Fossa) AMI, 일련 번호 20240701 이상으로 릴리스 ³

 

¹ AL2023 최소 AMI의 경우 [추가 구성이 필요합니다](hibernation-enabled-AMI.md#configure-AL2023-minimal-for-hibernation).

² CentOS, Fedora 및 Red Hat Enterprise Linux의 경우 최대 절전 모드는 Nitro 기반 인스턴스에서만 지원됩니다.

³ Ubuntu 22.04.2 LTS(Jammy Jellyfish), Ubuntu 20.04 LTS(Focal Fossa), Ubuntu 18.04 LTS(Bionic Beaver), Ubuntu 16.04 LTS(Xenial Xerus)가 있는 인스턴스에서는 KASLR을 비활성화하는 것이 좋습니다. 자세한 내용은 [인스턴스에서 KASLR 비활성화(Ubuntu만 해당)](hibernation-disable-kaslr.md) 섹션을 참조하세요.

⁴ Ubuntu 16.04 LTS(Xenial Xerus) AMI의 경우 `t3.nano` 인스턴스 유형에서 최대 절전 모드가 지원되지 않습니다. Ubuntu(Xenial Xerus)는 2021년 4월에 지원을 종료했기 때문에 패치가 제공되지 않습니다. `t3.nano` 인스턴스 유형을 사용하려면 Ubuntu 22.04.2 LTS (Jammy Jellyfish), Ubuntu 20.04 LTS(Focal Fossa) 또는 Ubuntu 18.04 LTS(Bionic Beaver) AMI로 업그레이드하는 것이 좋습니다.

⁵ Ubuntu 18.04 LTS(Bionic Beaver)와 Ubuntu 16.04 LTS(Xenial Xerus)에 대한 지원이 종료되었습니다.

최대 절전 모드를 지원하도록 자체 AMI를 구성하려면 [최대 절전 모드를 지원하도록 Linux AMI 구성](hibernation-enabled-AMI.md) 섹션을 참조하세요.

다른 버전의 Ubuntu 및 기타 운영 체제에 대한 지원도 곧 제공될 예정입니다.

### Windows AMI
<a name="hibernation-prereqs-supported-amis-windows"></a>
+ 2023년 9월 13일 이후에 릴리스된 Windows Server 2022 AMI 이상
+ 2019년 9월 11일 또는 그 이후에 릴리스된 Windows Server 2019 AMI 이상
+ 2019년 9월 11일 또는 그 이후에 릴리스된 Windows Server 2016 AMI 이상
+ 2019년 9월 11일 또는 그 이후에 릴리스된 Windows Server 2012 R2 AMI 이상
+ 2019년 9월 11일 또는 그 이후에 릴리스된 Windows Server 2012 AMI 이상

## 인스턴스 패밀리
<a name="hibernation-prereqs-supported-instance-families"></a>

최대 절전 모드를 지원하는 인스턴스 패밀리를 사용해야 합니다. 단, 베어 메탈 인스턴스는 지원되지 않습니다.
+ 범용: M3, M4, M5, M5a, M5ad, M5d, M6a, M6g, M6gd, M6i, M6id, M6idn, M6in, M7a, M7g, M7gd, M7i, M7i-flex, M8a, M8azn, M8g, M8gb, M8gd, M8gn, M8i, M8i-flex, T2, T3, T3a, T4g
+ 컴퓨팅 최적화: C3, C4, C5, C5d, C6a, C6g, C6gd, C6gn, C6i, C6id, C6in, C7a, C7g, C7gd, C7gn, C7i, C7i-flex, C8a, C8g, C8gb, C8gd, C8gn, C8i, C8i-flex
+ 메모리 최적화: R3, R4, R5, R5a, R5ad, R5d, R6a, R6g, R6gd, R6idn, R6in, R7a, R7g, R7gd, R7i, R7iz, R8a, R8g, R8gb, R8gd, R8gn, R8i, R8i-flex, X2gd, X8aedz, X8i
+ 스토리지 최적화: I3, I3en, I4g, I7i, I7ie, I8g, I8ge, Im4gn, Is4gen

------
#### [ Console ]

**최대 절전 모드를 지원하는 인스턴스 유형을 가져오려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스 유형**을 선택합니다.

1. **On-Demand Hibernation support = true** 필터를 추가합니다.

1. (선택 사항) 필터를 추가하여 관심 있는 특정 인스턴스 유형에 범위를 추가로 지정합니다.

------
#### [ AWS CLI ]

**최대 절전 모드를 지원하는 인스턴스 유형을 가져오려면**  
[describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/describe-instance-types/.html) 명령을 사용합니다. 사용 가능한 인스턴스 유형은 리전마다 다릅니다.

```
aws ec2 describe-instance-types \
    --filters Name=hibernation-supported,Values=true \
    --query "InstanceTypes[*].[InstanceType]" \
    --output text | sort
```

------
#### [ PowerShell ]

**최대 절전 모드를 지원하는 인스턴스 유형을 가져오려면**  
[Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html) cmdlet을 사용합니다. 사용 가능한 인스턴스 유형은 리전마다 다릅니다.

```
(Get-EC2InstanceType `
    -Filter @{Name="hibernation-supported"; Values="true"}).InstanceType | Sort-Object
```

------

## 인스턴스 RAM 크기
<a name="instance-ram-size"></a>

**Linux 인스턴스** - 150GiB 미만이어야 합니다.

**Windows 인스턴스** - 16GiB 이하여야 합니다. T3 또는 T3a Windows 인스턴스를 최대 절전 모드로 전환하려면 최소 1GiB의 RAM을 사용하는 것이 좋습니다.

## 루트 볼륨 유형
<a name="hibernation-prereqs-root-volume-type"></a>

루트 볼륨은 인스턴스 저장소 볼륨이 아니라 EBS 볼륨이어야 합니다.

## 루트 볼륨 크기
<a name="hibernation-prereqs-ebs-root-volume-size"></a>

루트 볼륨 크기는 RAM 콘텐츠를 저장하고 예상한 사용량(예: OS 또는 애플리케이션)을 수용할 수 있을 정도로 커야 합니다. 최대 절전 모드를 활성화하면 RAM 저장을 시작할 수 있도록 루트 볼륨에 공간이 할당됩니다.

## 루트 볼륨 암호화
<a name="hibernation-prereqs-ebs-root-volume-encryption"></a>

최대 절전 모드일 때 메모리에 있는 중요한 콘텐츠를 보호할 수 있도록 루트 볼륨을 암호화해야 합니다. RAM 데이터가 EBS 루트 볼륨으로 이전하면 항상 암호화됩니다. 루트 볼륨 암호화는 인스턴스 시작 시 적용됩니다.

루트 볼륨이 암호화된 EBS 볼륨인지 확인하려면 다음 세 가지 옵션 중 하나를 사용합니다.
+ **EBS 암호화 기본 지원** - 기본적으로 EBS 암호화를 활성화하여 AWS 계정에서 생성된 모든 새 EBS 볼륨이 암호화되도록 할 수 있습니다. 이러한 방식으로 인스턴스 실행 시 암호화 의도를 지정하지 않고 인스턴스에 대한 하이버네이션을 활성화할 수 있습니다. 자세한 내용은 [기본으로 암호화](https://docs.aws.amazon.com/ebs/latest/userguide/encryption-by-default.html)를 참조하세요.
+ **EBS “단일 단계” 암호화** - 암호화되지 않은 AMI에서 암호화된 EBS 지원 EC2 인스턴스를 시작하고, 그와 동시에 최대 절전 모드를 활성화할 수도 있습니다. 자세한 내용은 [EBS-backed AMI에서 암호화 사용](AMIEncryption.md) 섹션을 참조하세요.
+ **암호화된 AMI** - 암호화된 AMI를 사용하여 인스턴스를 시작하는 방식으로 EBS 암호화를 활성화할 수 있습니다. AMI에 암호화된 루트 스냅샷이 없을 경우, 이를 새로운 AMI 및 요청 암호화에 복사할 수 있습니다. 자세한 내용은 [복사 중에 암호화되지 않은 이미지 암호화](AMIEncryption.md#copy-unencrypted-to-encrypted) 및 [AMI 복사](CopyingAMIs.md#ami-copy-steps)(을)를 참조하세요.

## EBS 볼륨 유형
<a name="hibernation-prereqs-ebs-volume-types"></a>

EBS 볼륨은 다음 EBS 볼륨 유형 중 하나를 사용해야 합니다.
+ 범용 SSD(`gp2` 및 `gp3`)
+ 프로비저닝된 IOPS SSD(`io1` 및 `io2`)

프로비저닝된 IOPS SSD 볼륨 유형을 선택한 경우 최대 절전 모드에서 최적의 성능을 얻으려면 적절한 IOPS로 EBS 볼륨을 프로비저닝해야 합니다. 자세한 내용은 *Amazon EBS 사용 설명서*의 [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html)를 참조하세요.

## 스팟 인스턴스 요청
<a name="hibernation-prereqs-spot-request"></a>

스팟 인스턴스에는 다음 요구 사항이 적용됩니다.
+ 스팟 인스턴스 요청 유형은 `persistent`여야 합니다.
+ 스팟 인스턴스 요청에서 시작 그룹을 지정할 수 없습니다.

# 최대 절전 모드를 지원하도록 Linux AMI 구성
<a name="hibernation-enabled-AMI"></a>

다음 Linux AMI는 이 섹션에서 설명하는 추가 구성 단계를 완료하면 Amazon EC2 인스턴스의 최대 절전 모드를 지원할 수 있습니다.

**Topics**
+ [2023년 9월 20일 이후 릴리스된 AL2023 최소 AMI](#configure-AL2023-minimal-for-hibernation)
+ [2019년 8월 29일 이후에 릴리스된 Amazon Linux 2 최소 AMI](#configure-AL2-minimal-for-hibernation)
+ [2019년 8월 29일 이전에 릴리스된 Amazon Linux 2](#configure-AL2-for-hibernation)
+ [2018년 11월 16일 이전에 릴리스된 Amazon Linux](#configure-AL-for-hibernation)
+ [CentOS 버전 8 이상](#configure-centos-for-hibernation)
+ [Fedora 버전 34 이상](#configure-fedora-for-hibernation)
+ [Red Hat Enterprise Linux 버전 8 또는 9](#configure-RHEL-for-hibernation)
+ [일련 번호 20210820 이전에 릴리스된 Ubuntu 20.04 LTS(Focal Fossa)](#configure-ubuntu2004-for-hibernation)
+ [일련 번호 20190722.1 이전에 릴리스된 Ubuntu 18.04(Bionic Beaver)](#configure-ubuntu1804-for-hibernation)
+ [Ubuntu 16.04(Xenial Xerus)](#configure-ubuntu1604-for-hibernation)

최대 절전 모드를 지원하고 *추가 구성이 필요하지 않은* Linux 및 Windows AMI는 [AMI](hibernating-prerequisites.md#hibernation-prereqs-supported-amis)의 내용을 참조하세요.

자세한 내용은 [Amazon Linux 2 인스턴스에서 인스턴스 소프트웨어 업데이트](https://docs.aws.amazon.com/linux/al2/ug/install-updates.html)를 참조하세요.

## 2023년 9월 20일 이후 릴리스된 AL2023 최소 AMI
<a name="configure-AL2023-minimal-for-hibernation"></a>

**최대 절전 모드를 지원하도록 2023년 9월 20일 이후에 릴리스된 AL2023 최소 AMI를 구성하려면 다음과 같이 하세요.**

1. 리포지토리에서 `ec2-hibinit-agent` 패키지를 설치합니다.

   ```
   [ec2-user ~]$ sudo dnf install ec2-hibinit-agent
   ```

1. 서비스를 다시 시작합니다.

   ```
   [ec2-user ~]$ sudo systemctl start hibinit-agent
   ```

## 2019년 8월 29일 이후에 릴리스된 Amazon Linux 2 최소 AMI
<a name="configure-AL2-minimal-for-hibernation"></a>

**최대 절전 모드를 지원하도록 2019년 8월 29일 이후에 릴리스된 Amazon Linux 2 최소 AMI 구성**

1. 리포지토리에서 `ec2-hibinit-agent` 패키지를 설치합니다.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. 서비스를 다시 시작합니다.

   ```
   [ec2-user ~]$ sudo systemctl start hibinit-agent
   ```

## 2019년 8월 29일 이전에 릴리스된 Amazon Linux 2
<a name="configure-AL2-for-hibernation"></a>

**최대 절전 모드를 지원하도록 2019년 8월 29일 이전에 릴리스된 Amazon Linux 2 AMI를 구성하려면**

1. 커널을 `4.14.138-114.102` 이상으로 업데이트합니다.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. 리포지토리에서 `ec2-hibinit-agent` 패키지를 설치합니다.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. 인스턴스를 재부팅합니다.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. 커널 버전이 `4.14.138-114.102` 이상으로 업데이트되었는지 확인합니다.

   ```
   [ec2-user ~]$ uname -a
   ```

1. 인스턴스를 중지하고 AMI를 생성합니다. 자세한 내용은 [Amazon EBS 지원 AMI 생성](creating-an-ami-ebs.md) 섹션을 참조하세요.

## 2018년 11월 16일 이전에 릴리스된 Amazon Linux
<a name="configure-AL-for-hibernation"></a>

**최대 절전 모드를 지원하도록 2018년 11월 16일 이전에 릴리스된 Amazon Linux AMI를 구성하려면**

1. 커널을 `4.14.77-70.59` 이상으로 업데이트합니다.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. 리포지토리에서 `ec2-hibinit-agent` 패키지를 설치합니다.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. 인스턴스를 재부팅합니다.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. 다음 명령을 사용하여 커널 버전이 `4.14.77-70.59` 이상으로 업데이트되었는지 확인합니다.

   ```
   [ec2-user ~]$ uname -a
   ```

1. 인스턴스를 중지하고 AMI를 생성합니다. 자세한 내용은 [Amazon EBS 지원 AMI 생성](creating-an-ami-ebs.md) 섹션을 참조하세요.

## CentOS 버전 8 이상
<a name="configure-centos-for-hibernation"></a>

**최대 절전 모드를 지원하도록 CentOS 버전 8 이상 AMI를 구성하려면**

1. 커널을 `4.18.0-305.7.1.el8_4.x86_64` 이상으로 업데이트합니다.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. Fedora Extra Packages for Enterprise Linux(EPEL) 리포지토리를 설치합니다.

   ```
   [ec2-user ~]$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
   ```

1. 리포지토리에서 `ec2-hibinit-agent` 패키지를 설치합니다.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. 부팅 시 최대 절전 모드 에이전트가 시작되도록 활성화합니다.

   ```
   [ec2-user ~]$ sudo systemctl enable hibinit-agent.service
   ```

1. 인스턴스를 재부팅합니다.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. 커널 버전이 `4.18.0-305.7.1.el8_4.x86_64` 이상으로 업데이트되었는지 확인합니다.

   ```
   [ec2-user ~]$ uname -a
   ```

## Fedora 버전 34 이상
<a name="configure-fedora-for-hibernation"></a>

**최대 절전 모드를 지원하도록 Fedora 버전 34 이상 AMI를 구성하려면**

1. 커널을 `5.12.10-300.fc34.x86_64` 이상으로 업데이트합니다.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. 리포지토리에서 `ec2-hibinit-agent` 패키지를 설치합니다.

   ```
   [ec2-user ~]$ sudo dnf install ec2-hibinit-agent
   ```

1. 부팅 시 최대 절전 모드 에이전트가 시작되도록 활성화합니다.

   ```
   [ec2-user ~]$ sudo systemctl enable hibinit-agent.service
   ```

1. 인스턴스를 재부팅합니다.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. 커널 버전이 `5.12.10-300.fc34.x86_64` 이상으로 업데이트되었는지 확인합니다.

   ```
   [ec2-user ~]$ uname -a
   ```

## Red Hat Enterprise Linux 버전 8 또는 9
<a name="configure-RHEL-for-hibernation"></a>

**최대 절전 모드를 지원하도록 Red Hat Enterprise Linux 8 또는 9 AMI 구성 방법**

1. 커널을 `4.18.0-305.7.1.el8_4.x86_64` 이상으로 업데이트합니다.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. Fedora Extra Packages for Enterprise Linux(EPEL) 리포지토리를 설치합니다.

   RHEL 버전 8:

   ```
   [ec2-user ~]$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
   ```

   RHEL 버전 9:

   ```
   [ec2-user ~]$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
   ```

1. 리포지토리에서 `ec2-hibinit-agent` 패키지를 설치합니다.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. 부팅 시 최대 절전 모드 에이전트가 시작되도록 활성화합니다.

   ```
   [ec2-user ~]$ sudo systemctl enable hibinit-agent.service
   ```

1. 인스턴스를 재부팅합니다.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. 커널 버전이 `4.18.0-305.7.1.el8_4.x86_64` 이상으로 업데이트되었는지 확인합니다.

   ```
   [ec2-user ~]$ uname -a
   ```

## 일련 번호 20210820 이전에 릴리스된 Ubuntu 20.04 LTS(Focal Fossa)
<a name="configure-ubuntu2004-for-hibernation"></a>

**최대 절전 모드를 지원하도록 일련 번호 20210820 이전에 릴리스된 Ubuntu 20.04 LTS(Focal Fossa) AMI를 구성하는 법**

1. Linux-aws-kernel을 `5.8.0-1038.40` 이상으로 업데이트하고 grub2를 `2.04-1ubuntu26.13` 이상으로 업데이트합니다.

   ```
   [ec2-user ~]$ sudo apt update
   [ec2-user ~]$ sudo apt dist-upgrade
   ```

1. 인스턴스를 재부팅합니다.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. 커널 버전이 `5.8.0-1038.40` 이상으로 업데이트되었는지 확인합니다.

   ```
   [ec2-user ~]$ uname -a
   ```

1. grub2 버전이 `2.04-1ubuntu26.13` 이상으로 업데이트되었는지 확인합니다.

   ```
   [ec2-user ~]$ dpkg --list | grep grub2-common
   ```

## 일련 번호 20190722.1 이전에 릴리스된 Ubuntu 18.04(Bionic Beaver)
<a name="configure-ubuntu1804-for-hibernation"></a>

**최대 절전 모드를 지원하도록 일련 번호 20190722.1 이전에 릴리스된 Ubuntu 18.04 LTS AMI를 구성하려면**

1. 커널을 `4.15.0-1044` 이상으로 업데이트합니다.

   ```
   [ec2-user ~]$ sudo apt update
   [ec2-user ~]$ sudo apt dist-upgrade
   ```

1. 리포지토리에서 `ec2-hibinit-agent` 패키지를 설치합니다.

   ```
   [ec2-user ~]$ sudo apt install ec2-hibinit-agent
   ```

1. 인스턴스를 재부팅합니다.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. 커널 버전이 `4.15.0-1044` 이상으로 업데이트되었는지 확인합니다.

   ```
   [ec2-user ~]$ uname -a
   ```

## Ubuntu 16.04(Xenial Xerus)
<a name="configure-ubuntu1604-for-hibernation"></a>

최대 절전 모드를 지원하도록 Ubuntu 16.04 LTS를 구성하려면 linux-aws-hwe 커널 패키지 버전 4.15.0-1058-aws 이상 및 ec2-hibinit-agent를 설치해야 합니다.

**중요**  
`linux-aws-hwe` 커널 패키지는 Canonical을 통해 지원됩니다. Ubuntu 16.04 LTS에 대한 표준 지원은 2021년 4월에 종료되었으며 패키지는 더 이상 정기 업데이트를 받지 않습니다. 그러나 연장된 보안 유지 관리 지원이 2024년에 종료될 때까지 추가 보안 업데이트를 받게 됩니다. 자세한 내용은 Canonical Ubuntu 블로그의 [Ubuntu 16.04 LTS용 Amazon EC2 Hibernation, 이제 사용 가능](https://ubuntu.com/blog/amazon-ec2-hibernation-for-ubuntu-16-04-lts-now-available)을 참조하세요.  
Ubuntu 20.04 LTS(Focal Fossa) AMI 또는 Ubuntu 18.04 LTS(Bionic Beaver) AMI로 업그레이드하는 것이 좋습니다.

**최대 절전 모드를 지원하도록 Ubuntu 16.04 LTS AMI를 구성하려면**

1. 커널을 `4.15.0-1058-aws` 이상으로 업데이트합니다.

   ```
   [ec2-user ~]$ sudo apt update
   [ec2-user ~]$ sudo apt install linux-aws-hwe
   ```

1. 리포지토리에서 `ec2-hibinit-agent` 패키지를 설치합니다.

   ```
   [ec2-user ~]$ sudo apt install ec2-hibinit-agent
   ```

1. 인스턴스를 재부팅합니다.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. 커널 버전이 `4.15.0-1058-aws` 이상으로 업데이트되었는지 확인합니다.

   ```
   [ec2-user ~]$ uname -a
   ```

# Amazon EC2 인스턴스에서 최대 절전 모드 활성화
<a name="enabling-hibernation"></a>

인스턴스를 최대 절전 모드로 전환하려면 먼저 인스턴스를 시작하는 동안 최대 절전 모드로 전환하도록 활성화해야 합니다.

**중요**  
인스턴스를 시작한 후에는 인스턴스에 대해 최대 절전 모드를 활성화하거나 비활성화할 수 없습니다.

**Topics**
+ [온디맨드 인스턴스 최대 절전 모드 활성화](#enable-hibernation-for-on-demand-instances)
+ [스팟 인스턴스 최대 절전 모드 활성화](#enable-hibernation-for-spot-instances)
+ [인스턴스의 최대 절전 모드가 활성화되었는지 보기](#view-if-instance-is-enabled-for-hibernation)

## 온디맨드 인스턴스 최대 절전 모드 활성화
<a name="enable-hibernation-for-on-demand-instances"></a>

온디맨드 인스턴스에서 최대 절전 모드를 활성화할 수 있습니다.

------
#### [ Console ]

**온디맨드 인스턴스 최대 절전 모드를 활성화하는 방법**

1. 절차에 따라 [인스턴스를 시작](ec2-launch-instance-wizard.md)하되 다음 단계를 완료하여 최대 절전 모드를 활성화할 때까지 인스턴스를 시작하지 마세요.

1. 최대 절전 모드를 활성화하려면 인스턴스 시작 마법사에서 다음 필드를 구성합니다.

   1. **Application and OS Images (Amazon Machine Image)**(애플리케이션 및 OS 이미지(Amazon Machine Image))에서 최대 절전 모드를 지원하는 AMI를 선택합니다. 자세한 내용은 [AMI](hibernating-prerequisites.md#hibernation-prereqs-supported-amis) 섹션을 참조하세요.

   1. **인스턴스 유형(Instance type)**에서 지원되는 인스턴스 유형을 선택합니다. 자세한 내용은 [인스턴스 패밀리](hibernating-prerequisites.md#hibernation-prereqs-supported-instance-families) 섹션을 참조하세요.

   1. **Configure storage**,(스토리지 구성)에서 **Advanced**(고급)(오른쪽)를 선택하고 루트 볼륨에 대해 다음 정보를 지정합니다.
      + **크기(GiB)(Size (GiB))**에 EBS 루트 볼륨 크기를 입력합니다. 볼륨은 RAM 내용을 저장하고 예상 사용량을 수용할 수 있을 정도로 커야 합니다.
      + **Volume type**(볼륨 유형)에서 지원되는 EBS 볼륨 유형(범용 SSD(`gp2` 및 `gp3`) 또는 프로비저닝된 IOPS SSD(`io1` 또는 `io2`))을 선택합니다.
      + **Encrypted**(암호화)에서 **Yes**(예)를 선택합니다. 이 AWS 리전에서 기본적으로 암호화를 활성화한 경우 **Yes**(예)가 선택됩니다.
      + **KMS key**(KMS 키)에서 볼륨의 암호화 키를 선택합니다. 이 AWS 리전에서 기본적으로 암호화를 활성화한 경우 기본 암호화 키가 선택됩니다.

      루트 볼륨의 사전 조건에 대한 자세한 내용은 [EC2 인스턴스 최대 절전 모드를 위한 사전 조건](hibernating-prerequisites.md) 섹션을 참조하세요.

   1. **Advanced details**(고급 세부 정보)를 확장하고 **Stop - Hibernate behavior**(중지 - 최대 절전 모드 동작)에 대해 **Enable**(활성화)을 선택합니다.

1. **Summary**(요약) 패널에서 인스턴스 구성을 검토한 다음 **Launch instance**(인스턴스 시작)를 선택합니다. 자세한 내용은 [콘솔에서 인스턴스 시작 마법사를 사용하여 EC2 인스턴스 시작](ec2-launch-instance-wizard.md) 섹션을 참조하세요.

------
#### [ AWS CLI ]

**온디맨드 인스턴스 최대 절전 모드를 활성화하는 방법**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용하여 인스턴스를 시작합니다. `--block-device-mappings file://mapping.json` 파라미터를 사용하여 EBS 루트 볼륨 파라미터를 지정하고, `--hibernation-options Configured=true` 파라미터를 사용하여 최대 절전 모드를 활성화합니다.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --instance-type m5.large \
    --block-device-mappings file://mapping.json \
    --hibernation-options Configured=true \
    --count 1 \
    --key-name MyKeyPair
```

`mapping.json`에서 다음을 지정합니다.

```
[
    {
        "DeviceName": "/dev/xvda",
        "Ebs": {
            "VolumeSize": 30,
            "VolumeType": "gp2",
            "Encrypted": true
        }
    }
]
```

`DeviceName`의 값은 AMI와 연결된 루트 디바이스 이름과 일치해야 합니다. 루트 디바이스 이름을 찾으려면 [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 명령을 사용합니다.

```
aws ec2 describe-images --image-id ami-0abcdef1234567890
```

이 AWS 리전에서 기본적으로 암호화를 활성화한 경우 `"Encrypted": true`를 생략할 수 있습니다.

------
#### [ PowerShell ]

**온디맨드 인스턴스 최대 절전 모드를 활성화하는 방법**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) 명령을 사용하여 인스턴스를 시작합니다. 먼저 블록 디바이스 매핑을 정의한 다음 `-BlockDeviceMappings` 파라미터를 사용하여 명령에 추가하여 EBS 루트 볼륨을 지정합니다. `-HibernationOptions_Configured $true` 파라미터를 사용하여 최대 절전 모드를 활성화합니다.

```
$ebs_encrypt = New-Object Amazon.EC2.Model.BlockDeviceMapping
$ebs_encrypt.DeviceName = "/dev/xvda"
$ebs_encrypt.Ebs = New-Object Amazon.EC2.Model.EbsBlockDevice
$ebs_encrypt.Ebs.VolumeSize = 30
$ebs_encrypt.Ebs.VolumeType = "gp2"
$ebs_encrypt.Ebs.Encrypted = $true

New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType m5.large `
    -BlockDeviceMappings $ebs_encrypt `
    -HibernationOptions_Configured $true `
    -MinCount 1 `
    -MaxCount 1 `
    -KeyName MyKeyPair
```

`DeviceName`의 값은 AMI와 연결된 루트 디바이스 이름과 일치해야 합니다. 루트 디바이스 이름을 찾으려면 [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) 명령을 사용합니다.

```
Get-EC2Image -ImageId ami-0abcdef1234567890
```

이 AWS 리전에서 기본적으로 암호화를 활성화한 경우 블록 디바이스 매핑에서 `Encrypted = $true`를 생략할 수 있습니다.

------

## 스팟 인스턴스 최대 절전 모드 활성화
<a name="enable-hibernation-for-spot-instances"></a>

스팟 인스턴스에서 최대 절전 모드를 활성화할 수 있습니다. 중단 시 스팟 인스턴스 최대 절전 모드 전환에 대한 자세한 내용은 [스팟 인스턴스 중단](spot-interruptions.md) 섹션을 참조하세요.

------
#### [ Console ]

**스팟 인스턴스 최대 절전 모드를 활성화하는 방법**

1. 절차에 따라 [인스턴스 시작 마법사를 사용하여 스팟 인스턴스를 요청](using-spot-instances-request.md)하되 다음과 같은 단계를 완료하여 최대 절전 모드를 활성화할 때까지 인스턴스를 시작하지 마세요.

1. 최대 절전 모드를 활성화하려면 인스턴스 시작 마법사에서 다음 필드를 구성합니다.

   1. **Application and OS Images (Amazon Machine Image)**(애플리케이션 및 OS 이미지(Amazon Machine Image))에서 최대 절전 모드를 지원하는 AMI를 선택합니다. 자세한 내용은 [AMI](hibernating-prerequisites.md#hibernation-prereqs-supported-amis) 섹션을 참조하세요.

   1. **인스턴스 유형(Instance type)**에서 지원되는 인스턴스 유형을 선택합니다. 자세한 내용은 [인스턴스 패밀리](hibernating-prerequisites.md#hibernation-prereqs-supported-instance-families) 섹션을 참조하세요.

   1. **Configure storage**,(스토리지 구성)에서 **Advanced**(고급)(오른쪽)를 선택하고 루트 볼륨에 대해 다음 정보를 지정합니다.
      + **크기(GiB)(Size (GiB))**에 EBS 루트 볼륨 크기를 입력합니다. 볼륨은 RAM 내용을 저장하고 예상 사용량을 수용할 수 있을 정도로 커야 합니다.
      + **Volume type**(볼륨 유형)에서 지원되는 EBS 볼륨 유형(범용 SSD(`gp2` 및 `gp3`) 또는 프로비저닝된 IOPS SSD(`io1` 또는 `io2`))을 선택합니다.
      + **Encrypted**(암호화)에서 **Yes**(예)를 선택합니다. 이 AWS 리전에서 기본적으로 암호화를 활성화한 경우 **Yes**(예)가 선택됩니다.
      + **KMS key**(KMS 키)에서 볼륨의 암호화 키를 선택합니다. 이 AWS 리전에서 기본적으로 암호화를 활성화한 경우 기본 암호화 키가 선택됩니다.

      루트 볼륨의 사전 조건에 대한 자세한 내용은 [EC2 인스턴스 최대 절전 모드를 위한 사전 조건](hibernating-prerequisites.md) 섹션을 참조하세요.

   1. **고급 세부 정보**를 확장하고 스팟 인스턴스를 구성하는 필드 외에 다음을 수행합니다.

      1. **요청 유형**에 **지속적**을 선택합니다.

      1. **인터럽트 방식**에 **최대 절전 모드**를 선택합니다. 또는 **중지 - 최대 절전 모드 동작**에 **활성화**를 선택합니다. 두 필드에서 모두 스팟 인스턴스에 대한 최대 절전 모드가 활성화됩니다. 둘 중 하나만 구성하면 됩니다.

1. **Summary**(요약) 패널에서 인스턴스 구성을 검토한 다음 **Launch instance**(인스턴스 시작)를 선택합니다. 자세한 내용은 [콘솔에서 인스턴스 시작 마법사를 사용하여 EC2 인스턴스 시작](ec2-launch-instance-wizard.md) 섹션을 참조하세요.

------
#### [ AWS CLI ]

**스팟 인스턴스 최대 절전 모드를 활성화하는 방법**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용하여 스팟 인스턴스를 요청합니다. `--block-device-mappings file://mapping.json` 파라미터를 사용하여 EBS 루트 볼륨 파라미터를 지정하고, `--hibernation-options Configured=true` 파라미터를 사용하여 최대 절전 모드를 활성화합니다. 스팟 요청 유형(`SpotInstanceType`)은 `persistent`여야 합니다.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --instance-type c4.xlarge \
    --block-device-mappings file://mapping.json \
    --hibernation-options Configured=true \
    --count 1 \
    --key-name MyKeyPair
    --instance-market-options
        {
           "MarketType":"spot",
           "SpotOptions":{
              "MaxPrice":"1",
              "SpotInstanceType":"persistent"
            }
        }
```

다음과 같이 `mapping.json`의 EBS 루트 볼륨 파라미터를 지정합니다.

```
[
    {
        "DeviceName": "/dev/xvda",
        "Ebs": {
            "VolumeSize": 30,
            "VolumeType": "gp2",
            "Encrypted": true
        }
    }
]
```

`DeviceName`의 값은 AMI와 연결된 루트 디바이스 이름과 일치해야 합니다. 루트 디바이스 이름을 찾으려면 [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 명령을 사용합니다.

```
aws ec2 describe-images --image-id ami-0abcdef1234567890
```

이 AWS 리전에서 기본적으로 암호화를 활성화한 경우 `"Encrypted": true`를 생략할 수 있습니다.

------
#### [ PowerShell ]

**스팟 인스턴스 최대 절전 모드를 활성화하는 방법**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) 명령을 사용하여 스팟 인스턴스를 요청합니다. 먼저 블록 디바이스 매핑을 정의한 다음 `-BlockDeviceMappings` 파라미터를 사용하여 명령에 추가하여 EBS 루트 볼륨을 지정합니다. `-HibernationOptions_Configured $true` 파라미터를 사용하여 최대 절전 모드를 활성화합니다.

```
$ebs_encrypt = New-Object Amazon.EC2.Model.BlockDeviceMapping
$ebs_encrypt.DeviceName = "/dev/xvda"
$ebs_encrypt.Ebs = New-Object Amazon.EC2.Model.EbsBlockDevice
$ebs_encrypt.Ebs.VolumeSize = 30
$ebs_encrypt.Ebs.VolumeType = "gp2"
$ebs_encrypt.Ebs.Encrypted = $true

New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType m5.large `
    -BlockDeviceMappings $ebs_encrypt `
    -HibernationOptions_Configured $true `
    -MinCount 1 `
    -MaxCount 1 `
    -KeyName MyKeyPair `
    -InstanceMarketOption @(
        MarketType = spot;
        SpotOptions @{
        MaxPrice = 1;
        SpotInstanceType = persistent}
    )
```

`DeviceName`의 값은 AMI와 연결된 루트 디바이스 이름과 일치해야 합니다. 루트 디바이스 이름을 찾으려면 [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) 명령을 사용합니다.

```
Get-EC2Image -ImageId ami-0abcdef1234567890
```

이 AWS 리전에서 기본적으로 암호화를 활성화한 경우 블록 디바이스 매핑에서 `Encrypted = $true`를 생략할 수 있습니다.

------

## 인스턴스의 최대 절전 모드가 활성화되었는지 보기
<a name="view-if-instance-is-enabled-for-hibernation"></a>

인스턴스에 최대 절전 모드가 활성화되어 있는지 확인할 수 있습니다.

------
#### [ Console ]

**인스턴스에 대해 최대 절전 모드가 활성화되어 있는지 여부 확인**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 **세부 정보** 탭의 **인스턴스 세부 정보** 섹션에서 **중지 - 최대 절전 모드 동작**을 살펴봅니다. **활성**은 인스턴스에 대해 최대 절전 모드가 활성화되어 있음을 나타냅니다.

------
#### [ AWS CLI ]

**인스턴스에 대해 최대 절전 모드가 활성화되어 있는지 여부 확인**  
[describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용해 최대 절전 모드가 활성화된 인스턴스를 필터링하도록 `--filters "Name=hibernation-options.configured,Values=true"` 파라미터를 지정합니다.

```
aws ec2 describe-instances \
    --filters "Name=hibernation-options.configured,Values=true"
```

출력의 다음 필드는 인스턴스에 대해 최대 절전 모드가 활성화되었음을 나타냅니다.

```
"HibernationOptions": {
    "Configured": true
}
```

------
#### [ PowerShell ]

**인스턴스에 대해 최대 절전 모드가 활성화되어 있는지 여부 확인**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet을 사용하여 최대 절전 모드가 활성화된 인스턴스를 필터링합니다.

```
(Get-EC2Instance `
    -Filter @{Name="hibernation-options.configured"; Values="true"}).Instances
```

------

# 인스턴스에서 KASLR 비활성화(Ubuntu만 해당)
<a name="hibernation-disable-kaslr"></a>

Ubuntu 16.04 LTS(Xenial Xerus), 일련 번호 20190722.1 이후에 릴리스된 Ubuntu 18.04 LTS(Bionic Beaver) 또는 일련 번호 20210820 이후에 릴리스된 Ubuntu 20.04 LTS(Focal Fossa)가 있는 새로 시작된 인스턴스에서 최대 절전 모드를 실행하려면 KASLR(커널 주소 스페이스 레이아웃 무작위화)을 비활성화하는 것이 좋습니다. Ubuntu 16.04 LTS, Ubuntu 18.04 LTS 또는 Ubuntu 20.04 LTS에서는 KASLR이 기본적으로 활성화되어 있습니다.

KASLR은 커널의 기본 주소 값을 무작위화하여 아직 발견되지 않은 메모리 액세스 취약점에 대한 노출 및 파급을 완화하는 데 도움이 되는 표준 Linux 커널 보안 기능입니다. KASLR을 활성화하면 인스턴스를 최대 절전 모드로 전환 한 후 다시 시작하지 못할 수도 있습니다.

KASLR에 대한 자세한 내용은 [Ubuntu 기능](https://wiki.ubuntu.com/Security/Features)을 참조하세요.

**Ubuntu로 시작된 인스턴스에서 KASLR을 비활성화하려면**

1. SSH를 사용하여 인스턴스에 연결합니다. 자세한 내용은 [SSH를 사용하여 Linux 인스턴스에 연결](connect-to-linux-instance.md) 섹션을 참조하세요.

1. 원하는 편집기에서 `/etc/default/grub.d/50-cloudimg-settings.cfg` 파일을 엽니다. 다음 예제와 같이 `nokaslr` 옵션을 끝에 추가하려면 `GRUB_CMDLINE_LINUX_DEFAULT` 행을 편집하세요.

   ```
   GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0 nvme_core.io_timeout=4294967295 nokaslr"
   ```

1. 파일을 저장하고 편집기를 종료합니다.

1. 다음 명령을 실행하여 grub 구성을 재구성합니다.

   ```
   sudo update-grub
   ```

1. 인스턴스를 재부팅합니다.

   ```
   sudo reboot
   ```

1. 다음 명령을 실행하여 `nokaslr`이 추가되었는지 확인합니다.

   ```
   cat /proc/cmdline
   ```

   명령의 출력에는 `nokaslr` 옵션이 포함되어야 합니다.

# Amazon EC2 인스턴스를 최대 절전 모드로 전환
<a name="hibernating-instances"></a>

인스턴스가 EBS 지원 인스턴스이고, [최대 절전 모드 활성화됨](enabling-hibernation.md)이며, 최대 [절전 모드 사전 조건](hibernating-prerequisites.md)이 충족되면 온디맨드 인스턴스 또는 스팟 인스턴스에 대한 최대 절전 모드를 시작할 수 있습니다. 인스턴스를 최대 절전 모드로 전환할 수 없는 경우 정상 종료가 진행됩니다.

------
#### [ Console ]

**인스턴스를 최대 절전 모드로 전환하는 방법**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 **인스턴스 상태**, **인스턴스를 최대 절전 모드로 전환**을 차례로 선택합니다. **인스턴스를 최대 절전 모드로 전환**이 비활성화되어 있으면 해당 인스턴스가 이미 최대 절전 모드로 전환 또는 중지되었거나 최대 절전 모드로 전환할 수 없는 것입니다. 자세한 내용은 [EC2 인스턴스 최대 절전 모드를 위한 사전 조건](hibernating-prerequisites.md) 섹션을 참조하세요.

1. 확인 메시지가 나타나면 **최대 절전 모드로 전환**을 선택합니다. 인스턴스가 최대 절전 모드로 전환하는 데 몇 분 정도 걸릴 수 있습니다. 인스턴스가 최대 절전 모드 상태인 경우 인스턴스 상태가 먼저 **중지 중(Stopping)**으로 바뀐 후 **중지됨(Stopped)**으로 바뀝니다.

------
#### [ AWS CLI ]

**인스턴스를 최대 절전 모드로 전환하는 방법**  
[stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) 명령을 사용하여 `--hibernate` 파라미터를 지정합니다.

```
aws ec2 stop-instances \
    --instance-ids i-1234567890abcdef0 \
    --hibernate
```

------
#### [ PowerShell ]

**인스턴스를 최대 절전 모드로 전환하는 방법**  
[Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) cmdlet을 사용합니다.

```
Stop-EC2Instance `
    -InstanceId i-1234567890abcdef0 `
    -Hibernate $true
```

------

인스턴스에서 최대 절전 모드가 시작되었는지 확인할 수 있습니다.

------
#### [ Console ]

**인스턴스에 대해 최대 절전 모드가 시작되었는지 확인**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 **세부 정보** 탭의 **인스턴스 세부 정보** 섹션에서 **상태 전환 메시지**의 값을 확인합니다.

   **Client.UserInitiatedHibernate: User initiated hibernate**는 온디맨드 인스턴스 또는 스팟 인스턴스에 대한 최대 절전 모드를 시작했다는 것을 나타냅니다.

------
#### [ AWS CLI ]

**인스턴스에 대해 최대 절전 모드가 시작되었는지 확인**  
[describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용해 최대 절전 모드가 시작된 인스턴스를 보려면 `state-reason-code` 필터를 지정합니다.

```
aws ec2 describe-instances \
    --filters "Name=state-reason-code,Values=Client.UserInitiatedHibernate"
```

출력의 다음 필드에 온디맨드 인스턴스 또는 스팟 인스턴스에 대한 최대 절전 모드가 시작되었다는 것이 표시됩니다.

```
"StateReason": {
    "Code": "Client.UserInitiatedHibernate"
}
```

------
#### [ PowerShell ]

**인스턴스에 대해 최대 절전 모드가 시작되었는지 확인**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet을 사용하고 `state-reason-code` 필터를 지정하여 최대 절전 모드가 시작된 인스턴스를 확인합니다.

```
Get-EC2Instance `
    -Filter @{Name="state-reason-code";Value="Client.UserInitiatedHibernate"}
```

------

# 최대 절전 모드로 전환된 Amazon EC2 인스턴스 시작
<a name="hibernating-resuming"></a>

중지된 인스턴스를 다시 시작하는 것과 같은 방법으로 최대 절전 모드 인스턴스를 시작합니다.

스팟 인스턴스의 경우 Amazon EC2에서 인스턴스를 최대 절전 모드로 전환했으면 Amazon EC2에서만 재개할 수 있습니다. **본인이 최대 절전 모드로 전환한 경우에만 최대 절전 모드로 전환된 스팟 인스턴스를 본인이 재개할 수 있습니다. 스팟 인스턴스는 용량을 사용할 수 있고 스팟 가격이 지정된 최대 가격 이하인 경우에만 재개될 수 있습니다.

------
#### [ Console ]

**최대 절전 모드로 전환된 인스턴스 시작**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 최대 절전 모드로 전환된 인스턴스를 선택하고 **인스턴스 상태**, **인스턴스 시작**을 차례로 선택합니다. 인스턴스가 `running` 상태가 되는 데 몇 분 정도 걸릴 수 있습니다. 이 과정에서 인스턴스 [상태 확인](monitoring-system-instance-status-check.md#types-of-instance-status-checks)에는 그 인스턴스가 시작될 때까지 실패 상태가 표시됩니다.

------
#### [ AWS CLI ]

**최대 절전 모드로 전환된 인스턴스 시작**  
아래와 같이 [start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) 명령을 사용합니다.

```
aws ec2 start-instances --instance-ids i-1234567890abcdef0
```

------
#### [ PowerShell ]

**최대 절전 모드로 전환된 인스턴스 시작**  
[Start-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) cmdlet을 사용합니다.

```
Start-EC2Instance -InstanceId i-1234567890abcdef0
```

------

# Amazon EC2 인스턴스 최대 절전 모드 문제 해결
<a name="troubleshoot-instance-hibernate"></a>

이 정보를 사용하여 인스턴스를 최대 절전 모드로 전환할 때 발생할 수 있는 문제를 진단 및 수정합니다.

**Topics**
+ [시작 직후 최대 절전 모드로 전환할 수 없음](#hibernate-troubleshooting-1)
+ [stopping에서 stopped로 전환하는 데 너무 오래 걸리고 시작 후 메모리 상태가 복원되지 않음](#hibernate-troubleshooting-2)
+ [인스턴스가 stopping 상태에 멈춰 있음](#hibernate-troubleshooting-3)
+ [최대 절전 모드로 전환 후 즉시 스팟 인스턴스를 시작할 수 없음](#hibernate-troubleshooting-4)
+ [스팟 인스턴스 재개 실패](#hibernate-troubleshooting-5)

## 시작 직후 최대 절전 모드로 전환할 수 없음
<a name="hibernate-troubleshooting-1"></a>

인스턴스를 시작한 후 너무 빨리 인스턴스를 최대 절전 모드로 전환하려고 하면 오류 메시지가 표시됩니다.

시작 후 Linux 인스턴스는 약 2분, Windows 인스턴스는 약 5분을 기다려야 최대 절전 모드로 전환할 수 있습니다.

## stopping에서 stopped로 전환하는 데 너무 오래 걸리고 시작 후 메모리 상태가 복원되지 않음
<a name="hibernate-troubleshooting-2"></a>

최대 절전 모드 중인 인스턴스가 `stopping` 상태에서 `stopped` 상태로 전환되는데 너무 오래 걸리고 시작 후 메모리 상태가 복원되지 않는 경우 최대 절전 모드가 적절하게 구성되지 않았을 수 있습니다.

**Linux 인스턴스**

인스턴스 시스템 로그를 확인하고 최대 절전 모드와 관련된 메시지를 살펴보세요. 시스템 로그에 액세스하려면 인스턴스에 [연결](connect-to-linux-instance.md)하거나 [get-console-output](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-console-output.html) 명령을 사용합니다. `hibinit-agent`에서 로그 줄을 찾습니다. 긴 줄에 실패라고 표시되거나 로그 줄이 없는 경우 시작 시 최대 절전 모드 구성에 실패했을 가능성이 큽니다.

예를 들어, 다음 메시지는 인스턴스 루트 볼륨이 충분히 크지 않음을 나타냅니다. `hibinit-agent: Insufficient disk space. Cannot create setup for hibernation. Please allocate a larger root device.` 

`hibinit-agent`의 마지막 로그 줄이 `hibinit-agent: Running: swapoff /swap`이면 최대 절전 모드가 성공적으로 구성된 것입니다.

이러한 프로세스에서 어떠한 로그도 볼 수 없는 경우 AMI가 최대 절전 모드를 지원하지 않을 수 있습니다. 지원 AMI에 대한 내용은 [EC2 인스턴스 최대 절전 모드를 위한 사전 조건](hibernating-prerequisites.md) 섹션을 참조하세요. 자체 Linux AMI를 사용하는 경우 [최대 절전 모드를 지원하도록 Linux AMI 구성](hibernation-enabled-AMI.md)의 지침을 따라야 합니다.

**Windows Server 2016 이상**  
EC2 시작 로그를 확인하고 최대 절전 모드와 관련된 메시지를 살펴보세요. EC2 시작 로그에 액세스하려면, 인스턴스에 [연결](connecting_to_windows_instance.md)하고 텍스트 편집기에서 `C:\ProgramData\Amazon\EC2-Windows\Launch\Log\Ec2Launch.log` 파일을 엽니다. EC2Launch v2를 사용하는 경우 `C:\ProgramData\Amazon\EC2Launch\log\agent.log`를 엽니다.

**참고**  
기본적으로 Windows는 파일과 폴더를 `C:\ProgramData` 아래에 숨깁니다. EC2 디렉터리와 파일을 보려면 Windows 탐색기에 경로를 입력하거나 숨겨진 파일과 폴더를 표시하도록 폴더 속성을 변경합니다.

최대 절전 모드에 대한 로그 줄을 찾습니다. 긴 줄에 실패라고 표시되거나 로그 줄이 없는 경우 시작 시 최대 절전 모드 구성에 실패했을 가능성이 큽니다.

예를 들어, 다음 메시지는 최대 절전 모드를 구성하지 못했음을 나타냅니다. `Message: Failed to enable hibernation.` 오류 메시지에 십진수 ASCII 값이 포함된 경우 전체 오류 메시지를 읽으려면 ASCII 값을 일반 텍스트로 변환합니다.

의 로그 줄이 `HibernationEnabled: true`를 포함하면 최대 절전 모드가 성공적으로 구성된 것입니다.

**Windows Server 2012 R2 및 이전**  
EC2 구성 로그를 확인하고 최대 절전 모드와 관련된 메시지를 살펴보세요. EC2 구성 로그에 액세스하려면, 인스턴스에 [연결](connecting_to_windows_instance.md)하고 텍스트 편집기에서 `C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2ConfigLog.txt` 파일을 엽니다. `SetHibernateOnSleep`에 대한 로그 줄을 찾습니다. 긴 줄에 실패라고 표시되거나 로그 줄이 없는 경우 시작 시 최대 절전 모드 구성에 실패했을 가능성이 큽니다.

예를 들어, 다음 메시지는 인스턴스 루트 볼륨이 충분히 크지 않음을 나타냅니다. `SetHibernateOnSleep: Failed to enable hibernation: Hibernation failed with the following error: There is not enough space on the disk.` 

의 로그 줄이 `SetHibernateOnSleep: HibernationEnabled: true`이면 최대 절전 모드가 성공적으로 구성된 것입니다.

**Windows 인스턴스 크기**  
RAM이 1GiB 미만인 T3 또는 T3a Windows 인스턴스를 사용하는 경우 인스턴스의 크기를 RAM이 1GiB 이상인 인스턴스로 늘려보세요.

## 인스턴스가 stopping 상태에 멈춰 있음
<a name="hibernate-troubleshooting-3"></a>

인스턴스를 최대 절전 모드로 전환했는데 `stopping` 상태에 "멈춰" 있으면 강제로 중지할 수 있습니다. 자세한 내용은 [Amazon EC2 인스턴스 중지 문제 해결](TroubleshootingInstancesStopping.md) 섹션을 참조하세요.

## 최대 절전 모드로 전환 후 즉시 스팟 인스턴스를 시작할 수 없음
<a name="hibernate-troubleshooting-4"></a>

스팟 인스턴스를 최대 절전 모드로 전환한 후 2분 이내에 시작하려고 하면 다음 오류가 발생할 수 있습니다.

`You failed to start the Spot Instance because the associated Spot Instance request is not in an appropriate state to support start.`

Linux 인스턴스는 약 2분, Windows 인스턴스는 약 5을 기다린 후 인스턴스를 다시 시작하세요.

## 스팟 인스턴스 재개 실패
<a name="hibernate-troubleshooting-5"></a>

스팟 인스턴스가 성공적으로 최대 절전 모드로 전환되었지만 재개에 실패하고 대신 재부팅된 경우(최대 절전 모드로 전환된 상태가 유지되지 않는 새로 다시 시작) 사용자 데이터에 다음 스크립트가 포함되어 있기 때문일 수 있습니다.

```
/usr/bin/enable-ec2-spot-hibernation
```

시작 템플릿의 **사용자 데이터** 필드에서 이 스크립트를 제거한 다음 새 스팟 인스턴스를 요청합니다.

단, 인스턴스가 재개되지 않더라도 최대 절전 모드로 전환된 상태가 유지되지 않으면 인스턴스를 `stopped` 상태에서 시작하는 것과 같은 방식으로 시작할 수 있습니다.

# Amazon EC2 인스턴스 재부팅
<a name="ec2-instance-reboot"></a>

인스턴스 재부팅은 운영 체제 재부팅과 같습니다. 대부분의 경우 인스턴스를 재부팅하는 데는 몇 분 밖에 걸리지 않습니다.

인스턴스를 재부팅할 때 다음이 유지됩니다.
+ 퍼블릭 DNS 이름(IPv4)
+ 프라이빗 IPv4 주소
+ 퍼블릭 IPv4 주소
+ IPv6 주소(해당하는 경우)
+ 인스턴스 스토어 볼륨의 모든 데이터

인스턴스를 [중지했다가 다시 시작할 때](Stop_Start.md)(최소 1분 요금을 포함하는 새 청구 기간이 시작됨)와는 달리, 인스턴스를 재부팅해도 새 인스턴스 청구 기간이 시작되지 않습니다.

인스턴스 재부팅은 사용자가 시작하거나(인스턴스를 수동으로 재부팅하는 경우) AWS에 의해 시작될 수 있습니다(자동 인스턴스 복구를 위해 또는 재부팅이 필요한 업데이트를 적용하는 등 필요한 유지 관리를 위해 예약된 재부팅 이벤트에 대한 응답으로).

사용자가 시작한 재부팅의 경우 인스턴스에서 운영 체제 재부팅 명령을 실행하는 대신 Amazon EC2 콘솔, CLI 또는 API를 사용하는 것이 좋습니다. Amazon EC2를 사용하는 경우 인스턴스가 몇 분 안에 완전히 종료되지 않으면 Amazon EC2가 하드 재부팅을 수행합니다. 또한 AWS CloudTrail에서는 인스턴스가 재부팅된 시점의 API 레코드를 생성합니다.

이 주제에서는 사용자가 시작하는 재부팅을 수행하는 방법을 설명합니다. AWS에서 수행하는 재부팅에 대한 자세한 내용은 [자동 인스턴스 복구](ec2-instance-recover.md) 및 [재부팅하도록 예약된 Amazon EC2 인스턴스 관리](schedevents_actions_reboot.md) 섹션을 참조하세요.

**중요**  
인스턴스에 업데이트가 설치 중인 경우 모든 업데이트가 설치될 때까지는 Amazon EC2 콘솔 또는 명령줄을 사용하여 인스턴스를 재부팅하거나 종료하지 않는 것이 좋습니다. Amazon EC2 콘솔 또는 명령줄을 사용하여 인스턴스를 재부팅하거나 종료할 경우 인스턴스가 하드 재부팅할 위험이 있습니다. 업데이트가 설치되는 도중의 하드 재부팅은 인스턴스 상태를 불안정하게 만들 수 있습니다.

------
#### [ Console ]

**인스턴스 재부팅**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스(Instances)**를 선택합니다.

1. 인스턴스를 선택하고 **인스턴스 상태(Instance state)**, **인스턴스 재부팅(Reboot instance)**을 차례로 선택합니다.

1. 확인 메시지가 표시되면 **재부팅(Reboot)**을 선택합니다.

   인스턴스는 `running` 상태로 유지됩니다.

------
#### [ AWS CLI ]

**인스턴스 재부팅**  
[reboot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/reboot-instances.html) 명령을 사용합니다.

```
aws ec2 reboot-instances --instance-ids i-1234567890abcdef0
```

------
#### [ PowerShell ]

**인스턴스 재부팅**  
[Restart-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Restart-EC2Instance.html) cmdlet을 사용합니다.

```
Restart-EC2Instance -InstanceId i-1234567890abcdef0
```

------

**통제된 오류 주입 실험을 실행하려면**  
AWS Fault Injection Service를 사용하여 인스턴스가 재부팅될 때 애플리케이션이 어떻게 반응하는지 테스트할 수 있습니다. 자세한 내용은 [AWS Fault Injection Service 사용 설명서](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html)를 참조하세요.

# Amazon EC2 인스턴스 종료
<a name="terminating-instances"></a>

**주의**  
**인스턴스 종료는 영구적이며 취소할 수 없습니다.**  
종료한 인스턴스는 더 이상 연결할 수 없으며 복구할 수 없습니다. 연결된 Amazon EBS 볼륨도 종료 시 삭제하도록 구성한 경우 영구적으로 삭제되며 복구할 수 없습니다. 인스턴스 저장소 볼륨에 저장된 데이터는 모두 영구적으로 손실됩니다. 자세한 내용은 [인스턴스 종료 작동 방식](how-ec2-instance-termination-works.md) 섹션을 참조하세요.  
인스턴스를 종료하기 전에 종료 후에도 보존해야 하는 모든 데이터를 영구 스토리지에 백업했는지 확인하세요.

더 이상 필요하지 않은 인스턴스는 삭제할 수 있습니다. 이를 인스턴스 *종료*라고 합니다. 인스턴스 상태가 `shutting-down` 또는 `terminated`로 변경되는 즉시 해당 인스턴스에 대한 반복적인 요금 부과가 중단됩니다.

인스턴스를 종료한 후에는 그 인스턴스에 다시 연결하거나 재시작할 수 없습니다. 하지만 동일한 AMI를 사용해서 새 인스턴스를 실행할 수 있습니다.

대신 인스턴스를 중지하거나 최대 절전 모드로 전환하는 경우 [Amazon EC2 인스턴스 중지 및 시작](Stop_Start.md) 또는 [Amazon EC2 인스턴스를 최대 절전 모드로 전환](Hibernate.md) 섹션을 참조하세요. 자세한 내용은 [인스턴스 상태 간 차이](ec2-instance-lifecycle.md#lifecycle-differences) 섹션을 참조하세요.

**Topics**
+ [인스턴스 종료 작동 방식](how-ec2-instance-termination-works.md)
+ [인스턴스 종료 방법](instance-terminate-methods.md)
+ [정상적 OS 종료를 사용한 인스턴스 종료](#terminating-instances-console)
+ [인스턴스 종료 및 정상적 OS 종료 바이패스](#terminating-instances-bypass-graceful-os-shutdown)
+ [인스턴스 종료 문제 해결](#troubleshoot-instance-terminate)
+ [인스턴스 종료 방지 변경](Using_ChangingDisableAPITermination.md)
+ [인스턴스가 시작하는 종료 동작 변경](Using_ChangingInstanceInitiatedShutdownBehavior.md)
+ [인스턴스가 종료될 때 데이터 보존](preserving-volumes-on-termination.md)

# 인스턴스 종료 작동 방식
<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)를 참조하세요.

# 인스턴스 종료 방법
<a name="instance-terminate-methods"></a>

**주의**  
**인스턴스 종료는 영구적이며 취소할 수 없습니다.**  
종료한 인스턴스는 더 이상 연결할 수 없으며 복구할 수 없습니다. 연결된 Amazon EBS 볼륨도 종료 시 삭제하도록 구성한 경우 영구적으로 삭제되며 복구할 수 없습니다. 인스턴스 저장소 볼륨에 저장된 데이터는 모두 영구적으로 손실됩니다. 자세한 내용은 [인스턴스 종료 작동 방식](how-ec2-instance-termination-works.md) 섹션을 참조하세요.  
인스턴스를 종료하기 전에 종료 후에도 보존해야 하는 모든 데이터를 영구 스토리지에 백업했는지 확인하세요.

사용자 시작 인스턴스 종료를 수행하는 방법에는 기본 종료와 OS 종료 건너뛰기를 사용하는 종료, 강제 종료, OS 종료 건너뛰기를 사용하는 강제 종료 이렇게 네 가지 방법이 있습니다. 다음 표에서는 종료 방법의 주요 차이점을 비교합니다.

**참고**  
종료 방지가 활성화된 경우 인스턴스를 종료할 수 없습니다. 자세한 내용은 [인스턴스 종료 방지 변경](Using_ChangingDisableAPITermination.md) 섹션을 참조하세요.


| 종료 방법 | 주요 목적 | 사용 사례: | CLI 명령 | 
| --- | --- | --- | --- | 
| 기본 종료 | 정상적 OS 종료를 시도하는 정상적인 인스턴스 종료. | 일반적인 인스턴스 종료. | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0</pre> | 
| OS 종료 건너뛰기를 사용하여 종료 | 인스턴스를 종료할 때 정상적 OS 종료를 바이패스합니다. | 정상적 OS 종료 바이패스가 필요한 경우. | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0 \<br />--skip-os-shutdown</pre> | 
| 강제 종료 | 멈춘 인스턴스를 처리합니다. 기본 종료를 먼저 시도합니다. 인스턴스가 종료되지 않으면가 인스턴스를 강제로 종료합니다. | 인스턴스가 shutting-down 상태로 멈춘 경우. | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0 \<br />--force</pre> | 
| OS 종료 건너뛰기를 사용하여 강제 종료 | 인스턴스를 종료할 때 강제 종료하고 정상적 OS 종료를 바이패스합니다. | 강제 종료와 정상적 OS 종료 바이패스가 필요한 경우. | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0 \<br />--force \<br />--skip-os-shutdown</pre> | 

각 방법을 사용하는 방법에 대한 지침은 다음을 참조하세요.
+ [정상적 OS 종료를 사용한 인스턴스 종료](terminating-instances.md#terminating-instances-console)
+ [인스턴스 종료 및 정상적 OS 종료 바이패스](terminating-instances.md#terminating-instances-bypass-graceful-os-shutdown)
+ [인스턴스 종료](TroubleshootingInstancesShuttingDown.md#force-terminate-ec2-instance)

## 정상적 OS 종료를 사용한 인스턴스 종료
<a name="terminating-instances-console"></a>

정상적 OS 종료 시도를 포함하는 기본 종료 방법을 사용하여 인스턴스를 종료할 수 있습니다. 자세한 내용은 [인스턴스 종료 방법](instance-terminate-methods.md) 섹션을 참조하세요.

------
#### [ Console ]

**기본 종료 방법을 사용하여 인스턴스를 종료하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 **인스턴스 상태**, **인스턴스 종료(삭제)**를 선택합니다.

1. 확인 메시지가 나타나면 **종료(삭제)**를 선택합니다.

1. 인스턴스를 종료한 후에도 인스턴스는 잠깐 동안 `terminated`의 상태로 표시됩니다.

   종료에 실패하거나 종료된 인스턴스가 몇 시간 이상 표시될 경우 [종료된 인스턴스가 계속 표시됨](TroubleshootingInstancesShuttingDown.md#terminated-instance-still-displaying) 섹션을 참조하세요.

------
#### [ AWS CLI ]

**기본 종료 방법을 사용하여 인스턴스를 종료하려면**  
[terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) 명령을 사용합니다.

```
aws ec2 terminate-instances --instance-ids i-1234567890abcdef0
```

------
#### [ PowerShell ]

**기본 종료 방법을 사용하여 인스턴스를 종료하려면**  
[Remove-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Instance.html) cmdlet을 사용합니다.

```
Remove-EC2Instance -InstanceId i-1234567890abcdef0
```

------

## 인스턴스 종료 및 정상적 OS 종료 바이패스
<a name="terminating-instances-bypass-graceful-os-shutdown"></a>

인스턴스를 종료할 때 정상적 OS 종료를 바이패스할 수 있습니다. 자세한 내용은 [인스턴스 종료 방법](instance-terminate-methods.md) 섹션을 참조하세요.

------
#### [ Console ]

**인스턴스를 종료하고 정상적 OS 종료를 바이패스하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 **인스턴스 상태**, **인스턴스 종료(삭제)**를 선택합니다.

1. **OS 종료 건너뛰기**에서 **OS 종료 건너뛰기** 확인란을 선택합니다. 콘솔에 이 옵션이 표시되지 않는 경우 현재 리전의 콘솔에서 이 옵션을 아직 사용할 수 없는 것입니다. 그러나 AWS CLI 또는 SDK를 사용하여 이 기능에 액세스하거나 콘솔에서 다른 리전을 시도할 수 있습니다.

1. **종료(삭제)**를 선택합니다.

1. 인스턴스를 종료한 후에도 인스턴스는 잠깐 동안 `terminated`의 상태로 표시됩니다.

   종료에 실패하거나 종료된 인스턴스가 몇 시간 이상 표시될 경우 [종료된 인스턴스가 계속 표시됨](TroubleshootingInstancesShuttingDown.md#terminated-instance-still-displaying) 섹션을 참조하세요.

------
#### [ AWS CLI ]

**인스턴스를 종료하고 정상적 OS 종료를 바이패스하려면**  
[terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) 명령을 `--skip-os-shutdown`과 함께 사용합니다.

```
aws ec2 terminate-instances \
    --instance-ids i-1234567890abcdef0 \
    --skip-os-shutdown
```

------
#### [ PowerShell ]

**인스턴스를 종료하고 정상적 OS 종료를 바이패스하려면**  
[Remove-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Instance.html) cmdlet을 `-SkipOsShutdown $true`와 함께 사용합니다.

```
Remove-EC2Instance `
    -InstanceId i-1234567890abcdef0 `
    -SkipOsShutdown $true
```

------

## 인스턴스 종료 문제 해결
<a name="troubleshoot-instance-terminate"></a>

요청자는 `ec2:TerminateInstances`를 직접 호출할 수 있는 권한이 있어야 합니다. 자세한 내용은 [인스턴스 작업을 위한 정책 예제](ExamplePolicies_EC2.md#iam-example-instances)를 참조하세요.

인스턴스를 종료했을 때 다른 인스턴스가 시작될 경우 EC2 Fleet 또는 Amazon EC2 Auto Scaling 같은 기능을 통해 자동 조정을 구성했을 가능성이 큽니다. 자세한 내용은 [인스턴스가 자동으로 시작되거나 종료됨](TroubleshootingInstancesShuttingDown.md#automatic-instance-create-or-delete) 섹션을 참조하세요.

**참고**  
종료 방지가 활성화된 경우 인스턴스를 종료할 수 없습니다. 자세한 내용은 [인스턴스 종료 방지 변경](Using_ChangingDisableAPITermination.md) 섹션을 참조하세요.

인스턴스가 평소보다 오래 `shutting-down` 상태인 경우 강제 종료를 시도할 수 있습니다. 인스턴스가 `shutting-down` 상태에 있을 경우, 해당 인스턴스는 Amazon EC2 서비스 내 자동화된 과정에 의해 클린업(종료)됩니다. 자세한 내용은 [지연된 인스턴스 종료](TroubleshootingInstancesShuttingDown.md#instance-stuck-terminating) 섹션을 참조하세요.

# 인스턴스 종료 방지 변경
<a name="Using_ChangingDisableAPITermination"></a>

`TerminateInstances`를 직접적으로 호출하거나 Amazon EC2 콘솔과 같은 다른 인터페이스를 사용하거나 관계없이 Amazon EC2 API를 사용하여 인스턴스가 실수로 종료되는 것을 방지하려면 인스턴스에 대한 *종료 방지*를 활성화합니다. `DisableApiTermination` 속성에서는 인스턴스 종료 여부를 제어합니다. 기본 설정상 인스턴스에 대한 종료 보호 기능은 비활성화되어 있습니다. 인스턴스를 시작할 때 또는 인스턴스가 실행 중이거나 인스턴스가 중지된 동안 이 속성의 값을 설정할 수 있습니다.

`DisableApiTermination` 속성은 `InstanceInitiatedShutdownBehavior` 속성이 `terminate`로 설정된 경우 인스턴스에서 종료를 시작하는 방식(예: 시스템 종료를 위해 운영 체제 명령 사용)으로 인스턴스 종료를 방지하지 않습니다. 자세한 내용은 [인스턴스가 시작하는 종료 동작 변경](Using_ChangingInstanceInitiatedShutdownBehavior.md) 섹션을 참조하세요.

**고려 사항**
+ 종료 방지를 활성화해도 인스턴스를 종료하는 [예약 이벤트](monitoring-instances-status-check_sched.md)가 있는 경우 AWS에서 인스턴스 종료를 방지하지 않습니다.
+ 종료 방지를 활성화해도 인스턴스가 비정상일 때 또는 스케일 인 이벤트 중에 Amazon EC2 Auto Scaling에서 인스턴스를 종료합니다. [인스턴스 스케일 인 보호](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html)를 사용하여 스케일 인할 때 Auto Scaling이 특정 인스턴스를 종료할 수 있는지 여부를 제어할 수 있습니다. [ReplaceUnhealthy 조정 프로세스를 일시 중지](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html)하여 Auto Scaling에서 비정상 인스턴스의 종료 여부를 제어할 수 있습니다.
+ 스팟 인스턴스에 대한 종료 방지 기능은 활성화할 수 없습니다.

------
#### [ Console ]

**시작 시 인스턴스에 대한 종료 방지를 활성화하는 방법**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 대시보드에서 **인스턴스 시작**을 선택합니다.

1. **Advanced details**(고급 세부 정보)를 확장합니다. **종료 방지**에서 **활성화**를 선택합니다.

1. 인스턴스에 대한 세부 정보 지정을 마치면 **인스턴스 시작**을 선택합니다.

**인스턴스에 대한 종료 방지를 변경하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 [**인스턴스(Instances)**]를 선택합니다.

1. 인스턴스를 선택합니다.

1. **작업**, **인스턴스 설정**, **종료 보호 변경**을 선택합니다.

1. **종료 방지**에서 **활성화**를 선택하거나 선택 취소합니다.

1. **저장**을 선택합니다.

------
#### [ AWS CLI ]

**인스턴스에 대한 종료 방지를 활성화하는 방법**  
[modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) 명령을 사용합니다.

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --disable-api-termination
```

**인스턴스에 대한 종료 방지를 비활성화하려면**  
[modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) 명령을 사용합니다.

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --no-disable-api-termination
```

------
#### [ PowerShell ]

**인스턴스에 대한 종료 방지를 활성화하는 방법**  
[Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) cmdlet을 사용합니다.

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiTermination $true
```

**인스턴스에 대한 종료 방지를 비활성화하려면**  
[Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) cmdlet을 사용합니다.

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiTermination $false
```

------

## 종료 방지를 사용하여 여러 인스턴스 종료
<a name="terminate-multiple"></a>

동일한 요청에서 여러 가용 영역에 있는 여러 인스턴스를 종료할 때 지정한 인스턴스 중 하나 이상에 종료 방지가 활성화된 경우 요청이 실패하고 다음과 같은 결과가 발생합니다.
+ 보호된 인스턴스와 동일한 가용 영역에 있는 지정된 인스턴스가 종료되지 않습니다.
+ 지정된 인스턴스 중 보호된 인스턴스가 없는 다른 가용 영역의 지정된 인스턴스는 성공적으로 종료됩니다.

**예제**  
두 가용 영역에 다음 네 개의 인스턴스가 있다고 가정합니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html)

동일한 요청에서 이러한 모든 인스턴스를 종료하려고 하면 요청이 실패하고 다음과 같은 결과가 나타납니다.
+ **인스턴스 1** 및 **인스턴스 2**는 두 인스턴스에서 종료 방지가 활성화되지 않았기 때문에 종료됩니다.
+ **인스턴스 3** 및 **인스턴스 4**는 **인스턴스 3**에서 종료 방지가 활성화되었기 때문에 종료되지 않습니다.

# 인스턴스가 시작하는 종료 동작 변경
<a name="Using_ChangingInstanceInitiatedShutdownBehavior"></a>

**주의**  
**인스턴스 종료는 영구적이며 취소할 수 없습니다.**  
종료한 인스턴스는 더 이상 연결할 수 없으며 복구할 수 없습니다. 연결된 Amazon EBS 볼륨도 종료 시 삭제하도록 구성한 경우 영구적으로 삭제되며 복구할 수 없습니다. 인스턴스 저장소 볼륨에 저장된 데이터는 모두 영구적으로 손실됩니다. 자세한 내용은 [인스턴스 종료 작동 방식](how-ec2-instance-termination-works.md) 섹션을 참조하세요.  
인스턴스를 종료하기 전에 종료 후에도 보존해야 하는 모든 데이터를 영구 스토리지에 백업했는지 확인하세요.

기본적으로 **shutdown** 또는 **poweroff** 등의 명령을 사용하여 Amazon EBS 지원 인스턴스에서 종료를 시작하면 인스턴스가 중지됩니다. 인스턴스에 대한 `InstanceInitiatedShutdownBehavior` 속성을 변경하여 대신 이 인스턴스스가 종료되도록 이 동작을 변경할 수 있습니다. 인스턴스가 실행 중이거나 중단된 상태에 있을 때 이 속성을 변경할 수 있습니다.

**halt** 명령은 종료를 시작하지 않습니다. 이 기능을 사용하는 경우 인스턴스가 종료되지 않고, 대신 CPU를 `HLT` 상태로 두고 인스턴스는 계속 실행됩니다.

**참고**  
`InstanceInitiatedShutdownBehavior` 속성은 인스턴스 자체의 운영 체제를 종료를 수행하는 경우에만 적용됩니다. `StopInstances` API 또는 Amazon EC2 콘솔을 사용하는 인스턴스를 중지하는 경우에는 적용되지 않습니다.

------
#### [ Console ]

**인스턴스 시작 종료 동작 변경 방법**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택합니다.

1. **작업**, **인스턴스 설정**, **종료 동작 변경**을 차례로 선택합니다.

   **종료 동작**은 현재 동작을 표시합니다.

1. 동작을 변경하려면 **종료 동작**에서 **중지** 또는 **종료**를 선택합니다.

1. **저장**을 선택합니다.

------
#### [ AWS CLI ]

**인스턴스 시작 종료 동작 변경 방법**  
[modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) 명령을 사용합니다.

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --instance-initiated-shutdown-behavior terminate
```

------
#### [ PowerShell ]

**인스턴스 시작 종료 동작 변경 방법**  
[Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) cmdlet을 사용합니다.

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -InstanceInitiatedShutdownBehavior terminate
```

------

# 인스턴스가 종료될 때 데이터 보존
<a name="preserving-volumes-on-termination"></a>

Amazon EC2 인스턴스가 종료될 때 인스턴스 저장소 볼륨 또는 Amazon EBS 볼륨의 데이터를 보존할 수 있습니다. 이 주제에서는 인스턴스 종료 이후에도 데이터가 유지되도록 하는 방법을 설명합니다.

## 인스턴스 종료가 루트 및 데이터 볼륨에 미치는 영향
<a name="how-instance-termination-affects-root-and-data-volumes"></a>

**인스턴스 저장소 볼륨**  
인스턴스가 종료될 때 인스턴스 저장소 볼륨이 자동으로 삭제되고 데이터가 손실됩니다. 인스턴스 수명 이후에도 이 데이터를 보존하려면 인스턴스를 종료하기 전에 Amazon EBS 볼륨, Amazon S3 버킷 또는 Amazon EFS 파일 시스템과 같은 영구적인 스토리지에 해당 데이터를 수동으로 복사합니다. 자세한 내용은 [Amazon EC2 인스턴스의 스토리지 옵션](Storage.md) 섹션을 참조하세요.

**Amazon EBS 볼륨**  
인스턴스가 종료될 때 각 볼륨에 대한 `DeleteOnTermination` 속성 값에 따라 EBS 볼륨이 삭제되거나 유지됩니다.
+ **예**(콘솔)/`true`(CLI) - 인스턴스가 종료될 때 볼륨이 삭제됩니다.
+ **아니요**(콘솔)/`false`(CLI) - 인스턴스가 종료될 때 볼륨이 유지됩니다. 보존된 볼륨에는 계속 요금이 부과됩니다.
**참고**  
인스턴스가 종료된 후에 유지된 볼륨의 스냅샷을 만들거나 다른 인스턴스에 연결할 수 있습니다. 요금이 발생하지 않도록 하려면 볼륨을 삭제해야 합니다.

## EBS 볼륨의 기본 삭제 동작
<a name="default-deletion-behavior-for-ebs-volumes"></a>

기본 `DeleteOnTermination` 값은 볼륨 유형, 볼륨이 시작 시 연결되었는지 또는 시작 후 연결되었는지, 볼륨을 연결하는 데 사용된 방법(콘솔 또는 CLI)에 따라 달라집니다.


| 볼륨 유형 | 연결 시기 | 연결 방법 | 인스턴스 종료 시 기본 동작 | 
| --- | --- | --- | --- | 
| 루트 볼륨 | 시작 시 | 콘솔 또는 CLI | 삭제 | 
| 루트 볼륨 | 시작한 후 | 콘솔 또는 CLI | Preserve | 
| 데이터 볼륨 | 시작 시 | 콘솔 | Preserve | 
| 데이터 볼륨 | 시작 시 | CLI | 삭제 | 
| 데이터 볼륨 | 시작한 후 | 콘솔 및 CLI | Preserve | 

## 볼륨 지속성 설정 확인
<a name="check-ebs-volume-persistence-settings"></a>

EBS 볼륨의 시작 시 기본값은 AMI에 설정된 `DeleteOnTermination` 속성에 의해 결정됩니다. 인스턴스 시작 시 값을 변경하여 AMI 설정을 재정의할 수 있습니다. 인스턴스를 시작한 후에는 `DeleteOnTermination` 속성에 대한 기본 설정을 확인하는 것이 좋습니다.

**인스턴스 종료 시 Amazon EBS 볼륨이 삭제되는지 확인하려면 다음을 수행하세요.**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택합니다.

1. **스토리지** 탭을 선택합니다.

1. **블록 디바이스**에서 오른쪽으로 스크롤하여 **종료 시 삭제** 열을 확인합니다.
   + **예**를 선택하면 인스턴스가 종료될 때 볼륨이 삭제됩니다.
   + **아니요**를 선택하면 인스턴스가 종료될 때 볼륨이 삭제되지 않습니다. 삭제되지 않은 볼륨에는 계속 요금이 부과됩니다.

## 시작 시 루트 볼륨을 지속하도록 변경
<a name="delete-on-termination-ebs-volume"></a>

인스턴스를 시작할 때 EBS 루트 볼륨의 `DeleteOnTermination` 속성을 변경할 수 있습니다. 데이터 볼륨에 대해 다음 절차를 사용할 수도 있습니다.

------
#### [ Console ]

**실행 시 인스턴스의 루트 볼륨이 유지되도록 변경하려면 다음을 수행하세요.**

1. 절차에 따라 [인스턴스를 시작](ec2-launch-instance-wizard.md)하고 다음 단계를 완료하여 지속하도록 루트 볼륨을 변경한 후에만 인스턴스를 시작합니다.

1. **스토리지 구성** 창에서 **고급**을 선택합니다.

1. **EBS 볼륨**에서 루트 볼륨 정보를 확장합니다.

1. **종료 시 삭제**에서 **예**를 선택합니다.

1. **Summary**(요약) 패널에서 인스턴스 구성을 검토한 다음 **Launch instance**(인스턴스 시작)를 선택합니다. 자세한 내용은 [콘솔에서 인스턴스 시작 마법사를 사용하여 EC2 인스턴스 시작](ec2-launch-instance-wizard.md) 섹션을 참조하세요.

------
#### [ AWS CLI ]

**실행 시 인스턴스의 루트 볼륨이 유지되도록 변경하려면 다음을 수행하세요.**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용하여 블록 디바이스 매핑에서 `DeleteOnTermination` 값을 변경합니다.

`--block-device-mappings` 옵션을 추가합니다.

```
--block-device-mappings file://mapping.json
```

`mapping.json`에서 디바이스 이름(예: `/dev/sda1` 또는 `/dev/xvda`)을 지정하고 `DeleteOnTermination`에 대해 `false`를 지정합니다.

```
[
  {
    "DeviceName": "device_name",
    "Ebs": {
      "DeleteOnTermination": false
    }
  }
]
```

------
#### [ PowerShell ]

**실행 시 인스턴스의 루트 볼륨이 유지되도록 변경하려면 다음을 수행하세요.**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet을 사용하여 블록 디바이스 매핑에서 `DeleteOnTermination` 값을 변경합니다.

`-BlockDeviceMapping` 옵션을 추가합니다.

```
-BlockDeviceMapping $bdm
```

`bdm`에서 디바이스 이름(예: `/dev/sda1` 또는 `/dev/xvda`)을 지정하고 `DeleteOnTermination`에 대해 `false`를 지정합니다.

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.DeleteOnTermination = false
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "/dev/sda1"
$bdm.Ebs = $ebd
```

------

## 실행 중인 인스턴스의 루트 볼륨이 지속되도록 변경
<a name="delete-on-termination-running-instance"></a>

실행 중인 인스턴스의 EBS 루트 볼륨이 지속되도록 변경할 수 있습니다. 데이터 볼륨에 대해 다음 절차를 사용할 수도 있습니다.

------
#### [ AWS CLI ]

**루트 볼륨이 지속되도록 변경하려면 다음을 수행하세요.**  
[modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) 명령을 사용합니다.

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0  \
    --block-device-mappings file://mapping.json
```

`mapping.json`에서 디바이스 이름(예: `/dev/sda1` 또는 `/dev/xvda`)을 지정하고 `--DeleteOnTermination`에 대해 `false`를 지정합니다.

```
[
  {
    "DeviceName": "device_name",
    "Ebs": {
      "DeleteOnTermination": false
    }
  }
]
```

------
#### [ PowerShell ]

**루트 볼륨이 지속되도록 변경하려면 다음을 수행하세요.**  
[Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) cmdlet을 사용합니다.

`-BlockDeviceMapping` 옵션을 추가합니다.

```
-BlockDeviceMapping $bdm
```

`bdm`에서 디바이스 이름(예: `/dev/sda1` 또는 `/dev/xvda`)을 지정하고 `DeleteOnTermination`에 대해 `false`를 지정합니다.

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.DeleteOnTermination = false
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "/dev/sda1"
$bdm.Ebs = $ebd
```

------

# 인스턴스 만료
<a name="instance-retirement"></a>

AWS에서 인스턴스를 호스팅하는 기본 하드웨어의 복구 불가능한 장애가 검색되는 경우 인스턴스가 만료 대상으로 예약됩니다. 인스턴스 루트 볼륨 유형은 인스턴스 폐기 동작을 결정합니다.
+ 인스턴스 루트 볼륨이 Amazon EBS 볼륨인 경우 인스턴스가 중지되며 언제든지 이 인스턴스를 다시 시작할 수 있습니다. 중지된 인스턴스를 시작하면 새 하드웨어로 마이그레이션됩니다.
+ 인스턴스 루트 볼륨이 인스턴스 저장소 볼륨인 경우 인스턴스가 종료되며 다시 사용할 수 없습니다.

인스턴스 이벤트 유형에 대한 자세한 내용은 [Amazon EC2 인스턴스의 예약된 이벤트](monitoring-instances-status-check_sched.md) 섹션을 참조하세요.

**Topics**
+ [만료 예약된 인스턴스 식별](#instance-retirement-identify)
+ [만료 예약된 EBS 지원 인스턴스에 대해 수행할 작업](#instance-retirement-actions-EBS)
+ [만료 예약된 인스턴스 스토어 지원 인스턴스에 대해 수행할 작업](#instance-retirement-actions-instance-store)

## 만료 예약된 인스턴스 식별
<a name="instance-retirement-identify"></a>

인스턴스에 대한 만료가 예약되어 있는 경우 만료 이벤트가 발생하기 전에 인스턴스 ID와 만료 날짜가 포함된 이메일이 수신됩니다. 사용 중지될 예정인 인스턴스도 확인할 수 있습니다.

**중요**  
인스턴스가 사용 중지될 예정인 경우 이미 인스턴스에 연결하지 못할 수 있으므로 가능한 한 빨리 조치를 취하는 것이 좋습니다. 자세한 내용은 [Check if your instance is reachable](#check-instance) 섹션을 참조하세요.

**Topics**
+ [계정 연락처에 대한 이메일 모니터링](#identify-by-email)
+ [인스턴스 확인](#identify-in-console-cli)

### 계정 연락처에 대한 이메일 모니터링
<a name="identify-by-email"></a>

인스턴스가 사용 중지될 예정인 경우 이벤트 전에 계정의 기본 연락처와 운영 연락처에 이메일이 수신됩니다. 이 이메일에는 인스턴스 ID와 예정된 사용 중지 날짜가 포함됩니다. 자세한 내용은 *AWS Account Management 참조 가이드*의 [AWS 계정의 기본 연락처 업데이트](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-primary.html)와 [AWS 계정의 대체 연락처 업데이트](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-alternate.html)를 참조하세요.

### 인스턴스 확인
<a name="identify-in-console-cli"></a>

정기적으로 확인하지 않는 이메일 계정을 사용하는 경우 인스턴스 사용 중지 알림을 놓칠 수 있습니다. 언제든지 인스턴스가 사용 중지될 예정인지 확인할 수 있습니다.<a name="identify-retiring-instances"></a>

------
#### [ Console ]

**사용 중지될 예정인 인스턴스를 식별하는 방법**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **EC2 대시보드**를 선택합니다. **예약된 이벤트**에서 리전별로 구성되어 있는 Amazon EC2 인스턴스 및 볼륨과 연결된 이벤트를 확인할 수 있습니다.  
![\[예약된 이벤트\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/dashboard-scheduled-events.png)

1. 예약된 이벤트가 나열되어 있는 인스턴스가 있는 경우 리전 이름 아래에 있는 링크를 선택하여 **이벤트** 페이지로 이동합니다.

1. **이벤트** 페이지에는 이벤트가 연결되어 있는 모든 리소스가 나열됩니다. 만료가 예약되어 있는 인스턴스를 보려면 첫 번째 필터 목록에서 **인스턴스 리소스**를 선택하고 두 번째 필터 목록에서 **인스턴스 중지 또는 만료**를 선택합니다.

1. 필터 결과에 인스턴스에 대한 만료가 예약되어 있는 것으로 나타나면 해당 인스턴스를 선택하고 세부 정보 창의 **시작 시간** 필드에 표시된 날짜와 시간을 기록해 둡니다. 이 날짜가 인스턴스 만료 날짜입니다.

------
#### [ AWS CLI ]

**사용 중지될 예정인 인스턴스를 찾는 방법**  
아래와 같이 [describe-instance-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-status.html) 명령을 사용합니다. 인스턴스를 실행 중인 각 리전에서 반복합니다.

```
aws ec2 describe-instance-status --filters Name=event.code,Values=instance-retirement
```

------
#### [ PowerShell ]

**사용 중지될 예정인 인스턴스를 찾는 방법**  
[Get-EC2InstanceStatus](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceStatus.html) cmdlet을 사용합니다. 인스턴스를 실행 중인 각 리전에서 반복합니다.

```
Get-EC2InstanceStatus -Filter @{Name="event.code"; Values="instance-retirement"}
```

------

## 만료 예약된 EBS 지원 인스턴스에 대해 수행할 작업
<a name="instance-retirement-actions-EBS"></a>

만료되는 인스턴스의 데이터를 보존하려면 다음 작업 중 하나를 수행할 수 있습니다. 예기치 않은 중단 시간 및 데이터 손실을 방지하려면 인스턴스 만료 날짜 전에 이 작업을 수행해야 합니다.

Linux 인스턴스의 경우 인스턴스가 EBS 또는 인스턴스 스토어에 의해 백업되는지 확실하지 않는다면 [Amazon EC2 인스턴스용 루트 볼륨](RootDeviceStorage.md) 섹션을 참조하세요.

**인스턴스에 연결할 수 있는지 확인**

인스턴스에 대한 만료가 예약되어 있다는 알림을 받으면 가능한 한 빨리 다음 작업을 수행하는 것이 좋습니다.
+ 인스턴스에 [연결하거나](connect.md) 인스턴스에 대해 ping을 실행하여 인스턴스에 연결할 수 있는지 확인합니다.
+ 인스턴스에 연결할 수 있는 경우 예약된 만료 날짜 이전에 영향이 가장 적은 적합한 시간에 인스턴스를 중지/시작하도록 계획해야 합니다. 인스턴스 중지 및 시작과 인스턴스 중지 시 발생하는 결과(예: 인스턴스와 연결된 퍼블릭, 프라이빗 및 탄력적 IP 주소에 대한 영향)에 대한 자세한 내용은 [Amazon EC2 인스턴스 중지 및 시작](Stop_Start.md) 섹션을 참조하세요. 인스턴스를 중지하고 시작하면 인스턴스 스토어 볼륨의 데이터가 손실됩니다.
+ 인스턴스에 연결할 수 없는 경우 즉시 작업을 수행하고 [중지/시작](Stop_Start.md)을 수행하여 인스턴스를 복구해야 합니다.
+ 또는 인스턴스를 [종료](terminating-instances.md)하려는 경우 가능한 한 빨리 종료하여 인스턴스에 대한 요금 발생을 중지할 수 있습니다.

**인스턴스의 백업 생성**  
인스턴스에서 EBS 지원 AMI를 생성하면 백업이 생깁니다. 데이터 무결성을 보장하려면 AMI를 생성하기 전에 인스턴스를 중지합니다. 예약된 만료 날짜까지 기다리거나(인스턴스가 중지되는 경우), 만료 날짜 전에 인스턴스를 중지합니다. 언제든지 인스턴스를 시작할 수 있습니다. 자세한 내용은 [Amazon EBS 지원 AMI 생성](creating-an-ami-ebs.md) 섹션을 참조하세요.

**대체 인스턴스 시작**  
인스턴스에서 AMI를 생성한 후 AMI를 사용하여 대체 인스턴스를 시작할 수 있습니다. Amazon EC2 콘솔에서 새 AMI를 선택한 다음 **AMI로 인스턴스 시작**을 선택합니다. 인스턴스의 파라미터를 구성한 다음 **인스턴스 시작**을 선택합니다. 각 필드에 대한 자세한 내용은 [콘솔에서 인스턴스 시작 마법사를 사용하여 EC2 인스턴스 시작](ec2-launch-instance-wizard.md) 섹션을 참조하세요.

## 만료 예약된 인스턴스 스토어 지원 인스턴스에 대해 수행할 작업
<a name="instance-retirement-actions-instance-store"></a>

만료되는 인스턴스의 데이터를 보존하려면 다음 작업 중 하나를 수행할 수 있습니다. 예기치 않은 중단 시간 및 데이터 손실을 방지하려면 인스턴스 만료 날짜 전에 이 작업을 수행해야 합니다.

**주의**  
인스턴스에 인스턴스 저장소 루트 볼륨이 있고 만료 날짜가 경과되면 해당 인스턴스가 종료되어 인스턴스 또는 인스턴스에 저장된 모든 데이터를 복구할 수 없게 됩니다. 인스턴스의 루트 볼륨 유형과 관계없이, 볼륨이 EBS 루트 볼륨이 있는 인스턴스에 연결되어 있더라도 인스턴스가 만료되면 인스턴스 저장소 볼륨의 데이터는 손실됩니다.

**인스턴스에 연결할 수 있는지 확인**

인스턴스에 대한 만료가 예약되어 있다는 알림을 받으면 가능한 한 빨리 다음 작업을 수행하는 것이 좋습니다.
+ 인스턴스에 [연결하거나](connect-to-linux-instance.md) 인스턴스에 대해 ping을 실행하여 인스턴스에 연결할 수 있는지 확인합니다.
+ 인스턴스에 연결할 수 없는 경우 인스턴스를 복구하기 위해 수행할 수 있는 작업이 거의 없을 수 있습니다. 자세한 내용은 [연결할 수 없는 Amazon EC2 인스턴스 문제 해결](troubleshoot-unreachable-instance.md) 단원을 참조하세요. AWS은(는) 예약된 만료 날짜에 인스턴스를 종료하므로, 연결할 수 없는 인스턴스의 경우 인스턴스를 즉시 [종료](terminating-instances.md)할 수 있습니다.

**대체 인스턴스 시작**  
[Amazon S3 지원 AMI 생성](creating-an-ami-instance-store.md)의 설명에 따라 AMI 도구를 사용하여 인스턴스에서 Amazon S3 지원 AMI를 생성합니다. Amazon EC2 콘솔에서 새 AMI를 선택한 다음 **AMI로 인스턴스 시작**을 선택합니다. 인스턴스의 파라미터를 구성한 다음 **인스턴스 시작**을 선택합니다. 각 필드에 대한 자세한 내용은 [콘솔에서 인스턴스 시작 마법사를 사용하여 EC2 인스턴스 시작](ec2-launch-instance-wizard.md) 섹션을 참조하세요.

**인스턴스를 EBS 지원 인스턴스로 변환**  
데이터를 EBS 볼륨에 전송하고, 볼륨의 스냅샷을 만든 후 스냅샷에서 AMI를 생성합니다. 새 AMI에서 대체 인스턴스를 시작할 수 있습니다. 자세한 내용은 [Amazon S3 지원 AMI를 EBS 지원 AMI로 변환](Using_ConvertingS3toEBS.md) 섹션을 참조하세요.