

# 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
```

------