

# Amazon EC2 결제 및 구매 옵션
<a name="instance-purchasing-options"></a>

다음 옵션을 사용하여 Amazon EC2 비용을 최적화할 수 있습니다.
+ **[온디맨드 인스턴스](ec2-on-demand-instances.md)** - 시작하는 인스턴스에 대한 비용을 초 단위로 지불합니다.
+ **[절감형 플랜](https://docs.aws.amazon.com/savingsplans/latest/userguide/what-is-savings-plans.html)** - 1년 또는 3년 기간에 시간당 USD로 일관된 사용량을 약정하여 Amazon EC2 비용을 절감합니다.
+ **[예약 인스턴스](ec2-reserved-instances.md)** - 1년 또는 3년 기간에 인스턴스 유형 및 리전을 포함하여 일관된 인스턴스 구성을 약정하여 Amazon EC2 비용을 절감합니다.
+ **[스팟 인스턴스](using-spot-instances.md)** - 미사용 EC2 인스턴스를 요청하여 Amazon EC2 비용을 크게 줄일 수 있습니다.
+ **[전용 호스트](dedicated-hosts-overview.md)** - 인스턴스 실행을 전담하는 실제 호스트 비용을 지불하며, 기존의 소켓, 코어 또는 VM 소프트웨어 라이선스 단위에 기반해 비용을 절감합니다.
+ **[전용 인스턴스](dedicated-instance.md)** - 단일 테넌트 하드웨어에서 실행되는 인스턴스 비용을 시간 단위로 지불합니다.
+ **[용량 예약](capacity-reservation-overview.md)** - 특정 가용 영역의 EC2 인스턴스에 대해 용량을 예약합니다.

특정 인스턴스 구성을 약정할 수 없지만 사용량은 약정할 수 있는 경우 절감형 플랜을 구매하여 온디맨드 인스턴스 비용을 줄이세요. 용량 예약이 필요한 경우 특정 가용 영역에 대한 예약 인스턴스 또는 용량 예약을 구매합니다. GPU 인스턴스 클러스터 예약에 용량 블록을 사용할 수 있습니다. 스팟 인스턴스는 애플리케이션이 실행되는 시간을 유연하게 조정할 수 있고 애플리케이션이 중단될 수 있는 경우에 선택하는 비용 효율적인 방법입니다. 전용 호스트 또는 전용 인스턴스에서는 기존의 서버 바인딩 소프트웨어 라이선스를 사용할 수 있으므로 규정 준수 요구 사항을 해결하고 비용을 절감하는 데 도움이 될 수 있습니다.

자세한 내용은 [Amazon EC2 요금](https://aws.amazon.com/ec2/pricing/) 및 [Amazon EC2 관리형 인스턴스](amazon-ec2-managed-instances.md)를 참조하세요.

# Amazon EC2용 온디맨드 인스턴스 구매
<a name="ec2-on-demand-instances"></a>

온디맨드 인스턴스를 사용하면 장기 약정 없이 초 단위로 컴퓨팅 용량에 대해 비용을 지불합니다. 인스턴스의 수명 주기를 완전하게 제어할 수 있습니다. 즉 시작, 중지, 수면, 사용 시작 또는 종료 시기를 결정할 수 있습니다.

온디맨드 인스턴스를 구매할 때 장기 약정은 필요 없습니다. 온디맨드 인스턴스가 `running` 상태인 시간(최소 60초)에 대해서만 비용을 지불하면 됩니다. 실행 중인 온디맨드 인스턴스에 대한 초당 요금은 고정되어 있으며, [Amazon EC2 요금, 온디맨드 요금 페이지](https://aws.amazon.com/ec2/pricing/on-demand/)에서 확인할 수 있습니다.

중단할 수 없는 불규칙한 단기 워크로드가 있는 애플리케이션의 경우 온디맨드 인스턴스를 사용하는 것이 좋습니다.

온디맨드 인스턴스를 통해 비용을 대폭 절감하려면 [AWS Savings Plans](https://aws.amazon.com/savingsplans/), [스팟 인스턴스](using-spot-instances.md) 또는 [Amazon EC2용 예약 인스턴스 개요](ec2-reserved-instances.md)를 사용합니다.

**Contents**
+ [온디맨드 인스턴스 할당량](#ec2-on-demand-instances-limits)
  + [온디맨드 인스턴스 할당량 및 사용량 모니터링](#monitoring-on-demand-limits)
  + [할당량 증가 요청](#vcpu-limits-request-increase)
+ [온디맨드 인스턴스 가격 쿼리](#query-aws-price-list)

## 온디맨드 인스턴스 할당량
<a name="ec2-on-demand-instances-limits"></a>

각 리전에서 AWS 계정당 실행할 수 있는 온디맨드 인스턴스 수에는 할당량이 있습니다. 온디맨드 인스턴스 할당량은 인스턴스 유형과 상관없이 실행 중인 온디맨드 인스턴스에 사용되는 *가상 중앙 처리 유닛(vCPU) 수*의 측면에서 관리됩니다. 각 할당량 유형은 하나 이상의 인스턴스 패밀리에 대한 최대 vCPU 수를 지정합니다.

계정에는 다음과 같은 온디맨드 인스턴스 할당량이 포함되어 있습니다. 보류 중이거나, 중지 중이거나, 중지되었거나, 최대 절전 모드 상태가 된 인스턴스는 온디맨드 인스턴스 할당량에 포함되지 않습니다. 용량 예약 수는 사용되는 경우에도 온디맨드 인스턴스 할당량에 포함됩니다.


| 명칭 | 기본값 | 조정 가능 | 
| --- | --- | --- | 
| 온디맨드 DL 인스턴스 실행 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-6E869C2A) | 
| 온디맨드 F 인스턴스 실행 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-74FC7D96) | 
| 온디맨드 G 및 VT 인스턴스 실행 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-DB2E81BA) | 
| 온디맨드 HPC 인스턴스 실행 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-F7808C92) | 
| 온디맨드 고용량 메모리 인스턴스 실행 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-43DA4232) | 
| 온디맨드 Inf 인스턴스 실행 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1945791B) | 
| 온디맨드 P 인스턴스 실행 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-417A185B) | 
| 온디맨드 표준(A, C, D, H, I, M, R, T, Z) 인스턴스 실행 | 5 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) | 
| 온디맨드 Trn 인스턴스 실행 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-2C3B7624) | 
| 온디맨드 X 인스턴스 실행 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-7295265B) | 

다양한 인스턴스 패밀리, 세대, 크기에 대한 자세한 내용은 [Amazon EC2 인스턴스 유형 가이드](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html)를 참조하세요.

vCPU 수가 계정 할당량을 초과하지만 않으면 변화하는 애플리케이션 요구 사항을 충족하는 모든 인스턴스 유형을 조합하여 시작할 수 있습니다. 예를 들어 표준 인스턴스 할당량이 256개 vCPU인 경우 32개의 `m5.2xlarge` 인스턴스(32x8 vCPU) 또는 16개의 `c5.4xlarge` 인스턴스(16x16 vCPU)를 시작할 수 있습니다. 자세한 내용은 [EC2 온디맨드 인스턴스 제한](https://aws.amazon.com/ec2/faqs/#EC2_On-Demand_Instance_limits) 섹션을 참조하세요.

**Topics**
+ [온디맨드 인스턴스 할당량 및 사용량 모니터링](#monitoring-on-demand-limits)
+ [할당량 증가 요청](#vcpu-limits-request-increase)

### 온디맨드 인스턴스 할당량 및 사용량 모니터링
<a name="monitoring-on-demand-limits"></a>

다음 방법을 사용하여 각 리전에 대한 온디맨드 인스턴스 할당량을 보고 관리할 수 있습니다.

**Service Quotas 콘솔을 사용하여 현재 할당량 보기**

1. Service Quotas 콘솔([https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/))을 엽니다.

1. 탐색 모음에서 리전을 선택합니다.

1. 필터 필드에 **On-Demand**을(를) 입력합니다.

1. **적용된 할당량 값** 열에는 계정의 각 온디맨드 인스턴스 할당량 유형에 대한 최대 vCPU 수가 표시됩니다.

**AWS Trusted Advisor 콘솔을 사용하여 현재 할당량 보기**  
AWS Trusted Advisor 콘솔에서 [서비스 한도 페이지](https://console.aws.amazon.com/trustedadvisor/home?#/category/service-limits)를 엽니다.

**CloudWatch 경보 구성**  
Amazon CloudWatch 지표 통합을 통해 할당량에 대해 EC2 사용량을 모니터링할 수 있습니다. 할당량 도달에 대해 경고를 받도록 경보를 구성할 수도 있습니다. 자세한 내용은 *CloudWatch 사용 설명서*의 [Service Quotas 및 Amazon CloudWatch 경보](https://docs.aws.amazon.com/servicequotas/latest/userguide/configure-cloudwatch.html)를 참조하세요.

### 할당량 증가 요청
<a name="vcpu-limits-request-increase"></a>

Amazon EC2는 사용량에 따라 자동으로 온디맨드 인스턴스 할당량을 늘리지만 필요한 경우 할당량 증가를 요청할 수 있습니다. 예를 들어, 현재 할당량에서 허용하는 것보다 많은 인스턴스를 시작하려는 경우 [Amazon EC2 서비스 할당량](ec2-resource-limits.md)에 설명된 이전 섹션의 Service Quotas 콘솔에 를 사용하여 할당량 증가를 요청할 수 있습니다.

## 온디맨드 인스턴스 가격 쿼리
<a name="query-aws-price-list"></a>

Price List Service API 또는 AWS Price List API를 사용하여 온디맨드 인스턴스 가격을 쿼리할 수 있습니다. 자세한 내용은 *AWS Billing 사용 설명서*에서 [AWS Price List API 사용](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html)을 참조하세요.

# Amazon EC2용 예약 인스턴스 개요
<a name="ec2-reserved-instances"></a>

**중요**  
예약 인스턴스보다 절감형 플랜을 권장합니다. 절감형 플랜은 예약 인스턴스처럼 AWS 컴퓨팅 비용을 절약하고 더 저렴한 가격(온디맨드 요금에서 최대 72% 할인)을 제공하는 가장 쉽고 가장 유연한 방법입니다. 하지만 절감형 플랜은 예약 인스턴스와는 다릅니다. 예약 인스턴스에서는 특정 인스턴스 구성을 커밋하지만, 절감형 플랜에서는 요구 사항에 가장 적합한 인스턴스 구성을 사용할 수 있는 유연성을 제공합니다. 절감형 플랜을 사용하려면 일관된 사용량을 커밋합니다(시간당 USD로 측정됨). 자세한 내용은 [AWS 절감형 플랜 사용 설명서](https://docs.aws.amazon.com/savingsplans/latest/userguide/)를 참조하세요.

예약 인스턴스는 온디맨드 인스턴스 요금과 비교하여 Amazon EC2 비용을 대폭 절감하는 효과를 제공합니다. 예약 인스턴스는 물리적 인스턴스가 아니며 계정에서 온디맨드 인스턴스를 사용할 때 적용되는 결제 할인에 가깝습니다. 이러한 온디맨드 인스턴스의 경우 결제 할인 혜택을 받으려면 인스턴스 유형 및 지역과 같은 특정 속성에 부합해야 합니다.

**Topics**
+ [예약 인스턴스 예제 시나리오](#ri-example-scenario)
+ [예약 인스턴스 요금을 결정하는 주요 변수](#ri-key-pricing-variables)
+ [리전 및 영역 예약 인스턴스(범위)](reserved-instances-scope.md)
+ [예약 인스턴스 유형(제공 클래스)](reserved-instances-types.md)
+ [예약 인스턴스 할인 적용 방식](apply_ri.md)
+ [예약 인스턴스 사용](using-reserved-instances.md)
+ [예약 인스턴스 결제 작동 방식](concepts-reserved-instances-application.md)
+ [Amazon EC2용 예약 인스턴스 구입](ri-market-concepts-buying.md)
+ [예약 인스턴스 마켓플레이스에서 Amazon EC2용 예약 인스턴스 판매](ri-market-general.md)
+ [예약 인스턴스 수정](ri-modifying.md)
+ [전환형 예약 인스턴스 교환](ri-convertible-exchange.md)
+ [예약 인스턴스 할당량](ri-limits.md)

## 예약 인스턴스 예제 시나리오
<a name="ri-example-scenario"></a>

다음 다이어그램에는 예약 인스턴스 구입 및 사용에 대한 기본 시나리오가 나와 있습니다.

![\[예약 인스턴스를 구매합니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/ri-basics.png)


이 시나리오에서, 현재 온디맨드 요금으로 지불하고 있는 온디맨드 인스턴스(T2)가 사용자의 계정에서 실행되고 있습니다. 사용자는 실행되고 있는 인스턴스의 속성과 일치하는 예약 인스턴스를 구입하며, 결제 혜택이 즉시 적용됩니다. 그런 다음 C4 인스턴스에 대한 예약 인스턴스를 구입합니다. 이 예약 인스턴스의 속성과 일치하는 인스턴스가 계정에서 실행되고 있지 않습니다;. 최종 단계에서 사용자는 C4 예약 인스턴스의 속성과 일치하는 인스턴스를 시작하며, 결제 혜택이 즉시 적용됩니다.

## 예약 인스턴스 요금을 결정하는 주요 변수
<a name="ri-key-pricing-variables"></a>

예약 인스턴스 요금은 다음과 같은 주요 변수에 의해 결정됩니다.

### 인스턴스 속성
<a name="ri-pricing-variable-instance-attributes"></a>

예약 인스턴스에는 요금을 결정하는 4개의 인스턴스 속성이 있습니다.
+ **인스턴스 유형**: 예를 들어, `m4.large`입니다. 이는 인스턴스 패밀리(예: `m4`)와 인스턴스 크기(예: `large`)로 구성됩니다.
+ **리전**: 예약 인스턴스를 구매한 리전입니다.
+ **테넌시**: 인스턴스가 공유된 하드웨어(기본)에서 실행되는지 단일 테넌트(전용) 하드웨어에서 실행되는지 여부입니다. 자세한 내용은 [Amazon EC2 전용 인스턴스](dedicated-instance.md) 섹션을 참조하세요.
+ **플랫폼**: Windows 또는 Linux/Unix와 같은 운영 체제입니다. 자세한 내용은 [플랫폼 선택](ri-market-concepts-buying.md#ri-choosing-platform) 섹션을 참조하세요.

### 기간 약정
<a name="ri-pricing-variable-term-commitment"></a>

1년 약정 또는 더 큰 할인을 제공하는 3년 약정으로 예약 인스턴스를 구입할 수 있습니다.
+ **1년**: 1년은 31536000초(365일)로 정의됩니다.
+ **3년**: 3년은 94608000초(1095일)로 정의됩니다.

예약 인스턴스는 자동으로 갱신되지 않으므로 만료될 경우 중단 없이 EC2 인스턴스를 계속 사용할 수 있지만 온디맨드 요금이 부과됩니다. 위 예에서 T2 및 C4 인스턴스에 적용되는 예약 인스턴스가 만료되면 사용자가 인스턴스를 종료하거나 인스턴스 속성과 일치하는 새 예약 인스턴스를 구입할 때까지 온디맨드 요금 결제로 돌아갑니다.

**중요**  
예약 인스턴스를 구입한 이후에는 구입을 취소할 수 없습니다. 그러나 변경이 필요한 경우 예약 인스턴스를 [수정](ri-modifying.md), [교환](ri-convertible-exchange.md) 또는 [판매](ri-market-general.md)할 수 있습니다.

### 결제 옵션
<a name="ri-payment-options"></a>

예약 인스턴스에 사용할 수 있는 결제 옵션은 다음과 같습니다.
+ **전체 선결제**: 기간이 시작되는 시점에서 모든 금액을 결제하고 사용 기간 동안 기타 비용이나 추가 시간당 요금 없이 무제한으로 사용할 수 있습니다.
+ **부분 선결제**: 비용 중 일부를 먼저 결제해야 하며, 결제하지 않은 시간에 대해서는 예약 인스턴스가 사용되는지 여부와 상관없이 할인된 시간당 요금이 청구됩니다.
+ **선결제 없음**: 예약 인스턴스가 사용되는지 여부와 상관없이 사용 기간 동안 매시간마다 할인된 시간당 요금이 청구됩니다. 선결제 금액이 필요하지 않습니다.
**참고**  
선결제가 없는 예약 인스턴스는 전체 예약 기간 동안 매월 결제해야 하는 계약 조건입니다. 따라서 선결제가 없는 예약 인스턴스를 구입할 수 있으려면 결제 기록에 미납액이 없어야 합니다.

일반적으로 예약 인스턴스에 대한 선결제 금액이 높을수록 요금 절약 혜택이 커집니다. 또한 예약 인스턴스 Marketplace에서 서드 파티 판매자가 제공하는 저렴하고 기간이 짧은 예약 인스턴스를 찾을 수도 있습니다. 자세한 내용은 [예약 인스턴스 마켓플레이스에서 Amazon EC2용 예약 인스턴스 판매](ri-market-general.md) 섹션을 참조하세요.

### 제공 클래스
<a name="ri-pricing-variable-offering-class"></a>

컴퓨팅 요구 사항이 변경되면 제공 클래스에 따라 예약 인스턴스를 수정 또는 교환할 수 있습니다.
+ **표준**: 가장 큰 할인 혜택을 제공하지만 수정만 가능합니다. 표준형 예약 인스턴스는 교환할 수 없습니다.
+ **전환형**: 표준형 예약 인스턴스보다 낮은 할인 혜택을 제공하지만 다른 인스턴스 속성을 포함하는 다른 전환형 예약 인스턴스와 교환 가능합니다. 전환형 예약 인스턴스는 수정도 가능합니다.

자세한 내용은 [예약 인스턴스 유형(제공 클래스)](reserved-instances-types.md) 섹션을 참조하세요.

**중요**  
예약 인스턴스를 구입한 이후에는 구입을 취소할 수 없습니다. 그러나 변경이 필요한 경우 예약 인스턴스를 [수정](ri-modifying.md), [교환](ri-convertible-exchange.md) 또는 [판매](ri-market-general.md)할 수 있습니다.

자세한 내용은 [Amazon EC2 예약 인스턴스 요금 페이지](https://aws.amazon.com/ec2/pricing/reserved-instances/pricing/)를 참조하세요.

# 리전 및 영역 예약 인스턴스(범위)
<a name="reserved-instances-scope"></a>

예약 인스턴스를 구입할 때 예약 인스턴스의 범위를 결정합니다. 범위는 리전 또는 영역입니다.
+ **리전**: 리전에 대해 예약 인스턴스를 구입하는 경우 이를 *리전* 예약 인스턴스라고 합니다.
+ **영역**: 특정 가용 영역에 대해 예약 인스턴스를 구입하는 경우 이를 *영역* 예약 인스턴스라고 합니다.

범위는 요금에 영향을 미치지 않습니다. 리전 또는 영역 예약 인스턴스의 요금은 동일합니다. 예약 인스턴스 요금에 대한 자세한 내용은 [예약 인스턴스 요금을 결정하는 주요 변수](ec2-reserved-instances.md#ri-key-pricing-variables) 섹션과 [Amazon EC2 예약 인스턴스 요금](https://aws.amazon.com/ec2/pricing/reserved-instances/pricing/)을 참조하세요.

예약 인스턴스의 범위를 지정하는 방법을 자세히 알아보려면 [RI 속성](https://aws.amazon.com/ec2/pricing/reserved-instances/#riattributes)과 특히 **가용 영역** 글머리표를 참조하세요.

## 리전 및 영역 예약 인스턴스의 차이점
<a name="reserved-instances-regional-zonal-differences"></a>

다음 표에서는 리전 예약 인스턴스와 영역 예약 인스턴스의 주요 차이점 중 일부를 요약하여 설명합니다.


|  | 리전 예약 인스턴스 | 영역 예약 인스턴스 | 
| --- | --- | --- | 
|  용량을 예약할 수 있는 기능  |  리전 예약 인스턴스에서는 용량을 예약하지 *않습니다*.  |  영역 예약 인스턴스에서는 지정된 가용 영역에서 용량을 예약합니다.  | 
|  가용 영역 유연성  |  지정된 리전에 있는 모든 가용 영역의 인스턴스 사용량에 예약 인스턴스 할인이 적용됩니다.  |  가용 영역 유연성 없음 — 지정된 가용 영역의 인스턴스 사용량에만 예약 인스턴스 할인이 적용됩니다.  | 
|  인스턴스 크기 유연성  |  크기에 상관없이 인스턴스 패밀리 내 인스턴스 사용량에 예약 인스턴스 할인이 적용됩니다. 기본 테넌시가 있는 Amazon Linux/Unix 예약 인스턴스에 대해서만 지원됩니다. 자세한 내용은 [정규화 인자에 의해 결정되는 인스턴스 크기 유연성](apply_ri.md#ri-normalization-factor) 섹션을 참조하세요. |  인스턴스 크기 유연성 없음 — 지정된 인스턴스 유형 및 크기의 인스턴스 사용량에만 예약 인스턴스 할인이 적용됩니다.  | 
|  구매 대기열에 추가  |  리전 예약 인스턴스에 대한 구매를 대기열에 추가할 수 있습니다.  |  영역 예약 인스턴스에 대한 구매는 대기열에 추가할 수 없습니다.  | 

자세한 정보와 지침은 [예약 인스턴스 할인 적용 방식](apply_ri.md) 섹션을 참조하세요.

# 예약 인스턴스 유형(제공 클래스)
<a name="reserved-instances-types"></a>

예약 인스턴스의 제공 클래스는 표준형 또는 전환형입니다. 표준형 예약 인스턴스는 전환형 예약 인스턴스보다 훨씬 많은 할인을 제공하지만 표준형 예약 인스턴스는 교환할 수 없습니다. 전환형 예약 인스턴스는 교환할 수 있습니다. 표준형 및 전환형 예약 인스턴스을 수정할 수 있습니다.

예약 인스턴스의 구성은 한 기간 동안 단일 인스턴스 유형, 플랫폼, 범위 및 테넌시로 구성됩니다. 컴퓨팅 요구 사항이 변경되면 예약 인스턴스를 수정하거나 교환할 수 있습니다.

## 표준형 및 전환형 예약 인스턴스의 차이점
<a name="offering-class-differences"></a>

표준형 및 전환형 예약 인스턴스의 차이점은 다음과 같습니다.


|  | 표준형 예약 인스턴스 | 전환형 예약 인스턴스 | 
| --- | --- | --- | 
| 예약 인스턴스 수정 | 일부 속성을 수정할 수 있습니다. 자세한 내용은 [예약 인스턴스 수정](ri-modifying.md) 섹션을 참조하세요. | 일부 속성을 수정할 수 있습니다. 자세한 내용은 [예약 인스턴스 수정](ri-modifying.md) 섹션을 참조하세요. | 
| 예약 인스턴스 교환 | 교환할 수 없습니다. | 기간 동안 인스턴스 패밀리, 인스턴스 유형, 플랫폼, 범위 또는 테넌시를 비롯한 새 속성이 있는 다른 전환형 예약 인스턴스와 교환할 수 있습니다. 자세한 내용은 [전환형 예약 인스턴스 교환](ri-convertible-exchange.md) 섹션을 참조하세요. | 
| 예약 인스턴스 Marketplace에서 판매 | 예약 인스턴스 Marketplace에서 판매할 수 있습니다. | 예약 인스턴스 Marketplace에서 판매할 수 없습니다. | 
| 예약 인스턴스 Marketplace에서 구매 | 예약 인스턴스 Marketplace에서 구매할 수 있습니다. | 예약 인스턴스 Marketplace에서 구매할 수 없습니다. | 

# 예약 인스턴스 할인 적용 방식
<a name="apply_ri"></a>

예약 인스턴스는 물리적 인스턴스가 아니며 계정에서 온디맨드 인스턴스를 실행할 때 적용되는 결제 할인에 가깝습니다. 결제 할인 혜택을 받으려면 온디맨드 인스턴스가 예약 인스턴스의 특정 사양과 일치해야 합니다.

예약 인스턴스를 구입했으며 예약 인스턴스의 사양과 일치하는 온디맨드 인스턴스가 이미 실행 중인 경우 결제 할인이 즉시 자동으로 적용됩니다. 인스턴스를 따로 재시작할 필요가 없습니다. 실행 중인 적격 온디맨드 인스턴스가 없는 경우 예약 인스턴스와 동일한 사양의 온디맨드 인스턴스를 시작합니다. 자세한 내용은 [예약 인스턴스 사용](using-reserved-instances.md) 섹션을 참조하세요.

예약 인스턴스의 오퍼링 클래스(표준형 또는 전환형)는 결제 할인이 적용되는 방식에 영향을 주지 않습니다.

**Topics**
+ [영역 예약 인스턴스 적용 방식](#apply-zonal-ri)
+ [리전 예약 인스턴스 적용 방식](#apply-regional-ri)
+ [인스턴스 크기 유연성](#ri-instance-size-flexibility)
+ [예약 인스턴스 적용의 예](#ri-usage-examples)

## 영역 예약 인스턴스 적용 방식
<a name="apply-zonal-ri"></a>

특정 가용 영역의 용량을 예약하기 위해 구매한 예약 인스턴스를 영역 예약 인스턴스라고 합니다.
+ 예약 인스턴스 할인은 해당 가용 영역에서 일치하는 인스턴스 사용량에 적용됩니다.
+ 단, 실행할 인스턴스의 속성(테넌시, 플랫폼, 가용 영역, 인스턴스 유형 및 인스턴스 크기)이 예약 인스턴스의 속성과 일치해야 합니다.

예를 들어 가용 영역 us-east-1a에 대해 `c4.xlarge` 기본 테넌시 Linux/Unix 표준형 예약 인스턴스 2개를 구매하면 가용 영역 us-east-1a에서 실행되는 최대 2개의 `c4.xlarge` 기본 테넌시 Linux/Unix 인스턴스가 예약 인스턴스 할인 혜택을 받을 수 있습니다.

## 리전 예약 인스턴스 적용 방식
<a name="apply-regional-ri"></a>

리전에 대해 구매한 예약 인스턴스를 리전 예약 인스턴스라고 하며, 이 인스턴스는 가용 영역 및 인스턴스 크기 유연성을 제공합니다.
+ 해당 리전에 있는 모든 가용 영역의 인스턴스 사용량에 예약 인스턴스 할인이 적용됩니다.
+ 크기에 상관없이 인스턴스 패밀리 내 인스턴스 사용량에 예약 인스턴스 할인이 적용됩니다. 이를 [인스턴스 크기 유연성](#ri-instance-size-flexibility)이라고 합니다.

## 인스턴스 크기 유연성
<a name="ri-instance-size-flexibility"></a>

인스턴스 크기 유연성을 통해 예약 인스턴스 할인은 동일한 [제품군](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html)이 있는 인스턴스의 인스턴스 사용량에 적용됩니다. 인스턴스 패밀리 내 인스턴스 사용량에 대해 예약 인스턴스 할인이 적용됩니다. 예약 인스턴스는 정규화 인자에 따라 인스턴스 패밀리 내 최소 인스턴스 크기부터 최대 인스턴스 크기까지 순차적으로 적용됩니다. 예약 인스턴스 할인이 적용되는 방법의 예는 [시나리오 2: 정규화 인수를 사용하는 단일 계정의 예약 인스턴스](#ri-usage-ex2) 섹션을 참조하세요.

### 제한 사항
<a name="ri-instance-size-flexibility-limitations"></a>
+ **지원됨:** 인스턴스 크기 유연성은 리전 단위의 예약 인스턴스에서만 지원됩니다.
+ **지원되지 않음:** 다음과 같은 예약 인스턴스에는 인스턴스 크기 유연성이 *지원되지 않습니다*.
  + 특정 가용 영역(영역 예약 인스턴스)용으로 구입한 예약 인스턴스
  + G4ad, G4dn, G5, G5g, G6, G6e, G6f, Gr6, Gr6f, hpc7a, P5, Inf1, Inf2, u7i-6tb, u7i-8tb 인스턴스용 예약 인스턴스
  + 예약 인스턴스 for Windows Server, Windows Server with SQL Standard, Windows Server with SQL Server Enterprise, Windows Server with SQL Server Web, RHEL, SUSE Linux Enterprise Server
  + 전용 테넌시를 포함하는 예약 인스턴스

### 정규화 인자에 의해 결정되는 인스턴스 크기 유연성
<a name="ri-normalization-factor"></a>

인스턴스 크기 유연성은 인스턴스 크기의 정규화 인자에 의해 결정됩니다. 리전의 모든 가용 영역에서 예약의 인스턴스 크기에 따라 모든 할인 또는 일부 할인이 동일한 인스턴스 패밀리의 실행 중인 인스턴스에 적용됩니다. 속성 중 인스턴스 패밀리, 테넌시 및 플랫폼만 일치하면 됩니다.

다음 표는 인스턴스 패밀리 내 서로 다른 크기 및 그에 따른 정규화 인자를 나열한 것입니다. 이 배율은 예약 인스턴스의 할인 요금을 정규화된 인스턴스 패밀리 사용량에 적용하는 데 사용됩니다.


| 인스턴스 크기 | 정규화 인자 | 
| --- | --- | 
| nano | 0.25 | 
| micro | 0.5 | 
| small | 1 | 
| medium | 2 | 
| large | 4 | 
| xlarge | 8 | 
| 2xlarge | 16 | 
| 3xlarge | 24 | 
| 4xlarge | 32 | 
| 6xlarge | 48 | 
| 8xlarge | 64 | 
| 9xlarge | 72 | 
| 10xlarge | 80 | 
| 12xlarge | 96 | 
| 16xlarge | 128 | 
| 18xlarge | 144 | 
| 24xlarge | 192 | 
| 32xlarge | 256 | 
| 48xlarge | 384 | 
| 56xlarge | 448 | 
| 112xlarge | 896 | 

예를 들어, `t2.medium` 인스턴스의 정규화 인자는 2입니다. 미국 동부(버지니아 북부)에서 `t2.medium` 기본 테넌시 Amazon Linux/Unix 예약 인스턴스를 구입하고, 해당 리전의 계정에 `t2.small` 인스턴스 2개가 실행 중인 경우 결제 혜택이 두 인스턴스에 전체적으로 적용됩니다.

![\[리전 예약 인스턴스를 적용합니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/ri-instance-flex-full.png)


또는 미국 동부(버지니아 북부) 리전의 계정에 실행 중인 `t2.large` 인스턴스 1개가 있는 경우 결제 혜택은 인스턴스 사용량의 50%에 적용됩니다.

![\[리전 예약 인스턴스를 적용합니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/ri-instance-flex-partial.png)


예약 인스턴스를 수정하면 정규화 인자 역시 적용됩니다. 자세한 내용은 [예약 인스턴스 수정](ri-modifying.md) 섹션을 참조하세요.

#### 베어 메탈 인스턴스에 대한 정규화 인자
<a name="ri-normalization-factor-bare-metal"></a>

인스턴스 크기 유연성은 인스턴스 패밀리 내 베어 메탈 인스턴스에도 적용됩니다. 베어 메탈 인스턴스에서 공유 테넌시를 포함하는 리전 Amazon Linux/Unix 예약 인스턴스가 있는 경우 동일한 인스턴스 패밀리 내에서 예약 인스턴스 절감 혜택을 얻을 수 있습니다. 반대의 경우도 마찬가지입니다. 베어 메탈 인스턴스와 동일한 패밀리의 인스턴스에서 공유 테넌시를 포함하는 리전 Amazon Linux/Unix 예약 인스턴스가 있는 경우 베어 메탈 인스턴스에서 예약 인스턴스 절감 혜택을 얻을 수 있습니다.

`metal` 인스턴스 크기에는 단일 정규화 인자가 없습니다. 베어 메탈 인스턴스는 동일한 인스턴스 패밀리 내에서 가상화된 인스턴스 크기와 동일한 정규화 인자를 갖습니다. 예를 들어, `i3.metal` 인스턴스의 정규화 인자는 `i3.16xlarge` 인스턴스의 정규화 인자와 동일합니다.


| 인스턴스 크기 | 정규화 인자 | 
| --- | --- | 
| a1.metal | 32 | 
|  m5zn.metal \$1 x2iezn.metal z1d.metal  | 96 | 
|  c6g.metal \$1 c6gd.metal \$1 i3.metal \$1 m6g.metal \$1 m6gd.metal \$1 r6g.metal \$1 r6gd.metal \$1 x2gd.metal  | 128 | 
| c5n.metal | 144 | 
|  c5.metal \$1 c5d.metal \$1 i3en.metal \$1 m5.metal \$1 m5d.metal \$1 m5dn.metal \$1 m5n.metal \$1 r5.metal \$1 r5b.metal \$1 r5d.metal \$1 r5dn.metal \$1 r5n.metal  | 192 | 
|  c6i.metal \$1 c6id.metal \$1 m6i.metal \$1 m6id.metal \$1 r6d.metal \$1 r6id.metal  | 256 | 
|  u-18tb1.metal \$1 u-24tb1.metal  | 448 | 
|  u-6tb1.metal \$1 u-9tb1.metal \$1 u-12tb1.metal  | 896 | 

예를 들어 `i3.metal` 인스턴스의 정규화 인자는 128입니다. 미국 동부(버지니아 북부)에서 `i3.metal` 기본 테넌시 Amazon Linux/Unix 예약 인스턴스를 구입하면 다음과 같은 요금 혜택이 적용될 수 있습니다.
+ 리전에서 사용자의 계정에 실행 중인 `i3.16xlarge`가 하나인 경우 `i3.16xlarge` 인스턴스(`i3.16xlarge` 정규화 인자 = 128)에 모든 요금 혜택이 적용됩니다.
+ 또는 리전에서 사용자의 계정에 실행 중인 `i3.8xlarge` 인스턴스가 두 개인 경우 두 `i3.8xlarge` 인스턴스(`i3.8xlarge` 정규화 인자 = 64)에 모든 요금 혜택이 적용됩니다.
+ 또는 리전에서 사용자의 계정에 실행 중인 `i3.4xlarge` 인스턴스가 4개인 경우 모든 4개의 `i3.4xlarge` 인스턴스(`i3.4xlarge` 정규화 인자 = 32)에 모든 요금 혜택이 적용됩니다.

반대의 경우도 마찬가지입니다. 예를 들어 미국 동부(버지니아 북부)에서 두 개의 `i3.8xlarge` 기본 테넌시 Amazon Linux/Unix 예약 인스턴스를 구입하고 리전에서 한 개의 `i3.metal` 인스턴스를 실행 중인 경우 `i3.metal` 인스턴스에 모든 요금 혜택이 적용됩니다.

## 예약 인스턴스 적용의 예
<a name="ri-usage-examples"></a>

**Topics**
+ [시나리오 1: 단일 계정의 예약 인스턴스](#ri-usage-ex1)
+ [시나리오 2: 정규화 인수를 사용하는 단일 계정의 예약 인스턴스](#ri-usage-ex2)
+ [시나리오 3: 연결된 계정의 리전 예약 인스턴스](#ri-usage-ex3)
+ [시나리오 4: 연결된 계정의 영역 예약 인스턴스](#ri-usage-ex4)

### 시나리오 1: 단일 계정의 예약 인스턴스
<a name="ri-usage-ex1"></a>

계정 A에서 다음 온디맨드 인스턴스를 실행 중입니다.
+ 4 x `m3.large` Linux, 가용 영역 us-east-1a의 기본 테넌시 인스턴스
+ 2 x `m4.xlarge` Amazon Linux, 가용 영역 us-east-1b의 기본 테넌시 인스턴스
+ 1 x `c4.xlarge` Amazon Linux, 가용 영역 us-east-1c의 기본 테넌시 인스턴스

계정 A에서 다음 예약 인스턴스를 구입합니다.
+ 4 x `m3.large` Linux, 가용 영역 us-east-1a의 기본 테넌시 예약 인스턴스(용량 예약됨)
+ 4 x `m4.large` Amazon Linux, us-east-1 리전의 기본 테넌시 예약 인스턴스
+ 1 x `c4.large` Amazon Linux, us-east-1 리전의 기본 테넌시 예약 인스턴스

예약 인스턴스의 혜택은 다음과 같이 적용됩니다.
+ 인스턴스 간에 속성(인스턴스 크기, 리전, 플랫폼, 테넌시)이 서로 일치하므로 `m3.large` 영역 예약 인스턴스 4개의 할인 및 용량 예약이 `m3.large` 인스턴스 4개에 적용됩니다.
+ `m4.large` 리전 예약 인스턴스에서는 기본 테넌시가 포함된 리전 단위의 Amazon Linux 예약 인스턴스이므로 가용 영역 및 인스턴스 크기 유연성을 제공합니다.

  `m4.large`는 시간당 정규화 유닛 4개와 같습니다.

  `m4.large` 리전 예약 인스턴스를 4개 구입하였으며, 이에 따라 시간당 정규화 유닛은 총 16개(4x4)입니다. 현재 계정 A에는 실행 중인 `m4.xlarge` 인스턴스가 2개이며, 이에 따라 시간당 정규화 유닛은 16개(2x8)와 같습니다. 이 경우 `m4.large` 리전 예약 인스턴스 4개에서는 `m4.xlarge` 인스턴스 2개의 사용량에 전체 결제 혜택을 제공합니다.
+ us-east-1의 `c4.large` 리전 예약 인스턴스는 기존 테넌시가 포함된 지역 Amazon Linux 예약 인스턴스이므로 가용 영역 및 인스턴스 크기 유연성을 `c4.xlarge` 인스턴스에 적용합니다. `c4.large` 인스턴스는 시간당 정규화 유닛 4개와 같고, `c4.xlarge`는 시간당 정규화 유닛 8개와 같습니다.

  이 경우에는 `c4.large` 리전 예약 인스턴스가 `c4.xlarge` 사용량에 부분적 혜택을 제공합니다. 이는 `c4.large` 예약 인스턴스가 사용량의 시간당 정규화 유닛이 4개와 같지만 `c4.xlarge` 인스턴스는 시간당 정규화 유닛이 8개가 필요하기 때문입니다. 따라서 `c4.large` 예약 인스턴스의 결제 할인이 `c4.xlarge` 사용량의 50%에 적용됩니다. 나머지 `c4.xlarge` 사용량은 온디맨드 요금이 부과됩니다.

### 시나리오 2: 정규화 인수를 사용하는 단일 계정의 예약 인스턴스
<a name="ri-usage-ex2"></a>

계정 A에서 다음 온디맨드 인스턴스를 실행 중입니다.
+ 2 x `m3.xlarge` Amazon Linux, 가용 영역 us-east-1a의 기본 테넌시 인스턴스
+ 2 x `m3.large` Amazon Linux, 가용 영역 us-east-1b의 기본 테넌시 인스턴스

계정 A에서 다음 예약 인스턴스를 구입합니다.
+ 1 x `m3.2xlarge` Amazon Linux, us-east-1 리전의 기본 테넌시 예약 인스턴스

예약 인스턴스의 혜택은 다음과 같이 적용됩니다.
+ us-east-1의 `m3.2xlarge` 리전 예약 인스턴스는 기존 테넌시가 포함된 리전 Amazon Linux 예약 인스턴스이므로 가용 영역 및 인스턴스 크기 유연성을 제공합니다. 정규화 인수를 기반으로 인스턴스 패밀리 내에서 가장 작은 인스턴스 크기부터 가장 큰 인스턴스 크기까지 적용하기 때문에 먼저 `m3.large` 인스턴스에 적용한 다음 `m3.xlarge` 인스턴스에 적용합니다.

  `m3.large` 인스턴스는 시간당 정규화 단위 4개와 같습니다.

  `m3.xlarge` 인스턴스는 시간당 정규화 단위 8개와 같습니다.

  `m3.2xlarge` 인스턴스는 시간당 정규화 단위 16개와 같습니다.

  혜택은 다음과 같이 적용됩니다.

  `m3.2xlarge` 리전 예약 인스턴스는 2 x `m3.large` 사용량에 대한 모든 이점을 제공합니다. 이러한 인스턴스가 함께 시간당 8개의 정규화된 단위를 차지하기 때문입니다. 이렇게 하면 `m3.xlarge` 인스턴스에 적용할 8개의 정규화된 단위/시간이 남습니다.

  나머지 8개의 정규화된 단위/시간과 함께 `m3.2xlarge` 리전 예약 인스턴스는 각 `m3.xlarge` 인스턴스가 8개의 정규화된 단위/시간과 동일하기 때문에 1 x `m3.xlarge` 사용량에 대한 모든 이점을 제공합니다. 나머지 `m3.xlarge` 사용량은 온디맨드 요금이 부과됩니다.

### 시나리오 3: 연결된 계정의 리전 예약 인스턴스
<a name="ri-usage-ex3"></a>

예약 인스턴스가 구입 계정 내 사용량에 먼저 적용된 후 조직의 다른 계정에서 해당하는 사용량에 적용됩니다. 자세한 내용은 [예약 인스턴스 및 통합 결제](concepts-reserved-instances-application.md#concepts-reserved-instances-billing) 섹션을 참조하세요. 인스턴스 크기 유연성을 제공하는 리전 단위 예약 인스턴스의 경우 혜택은 인스턴스 패밀리 내 가장 작은 인스턴스 크기에서 가장 큰 인스턴스 크기에 이르기까지 두루 적용됩니다.

계정 A(구입 계정)에서 다음과 같은 온디맨드 인스턴스를 실행 중입니다.
+ 2 x `m4.xlarge` Linux, 가용 영역 us-east-1a의 기본 테넌시 인스턴스
+ 1 x `m4.2xlarge` Linux, 가용 영역 us-east-1b의 기본 테넌시 인스턴스
+ 2 x `c4.xlarge` Linux, 가용 영역 us-east-1a의 기본 테넌시 인스턴스
+ 1 x `c4.2xlarge` Linux, 가용 영역 us-east-1b의 기본 테넌시 인스턴스

다른 고객이 연결 계정인 계정 B에서 다음과 같은 온디맨드 인스턴스를 실행 중입니다.
+ 2 x `m4.xlarge` Linux, 가용 영역 us-east-1a의 기본 테넌시 인스턴스

계정 A에서 다음과 같은 리전 단위 예약 인스턴스를 구입합니다.
+ 4 x `m4.xlarge` Linux, us-east-1 리전의 기본 테넌시 예약 인스턴스
+ 2 x `c4.xlarge` Linux, us-east-1 리전의 기본 테넌시 예약 인스턴스

지역 예약 인스턴스의 혜택은 다음과 같이 적용됩니다.
+ 4개의 `m4.xlarge` 예약 인스턴스 할인은 계정 A(구입 계정)의 두 개의 `m4.xlarge` 인스턴스 및 하나의 `m4.2xlarge` 인스턴스에서 사용됩니다. 세 개의 인스턴스 모두 속성(인스턴스 패밀리, 리전, 패밀리, 테넌시)과 일치합니다. 계정 B(연결된 계정)에 예약 인스턴스와도 일치하는 두 개의 `m4.xlarge`가 있어도 먼저 구입 계정(계정 A)의 인스턴스에 할인이 적용됩니다. 예약 인스턴스가 리전 예약 인스턴스이므로 용량 예약이 없습니다.
+ 2개의 `c4.xlarge` 예약 인스턴스 할인이 2개의 `c4.xlarge` 인스턴스에 적용되는데, 이는 `c4.2xlarge` 인스턴스보다 인스턴스 크기가 작기 때문입니다. 예약 인스턴스가 리전 예약 인스턴스이므로 용량 예약이 없습니다.

### 시나리오 4: 연결된 계정의 영역 예약 인스턴스
<a name="ri-usage-ex4"></a>

일반적으로 계정에 속한 예약 인스턴스가 해당 계정의 사용량에 먼저 적용됩니다. 하지만 조직 내 다른 계정에 특정 가용 영역에 대해 자격을 갖추었지만 사용하지 않은 예약 인스턴스(영역 예약 인스턴스)가 있다면 계정에 속한 리전 예약 인스턴스에 앞서 이 인스턴스가 계정에 적용됩니다. 이는 예약 인스턴스의 활용도를 극대화하면서 결제 비용을 낮추기 위한 것입니다. 결제의 편의를 위해 조직 내 모든 계정은 하나의 계정으로 취급됩니다. 다음 예제는 이를 설명하는 데 도움이 될 수 있습니다.

계정 A(구입 계정)에서 다음과 같은 온디맨드 인스턴스를 실행하고 있습니다.
+ 1 x `m4.xlarge` Linux, 가용 영역 us-east-1a의 기본 테넌시 인스턴스

고객이 연결된 계정 B에서 다음과 같은 온디맨드 인스턴스를 실행하고 있습니다.
+ 1 x `m4.xlarge` Linux, 가용 영역 us-east-1b의 기본 테넌시 인스턴스

계정 A에서 다음과 같은 리전 단위 예약 인스턴스를 구입합니다.
+ 1 x `m4.xlarge` Linux, us-east-1 리전의 기본 테넌시 예약 인스턴스

고객은 또한 연결된 계정 C에서 다음과 같은 영역 예약 인스턴스를 구입합니다.
+ 1 x `m4.xlarge` Linux, 가용 영역 us-east-1a의 기본 테넌시 예약 인스턴스

예약 인스턴스의 혜택은 다음과 같이 적용됩니다.
+ 계정 C에 속한 `m4.xlarge` 영역 예약 인스턴스의 할인은 계정 A의 `m4.xlarge` 사용량에 적용됩니다.
+ 계정 A에 속한 `m4.xlarge` 리전 예약 인스턴스의 할인은 계정 B의 `m4.xlarge` 사용량에 적용됩니다.
+ 계정 A에 속한 리전 예약 인스턴스가 계정 A의 사용량에 먼저 적용된 경우에는 계정 C에 속한 리전 예약 인스턴스가 미사용 상태로 남게 되고 계정 B의 사용량은 온디맨드 요금으로 부과됩니다.

자세한 내용은 AWS Cost and Usage Report의 [Understanding your reservations](https://docs.aws.amazon.com/cur/latest/userguide/understanding-ri.html)를 참조하세요.

**참고**  
영역 예약 인스턴스는 소유 계정에 대해서만 용량을 예약하며 다른 AWS 계정과 공유할 수 없습니다. 다른 AWS 계정과 용량을 공유해야 하는  경우 [EC2 온디맨드 용량 예약으로 컴퓨팅 용량 예약](ec2-capacity-reservations.md)를 사용하세요.

# 예약 인스턴스 사용
<a name="using-reserved-instances"></a>

사양이 일치할 경우 실행 중인 온디맨드 인스턴스에 예약 인스턴스가 자동으로 적용됩니다. 예약 인스턴스의 사양과 일치하는 온디맨드 인스턴스가 실행되고 있지 않은 경우 필수 사양이 포함된 인스턴스를 시작할 때까지 예약 인스턴스가 사용되지 않습니다.

예약 인스턴스의 결제 혜택을 활용하기 위해 온디맨드 인스턴스를 시작할 경우 온디맨드 인스턴스를 구성할 때 다음 정보를 지정해야 합니다.

**플랫폼**  
예약 인스턴스의 플랫폼(제품 설명)과 일치하는 Amazon Machine Image(AMI)를 지정해야 합니다. 예를 들어 예약 인스턴스에 대해 `Linux/UNIX`를 지정한 경우 Amazon Linux AMI 또는 Ubuntu AMI에서 인스턴스를 시작할 수 있습니다.

**인스턴스 유형**  
영역 예약 인스턴스를 구매한 경우 예약 인스턴스(예: `t3.large`)와 동일한 인스턴스 유형을 지정해야 합니다. 자세한 내용은 [영역 예약 인스턴스 적용 방식](apply_ri.md#apply-zonal-ri) 섹션을 참조하세요.  
리전 예약 인스턴스를 구매한 경우 예약 인스턴스의 인스턴스 유형과 동일한 인스턴스 패밀리의 인스턴스 유형을 지정해야 합니다. 예를 들어 예약 인스턴스에 대해 `t3.xlarge`를 지정한 경우 T3 패밀리에서 인스턴스를 시작해야 하지만 `t3.medium`과 같이 모든 크기를 지정할 수 있습니다. 자세한 내용은 [리전 예약 인스턴스 적용 방식](apply_ri.md#apply-regional-ri) 섹션을 참조하세요.

**가용 영역**  
특정 가용 영역에 대해 영역 예약 인스턴스를 구입한 경우 동일한 가용 영역으로 해당 인스턴스를 시작해야 합니다.  
리전 단위의 예약 인스턴스를 구입한 경우 예약 인스턴스로 지정한 리전 내 모든 가용 영역으로 인스턴스를 시작할 수 있습니다.

**테넌시**  
인스턴스의 테넌시(예: `dedicated` 또는 `shared`)는 예약 인스턴스의 테넌시와 일치해야 합니다. 자세한 내용은 [Amazon EC2 전용 인스턴스](dedicated-instance.md) 섹션을 참조하세요.

예를 들어 실행 중인 온디맨드 인스턴스에 예약 인스턴스를 적용하는 방법은 [예약 인스턴스 할인 적용 방식](apply_ri.md) 섹션을 참조하세요. 자세한 내용은 [Amazon EC2 예약 인스턴스가 AWS 결제에 예상대로 적용되지 않는 이유는 무엇입니까?](https://repost.aws/knowledge-center/reserved-instance-applying-why)를 참조하세요.

다양한 방법으로 예약 인스턴스 할인을 사용하는 온디맨드 인스턴스를 시작할 수 있습니다. 다양한 시작 방법에 대한 자세한 내용은 [Amazon EC2 인스턴스 시작하기](LaunchingAndUsingInstances.md) 섹션을 참조하세요. 또한 Amazon EC2 Auto Scaling을 사용하여 인스턴스를 시작할 수 있습니다. 자세한 내용은 [Amazon EC2 Auto Scaling 사용 설명서](https://docs.aws.amazon.com/autoscaling/ec2/userguide/)를 참조하세요.

# 예약 인스턴스 결제 작동 방식
<a name="concepts-reserved-instances-application"></a>

모든 예약 인스턴스에서는 온디맨드 요금에 비해 할인된 요금을 제공합니다. 예약 인스턴스를 사용하면 실제 사용에 상관없이 전체 기간에 대해 요금을 지불합니다. 예약 인스턴스에 대해 지정한 [결제 옵션](ec2-reserved-instances.md#ri-payment-options)에 따라 예약 인스턴스에 대해 선결제, 부분 선결제 또는 월별 결제를 선택할 수 있습니다.

예약 인스턴스가 만료되면 EC2 인스턴스 사용량에 대해 온디맨드 요금이 청구됩니다. 최대 3년 전에 예약 인스턴스 구매를 대기할 수 있습니다. 이를 통해 중단 없는 보장을 받을 수 있습니다. 자세한 내용은 [구매 대기열에 추가](ri-market-concepts-buying.md#ri-queued-purchase) 섹션을 참조하세요.

AWS 프리 티어는 신규 AWS 계정에 사용할 수 있습니다. AWS 프리 티어를 사용하여 Amazon EC2 인스턴스를 실행하며 예약 인스턴스를 구입하는 경우 표준 요금이 부과됩니다. 자세한 내용은 [AWS 프리 티어](https://aws.amazon.com/free/) 섹션을 참조하세요.

**Topics**
+ [사용량 결제](#hourly-billing)
+ [청구서 보기](#ri-market-buyer-billing)
+ [예약 인스턴스 및 통합 결제](#concepts-reserved-instances-billing)
+ [예약 인스턴스 할인 요금 티어](#reserved-instances-discounts)

## 사용량 결제
<a name="hourly-billing"></a>

예약 인스턴스는 선택한 기간 동안 인스턴스 실행 여부와 상관없이 매 시간 청구됩니다. 각 시간은 표준 24시간 시계의 정각(0분 0초)에 시작합니다. 예를 들어 1:00:00부터 1:59:59까지가 1시간입니다. 인스턴스 상태에 대한 자세한 내용은 [Amazon EC2 인스턴스 상태 변경](ec2-instance-lifecycle.md) 단원을 참조하세요.

예약 인스턴스 결제 혜택이 초 단위로 실행 중 인스턴스에 적용됩니다. 초당 요금은 오픈 소스 Linux 배포판(예: Amazon Linux 및 Ubuntu)을 사용하는 경우 사용할 수 있습니다. 시간당 청구는 Red Hat Enterprise Linux 및 SUSE Linux Enterprise Server와 같은 상용 Linux 배포판에 사용됩니다.

예약 인스턴스 결제 혜택은 매 시간마다 최대 3,600초(1시간)의 인스턴스 사용량에 적용될 수 있습니다. 여러 인스턴스를 동시에 실행할 수 있지만, 예약 인스턴스 할인 혜택은 매 시간마다 총 3,600초에 대해서만 받을 수 있고 매 시간 3,600초를 초과하는 인스턴스 사용량에는 온디맨드 요금이 청구됩니다.

예를 들어 `m4.xlarge` 예약 인스턴스 1개를 구매하고 `m4.xlarge` 인스턴스 4개를 동시에 1시간 동안 실행한 경우 인스턴스 1개에 대해 예약 인스턴스 사용량 1시간의 요금이 부과되고 나머지 인스턴스 3개에 대해 온디맨드 사용량 3시간의 요금이 부과됩니다.

하지만 `m4.xlarge` 예약 인스턴스 1개를 구매하고 `m4.xlarge` 인스턴스 4개를 동일한 시간 내에 15분(900초)씩 실행하여 총 인스턴스 실행 시간이 1시간인 경우 예약 인스턴스 사용량은 1시간이 되고 온디맨드 사용량은 0시간이 됩니다.

![\[m4.xlarge 인스턴스 4개가 같은 시간 내에 각각 15분 동안 실행됩니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/ri-per-second-billing.png)


여러 개의 적용 대상 인스턴스가 동시에 실행 중인 경우 예약 인스턴스 결제 혜택이 모든 인스턴스에 대해 동시에 매 시간마다 최대 3,600초까지 적용되고, 그 이후에는 온디맨드 요금이 적용됩니다.

![\[예약 인스턴스 비용 청구를 통해 여러 인스턴스가 동시에 실행됩니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/ri-per-second-billing-concurrent.png)


[Billing and Cost Management](https://console.aws.amazon.com/billing) 콘솔의 **Cost Explorer**를 사용하면 실행 중인 온디맨드 인스턴스에 대해 절약된 금액을 분석할 수 있습니다. [예약 인스턴스 FAQ](https://aws.amazon.com/ec2/faqs/#reserved-instances)에는 정가 계산의 예가 나와 있습니다.

AWS 계정을 닫은 경우 리소스에 대한 온디맨드 결제가 중지됩니다. 그러나 계정에 예약 인스턴스가 있는 경우 해당 인스턴스가 만료될 때까지 이에 대한 청구서를 계속 받게 됩니다.

## 청구서 보기
<a name="ri-market-buyer-billing"></a>

계정으로 청구되는 요금과 비용은 [AWS 결제 및 비용 관리](https://console.aws.amazon.com/billing) 콘솔에서 확인할 수 있습니다.
+ **대시보드**에는 계정에 대한 소비 요약이 표시됩니다.
+ **청구서** 페이지의 **세부 정보**에서 **Elastic Compute Cloud** 섹션과 리전을 확장하여 예약 인스턴스에 대한 결제 정보를 가져옵니다.

요금을 온라인으로 확인하거나 CSV 파일을 다운로드할 수 있습니다.

AWS 비용 및 사용 보고서를 통해 예약 인스턴스 사용률을 추적할 수도 있습니다. 자세한 내용은 [예약 파악](https://docs.aws.amazon.com/cur/latest/userguide/understanding-ri.html)을 참조하세요.

## 예약 인스턴스 및 통합 결제
<a name="concepts-reserved-instances-billing"></a>

구입 계정이 단일 통합 결제 지급인 계정으로 과금되는 일련의 계정 중 하나인 경우, 예약 인스턴스 요금 혜택이 공유됩니다. 모든 멤버 계정에서 발생한 인스턴스 사용량은 매월 지급인 계정으로 합산됩니다. 이 방식은 일반적으로 직무가 서로 다른 팀이나 그룹이 있는 회사에서 유용하며, 정상적인 예약 인스턴스 규칙에 따라 요금이 계산됩니다. 자세한 내용은 [AWS Organizations의 통합 결제](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/consolidated-billing.html) 섹션을 참조하세요.

예약 인스턴스를 구매한 계정을 해지하면 예약 인스턴스가 만료될 때까지 지급인 계정에 예약 인스턴스 요금이 계속 청구됩니다. 해지된 계정은 90일 후에 영구적으로 삭제되며, 멤버 계정에는 더 이상 예약 인스턴스 결제 할인의 혜택이 적용되지 않습니다.

**참고**  
영역 예약 인스턴스는 소유 계정에 대해서만 용량을 예약하며 다른 AWS 계정과 공유할 수 없습니다. 다른 AWS 계정과 용량을 공유해야 하는  경우 [EC2 온디맨드 용량 예약으로 컴퓨팅 용량 예약](ec2-capacity-reservations.md)를 사용하세요.

## 예약 인스턴스 할인 요금 티어
<a name="reserved-instances-discounts"></a>

할인 요금 티어의 사용 자격에 해당되는 계정은 적용 시점부터 구입한 예약 인스턴스 중 해당 티어에 속하는 예약 인스턴스의 선결제 금액과 인스턴스 사용비가 자동으로 할인됩니다. 할인은 해당 리전 내 예약 인스턴스의 정가 총합이 500,000 USD 이상인 경우만 해당됩니다.

다음 규칙이 적용됩니다.
+ 요금 티어 및 이와 관련된 할인은 Amazon EC2 표준형 예약 인스턴스 구입 시에만 적용됩니다.
+ SQL Server Standard, SQL Server Web 및 SQL Server Enterprise 포함 Windows에는 예약 인스턴스 요금 티어가 적용되지 않습니다.
+ SQL Server를 사용하는 Linux용 예약 인스턴스에는 요금 티어가 적용되지 않습니다.
+ 요금 티어의 할인 혜택은 AWS를 통한 구매에만 적용됩니다. 타사 예약 인스턴스를 구입할 때는 이 할인 혜택이 적용되지 않습니다.
+ 할인 요금 티어는 현재 전환형 예약 인스턴스 구입에는 적용되지 않습니다.

**Topics**
+ [예약 인스턴스 요금 할인 계산](#pricing-discounts)
+ [구매 시 할인 티어 적용](#buying-discount-tier)
+ [요금 티어 교차](#crossing-pricing-tiers)
+ [요금 티어 통합 결제](#consolidating-billing)

### 예약 인스턴스 요금 할인 계산
<a name="pricing-discounts"></a>

리전의 모든 예약 인스턴스에 대한 정가를 계산하여 계정에 대한 요금 티어를 확인할 수 있습니다. 각 예약의 시간당 부과 요금(hourly recurring price)에 약정 기간의 총 시간을 곱한 다음, 구매 시 할인이 적용되지 않은 선결제 금액(fixed price: 고정 가격이라고도 함)을 더합니다. 정가는 할인이 적용되지 않은 요금 또는 (공개) 요금을 기준으로 하기 때문에 볼륨 할인을 적용받는 경우나 예약 인스턴스 구입 후 가격이 내려가는 경우 정가에는 영향을 주지 않습니다.

```
List value = fixed price + (undiscounted recurring hourly price * hours in term)
```

예를 들어 1년 부분 선결제 `t2.small` 예약 인스턴스의 경우 선결제 가격이 60.00 USD이고 시간당 요금이 0.007 USD라고 가정해 봅니다. 이렇게 하면 정가는 121.32 USD입니다.

```
121.32 = 60.00 + (0.007 * 8760)
```

**Amazon EC2 콘솔을 사용하여 예약 인스턴스의 고정 가격을 확인하려면**

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

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

1. **선결제 요금** 열을 표시하려면 오른쪽 상단 모서리에서 설정(![\[Settings icon.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/settings-icon.png))을 선택하고 **선결제 요금**을 켠 다음, **확인**을 선택합니다.

**명령줄을 사용하여 예약 인스턴스의 고정 가격을 확인하려면**
+ [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html)(AWS CLI)
+  [Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html)(AWS Tools for Windows PowerShell)

### 구매 시 할인 티어 적용
<a name="buying-discount-tier"></a>

사용자가 예약 인스턴스를 구입하면 Amazon EC2에서는 할인 요금 티어에 해당되는 구입에 대해 자동으로 그에 맞는 할인을 적용합니다. 추가 작업 없이 어떤 Amazon EC2 도구에서나 예약 인스턴스 구매가 가능합니다. 자세한 내용은 [Amazon EC2용 예약 인스턴스 구입](ri-market-concepts-buying.md) 섹션을 참조하세요.

한 리전에서 사용 중인 예약 인스턴스의 정가 총액이 할인 요금 티어 기준에 도달하면 다음에 같은 리전에서 예약 인스턴스를 구입할 때 할인이 적용됩니다. 어떤 리전에서 예약 인스턴스를 하나 구입했는데 그에 따른 합계가 할인 요금 티어 기준 금액을 초과하는 경우 기준을 초과한 금액에 대해 할인이 적용됩니다. 구매 과정에서 생성되는 임시 예약 인스턴스 ID에 대한 자세한 내용은 [요금 티어 교차](#crossing-pricing-tiers) 섹션을 참조하세요.

정가 총액이 예약 인스턴스 만료 등의 이유로 이용 중이던 할인 요금 티어 기준 이하로 변경되면 그 다음에 해당 리전에서 예약 인스턴스를 구입할 때는 할인이 적용되지 않습니다. 단, 구입 시 할인 요금 티어 범위에 해당되었던 기존의 예약 인스턴스에 대해서는 계속 할인을 받을 수 있습니다.

예약 인스턴스 구입 상황은 다음 네 가지 중 한 경우입니다.
+ **미할인** - 같은 리전에서 구매한 합계가 할인 기준 금액보다 아직 적은 경우입니다.
+ **부분 할인** - 같은 리전에서 구매하면서 최하 등급의 할인 티어 기준 금액에 도달한 경우입니다. 미할인이 하나 이상의 예약에 적용되고 할인 요금이 나머지 예약에 적용됩니다.
+ **전체 할인** - 한 리전 내의 전체 구매가 동일한 할인 티어에 해당되고 적절히 할인됩니다.
+ **이중 할인** - 같은 리전에서 구매하면서 할인 티어 등급이 기존보다 더 높아진 경우입니다. 이 경우 두 가지 요금이 차등 적용됩니다. 합산 가격을 기준으로 하나 또는 그 이상의 예약 인스턴스에는 기존 티어 할인이, 나머지 인스턴스에는 상위 티어 할인이 적용됩니다.

### 요금 티어 교차
<a name="crossing-pricing-tiers"></a>

구매 시점에서 합산 금액이 어떤 할인 요금 티어 기준을 도달하게 되면 함께 구매하는 인스턴스 중 일부는 정상적인 예약 인스턴스 가격이 적용되고 티어 기준을 초과하는 인스턴스는 티어에 따른 할인이 적용됩니다.

함께 구매한 인스턴스에 미할인 티어(정상 가격), 하나 이상의 할인 티어가 차등 적용되므로, 예약 인스턴스 서비스에서는 여러 개의 예약 인스턴스 ID를 생성합니다. ID는 같은 티어의 인스턴스를 묶어 티어당 하나씩 부여됩니다. 따라서 CLI 명령이나 API 작업으로 구입했을 때 부여되는 ID는 새로 구입한 예약 인스턴스의 실제 ID와는 다릅니다.

### 요금 티어 통합 결제
<a name="consolidating-billing"></a>

통합 결제 계정은 한 리전 내 회원 계정의 정가를 합산합니다. 통합 결제 계정에 속하는 사용 중인 모든 예약 인스턴스의 정가 총액이 할인 요금 티어의 기준 금액에 도달하면 통합 결제 계정의 모든 구성원 계정에서 구입한 예약 인스턴스에 대해 할인을 받을 수 있습니다(해당 통합 결제 계정의 정가가 할인 요금 티어의 기준 금액 이상으로 유지되는 동안 계속 적용). 자세한 내용은 [예약 인스턴스 및 통합 결제](#concepts-reserved-instances-billing) 섹션을 참조하세요.

# Amazon EC2용 예약 인스턴스 구입
<a name="ri-market-concepts-buying"></a>

Amazon EC2용 예약 인스턴스를 구입하려면 Amazon EC2 콘솔, 명령줄 도구 또는 SDK를 사용하여 AWS와 타사 판매자의 예약 인스턴스 제품을 검색하고, 찾고 있는 인스턴스와 정확히 일치하는 인스턴스를 찾을 때까지 검색 파라미터를 조정합니다.

구입할 예약 인스턴스를 검색하면 반환된 상품의 비용에 대한 견적을 받게 됩니다. 구입을 진행하면 AWS에서 구입 가격에 제한 가격을 자동으로 설정합니다. 그러면 구입하는 예약 인스턴스의 총 가격이 제시된 견적가를 초과하지 않게 됩니다.

여하한 이유로 가격이 오르거나 변경되면 구입이 완료되지 않습니다. Amazon EC2 예약 인스턴스 마켓플레이스에서 타사 판매자의 예약 인스턴스를 구매할 때 선택한 것과 비슷하지만 선결제 가격이 더 낮은 제품이 있는 경우 AWS에서는 더 저렴한 선결제 가격으로 해당 제품을 판매합니다.

구입을 확정하기 전에 구매하기로 결정한 예약 인스턴스의 세부 정보를 검토하고 모든 파라미터가 정확한지 확인하세요. 예약 인스턴스 Marketplace의 서드 파티 판매자 또는 AWS로부터 예약 인스턴스를 구매한 후에는 구매를 취소할 수 없습니다. 구매를 미래 날짜로 대기열에 넣고 예정된 시간 전에 대기 중인 구매를 취소할 수 있습니다.

예약 인스턴스를 구매하고 수정하려면 가용 영역을 설명할 수 있는 권한과 같은 적절한 권한이 사용자에게 있는지 확인하세요. 자세한 내용은 [예: 예약 인스턴스 작업](ExamplePolicies_EC2.md#iam-example-reservedinstances)(API) 또는 [예: 예약 인스턴스 작업](iam-policies-ec2-console.md#ex-reservedinstances)(콘솔)를 참조하세요.

**Topics**
+ [플랫폼 선택](#ri-choosing-platform)
+ [구매 대기열에 추가](#ri-queued-purchase)
+ [표준형 예약 인스턴스 구매](#ri-buying-standard)
+ [전환형 예약 인스턴스 구매](#ri-buying-convertible)
+ [예약 인스턴스 Marketplace에서 구매](#ri-market-buying-guide)
+ [대기 중인 구매 취소](#cancel-queued-purchase)
+ [예약 인스턴스 갱신](#renew-ri)

## 플랫폼 선택
<a name="ri-choosing-platform"></a>

Amazon EC2는 예약 인스턴스에 대해 다음 플랫폼을 지원합니다.
+ Linux/UNIX
+ SQL Server Standard가 설치된 Linux
+ SQL Server Web이 설치된 Linux
+ SQL Server Enterprise가 설치된 Linux
+ SUSE Linux
+ Red Hat Enterprise Linux
+ Red Hat Enterprise Linux with HA
+ Windows
+ SQL Server Standard가 설치된 Windows
+ SQL Server Web이 설치된 Windows
+ SQL Server Enterprise가 설치된 Windows

**고려 사항**
+ **Red Hat Enterprise Linux**, **SUSE Linux** 또는 **Ubuntu Pro**용 기존 구독(BYOS)을 가져오는 경우 **Linux/Unix** 플랫폼용 서비스를 선택해야 합니다.
+ **macOS** 또는 Ubuntu Pro(EC2 구독 포함, 즉 BYOS가 아님)를 실행하는 인스턴스에서는 예약 인스턴스가 지원되지 않습니다. 온디맨드 인스턴스 요금으로 비용 절감을 원한다면 절감형 플랜으로 macOS 및 Ubuntu Pro(EC2 구독 포함)를 사용하는 것이 좋습니다. 자세한 내용은 [절감형 플랜 사용 설명서](https://docs.aws.amazon.com/savingsplans/latest/userguide/what-is-savings-plans.html)를 참조하세요.

인스턴스가 특정 예약 인스턴스에서 실행되도록 하려면 예약 인스턴스의 플랫폼이 인스턴스를 시작하는 데 사용된 AMI의 플랫폼과 일치해야 합니다. Linux AMI의 경우 AMI 플랫폼이 일반 값 **Linux/UNIX**를 사용하는지, 아니면 **SUSE Linux**와 같은 보다 구체적인 값을 사용하는지 확인하는 것이 중요합니다.

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

**AMI 플랫폼을 확인하려면**

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

1. 탐색 창에서 **AMI**를 선택합니다.

1. AMI를 선택합니다.

1. **세부 정보** 탭에서 **플랫폼 세부 정보**의 값을 기록해 둡니다.

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

**AMI 플랫폼을 확인하려면**  
[describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 명령을 사용하고 `PlatformDetails` 값을 확인합니다.

```
aws ec2 describe-images \
    --image-id ami-0abcdef1234567890 \
    --query Images[*].PlatformDetails
```

다음은 예제 출력입니다.

```
[
    "Linux/UNIX"
]
```

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

**AMI 플랫폼을 확인하려면**  
[Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) cmdlet을 사용하고 `PlatformDetails` 값을 확인합니다.

```
Get-EC2Image `
    -ImageId ami-0abcdef1234567890 | `
    Select PlatformDetails
```

다음은 예제 출력입니다.

```
PlatformDetails
---------------
Linux/UNIX
```

------

## 구매 대기열에 추가
<a name="ri-queued-purchase"></a>

기본적으로 예약 인스턴스를 구매할 때는 즉시 구매됩니다. 또는 향후 날짜와 시간으로 구매를 대기시킬 수 있습니다. 예를 들어, 기존 예약 인스턴스 만료 즈음에 구매를 대기시킬 수 있습니다. 이를 통해 중단 없는 보장을 받을 수 있습니다.

다른 판매자로부터의 지역 예약 인스턴스(영역 예약 인스턴스나 예약 인스턴스 아님) 구매를 대기할 수 있습니다. 최대 3년 전에 구매를 대기할 수 있습니다. 예약된 날짜 및 시간에 기본 결제 방법을 사용하여 구매가 실행됩니다. 결제가 완료되면 결제 혜택이 적용됩니다.

Amazon EC2 콘솔에서 대기 중인 구매에 대한 날짜를 설정할 수 있으며, 해당 날짜의 UTC 00:00까지 구매가 대기됩니다. 대기 중인 구매에 대해 다른 시간을 지정하려면 AWS SDK 또는 명령줄 도구를 사용합니다.

대기 중인 구매 내역을 Amazon EC2 콘솔에서 볼 수 있습니다. 대기 중인 구매의 상태는 **대기 중**입니다. 예약된 시간 전에 언제든지 대기 중인 구매를 취소할 수 있습니다. 자세한 내용은 [대기 중인 구매 취소](#cancel-queued-purchase) 섹션을 참조하세요.

## 표준형 예약 인스턴스 구매
<a name="ri-buying-standard"></a>

특정 가용 영역에서 표준형 예약 인스턴스를 구입하고 용량을 예약할 수 있습니다. 또는 용량 예약을 포기하고 리전 단위의 표준형 예약 인스턴스를 구입할 수 있습니다.

구매를 완료했으며 예약 인스턴스의 사양과 일치하는 인스턴스가 이미 실행 중인 경우 결제 혜택이 즉시 적용됩니다. 인스턴스를 재시작할 필요가 없습니다. 실행 중인 적합 인스턴스가 없는 경우, 인스턴스를 시작하고 예약 인스턴스에 대해 지정한 조건과 정확히 일치하는지 확인합니다. 자세한 내용은 [예약 인스턴스 사용](using-reserved-instances.md) 섹션을 참조하세요.

예를 들어 실행 중인 인스턴스에 예약 인스턴스를 적용하는 방법은 [예약 인스턴스 할인 적용 방식](apply_ri.md) 섹션을 참조하세요.

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

**표준형 예약 인스턴스를 구매하려면**

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

1. 탐색 창에서 **예약 인스턴스**를 선택한 다음 **예약 인스턴스 구입**을 선택합니다.

1. **제공 클래스**에서 **표준형**을 선택하여 표준형 예약 인스턴스를 표시합니다.

1. 용량 예약을 구입하려면 구입 화면의 상단 오른쪽 모서리 부분에서 **용량이 예약된 제공만 표시**를 켭니다. 이 설정을 켜면 **가용 영역** 필드가 나타납니다.

   리전 예약 인스턴스을(를) 구입하려면 이 설정을 끕니다. 이 설정을 끄면 **가용 영역** 필드가 사라집니다.

1. 필요에 따라 다른 구성을 선택하고 [**검색(Search)**]을 선택합니다.

1. 구매하려는 각 예약 인스턴스에 대해 원하는 수량을 입력하고 [**장바구니에 추가(Add to Cart)**]를 선택합니다.

   예약 인스턴스 Marketplace에서 표준형 예약 인스턴스를 구매하려면 검색 결과의 [**판매자(Seller)**] 열에서 [**서드 파티(3rd party)**]를 찾습니다. **기간** 열에 비 표준 약정이 표시됩니다. 자세한 내용은 [예약 인스턴스 Marketplace에서 구매](#ri-market-buying-guide) 섹션을 참조하세요.

1. 선택한 예약 인스턴스의 요약을 보려면 [**장바구니 보기(View cart)**]를 선택합니다.

1. **주문 시각(Order on)**이 **지금(Now)**인 경우 [**모두 주문(Order all)**]을 선택한 직후 구매가 완료됩니다. 구매를 대기시키려면 **지금**을 선택하고 날짜를 선택하십시오. 장바구니에서 적합한 각 상품에 대해 다른 날짜를 선택할 수 있습니다. 구매는 선택한 날짜의 00:00(UTC)까지 대기열에 배치됩니다.

1. 주문을 완료하려면 [**모두 주문(Order all)**]을 선택합니다.

   주문 당시 선택한 조건과 비슷하지만 가격이 더 낮은 상품이 있는 경우 AWS는 더 저렴한 상품을 판매합니다.

1. **닫기**를 선택하세요.

   주문 상태가 **상태** 열에 나열됩니다. 주문이 완료되면 **상태** 값이 `Payment-pending`에서 `Active`(으)로 바뀝니다. 예약 인스턴스이(가) `Active`인 경우 사용할 준비가 된 것입니다.

   상태가 `Retired`로 바뀌면 AWS에서 결제를 수신하지 못한 것일 수 있습니다.

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

**표준형 예약 인스턴스를 구매하려면**

1. [describe-reserved-instances-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-offerings.html) 명령을 사용하여 사용 가능한 예약 인스턴스를 찾습니다. 표준형 예약 인스턴스만 반환하도록 `--offering-class` 옵션에 `standard`를 지정합니다. 추가 기준을 적용하여 결과를 좁힐 수 있습니다. 예를 들어 1년 동안만 `Linux/UNIX`에 대해 기본 테넌시가 포함된 리전 단위의 `t2.large` 예약 인스턴스를 구매하려는 경우 다음 명령을 사용합니다.

   ```
   aws ec2 describe-reserved-instances-offerings \
       --instance-type t2.large \
       --offering-class standard \
       --product-description "Linux/UNIX" \
       --instance-tenancy default \
       --filters Name=duration,Values=31536000 \
                 Name=scope,Values=Region
   ```

   예약 인스턴스 Marketplace의 예약 인스턴스만 찾으려면 `marketplace` 필터를 사용하고 요청에 기간을 지정하지 않습니다. 기간이 1년 또는 3년 기간보다 짧을 수 있기 때문입니다.

   ```
   aws ec2 describe-reserved-instances-offerings \
       --instance-type t2.large \
       --offering-class standard \
       --product-description "Linux/UNIX" \
       --instance-tenancy default \
       --filters Name=marketplace,Values=true
   ```

   요구 사항에 맞는 예약 인스턴스를 찾은 경우 상품 ID를 기록합니다. 예:

   ```
   "ReservedInstancesOfferingId": "bec624df-a8cc-4aad-a72f-4f8abc34caf2"
   ```

1. [purchase-reserved-instances-offering](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-reserved-instances-offering.html) 명령을 사용하여 예약 인스턴스를 구매합니다. 이전 단계에서 얻은 예약 인스턴스 상품 ID를 지정하고 예약을 위한 인스턴스 수를 지정해야 합니다.

   ```
   aws ec2 purchase-reserved-instances-offering \
       --reserved-instances-offering-id bec624df-a8cc-4aad-a72f-4f8abc34caf2 \
       --instance-count 1
   ```

   기본적으로 구매는 즉시 완료됩니다. 또는 구매를 대기시키려면 이전 직접 호출에 다음 옵션을 추가합니다.

   ```
   --purchase-time "2020-12-01T00:00:00Z"
   ```

1. [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) 명령을 사용하여 예약 인스턴스의 상태를 가져옵니다.

   ```
   aws ec2 describe-reserved-instances \
       --reserved-instances-ids b847fa93-e282-4f55-b59a-1342fec06327 \
       --query ReservedInstances[].State
   ```

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

**표준형 예약 인스턴스를 구매하려면**

1. [Get-EC2ReservedInstancesOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesOffering.html) cmdlet을 사용하여 사용 가능한 예약 인스턴스를 찾습니다. `standard` 파라미터에 대해 `-OfferingClass`를 지정하여 표준형 예약 인스턴스만 반환합니다. 추가 기준을 적용하여 결과를 좁힐 수 있습니다. 예를 들어 1년 동안만 `Linux/UNIX`에 대해 기본 테넌시가 포함된 리전 단위의 `t2.large` 예약 인스턴스를 구매하려는 경우 다음 명령을 사용합니다.

   ```
   Get-EC2ReservedInstancesOffering `
       -InstanceType "t2.large" `
       -OfferingClass "standard" `
       -ProductDescription "Linux/UNIX" `
       -InstanceTenancy "default" `
       -Filters @{Name="duration"; Values="31536000"} `
                @{Name="scope"; Values="Region"
   ```

   예약 인스턴스 Marketplace의 예약 인스턴스만 찾으려면 `marketplace` 필터를 사용하고 요청에 기간을 지정하지 않습니다. 기간이 1년 또는 3년 기간보다 짧을 수 있기 때문입니다.

   ```
   Get-EC2ReservedInstancesOffering `
       -InstanceType t2.large `
       -OfferingClass "standard" `
       -ProductDescription "Linux/UNIX" `
       -InstanceTenancy default `
       -Filters @{Name="marketplace"; Values="true"}
   ```

   요구 사항에 맞는 예약 인스턴스를 찾은 경우 상품 ID를 기록합니다. 예제:

   ```
   bec624df-a8cc-4aad-a72f-4f8abc34caf2
   ```

1. [New-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ReservedInstance.html) cmdlet을 사용하여 예약 인스턴스를 구매합니다. 이전 단계에서 얻은 예약 인스턴스 상품 ID를 지정하고 예약을 위한 인스턴스 수를 지정해야 합니다.

   ```
   New-EC2ReservedInstance `
       -ReservedInstancesOfferingId "bec624df-a8cc-4aad-a72f-4f8abc34caf2" `
       -InstanceCount 1
   ```

   기본적으로 구매는 즉시 완료됩니다. 또는 구매를 대기시키려면 다음 매개 변수를 이전 호출에 추가하세요.

   ```
   -PurchaseTime "2020-12-01T00:00:00Z"
   ```

1. [Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) cmdlet을 사용하여 예약 인스턴스의 상태를 가져옵니다.

   ```
   Get-EC2ReservedInstance `
       -ReservedInstancesId b847fa93-e282-4f55-b59a-1342fec06327 | `
       Select State
   ```

------

## 전환형 예약 인스턴스 구매
<a name="ri-buying-convertible"></a>

특정 가용 영역에서 전환형 예약 인스턴스를 구입하고 용량을 예약할 수 있습니다. 또는 용량 예약을 포기하고 리전 단위의 전환형 예약 인스턴스를 구입할 수 있습니다;.

예약 인스턴스의 사양과 일치하는 인스턴스가 이미 실행 중인 경우 결제 혜택이 즉시 적용됩니다. 인스턴스를 따로 재시작할 필요가 없습니다. 실행 중인 적합 인스턴스가 없는 경우, 인스턴스를 시작하고 예약 인스턴스에 대해 지정한 동일한 조건과 일치하는지 확인합니다. 자세한 내용은 [예약 인스턴스 사용](using-reserved-instances.md) 섹션을 참조하세요.

예를 들어 실행 중인 인스턴스에 예약 인스턴스를 적용하는 방법은 [예약 인스턴스 할인 적용 방식](apply_ri.md) 섹션을 참조하세요.

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

**전환형 예약 인스턴스를 구매하려면**

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

1. 탐색 창에서 **예약 인스턴스**를 선택한 다음 **예약 인스턴스 구입**을 선택합니다.

1. **제공 클래스**에 대해 **전환형**을 선택하여 전환형 예약 인스턴스를 표시합니다.

1. 용량 예약을 구입하려면 구입 화면의 상단 오른쪽 모서리 부분에서 **용량이 예약된 제공만 표시**를 켭니다. 이 설정을 켜면 **가용 영역** 필드가 나타납니다.

   리전 예약 인스턴스을(를) 구입하려면 이 설정을 끕니다. 이 설정을 끄면 **가용 영역** 필드가 사라집니다.

1. 필요에 따라 다른 구성을 선택하고 **검색**을 선택합니다.

1. 구매하려는 각 전환형 예약 인스턴스에 대해 수량을 입력하고 [**장바구니에 추가(Add to Cart)**]를 선택합니다.

1. 선택한 내역을 보려면 [**장바구니 보기(View cart)**]를 선택합니다.

1. **주문 시각(Order on)**이 **지금(Now)**인 경우 [**모두 주문(Order all)**]을 선택한 직후 구매가 완료됩니다. 구매를 대기시키려면 **지금**을 선택하고 날짜를 선택하십시오. 장바구니에서 적합한 각 상품에 대해 다른 날짜를 선택할 수 있습니다. 구매는 선택한 날짜의 00:00(UTC)까지 대기열에 배치됩니다.

1. 주문을 완료하려면 [**모두 주문(Order all)**]을 선택합니다.

   주문 당시 선택한 조건과 비슷하지만 가격이 더 낮은 상품이 있는 경우 AWS는 더 저렴한 상품을 판매합니다.

1. **닫기**를 선택하세요.

   주문 상태가 **상태** 열에 나열됩니다. 주문이 완료되면 **상태** 값이 `Payment-pending`에서 `Active`(으)로 바뀝니다. 예약 인스턴스이(가) `Active`인 경우 사용할 준비가 된 것입니다.

   상태가 `Retired`로 바뀌면 AWS에서 결제를 수신하지 못한 것일 수 있습니다.

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

**전환형 예약 인스턴스를 구매하려면**

1. [describe-reserved-instances-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-offerings.html) 명령을 사용하여 사용 가능한 예약 인스턴스를 찾습니다. 전환형 예약 인스턴스만 반환하도록 `--offering-class` 옵션에 `convertible`을 지정합니다. 추가 기준을 적용하여 결과를 좁힐 수 있습니다. 예를 들어 `Linux/UNIX`에 대해 기본 테넌시가 포함된 리전 단위의 `t2.large` 예약 인스턴스를 구매하려는 경우 다음 명령을 사용합니다.

   ```
   aws ec2 describe-reserved-instances-offerings \
       --instance-type t2.large \
       --offering-class convertible \
       --product-description "Linux/UNIX" \
       --instance-tenancy default \
       --filters Name=scope,Values=Region
   ```

   요구 사항에 맞는 예약 인스턴스를 찾은 경우 상품 ID를 기록합니다. 예:

   ```
   "ReservedInstancesOfferingId": "bec624df-a8cc-4aad-a72f-4f8abc34caf2"
   ```

1. [purchase-reserved-instances-offering](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-reserved-instances-offering.html) 명령을 사용하여 예약 인스턴스를 구매합니다. 이전 단계에서 얻은 예약 인스턴스 상품 ID를 지정하고 예약을 위한 인스턴스 수를 지정해야 합니다.

   ```
   aws ec2 purchase-reserved-instances-offering \
       --reserved-instances-offering-id bec624df-a8cc-4aad-a72f-4f8abc34caf2 \
       --instance-count 1
   ```

   기본적으로 구매는 즉시 완료됩니다. 또는 구매를 대기시키려면 이전 직접 호출에 다음 옵션을 추가합니다.

   ```
   --purchase-time "2020-12-01T00:00:00Z"
   ```

1. [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) 명령을 사용하여 예약 인스턴스의 상태를 가져옵니다.

   ```
   aws ec2 describe-reserved-instances \
       --reserved-instances-ids b847fa93-e282-4f55-b59a-1342fec06327 \
       --query ReservedInstances[].State
   ```

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

**전환형 예약 인스턴스를 구매하려면**

1. [Get-EC2ReservedInstancesOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesOffering.html) cmdlet을 사용하여 사용 가능한 예약 인스턴스를 찾습니다. `convertible` 파라미터에 대해 `-OfferingClass`를 지정하여 전환형 예약 인스턴스만 반환합니다. 추가 기준을 적용하여 결과를 좁힐 수 있습니다. 예를 들어 `Linux/UNIX`에 대해 기본 테넌시가 포함된 리전 단위의 `t2.large` 예약 인스턴스를 구매하려는 경우 다음 명령을 사용합니다.

   ```
   Get-EC2ReservedInstancesOffering `
       -InstanceType "t2.large" `
       -OfferingClass "convertible" `
       -ProductDescription "Linux/UNIX" `
       -InstanceTenancy "default" `
       -Filters @{Name="scope"; Values="Region"
   ```

   요구 사항에 맞는 예약 인스턴스를 찾은 경우 상품 ID를 기록합니다. 예제:

   ```
   bec624df-a8cc-4aad-a72f-4f8abc34caf2
   ```

1. [New-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ReservedInstance.html) cmdlet을 사용하여 예약 인스턴스를 구매합니다. 이전 단계에서 얻은 예약 인스턴스 상품 ID를 지정하고 예약을 위한 인스턴스 수를 지정해야 합니다.

   ```
   New-EC2ReservedInstance `
       -ReservedInstancesOfferingId "bec624df-a8cc-4aad-a72f-4f8abc34caf2" `
       -InstanceCount 1
   ```

   기본적으로 구매는 즉시 완료됩니다. 또는 구매를 대기시키려면 다음 매개 변수를 이전 호출에 추가하세요.

   ```
   -PurchaseTime "2020-12-01T00:00:00Z"
   ```

1. [Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) cmdlet을 사용하여 예약 인스턴스의 상태를 가져옵니다.

   ```
   Get-EC2ReservedInstance `
       -ReservedInstancesId b847fa93-e282-4f55-b59a-1342fec06327 | `
       Select State
   ```

------

## 예약 인스턴스 Marketplace에서 구매
<a name="ri-market-buying-guide"></a>

예약 인스턴스 Marketplace에서 예약 인스턴스를 소유하고 있지만 더 이상 필요로 하지 않는 서드 파티 판매자로부터 예약 인스턴스를 구매할 수 있습니다. Amazon EC2 콘솔 또는 명령줄 도구를 사용하여 이 작업을 수행할 수 있습니다. 이 프로세스는 AWS에서 예약 인스턴스를 구매하는 것과 비슷합니다. 자세한 내용은 [표준형 예약 인스턴스 구매](#ri-buying-standard) 섹션을 참조하세요.

예약 인스턴스 Marketplace에서 구매한 예약 인스턴스와 AWS로부터 직접 구매한 예약 인스턴스 간에는 몇 가지 차이가 있습니다.
+ **기간** - 서드 파티로부터 구매하는 예약 인스턴스는 남은 기간이 표준 약정 기간보다 짧습니다. AWS의 표준 약정 기간은 1년 또는 3년입니다.
+ **선결제 가격** - 서드 파티 예약 인스턴스는 다양한 선결제 가격으로 판매될 수 있습니다. 사용 요금이나 기본 요금은 AWS에서 예약 인스턴스를 처음 구매할 때 설정된 요금과 동일하게 유지됩니다.
+ **예약 인스턴스 유형** - 예약 인스턴스 Marketplace에서는 Amazon EC2 표준형 예약 인스턴스만 구매할 수 있습니다. 전환형 예약 인스턴스, Amazon RDS 및 Amazon ElastiCache 예약 인스턴스는 예약 인스턴스 Marketplace에서 구매할 수 없습니다.

귀하에 대한 기본 정보(우편번호 및 국가 정보 등)는 판매자와 공유됩니다.

이 정보는 판매자가 정부에 납부해야 하는 거래세(판매세, 부가가치세 등)을 계산하는 데 필요하며, 지급 내역서 형태로 제공됩니다. 드문 경우지만 판매자가 거래와 관련하여 문의할 수 있도록(세금 관련 질문 등) AWS에서 판매자에게 구매자의 이메일 주소를 제공할 수 있습니다.

또한 AWS에서 구매자에게 제공하는 구매 인보이스에는 판매자의 법인 이름이 표기됩니다. 세금이나 관련 이유로 인해 판매자에 대한 추가 정보가 필요할 경우 [지원](https://aws.amazon.com/contact-us/)(으)로 문의하세요.

## 대기 중인 구매 취소
<a name="cancel-queued-purchase"></a>

최대 3년 전에 구매를 대기할 수 있습니다. 예약된 시간 전에 언제든지 대기 중인 구매를 취소할 수 있습니다.

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

**대기 중인 구매 취소**

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

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

1. 하나 이상의 예약 인스턴스를 선택합니다.

1. [**작업(Actions)**, [**대기 중인 예약 인스턴스 삭제(Delete queued Reserved Instances)**를 차례로 선택합니다.

1. 확인 메시지가 나타나면 [**삭제(Delete)**], [**닫기(Close)**]를 차례로 클릭합니다.

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

**대기 중인 구매 취소**  
[delete-queued-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-queued-reserved-instances.html) 명령을 사용합니다.

```
aws ec2 delete-queued-reserved-instances \
    --reserved-instances-ids b847fa93-e282-4f55-b59a-1342fec06327
```

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

**대기 중인 구매 취소**  
[Remove-EC2QueuedReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2QueuedReservedInstance.html) cmdlet을 사용합니다.

```
Remove-EC2QueuedReservedInstance `
    -ReservedInstancesId b847fa93-e282-4f55-b59a-1342fec06327
```

------

## 예약 인스턴스 갱신
<a name="renew-ri"></a>

만료되기 전에 예약 인스턴스를 갱신할 수 있습니다. 예약 인스턴스 대기열을 갱신하면 현재 예약 인스턴스가 만료될 때까지 동일한 구성으로 예약 인스턴스를 구매할 수 있습니다.

Amazon EC2 콘솔을 사용하여 예약 인스턴스를 갱신해야 합니다.

**대기 중인 구매를 사용하여 예약 인스턴스 갱신**

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

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

1. 갱신할 예약 인스턴스를 선택합니다.

1. **작업(Actions)**, **예약 인스턴스 갱신(Renew Reserved Instances)**를 선택합니다.

1. 주문을 완료하려면 [**모두 주문(Order all)**]을 선택한 다음 [**닫기(Close)**]를 선택합니다.

# 예약 인스턴스 마켓플레이스에서 Amazon EC2용 예약 인스턴스 판매
<a name="ri-market-general"></a>

Amazon EC2 예약 인스턴스 마켓플레이스는 AWS 고객 및 타사 판매자의 미사용 표준형 예약 인스턴스를 쉽게 판매할 수 있는 플랫폼입니다. 이러한 예약 인스턴스는 기간 및 요금 옵션이 다를 수 있습니다. 인스턴스를 새 AWS 리전으로 이동하거나, 다른 인스턴스 유형으로 변경하거나, 예약 인스턴스 기간이 만료되기 전에 프로젝트를 완료하거나, 비즈니스 요구 사항이 변경되거나, 용량이 초과되는 경우 등 더 이상 필요하지 않은 경우 예약 인스턴스를 판매할 수 있습니다.

예약 인스턴스 Marketplace에 예약 인스턴스를 등록하는 즉시 잠재적 구매자들이 예약 인스턴스를 찾을 수 있습니다. 모든 예약 인스턴스는 남은 약정 기간 및 시간당 요금에 따라 분류됩니다.

예약 인스턴스 마켓플레이스를 통해 타사 판매자의 예약 인스턴스를 구매하려는 구매자의 요청을 이행하기 위해 AWS에서는 지정된 그룹에서 선결제 가격이 가장 낮은 예약 인스턴스를 판매합니다. AWS는 구매자의 주문이 모두 이행될 때까지 그다음 낮은 가격으로 예약 인스턴스를 판매합니다. 그런 다음 AWS는 이 거래를 처리하고 해당 예약 인스턴스의 소유권을 구매자에게 이전합니다.

예약 인스턴스가 판매되기 전까지는 판매자에게 소유권이 있습니다. 판매 후에는 용량 예약과 할인 기본 요금이 구매자에게 양도됩니다. 구매자가 인스턴스를 계속 사용하는 경우 AWS는 해당 예약 인스턴스가 판매된 시점부터 온디맨드 요금을 적용합니다.

예약 인스턴스 Marketplace에서 미사용 예약 인스턴스를 판매하려면 특정 자격 기준을 충족해야 합니다.

예약 인스턴스 Marketplace의 예약 인스턴스 구매에 대한 자세한 내용은 [예약 인스턴스 Marketplace에서 구매](ri-market-concepts-buying.md#ri-market-buying-guide) 섹션을 참조하세요.

**Topics**
+ [규제 및 제한](#ri-seller-limits)
+ [판매자로 등록](#ri-market-seller-profile)
+ [지급금 은행 계좌](#ri-market-concepts-bank)
+ [세금 정보](#ri-market-concepts-taxinfo)
+ [예약 인스턴스 요금 책정](#ri-market-concepts-pricing)
+ [예약 인스턴스 나열](#ri-market-selling-listing)
+ [예약 인스턴스 항목 상태](#ri-listing-states)
+ [항목 기간](#ri-market-concepts-sold-partial)
+ [예약 인스턴스 판매 후 절차](#ri-market-concepts-sold)
+ [판매 대금 정산](#ri-market-sold-gettingpaid)
+ [구매자와의 정보 공유](#ri-market-seller-disclosure)

## 규제 및 제한
<a name="ri-seller-limits"></a>

미사용 예약을 판매하려면 먼저 예약 인스턴스 Marketplace에서 판매자로 등록해야 합니다. 자세한 내용은 [판매자로 등록](#ri-market-seller-profile) 단원을 참조하세요.

예약 인스턴스 판매 시 다음과 같은 제한 및 제약이 적용됩니다.
+ 예약형 인스턴스 Marketplace에서는 Amazon EC2 표준 리전 및 영역 예약형 인스턴스만 판매할 수 있습니다.
+ 예약 인스턴스 마켓플레이스에서는 Amazon EC2 전환형 예약 인스턴스를 판매할 수 없습니다.
+ 다른 AWS 서비스(예: Amazon RDS 및 Amazon ElastiCache)에 대한 예약형 인스턴스는 예약형 인스턴스 Marketplace에서 판매할 수 없습니다.
+ 표준형 예약 인스턴스의 남은 사용 기간이 한 달 이상이어야 합니다.
+ [기본적으로 비활성화](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)된 리전에서는 표준형 예약 인스턴스를 판매할 수 없습니다.
+ 예약 인스턴스 Marketplace에서 허용되는 최소 가격은 0.00 USD입니다.
+ 선결제 없음, 부분 선결제 또는 전체 선결제 예약 인스턴스는 최소 30일 동안 계정에서 활성 상태인 경우 예약 인스턴스 마켓플레이스에서 판매할 수 있습니다. 또한 예약 인스턴스에 선불 지급이 있는 경우 AWS에서 선불 지급을 받은 후에만 예약 인스턴스를 판매할 수 있습니다.
+ 대량 구매 할인을 사용하여 예약 인스턴스를 구매한 경우 예약 인스턴스 마켓플레이스에서 예약 인스턴스를 판매할 수 없습니다.
+ 예약 인스턴스 Marketplace의 리스팅을 직접 수정할 수는 없습니다. 하지만 판매 등록을 취소하고 새 파라미터를 지정한 다음 다시 등록하는 방식으로 변경하는 것은 가능합니다. 자세한 내용은 [예약 인스턴스 요금 책정](#ri-market-concepts-pricing) 단원을 참조하세요. 판매 등록하기 전에 예약 인스턴스를 수정할 수도 있습니다. 자세한 내용은 [예약 인스턴스 수정](ri-modifying.md) 단원을 참조하세요.
+ AWS는 예약 인스턴스 Marketplace에서 판매하는 각 표준형 예약 인스턴스에 대해 총 선결제 가격의 12%를 서비스 수수료로 청구합니다. 선결제 금액은 판매자가 판매 등록한 표준형 예약 인스턴스에 책정한 가격입니다;.
+ 판매자로 등록하는 경우 지정한 은행에 미국 주소가 있어야 합니다. 자세한 내용은 *AWS Marketplace 판매자 가이드*에서 [유료 제품에 대한 추가 판매자 요구 사항](https://docs.aws.amazon.com/marketplace/latest/userguide/user-guide-for-sellers.html#additional-seller-requirements-for-paid-products)을 참조하세요.
+ Amazon Web Services India Private Limited(AWS 인도) 고객은 미국 은행 계좌를 가지고 있더라도 EC2 예약 인스턴스 Marketplace에서 판매자로 등록할 수 없으며 EC2 예약 인스턴스 Marketplace에서 예약 인스턴스를 리스팅 또는 판매할 수 없습니다. 자세한 내용은 [AWS 계정과 AWS India 계정의 차이점은 무엇인가요?](https://repost.aws/knowledge-center/aws-india-differences)를 참조하세요.
+ 레코드 판매자를 Amazon Web Services India Private Limited(AWS 인도)로 변경하면 EC2 예약 인스턴스 Marketplace에서 판매자 등록이 취소되고 EC2 예약 인스턴스 Marketplace의 기존 활성 리스팅이 모두 제거됩니다. 판매자 상태를 복원하려면 계정 위치를 인도 이외의 국가로 변경하고 판매자 등록 프로세스를 다시 완료해야 합니다.

## 판매자로 등록
<a name="ri-market-seller-profile"></a>

**참고**  
AWS 계정 루트 사용자만 계정을 판매자로 등록할 수 있습니다.

예약 인스턴스 Marketplace에서 판매하려면 먼저 판매자로 등록해야 합니다. 등록 과정에서 다음 정보를 제공해야 합니다.
+ **은행 정보** - AWS에서 예약 인스턴스를 판매하는 경우 판매 대금을 지급하기 위해 사용자의 은행 정보가 필요합니다. 이때 미국 소재지가 있는 은행을 선택해야 합니다. 자세한 내용은 [지급금 은행 계좌](#ri-market-concepts-bank) 섹션을 참조하세요.
+ **세금 정보** - 모든 판매자는 세금 신고 의무를 결정하기 위해서 세금 신고서를 작성해야 합니다. 자세한 내용은 [세금 정보](#ri-market-concepts-taxinfo) 섹션을 참조하세요.

AWS에서 판매자 등록에 필요한 과정을 모두 마치면 등록 확인과 함께 예약 인스턴스 Marketplace에서 판매를 시작할 수 있음을 알리는 이메일이 발송됩니다.

## 지급금 은행 계좌
<a name="ri-market-concepts-bank"></a>

AWS에서 예약 인스턴스의 판매 대금을 지불하기 위해서는 사용자의 은행 정보가 필요합니다. 이때 미국 소재지가 있는 은행을 선택해야 합니다. 자세한 내용은 *AWS Marketplace 판매자 가이드*에서 [유료 제품에 대한 추가 판매자 요구 사항](https://docs.aws.amazon.com/marketplace/latest/userguide/user-guide-for-sellers.html#additional-seller-requirements-for-paid-products)을 참조하세요.

**지급금을 받을 기본 은행 계좌를 등록하려면**

1. [[예약 인스턴스 Marketplace 판매자 등록(Reserved Instance Marketplace Seller Registration)](https://us-east-1.console.aws.amazon.com/rimarketplace/home?region=us-east-1)] 페이지를 열고 AWS 자격 증명을 사용하여 로그인합니다.

1. **은행 계좌 관리(Manage Bank Account)** 페이지에서 판매 대금을 지급 받을 은행의 다음 정보를 입력합니다.
   + 은행 계좌 소유자 이름
   + 송금 번호
   + 계좌 번호
   + 은행 계좌 유형
**참고**  
법인 계좌를 사용할 경우 은행 계좌를 팩스(1-206-765-3424)로 보내라는 메시지가 표시됩니다.

등록되면 이 은행 계좌가 기본 계좌로 설정되고 은행 확인은 보류 상태가 됩니다. 새로운 은행 계좌를 확인하려면 최대 2주 정도 걸리며 이 기간 동안에는 입금을 받을 수 없습니다. 검증된 계좌는 대금 입금이 완료되는 데 보통 2일 정도 걸립니다.

**지급금을 받을 기본 은행 계좌를 변경하려면**

1. [[예약 인스턴스 Marketplace 판매자 등록(Reserved Instance Marketplace Seller Registration)](https://us-east-1.console.aws.amazon.com/rimarketplace/home?region=us-east-1)] 페이지에서 등록 시 사용한 계정으로 로그인합니다.

1. **은행 계좌 관리(Manage Bank Account)** 페이지에서 필요에 따라 새로운 은행 계좌를 추가하거나 기본 은행 계좌를 수정합니다.

## 세금 정보
<a name="ri-market-concepts-taxinfo"></a>

예약 인스턴스를 판매할 때 판매세나 부가가치세 등 거래세가 발생할 수 있습니다. 거래세의 적용 여부는 회사 내부의 세금, 법무, 회계 부서 등 관련 부서에 문의하여 확인하세요. 거래에 관련된 세금을 정산하고 관련 부처에 납부할 책임은 사용자게게 있습니다.

판매자 등록 과정에서는 [판매자 등록 포털](https://portal.aws.amazon.com/ec2/ri/seller_registration?action=taxInterview)에서 세금 신고서를 작성해야 합니다. 인터뷰어가 세금 정보를 받아서 세금 신고 의무를 결정하기 위한 IRS form W-9, W-8BEN, 혹은 W-8BEN-E를 추가합니다.

세금 신고서 작성 시 입력하는 세금 정보는 개인인지 아니면 기업인지 혹은 미국 법인인지 아니면 미국 외 법인인지에 따라 다릅니다. 세금 신고서를 작성할 때는 다음을 참고하세요.
+ 이 주제를 비롯해 AWS에서 제공하는 정보는 세금과 법률 그 외 분야에 대한 전문 조언이 아닙니다. IRS 세금 신고 규정이 기업에 미칠 수 있는 영향이나 다른 의문점은 세금, 법률, 기타 분야의 전문가에게 상담하세요.
+ IRS 세금 신고 규정을 가장 효율적으로 준수할 수 있는 방법은 인터뷰에 나오는 모든 질문에 답변하고 요청된 모든 정보를 제공하는 것입니다.
+ 답변을 확인하세요. 오타나 사업자 등록 번호가 잘못 기재되지 않도록 유의해야 합니다. 이에 따라 세금 신고서를 다시 작성해야 할 수 있습니다.

판매자의 세금 인터뷰 답변 및 IRS 보고 임계값에 따라 Amazon은 Form 1099-K를 제출할 수 있습니다. Amazon은 세금 계정이 임계 수준에 도달한 년도의 다음 해 1월 31일까지 Form 1099-K 복사본을 우편으로 보냅니다. 예를 들어 세금 계정이 2018년에 한계에 도달하면 Form 1099-K는 2019년 1월 31일 또는 그 이전에 우편으로 보내집니다.

IRS 세금 신고 규정과 Form 1099-K에 대한 자세한 내용은 IRS 웹 사이트의 [Form 1099-K FAQ](https://www.irs.gov/newsroom/form-1099-k-faqs-third-party-filers-of-form-1099-k) 섹션을 참조하세요.

## 예약 인스턴스 요금 책정
<a name="ri-market-concepts-pricing"></a>

예약 인스턴스 가격을 설정할 때 다음 항목을 고려하세요.
+ **선결제 가격** - 판매자는 판매할 예약 인스턴스에 대한 선결제 가격만 책정할 수 있습니다. 선결제 가격은 구매자가 각 예약 인스턴스를 구매할 때 지불하는 일회성 가격입니다.

  기본적으로 예약 인스턴스의 가격은 시간이 지날수록 떨어지므로 AWS는 매달 일정 금액씩 가격이 내려가도록 가격을 설정할 수 있습니다. 하지만 판매자는 예약 판매 시점을 기준으로 선결제 가격을 다르게 설정할 수 있습니다. 예를 들어 사용 기간이 9개월 남은 예약 인스턴스를 판매하는 경우, 9개월이라는 기간이 남아 있는 동안 이 예약 인스턴스를 구매하는 구매자에게 받을 금액을 설정할 수 있습니다. 남은 기간이 5개월인 시점과 1개월인 시점에서의 판매 가격을 각각 책정할 수 있습니다.

  예약 인스턴스 Marketplace에서 허용되는 최소 가격은 0.00 USD입니다.
+ **한도** - 다음과 같은 예약 인스턴스 판매 한도는 AWS 계정의 *수명*이 다할 때까지 적용됩니다. 연간 한도가 아니므로 늘릴 수 없습니다.
  + **최대 50,000 USD의 예약 인스턴스를 판매할 수 있습니다**.
  + **최대 5,000개의 예약 인스턴스를 판매할 수 있습니다**.
+ **수정 불가** - 판매 등록을 직접 변경할 수 없습니다. 하지만 판매 등록을 취소하고 새 파라미터를 지정한 다음 다시 등록하는 방식으로 변경하는 것은 가능합니다.
+ **취소 가능** - 현재 `active` 상태가 아닌 항목에 한해 언제든지 판매 등록을 취소할 수 있습니다. 구매자의 검색 결과에 일치하는 항목으로 선정되어 이미 판매 처리 중인 항목은 취소할 수 없습니다. 판매 등록을 취소한 시점에서 이 등록에 속하는 일부 예약 인스턴스가 이미 판매 선정되었다면, 선정된 인스턴스를 제외한 인스턴스만 판매 등록이 취소됩니다.

## 예약 인스턴스 나열
<a name="ri-market-selling-listing"></a>

등록된 판매자는 예약 인스턴스를 한 개 이상 판매하기로 선택할 수 있습니다. 한 번의 판매 등록으로 모두 판매하거나 부분적으로 판매하기로 선택할 수 있습니다. 뿐만 아니라 인스턴스 유형, 플랫폼 및 범위의 구성으로 예약 인스턴스를 판매 등록할 수 있습니다.

콘솔에서 제안 가격이 결정됩니다. 콘솔은 예약 인스턴스와 일치하는 제품을 점검하고 해당 제품을 최저 가격과 일치시킵니다. 그렇지 않으면 남은 시간 동안 예약 인스턴스 비용을 기반으로 제안 가격을 계산합니다. 계산된 값이 \$11.01보다 낮은 경우 제안 가격은 \$11.01입니다.

판매 등록을 취소할 때 인스턴스 중 일부가 이미 판매되었다면, 이미 판매된 인스턴스에 대해서는 취소가 적용되지 않습니다. 리스팅의 판매되지 않은 부분만 예약 인스턴스 Marketplace에서 더 이상 사용할 수 없게 됩니다.

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

**예약 인스턴스 Marketplace의 예약 인스턴스 나열**

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

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

1. 판매 등록할 예약 인스턴스를 선택하고 **작업**, **예약 인스턴스 판매**를 선택합니다.

1. **예약 예약 인스턴스 구성** 페이지에서 판매할 인스턴스의 수와, 남은 사용 기간에 대한 선결제 금액을 해당 열에 설정합니다. **남은 개월 수** 열 옆의 화살표를 선택하여 남은 사용 기간에 따라 예약 가격이 어떻게 변경되는지 확인해 보십시오.

1. 절차에 익숙한 고급 사용자가 따로 가격 책정을 원하는 경우, 개월 수에 따라 각각 다른 금액을 설정할 수 있습니다. 일정 금액씩 하락되는 기본 설정으로 돌아가려면 **재설정**을 선택합니다.

1. 판매 등록 구성을 마쳤으면 **계속**을 선택합니다.

1. **예약 예약 인스턴스 확인** 페이지에 표시된 세부 정보를 확인하고 그대로 진행하려면 **예약 인스턴스 리스팅**를 선택합니다.

**Amazon EC2 콘솔에서 리스팅을 보려면**

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

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

1. 판매 등록한 예약 인스턴스를 선택하고 페이지 하단에 있는 **내 항목** 탭을 선택합니다.

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

**Reserved Instance Marketplace에서 예약 인스턴스를 관리하려면**

1. [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) 명령을 사용하여 예약 인스턴스 목록을 가져옵니다. 등록하려는 예약 인스턴스의 ID를 기록해 둡니다.

1. [create-reserved-instances-listing](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-reserved-instances-listing.html) 명령을 사용합니다. 예약 인스턴스의 ID, 인스턴스의 수 및 가격표를 지정해야 합니다.

1. 판매 등록을 보려면 [describe-reserved-instances-listings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-listings.html) 명령을 사용합니다.

1. 리스팅을 취소하려면 [cancel-reserved-instances-listing](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-reserved-instances-listing.html) 명령을 사용합니다.

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

**Reserved Instance Marketplace에서 예약 인스턴스를 관리하려면**

1. [Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) cmdlet을 사용하여 예약 인스턴스 목록을 가져옵니다. 등록하려는 예약 인스턴스의 ID를 기록해 둡니다.

1. [New-EC2ReservedInstancesListing](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ReservedInstancesListing.html) cmdlet을 사용합니다. 예약 인스턴스의 ID, 인스턴스의 수 및 가격표를 지정해야 합니다.

1. 리스팅을 보려면 [Get-EC2ReservedInstancesListing](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesListing.html) cmdlet을 사용합니다.

1. 리스팅을 취소하려면 [Stop-EC2ReservedInstancesListing](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2ReservedInstancesListing.html) cmdlet을 사용합니다.

------

## 예약 인스턴스 항목 상태
<a name="ri-listing-states"></a>

다음과 같이 예약 인스턴스 페이지의 **내 항목** 탭에 있는 **항목 상태**에 판매 등록의 현재 상태가 표시됩니다.

[**리스팅 상태(Listing State)**]에 표시되는 정보는 예약 인스턴스 Marketplace의 리스팅 상태에 대한 것입니다. 이 상태 정보는 **예약 인스턴스** 페이지의 **상태** 열에 표시되는 상태 정보와는 다릅니다. 이 **상태** 정보는 보유한 예약의 상태입니다.
+ **active** - 구매 가능한 항목입니다.
+ **취소됨(canceled)** - 리스팅이 취소되어 예약 인스턴스 Marketplace에서 구매할 수 없습니다.
+ **closed** - 판매 등록되지 않은 예약 인스턴스입니다. 항목 판매가 완료된 예약 인스턴스의 경우에도 상태가 `closed`로 표시됩니다.

## 항목 기간
<a name="ri-market-concepts-sold-partial"></a>

등록된 항목의 모든 인스턴스가 판매 완료된 경우, **내 항목** 탭의 **전체 인스턴스 수(Total instance count)**의 값이 **품절** 항목의 값과 동일합니다. 또한 **사용 가능** 인스턴스가 더 이상 존재하지 않는 것을 확인할 수 있습니다. **상태** 항목은 `closed`로 표시됩니다.

리스팅의 일부만 판매된 경우 AWS는 리스팅에서 해당 예약 인스턴스를 사용 중지하고 예약 인스턴스의 남은 개수와 동일한 수의 예약 인스턴스를 생성합니다. 따라서 판매 등록 ID와 해당 판매 등록은 활성 상태로 유지되지만, 남은 예약 인스턴스 수는 줄어듭니다.

이후 이 등록 항목에서 예약 인스턴스가 판매될 때마다 이같은 절차가 반복됩니다. 리스팅에 있는 모든 예약 인스턴스가 판매된 경우 AWS는 리스팅을 `closed`로 표시합니다.

예를 들어 *예약 인스턴스 listing ID 5ec28771-05ff-4b9b-aa31-9e57dexample* 항목으로 5개의 인스턴스를 판매 등록했다고 가정해 보겠습니다.

이때 콘솔의 **예약 인스턴스** 페이지를 열었을 때 **내 항목** 탭에 다음 정보가 표시됩니다.

*Reserved Instance listing ID 5ec28771-05ff-4b9b-aa31-9e57dexample*
+ 전체 예약 인스턴스 개수 = 5
+ Sold = 0
+ Available = 5
+ Status = active

 구매자가 예약 중 2개를 구입한 경우 이제 판매 가능한 예약의 수는 3개가 됩니다. AWS에서는 이 부분 판매에 따라 인스턴스 개수가 세 개인 새로운 예약을 생성하며, 이 인스턴스 개수는 아직 판매 중인 인스턴스를 의미합니다.

새롭게 변경된 정보는 **내 항목** 탭에 다음과 같이 나타납니다.

*Reserved Instance listing ID 5ec28771-05ff-4b9b-aa31-9e57dexample*
+ 전체 예약 인스턴스 개수 = 5
+ Sold = 2
+ Available = 3
+ Status = active

판매 등록을 취소할 때 인스턴스 중 일부가 이미 판매되었다면, 이미 판매된 인스턴스에 대해서는 취소가 적용되지 않습니다. 리스팅의 판매되지 않은 부분만 예약 인스턴스 Marketplace에서 더 이상 사용할 수 없게 됩니다.

## 예약 인스턴스 판매 후 절차
<a name="ri-market-concepts-sold"></a>

예약 인스턴스가 판매되면 AWS에서 이메일로 이를 알립니다. 어떤 활동이 발생하면 당일에 발생한 모든 활동 내역이 이메일로 발송됩니다. 판매를 등록하거나, 등록 상품을 판매하거나, AWS에서 대금을 송금하는 활동이 포함될 수 있습니다.

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

**예약 인스턴스 리스팅의 상태를 추적하려면**

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

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

1. **내 리스팅** 탭에서 **리스팅 상태**의 값을 찾습니다. 또한 이 탭에서 리스팅 기간, 리스팅 가격, 리스팅에서 Available(판매 가능), Pending(보류), Sold(판매), Cancelled(취소) 상태의 인스턴스 개수 정보도 제공됩니다.

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

**예약 인스턴스 리스팅의 상태를 추적하려면**  
[describe-reserved-instances-listings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-listings.html) 명령을 적절한 필터와 함께 사용하여 리스팅에 대한 정보를 얻습니다.

```
aws ec2 describe-reserved-instances-listings
```

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

**예약 인스턴스 리스팅의 상태를 추적하려면**  
[Get-EC2ReservedInstancesListing](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesListing.html) cmdlet을 사용합니다.

```
Get-EC2ReservedInstancesListing
```

------

## 판매 대금 정산
<a name="ri-market-sold-gettingpaid"></a>

AWS는 구매자가 결제를 완료하자마자 판매된 해당 예약 인스턴스의 소유자로 등록된 계정 이메일 주소로 메시지를 보내 이를 알립니다.

AWS는 ACH(자동 결제) 시스템을 통해 지정된 은행 계좌로 송금합니다. 일반적인 송금 시기는 예약 인스턴스가 판매된 후 1일에서 3일 사이입니다. 지불은 매일 한 번 실시됩니다. 대금이 지급된 후 지급금 보고서가 포함된 이메일이 전송됩니다. AWS에서 은행으로부터 계좌를 확인받기 전에는 대금이 지불되지 않으므로 이 점에 유의하세요. 이 절차는 최대 2주가 소요됩니다.

사용자가 판매한 예약 인스턴스는 사용자가 예약 인스턴스를 설명할 때 계속 표시됩니다.

예약 인스턴스를 판매한 대금은 현금으로 지급되며 판매자 명의의 은행 계좌로 직접 송금됩니다. AWS는 예약 인스턴스 Marketplace에서 판매하는 각 표준형 예약 인스턴스에 대해 총 선결제 금액의 12%를 서비스 수수료로 청구합니다.

## 구매자와의 정보 공유
<a name="ri-market-seller-disclosure"></a>

예약 인스턴스 Marketplace에서 판매할 경우 AWS는 미국 규정에 따라 구매자 명세서에 판매자의 상호명을 기재하여 제공합니다. 또한 구매자가 인보이스 또는 다른 세금 관련 이유에 대해 문의하기 위해 지원에 요청한 경우, AWS에서 구매자가 직접 연락을 취할 수 있도록 판매자의 이메일 주소를 제공해야 할 수 있습니다.

이와 비슷한 이유로 판매자의 지불 내역서에는 구매자의 지역번호(우편번호)와 국가 정보가 제공됩니다. 이 정보는 판매자 측에서 거래에 따라 정부에 납부해야 하는 세금(예: 매출세, 부가가치세)이 발생하는 경우, 이런 세금을 정산하는 데 필요합니다.

AWS에서는 세금에 대해 조언하지 않습니다. 단, 회사의 세금 전문 담당자가 특정 정보를 추가로 요청한 경우에는 [지원에 문의](https://aws.amazon.com/contact-us/)하세요.

# 예약 인스턴스 수정
<a name="ri-modifying"></a>

변화가 생긴 경우 표준 또는 전환형 예약 인스턴스를 변경함으로써 요금 혜택에 따른 이점을 계속 유지할 수 있습니다. 가용 영역, 인스턴스 크기(동일한 인스턴스 패밀리 및 세대 내) 및 예약 인스턴스의 범위와 같은 속성을 수정할 수 있습니다.

**참고**  
전환형 예약 인스턴스를 구성이 다른 전환형 예약 인스턴스와 교환할 수도 있습니다. 자세한 내용은 [전환형 예약 인스턴스 교환](ri-convertible-exchange.md) 섹션을 참조하세요.

예약 인스턴스의 전부 또는 하위 집합을 수정할 수 있습니다. 원래 예약 인스턴스를 둘 이상의 새 예약 인스턴스로 분리할 수 있습니다. 예를 들어, `us-east-1a`에서 10개의 예약을 보유하고 있으며 5개의 인스턴스를 `us-east-1b`로 옮기는 경우, 수정 요청에 따라 `us-east-1a`의 인스턴스 5개에 대한 예약 하나와 `us-east-1b`의 인스턴스 5개에 대한 다른 예약 하나 등 새로운 예약 두 개가 생성됩니다.

둘 이상의 예약 인스턴스를 단일 예약 인스턴스로 *병합*할 수도 있습니다. 예를 들어 인스턴스 하나에 대해 각각 `t2.small` 예약 인스턴스 4개가 있는 경우 이를 병합하여 `t2.large` 예약 인스턴스 하나를 생성할 수 있습니다. 자세한 내용은 [인스턴스 크기 수정을 위한 지원](#ri-modification-instancemove) 섹션을 참조하세요.

수정 후 예약 인스턴스의 혜택은 새로운 파라미터와 일치하는 인스턴스에만 적용됩니다. 예를 들어, 예약의 가용 영역을 변경할 경우 용량 예약 및 요금 혜택이 새로운 가용 영역의 인스턴스 사용에 자동으로 적용됩니다. 새 파라미터와 일치하지 않는 인스턴스는 계정의 다른 예약 내역 할인이 적용되지 않는 한 온디맨드 요금이 부과됩니다.

변경 요청이 성공한 경우:
+ 변경된 예약이 즉시 적용되고 변경 요청 시점을 기준으로 새 인스턴스에 요금 혜택이 적용됩니다. 예를 들어, 예약 변경이 성공적으로 완료된 시간이 오후 9시 15분이라면, 요금 혜택은 오후 9시부터 새 인스턴스에 적용됩니다. 변경된 예약 인스턴스의 유효 날짜는 [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) 명령을 사용하여 확인할 수 있습니다.
+ 본래 예약이 종료됩니다. 이 예약의 종료일은 새로운 예약의 시작일이 되며, 새 예약의 종료일은 본래 예약 인스턴스의 종료일과 동일합니다;. 3년 약정 예약 중 16개월 남은 시점에서 변경했다면, 변경된 예약은 16개월 동안 사용이 가능하며 본래 예약의 종료일과 같은 날짜에 사용 기간이 만료됩니다.
+ 변경된 예약의 고정 가격은 본래 예약의 고정 가격이 아닌 \$10로 표시됩니다.
+ 변경된 예약의 고정 가격은 계정에 적용되는 할인 요금 티어에는 영향을 주지 않습니다. 할인 요금 티어는 본래 예약의 고정 가격을 기준으로 하기 때문입니다.

수정 요청이 실패할 경우 예약 인스턴스는 원래의 구성을 유지하며 다른 수정 요청이 즉시 가능합니다.

수정 비용이 없기 때문에 새로운 청구서나 인보이스를 수신하지 않습니다.

원하는 만큼 예약을 수정할 수 있지만 제출한 후에는 보류 중인 수정 요청을 변경하거나 취소할 수 없습니다. 수정이 성공적으로 처리된 후에는 필요한 경우 변경 전 상태로 되돌리기 위해 또 다른 변경 요청을 제출할 수 있습니다.

**Topics**
+ [수정 요건 및 제한 사항](#ri-modification-limits)
+ [인스턴스 크기 수정을 위한 지원](#ri-modification-instancemove)
+ [수정 요청 제출](#ri-modification-process)
+ [수정 요청 문제 해결](#ri-modification-process-messages)

## 수정 요건 및 제한 사항
<a name="ri-modification-limits"></a>

이러한 속성을 다음과 같이 수정할 수 있습니다.


| 수정 가능한 속성 | 지원하는 플랫폼 | 제한 사항 및 고려 사항 | 
| --- | --- | --- | 
|  같은 리전 내에서 **가용 영역** 변경  |  Linux 및 Windows  | - | 
|  가용 영역에서 리전으로 **범위** 변경(반대 방향도 마찬가지)  |  Linux 및 Windows  |  영역 예약 인스턴스는 가용 영역으로 범위가 지정되고 해당 가용 영역의 용량을 예약합니다. 범위를 가용 영역에서 리전으로(즉, 영역에서 리전으로) 변경할 경우 용량 예약 혜택을 받을 수 없습니다. 리전 예약 인스턴스는 리전으로 범위가 지정됩니다. 해당 리전의 모든 가용 영역에서 실행되는 인스턴스에 예약 인스턴스 할인이 적용될 수 있습니다. 또한 예약 인스턴스 할인은 선택한 인스턴스 패밀리에 속하는 모든 크기의 인스턴스 사용량에 적용됩니다. 범위를 리전에서 가용 영역으로(즉, 리전에서 영역으로) 변경하면 가용 영역 유연성과 인스턴스 크기 유연성이 사라집니다(있는 경우). 자세한 내용은 [예약 인스턴스 할인 적용 방식](apply_ri.md) 섹션을 참조하세요. | 
|  동일한 인스턴스 패밀리와 세대 내에서 **인스턴스 크기**를 변경합니다.  |  Linux/UNIX 전용 SQL Server Standard가 설치된 Linux, SQL Server Web이 설치된 Linux, SQL Server Enterprise가 설치된 Linux, Red Hat Enterprise Linux, SUSE Linux, Windows, SQL Standard가 설치된 Windows, SQL Server Enterprise가 설치된 Windows, SQL Server Web이 설치된 Windows를 비롯한 다른 플랫폼에서는 예약 인스턴스에 인스턴스 크기 유연성이 제공되지 않습니다.  |  예약은 기본 테넌시를 사용해야 합니다. 사용 가능한 다른 크기가 없으므로 일부 인스턴스 패밀리는 지원되지 않습니다. 자세한 내용은 [인스턴스 크기 수정을 위한 지원](#ri-modification-instancemove) 섹션을 참조하세요.  | 

**요구 사항**

Amazon EC2에서는 새 구성에 사용할 수 있는 용량이 충분히 남아 있고(해당되는 경우) 다음 조건을 충족하는 경우 수정 요청을 처리합니다.
+ 구입 전이나 구입 당시에는 예약 인스턴스를 수정할 수 없습니다.
+ 예약 인스턴스는 활성 상태여야 합니다.
+ 보류 중인 수정 요청이 있을 수 없습니다.
+ 예약 인스턴스가 예약 인스턴스 Marketplace에 나열되지 않았습니다.
+ 원래 예약과 새 구성의 인스턴스 공간 크기는 일치해야 합니다. 자세한 내용은 [인스턴스 크기 수정을 위한 지원](#ri-modification-instancemove) 섹션을 참조하세요.
+ 원래 예약 인스턴스는 유형 혼합 없이 모두 표준형 예약 인스턴스이거나 모두 전환형 예약 인스턴스입니다.
+ 원래 예약 인스턴스가 표준형 예약 인스턴스인 경우 동일한 시간 내에 만료되어야 합니다.
+ 인스턴스 크기를 수정하려는 경우 예약 인스턴스는 인스턴스 크기 유연성을 지원해야 합니다. 인스턴스 크기 유연성을 지원하지 않는 예약 인스턴스 목록은 [인스턴스 크기 유연성](apply_ri.md#ri-instance-size-flexibility)의 내용을 참조하세요.

## 인스턴스 크기 수정을 위한 지원
<a name="ri-modification-instancemove"></a>

다음 요구 사항이 충족되는 경우 예약 인스턴스의 인스턴스 크기를 수정할 수 있습니다.

**요구 사항**
+ 플랫폼은 Linux/UNIX입니다.
+ 동일한 [인스턴스 패밀리](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html)(예: T 등의 문자로 표시됨)와 [세대](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html)(예: 2 등의 숫자로 표시됨)의 다른 인스턴스 크기를 선택해야 합니다.

  예를 들어, 예약 인스턴스를 `t2.small`에서 `t2.large`로 수정할 수 있습니다. 둘 다 동일한 T2 제품군 및 세대에 있기 때문입니다. 그러나 T2에서 M2로 또는 T2에서 T3으로 예약 인스턴스를 수정할 수 없습니다. 이 두 가지 경우 모두 대상 인스턴스 패밀리와 세대가 원래 예약 인스턴스와 동일하지 않기 때문입니다.
+ 인스턴스 크기 유연성을 지원하는 경우에만 예약 인스턴스 크기를 수정할 수 있습니다. 인스턴스 크기 유연성을 지원하지 않는 예약 인스턴스 목록은 [인스턴스 크기 유연성](apply_ri.md#ri-instance-size-flexibility)의 내용을 참조하세요.
+ `t1.micro`의 크기는 하나뿐이므로 `t1.micro` 인스턴스에 대한 예약 인스턴스의 인스턴스 크기를 수정할 수 없습니다.
+ 원본 및 새 예약 인스턴스는 인스턴스 공간 크기가 같아야 합니다.

**Topics**
+ [인스턴스 공간 크기](#ri-modification-instance-size-footprint)
+ [베어 메탈 인스턴스에 대한 정규화 인자](#ri-normalization-factor-bare-metal-2)

### 인스턴스 공간 크기
<a name="ri-modification-instance-size-footprint"></a>

각 예약 인스턴스에는 *인스턴스 공간 크기*가 있으며, 이 공간 크기는 인스턴스 크기의 정규화 인자와 예약된 인스턴스 개수에 따라 결정됩니다. 예약 인스턴스에서 인스턴스 크기를 수정하면 새 구성의 공간이 원래 구성의 공간과 일치해야 합니다. 그렇지 않으면 수정 요청이 처리되지 않습니다.

예약 인스턴스의 인스턴스 공간 크기는 정규화 인자에 인스턴스 수를 곱하여 산출합니다. Amazon EC2 콘솔에서 정규화 인자는 유닛으로 측정됩니다. 다음 표에서는 인스턴스 패밀리의 인스턴스 크기에 대한 정규화 인자를 설명합니다. 예를 들어 `t2.medium`은 정규화 인자 2를 가지므로, `t2.medium` 인스턴스 4개 예약의 공간은 8유닛입니다.


| 인스턴스 크기 | 정규화 인자 | 
| --- | --- | 
| nano | 0.25 | 
| micro | 0.5 | 
| small | 1 | 
| medium | 2 | 
| large | 4 | 
| xlarge | 8 | 
| 2xlarge | 16 | 
| 3xlarge | 24 | 
| 4xlarge | 32 | 
| 6xlarge | 48 | 
| 8xlarge | 64 | 
| 9xlarge | 72 | 
| 10xlarge | 80 | 
| 12xlarge | 96 | 
| 16xlarge | 128 | 
| 18xlarge | 144 | 
| 24xlarge | 192 | 
| 32xlarge | 256 | 
| 48xlarge | 384 | 
| 56xlarge | 448 | 
| 112xlarge | 896 | 

예약은 예약의 인스턴스 공간 크기가 변동되지 않는 선에서 동일한 인스턴스 패밀리 내의 다른 인스턴스 크기로 다양하게 할당할 수 있습니다. 예를 들어 `t2.large`(1 @ 4유닛) 인스턴스 1개에 대한 예약을 `t2.small`(4 @ 1유닛) 인스턴스 4개로 나눌 수 있습니다. 마찬가지로 `t2.small` 인스턴스 4개에 대한 예약을 `t2.large` 인스턴스 1개로 결합할 수 있습니다. 그러나 새 예약(4유닛)의 공간이 원래 예약(2유닛)의 공간보다 크기 때문에 `t2.small` 인스턴스 2개에 대한 예약을 `t2.large` 인스턴스 1개로 변경할 수 없습니다.

다음 예에서는 `t2.micro` 인스턴스(1유닛) 2개가 포함된 예약과 `t2.small` 인스턴스(1유닛) 1개가 포함된 예약이 있습니다. 이 두 예약을 `t2.medium` 인스턴스(2유닛) 1개가 포함된 단일 예약에 병합하면 새 예약의 공간이 결합된 예약의 공간과 같습니다.

![\[예약 인스턴스를 수정합니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/ri-modify-merge.png)


둘 이상의 예약으로 나누도록 예약을 수정할 수도 있습니다. 다음 예에는 `t2.medium` 인스턴스(2유닛)가 포함된 예약이 있습니다. 이 예약을 `t2.nano` 인스턴스(.5유닛) 2개가 포함된 예약과 `t2.micro` 인스턴스(1.5유닛) 3개가 포함된 예약으로 나눌 수 있습니다.

![\[예약 인스턴스를 수정합니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/ri-modify-divide.png)


### 베어 메탈 인스턴스에 대한 정규화 인자
<a name="ri-normalization-factor-bare-metal-2"></a>

동일한 인스턴스 패밀리 내의 다른 크기를 사용하여 `metal` 인스턴스가 포함된 예약을 수정할 수 있습니다. 마찬가지로 동일한 인스턴스 패밀리 내의 `metal` 크기를 사용하여 베어 메탈 인스턴스가 아닌 인스턴스가 포함된 예약을 수정할 수 있습니다. 일반적으로 베어 메탈 인스턴스는 동일한 인스턴스 패밀리 내에서 사용 가능한 최대 인스턴스 크기와 크기가 같습니다. 예를 들어 `i3.metal` 인스턴스는 `i3.16xlarge` 인스턴스와 크기가 동일하므로 정규화 인자도 동일합니다.

다음 표에서는 베어 메탈 인스턴스가 있는 인스턴스 패밀리의 베어 메탈 인스턴스 크기에 대한 정규화 인자를 설명합니다. `metal` 인스턴스의 정규화 인자는 다른 인스턴스 크기와 달리 인스턴스 패밀리에 따라 다릅니다.


| 인스턴스 크기 | 정규화 인자 | 
| --- | --- | 
| a1.metal | 32 | 
|  m5zn.metal \$1 x2iezn.metal z1d.metal  | 96 | 
|  c6g.metal \$1 c6gd.metal \$1 i3.metal \$1 m6g.metal \$1 m6gd.metal \$1 r6g.metal \$1 r6gd.metal \$1 x2gd.metal  | 128 | 
| c5n.metal | 144 | 
|  c5.metal \$1 c5d.metal \$1 i3en.metal \$1 m5.metal \$1 m5d.metal \$1 m5dn.metal \$1 m5n.metal \$1 r5.metal \$1 r5b.metal \$1 r5d.metal \$1 r5dn.metal \$1 r5n.metal  | 192 | 
|  c6i.metal \$1 c6id.metal \$1 m6i.metal \$1 m6id.metal \$1 r6d.metal \$1 r6id.metal  | 256 | 
|  u-18tb1.metal \$1 u-24tb1.metal  | 448 | 
|  u-6tb1.metal \$1 u-9tb1.metal \$1 u-12tb1.metal  | 896 | 

예를 들어 `i3.metal` 인스턴스의 정규화 인자는 128입니다. `i3.metal` 기본 테넌시 Amazon Linux/Unix 예약 인스턴스를 구입하면 다음과 같이 예약을 나눌 수 있습니다.
+ `i3.16xlarge`의 크기와 `i3.metal` 인스턴스의 크기가 동일하므로 해당 정규화 인자가 128(128/1)입니다. 한 개의 `i3.metal` 인스턴스에 대한 예약이 한 개의 `i3.16xlarge` 인스턴스로 수정될 수 있습니다.
+ `i3.8xlarge`의 크기가 `i3.metal` 인스턴스 크기의 반이므로 해당 정규화 인자가 64(128/2)입니다. 한 개의 `i3.metal` 인스턴스에 대한 예약이 두 개의 `i3.8xlarge` 인스턴스로 나뉠 수 있습니다.
+ `i3.4xlarge`의 크기가 `i3.metal` 인스턴스 크기의 1/4이므로 해당 정규화 인자가 32(128/4)입니다. 한 개의 `i3.metal` 인스턴스에 대한 예약이 4개의 `i3.4xlarge` 인스턴스로 나뉠 수 있습니다.

## 수정 요청 제출
<a name="ri-modification-process"></a>

예약 인스턴스를 수정하기 전에 해당하는 [제한 사항](#ri-modification-limits)을 읽어야 합니다. 인스턴스 크기를 수정하기 전에 수정하려는 원래 예약의 총 [인스턴스 크기 범위](#ri-modification-instancemove)를 계산하고 새 구성의 총 인스턴스 크기 범위와 일치하는지 확인하세요.

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

**예약 인스턴스를 수정하려면**

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

1. **예약 인스턴스** 페이지에서 수정할 예약 인스턴스를 하나 이상 선택하고 **작업**, **예약 인스턴스 수정**을 선택합니다.

   예약 인스턴스가 활성 상태가 아니거나 수정이 불가능한 경우 **예약 인스턴스 수정**이 비활성화됩니다.

1. 수정 표의 첫 항목은 선택한 예약 인스턴스의 속성을 표시하고 그 아래에는 하나 이상의 대상 구성을 표시합니다. **단위** 열에는 총 인스턴스 공간 크기가 표시됩니다. 추가할 새 구성 각각에 대해 **추가**를 선택합니다. 각 구성에 대해 필요에 따라 속성을 수정합니다.
   + **범위**: 구성이 가용 영역에 적용되는지 아니면 전체 리전에 적용되는지 선택합니다.
   + **가용 영역**: 필요한 가용 영역을 선택합니다. 리전 단위의 예약 인스턴스에는 적용되지 않습니다.
   + **인스턴스 유형**: 필요한 인스턴스 유형을 선택합니다. 결합된 구성이 원래 구성의 인스턴스 공간 크기와 같아야 합니다.
   + **개수**: 인스턴스 수를 지정합니다. 예약 인스턴스를 여러 구성으로 분할하려면 개수를 줄이고 **추가**를 선택한 후 추가 구성의 개수를 지정합니다. 예를 들어 개수가 10인 단일 구성이 있으면 개수를 6으로 변경하고 개수가 4인 구성을 추가할 수 있습니다. 이 프로세스에서는 새 예약 인스턴스가 활성화되면 원래의 예약 인스턴스를 중지합니다.

1. [**Continue**]를 선택합니다.

1. 대상 구성 지정을 마칠 때 수정 선택 사항을 확정하려면 [**수정 사항 제출(Submit modifications)**]을 선택합니다.

1. 예약 인스턴스 화면의 **상태** 열을 확인하여 수정 요청의 상태를 알 수 있습니다. 가능한 상태 표시는 다음과 같습니다.
   + **active*(수정 보류 중)*** - 기존 예약 인스턴스의 전환 상태
   + **retired*(수정 보류 중)*** - 새 예약 인스턴스가 생성되는 동안 기존 예약 인스턴스의 전환 상태
   + **retired** - 예약 인스턴스가 수정되어 교체되었습니다.
   + **active** - 다음 중 하나입니다.
     + 수정 요청이 성공한 경우 생성된 새 예약 인스턴스의 상태입니다.
     + 수정 요청이 실패한 후 원래 예약 인스턴스의 상태입니다.

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

**예약 인스턴스를 수정하려면**  
[modify-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-reserved-instances.html) 명령을 사용합니다. JSON 파일에 구성 세부 정보를 제공할 수 있습니다.

```
aws ec2 modify-reserved-instances \
    --reserved-instances-ids b847fa93-e282-4f55-b59a-1342f5bd7c02 \
    --target-configurations file://configuration.json
```

**수정 요청의 상태를 가져오려면**  
[describe-reserved-instances-modifications](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-modifications.html) 명령을 사용합니다. 상태는 `processing`, `fulfilled` 또는 `failed`입니다.

```
aws ec2 describe-reserved-instances-modifications \
    --reserved-instances-modification-ids rimod-d3ed4335-b1d3-4de6-ab31-0f13aaf46687 \
    --query ReservedInstancesModifications[].Status
```

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

**예약 인스턴스를 수정하려면**  
[Edit-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ReservedInstance.html) cmdlet을 사용합니다. `Amazon.EC2.Model.ReservedInstancesConfiguration` 유형의 객체에 구성 세부 정보를 제공할 수 있습니다.

```
Edit-EC2ReservedInstance `
    -ReservedInstancesId b847fa93-e282-4f55-b59a-1342f5bd7c02 `
    -TargetConfiguration $configuration
```

**수정 요청의 상태를 가져오려면**  
[Get-EC2ReservedInstancesModification](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesModification.html) cmdlet을 사용합니다. 상태는 `processing`, `fulfilled` 또는 `failed`입니다.

```
Get-EC2ReservedInstancesModification `
    -ReservedInstancesModificationId rimod-d3ed4335-b1d3-4de6-ab31-0f13aaf46687 | `
    Select Status
```

------

## 수정 요청 문제 해결
<a name="ri-modification-process-messages"></a>

요청한 변경 항목이 중복되지 않는 고유한 설정이라면 요청을 처리 중이라는 메시지가 표시됩니다. 이 시점에서는 Amazon EC2에서 변경 요청의 파라미터가 유효함을 확인만 한 상태입니다. 처리 과정에서 용량이 부족해 변경 요청이 실패할 가능성은 여전히 존재합니다.

일부의 경우, 확인 메시지 대신 완료 실패나 변경 실패 메시지가 표시될 수 있습니다. 메시지에 표시된 정보는 변경 요청을 다시 신청하는 데 참고 기준으로 사용하면 도움이 됩니다. 요청을 제출하기 전에 해당하는 [제한 사항](#ri-modification-limits)을 읽어 보십시오.

**선택한 예약 인스턴스 모두를 변경할 수 있도록 처리할 수 있는 것은 아닙니다.**  
Amazon EC2에서는 변경할 수 없는 예약 인스턴스를 식별하여 표시합니다. 이 메시지가 표시되었다면 Amazon EC2 콘솔의 **예약 인스턴스** 페이지로 이동하여 예약 인스턴스에 대한 정보를 확인하세요.

**변경 요청을 처리하는 동안 오류가 발생했습니다**  
하나 이상의 예약 인스턴스의 변경을 요청한 후 이 중 어떤 요청도 처리할 수 없을 때 표시되는 메시지입니다. 변경을 시도한 예약의 개수에 따라 다른 버전의 메시지가 표시될 수 있습니다.

Amazon EC2에서 요청을 처리할 수 없는 이유를 표시합니다. 예를 들어 수정하려는 예약 인스턴스의 하위 집합 중 하나 이상에 대해 동일한 대상 구성(가용 영역과 플랫폼 조합)을 지정했을 수 있습니다. 예약의 인스턴스 세부 정보가 일치하는지와 예약의 모든 하위 그룹에 대해 요청한 변경 사항이 서로 겹치지 않는지를 확인한 다음, 변경 요청을 다시 시도해 봅니다.

# 전환형 예약 인스턴스 교환
<a name="ri-convertible-exchange"></a>

한 개 이상의 전환형 예약 인스턴스를 인스턴스 패밀리와 운영 체제, 테넌트를 비롯하여 구성이 다른 전환형 예약 인스턴스와 교환할 수 있습니다. 교환 횟수에 제한은 없습니다. 단, 새 전환형 예약 인스턴스가 교환 중인 원래 전환형 예약 인스턴스보다 가치가 높거나 같아야 합니다.

전환형 예약 인스턴스를 교환하면 현재 예약에 대한 인스턴스의 수가 새 전환형 예약 인스턴스의 구성 값보다 크거나 같은 여러 인스턴스로 교환됩니다. Amazon EC2는 교환 결과로 받을 수 있는 예약 인스턴스의 수를 계산합니다.

표준형 예약 인스턴스는 교환할 수 없지만 수정할 수는 있습니다. 자세한 정보는 [예약 인스턴스 수정](ri-modifying.md)을 참조하세요.

**Topics**
+ [전환형 예약 인스턴스 교환 요건](#riconvertible-exchange-limits)
+ [전환형 예약 인스턴스 교환 계산](#riconvertible-exchange-cost)
+ [전환형 예약 인스턴스 병합](#ri-merge-convertible)
+ [전환형 예약 인스턴스의 일부 교환](#ri-split-convertible)
+ [교환 요청 제출](#ri-exchange-process)

## 전환형 예약 인스턴스 교환 요건
<a name="riconvertible-exchange-limits"></a>

Amazon EC2에서는 다음 조건이 충족될 경우 교환 요청을 처리합니다. 전환형 예약 인스턴스가 다음 조건을 충족해야 합니다.
+ 활성 상태
+ 이전 교환 요청이 보류 중이지 않음
+ 만료되기 전까지 24시간 이상이 남아있어야 합니다.

다음 규칙이 적용됩니다.
+ 전환형 예약 인스턴스는 현재 AWS에서 제공하는 다른 전환형 예약 인스턴스로 교환할 수 있습니다.
+ 전환형 예약 인스턴스는 예약 기간 동안 고정된 특정 리전과 연결됩니다. 전환형 예약 인스턴스를 다른 리전의 전환형 예약 인스턴스로 교환할 수 없습니다.
+ 영역 전환형 예약 인스턴스를 교환하려면 AWS에서 리전의 새 인스턴스 유형에 대한 충분한 용량을 보유해야 합니다.
+ 한 번에 전환형 예약 인스턴스 하나만 한 개 이상의 전환형 예약 인스턴스로 교환할 수 있습니다.
+ 전환형 예약 인스턴스의 일부분을 교환하려면 둘 이상의 예약으로 수정한 다음 예약의 한 개 이상을 새 전환형 예약 인스턴스로 교환하면 됩니다. 자세한 내용은 [전환형 예약 인스턴스의 일부 교환](#ri-split-convertible) 섹션을 참조하세요. 예약 인스턴스 변경에 대한 자세한 내용은 [예약 인스턴스 수정](ri-modifying.md) 섹션을 참조하세요.
+ 전체 선결제 전환형 예약 인스턴스를 부분 선결제 전환형 예약 인스턴스로 교환할 수 있으며 그 반대로도 교환할 수 있습니다.
**참고**  
교환에 필요한 총 선불 지급액(트루업 요금)이 0.00 USD 미만인 경우 AWS는 트루업 요금이 0.00 USD 이상이 되도록 전환형 예약 인스턴스에 인스턴스 수량을 자동으로 제공합니다.
**참고**  
새로운 전환형 예약 인스턴스의 총 금액(선결제 금액 \$1 시간당 요금 \$1 남은 시간 수)이 교환한 전환형 예약 인스턴스의 총 금액보다 낮은 경우 AWS는 총 금액이 교환한 전환형 예약 인스턴스의 금액과 같거나 그 이상이 되도록 전환형 예약 인스턴스에 인스턴스 수량을 자동으로 제공합니다.
+ 요금 혜택을 더 받기 위해 선결제 없음 전환형 예약 인스턴스를 전체 선결제 또는 부분 선결제 전환형 예약 인스턴스와 교환할 수 있습니다.
+ 전체 선결제 또는 부분 선결제 전환형 예약 인스턴스를 선결제 없음 전환형 예약 인스턴스로 교환할 수는 없습니다.
+ 새로운 전환형 예약 인스턴스의 시간당 가격이 교환한 전환형 예약 인스턴스의 시간당 가격과 같거나 그 이상인 경우에만 선결제 없음 전환형 예약 인스턴스를 다른 선결제 없음 전환형 예약 인스턴스와 교환할 수 있습니다.
**참고**  
새로운 전환형 예약 인스턴스의 총 금액(시간당 요금 \$1 남은 시간 수)이 교환한 전환형 예약 인스턴스의 총 금액보다 낮은 경우 AWS는 총 금액이 교환한 전환형 예약 인스턴스의 금액과 같거나 그 이상이 되도록 전환형 예약 인스턴스에 인스턴스 수량을 자동으로 제공합니다.
+ 만료 날짜가 서로 다른 여러 전환형 예약 인스턴스를 교환하는 경우 새 전환형 예약 인스턴스의 만료 날짜는 더 나중에 오는 날짜입니다.
+ 단일 전환형 예약 인스턴스를 교환하는 경우 새 전환형 예약 인스턴스와 기간이 동일해야 합니다(1년 또는 3년). 기간 길이가 다른 여러 전환형 예약 인스턴스를 병합하는 경우 새 전환형 예약 인스턴스의 기간은 3년입니다. 자세한 내용은 [전환형 예약 인스턴스 병합](#ri-merge-convertible) 섹션을 참조하세요.
+ Amazon EC2에서는 전환형 예약 인스턴스를 교환할 때 연결된 예약을 사용용 중지하고 종료 날짜를 새 예약에 전송합니다. 교환 후 Amazon EC2에서는 이전 예약의 종료 날짜와 새 예약의 시작 날짜를 모두 교환 날짜와 동일하게 설정합니다. 예를 들어, 기간이 16개월 남은 3년 예약을 교환하는 경우 새 예약은 교환한 전환형 예약 인스턴스의 예약과 종료 날짜가 동일한 16개월 예약입니다.

## 전환형 예약 인스턴스 교환 계산
<a name="riconvertible-exchange-cost"></a>

전환형 예약 인스턴스 교환은 무료입니다. 하지만 트루업(true-up) 비용을 지불해야 할 수 있습니다. 이 비용은 소유했던 전환형 예약 인스턴스와 교환을 통해 받는 새 전환형 예약 인스턴스 간의 차이를 비례 할당으로 계산한 선결제 비용입니다.

각 전환형 예약 인스턴스에는 정가가 있습니다. 교환의 결과로 받을 수 있는 인스턴스 예약의 수를 결정하기 위해 이 정가를, 원하는 전환형 예약 인스턴스의 정가와 비교합니다.

정가가 \$135인 전환형 예약 인스턴스 1개를 정가가 \$110인 새 인스턴스 유형과 교환하려는 경우를 예로 들어 보겠습니다.

```
$35/$10 = 3.5
```

전환형 예약 인스턴스를 10 USD 전환형 예약 인스턴스 세 개와 교환할 수는 없습니다. 절반의 동일 시작 인스턴스를 구입할 수는 없으므로 전환형 예약 인스턴스를 추가로 구입하여 나머지를 채워야 합니다.

```
3.5 = 3 whole Convertible Reserved Instances + 1 additional Convertible Reserved Instance
```

4번째 전환형 예약 인스턴스는 다른 3개와 종료 날짜가 동일합니다. 부분 선결제 또는 전체 선결제 전환형 예약 인스턴스를 교환할 경우 4번째 동일 시작 인스턴스에 대해 트루업 비용을 지불하게 됩니다. 전환형 예약 인스턴스의 나머지 선결제 비용이 500 USD이고 새 예약이 비례 할당 계산 기준으로 600 USD일 경우 100 USD가 청구됩니다.

```
$600 prorated upfront cost of new reservations - $500 remaining upfront cost of old reservations = $100 difference
```

## 전환형 예약 인스턴스 병합
<a name="ri-merge-convertible"></a>

둘 이상의 전환형 예약 인스턴스를 병합하는 경우 새 전환형 예약 인스턴스의 기간은 기존 전환형 예약 인스턴스와 동일하거나 전환형 예약 인스턴스보다 길어야 합니다. 새 전환형 예약 인스턴스의 만료 날짜는 더 나중에 오는 만료 날짜입니다.

예를 들어 계정에 다음과 같은 전환형 예약 인스턴스가 있다고 가정합시다.


| Reserved Instance ID | 기간 | 만료 날짜 | 
| --- | --- | --- | 
| aaaa1111 | 1년 | 2018-12-31 | 
| bbbb2222 | 1년 | 2018-07-31 | 
| cccc3333 | 3년 | 2018-06-30 | 
| dddd4444 | 3년 | 2019-12-31 | 
+ `aaaa1111`과 `bbbb2222`를 병합하여 1년 전환형 예약 인스턴스로 변경할 수 있습니다. 3년 전환형 예약 인스턴스로는 변경할 수 없습니다. 새 전환형 예약 인스턴스의 만료 날짜는 2018-12-31입니다.
+ `bbbb2222`과 `cccc3333`를 병합하여 3년 전환형 예약 인스턴스로 변경할 수 있습니다. 1년 전환형 예약 인스턴스로는 변경할 수 없습니다. 새 전환형 예약 인스턴스의 만료 날짜는 2018-07-31입니다.
+ `cccc3333`과 `dddd4444`를 병합하여 3년 전환형 예약 인스턴스로 변경할 수 있습니다. 1년 전환형 예약 인스턴스로는 변경할 수 없습니다. 새 전환형 예약 인스턴스의 만료 날짜는 2019-12-31입니다.

## 전환형 예약 인스턴스의 일부 교환
<a name="ri-split-convertible"></a>

전환형 예약 인스턴스를 작은 예약으로 분리하는 수정 과정을 이용한 다음 새 예약의 한 개 이상을 새 전환형 예약 인스턴스로 교환하면 됩니다. 다음은 그 방법을 설명하는 예제입니다.

**Example 예: 인스턴스가 여럿인 전환형 예약 인스턴스**  
이 예에는 예약에 네 인스턴스가 있는 `t2.micro` 전환형 예약 인스턴스가 있습니다. 두 `t2.micro` 인스턴스를 `m4.xlarge` 인스턴스 한 개로 교환하려면,  

1. `t2.micro` 전환형 예약 인스턴스를 각각 두 인스턴스를 가진 두 `t2.micro` 전환형 예약 인스턴스로 분할하여 수정합니다.

1. 새 `t2.micro` 전환형 예약 인스턴스 중 하나를 `m4.xlarge` 전환형 예약 인스턴스 하나와 교환합니다.

![\[예약 인스턴스 수정하고 교환합니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/ri-split-cri-multiple.png)


**Example 예: 인스턴스가 하나인 전환형 예약 인스턴스**  
이 예에는 `t2.large` 전환형 예약 인스턴스가 한 개 있습니다. 작은 `t2.medium` 인스턴스 한 개와 `m3.medium` 인스턴스 한 개로 바꾸려면,  

1. `t2.large` 전환형 예약 인스턴스를 각각 두 인스턴스를 가진 두 `t2.medium` 전환형 예약 인스턴스로 분할하여 수정합니다. `t2.large` 인스턴스 하나의 인스턴스 공간 크기는 `t2.medium` 인스턴스 두 개의 인스턴스 공간 크기와 동일합니다.

1. 새 `t2.medium` 전환형 예약 인스턴스 중 하나를 `m3.medium` 전환형 예약 인스턴스 하나와 교환합니다.

![\[예약 인스턴스 수정하고 교환합니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/ri-split-cri-single.png)

자세한 내용은 [인스턴스 크기 수정을 위한 지원](ri-modifying.md#ri-modification-instancemove) 및 [교환 요청 제출](#ri-exchange-process) 섹션을 참조하세요.

## 교환 요청 제출
<a name="ri-exchange-process"></a>

전환형 예약 인스턴스는 교환할 수 있습니다. 교환되는 예약 인스턴스는 사용 중지됩니다.

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

**전환형 예약 인스턴스를 교환하려면**

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

1. **예약 인스턴스**를 선택하여 교환할 전환형 예약 인스턴스를 선택한 후 **작업**, **예약 인스턴스 교환**을 선택합니다.

1. 원하는 구성의 속성을 선택하고**제품 찾기**를 선택합니다.

1. 새 전환형 예약 인스턴스을(를) 선택합니다. 화면 하단에서 교환에 따라 받은 예약 인스턴스의 수와 추가 비용을 볼 수 있습니다.

1. 요구 사항에 맞는 전환형 예약 인스턴스을(를) 선택한 경우 **검토**를 선택합니다.

1. **교환**을 선택한 다음**닫기**를 선택합니다.

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

**전환형 예약 인스턴스를 교환하려면**

1. [describe-reserved-instances-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-offerings.html) 명령을 사용하여 필요에 맞는 새 전환형 예약 인스턴스를 찾습니다.

1. [get-reserved-instances-exchange-quote](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-reserved-instances-exchange-quote.html) 명령을 사용하여 교환 견적서를 받습니다. 이 견적서에는 교환에서 가져오는 예약 인스턴스의 수 및 교환에 대한 트루업 비용이 포함되어 있습니다.

1. [accept-reserved-instances-exchange-quote](https://docs.aws.amazon.com/cli/latest/reference/ec2/accept-reserved-instances-exchange-quote.html) 명령을 사용하여 교환을 수행합니다.

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

**전환형 예약 인스턴스를 교환하려면**

1. [Get-EC2ReservedInstancesOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesOffering.html) cmdlet을 사용하여 필요에 맞는 새 전환형 예약 인스턴스를 찾습니다.

1. [GetEC2-ReservedInstancesExchangeQuote](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesExchangeQuote.html) cmdlet을 사용하여 교환에 대한 견적서를 받습니다. 이 견적서에는 교환에서 가져오는 예약 인스턴스의 수 및 교환에 대한 트루업 비용이 포함되어 있습니다.

1. [Approve-EC2ReservedInstancesExchangeQuote](https://docs.aws.amazon.com/powershell/latest/reference/items/Approve-EC2ReservedInstancesExchangeQuote.html) cmdlet을 사용하여 교환을 수행합니다.

------

# 예약 인스턴스 할당량
<a name="ri-limits"></a>

매달 새로운 예약 인스턴스를 구매할 수 있습니다. 매달 구매할 수 있는 새 예약 인스턴스의 수는 다음과 같이 월별 할당량에 따라 결정됩니다.


****  

| 할당량 설명 | 기본 할당량 | 
| --- | --- | 
|  새로운 [리전별](apply_ri.md#apply-regional-ri) 예약 인스턴스  | 리전당 월별 20개 | 
|  새로운 [영역별](apply_ri.md#apply-zonal-ri) 예약 인스턴스  | 가용 영역당 월별 20개 | 

예를 들어, 3개의 가용 영역이 있는 리전에서 기본 할당량은 월별 80개의 새로운 예약 인스턴스이며 다음과 같이 계산됩니다.
+ 해당 리전의 리전별 예약 인스턴스 20개
+ 영역별 추가 예약 인스턴스 60개(3개의 가용 영역 각각에 대해 20개)

`running` 상태의 인스턴스는 할당량에 포함됩니다. `pending`, `stopping`, `stopped`, `hibernated` 상태의 인스턴스는 할당량에 포함되지 않습니다.

## 구매한 예약 인스턴스 수 보기
<a name="view-number-of-purchased-reserved-instances"></a>

구매하는 예약 인스턴스의 수는 **Instance count**(인스턴스 수) 필드(콘솔) 또는 `InstanceCount` 파라미터(AWS CLI)로 표시됩니다. 새 예약 인스턴스를 구매할 때 할당량은 총 인스턴스 수를 기준으로 측정됩니다. 예를 들어, 인스턴스 수가 10개인 단일 예약 인스턴스 구성을 구매하는 경우 할당량 중 1개가 아닌 10개를 사용한 것으로 계산됩니다.

Amazon EC2 또는 AWS CLI를 사용하여 구매한 예약 인스턴스 수를 확인할 수 있습니다.

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

**구매한 예약 인스턴스 수 보기**

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

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

1. 테이블에서 예약 인스턴스 구성을 선택하고 **인스턴스 개수**(인스턴스 수) 필드를 확인합니다.

   다음 스크린샷에서 선택한 줄은 `t3.micro` 인스턴스 유형에 대한 단일 예약 인스턴스 구성을 나타냅니다. 테이블 보기의 **인스턴스 수** 열과 세부 정보 보기의 **인스턴스 수** 개수 필드(스크린샷에 나와 있음)는 이 구성에 대해 10개의 예약 인스턴스가 있음을 나타냅니다.  
![\[이 이미지는 Amazon EC2 콘솔의 Reserved Instances(예약 인스턴스) 화면을 보여줍니다. Instance count(인스턴스 수) 필드는 스크린샷에 나와 있습니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/ri-instance-count.png)

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

**구매한 예약 인스턴스 수 보기**  
[describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) 명령을 사용하고 예약 인스턴스 구성의 ID를 지정합니다.

```
aws ec2 describe-reserved-instances \
    --reserved-instances-ids a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
    --output table
```

다음은 예제 출력입니다. `InstanceCount` 필드는 이 구성에 대해 10개의 예약 인스턴스가 있음을 나타냅니다.

```
-------------------------------------------------------------------
|                    DescribeReservedInstances                    |
+-----------------------------------------------------------------+
||                       ReservedInstances                       ||
|+----------------------+----------------------------------------+|
||  CurrencyCode        |  USD                                   ||
||  Duration            |  31536000                              ||
||  End                 |  2023-08-27T13:29:44+00:00             ||
||  FixedPrice          |  59.0                                  ||
||  InstanceCount       |  10                                    ||
||  InstanceTenancy     |  default                               ||
||  InstanceType        |  t3.micro                              ||
||  OfferingClass       |  standard                              ||
||  OfferingType        |  All Upfront                           ||
||  ProductDescription  |  Linux/UNIX                            ||
||  ReservedInstancesId |  a1b2c3d4-5678-90ab-cdef-EXAMPLE11111  ||
||  Scope               |  Region                                ||
||  Start               |  2022-08-27T13:29:45.938000+00:00      ||
||  State               |  active                                ||
||  UsagePrice          |  0.0                                   ||
|+----------------------+----------------------------------------+|
|||                      RecurringCharges                       |||
||+----------------------------------+--------------------------+||
|||  Amount                          |  0.0                     |||
|||  Frequency                       |  Hourly                  |||
||+----------------------------------+--------------------------+||
```

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

**구매한 예약 인스턴스 수 보기**  
[Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) Cmdlet을 사용하고 예약 인스턴스 구성의 ID를 지정합니다.

```
Get-EC2ReservedInstance -ReservedInstancesId a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```

다음은 예제 출력입니다. `InstanceCount` 필드는 이 구성에 대해 10개의 예약 인스턴스가 있음을 나타냅니다.

```
AvailabilityZone    : 
CurrencyCode        : USD
Duration            : 31536000
End                 : 1/12/2017 8:57:08 PM
FixedPrice          : 0
InstanceCount       : 10
InstanceTenancy     : default
InstanceType        : t3.medium
OfferingClass       : standard
OfferingType        : All Upfront
ProductDescription  : Windows
RecurringCharges    : {}
ReservedInstancesId : a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
Scope               : Region
Start               : 10/12/2016 4:00:00 PM
State               : active
Tags                : {}
UsagePrice          : 0
```

------

## 고려 사항
<a name="ri-quota-considerations"></a>

리전 예약 인스턴스는 실행 중인 온디맨드 인스턴스에 할인을 적용합니다. 기본 온디맨드 인스턴스 제한은 20개입니다. 리전 예약 인스턴스 구매로 실행 중인 온디맨드 인스턴스 제한을 초과할 수는 없습니다. 예를 들어 이미 20개의 온디맨드 인스턴스를 실행 중이고 20개의 리전 예약 인스턴스를 구매한 경우 20개의 리전 예약 인스턴스는 20개의 실행 중인 온디맨드 인스턴스에 할인을 적용합니다. 리전 예약 인스턴스를 추가로 구매한 경우 온디맨드 인스턴스 제한에 도달했기 때문에 더 많은 인스턴스를 시작할 수는 없습니다.

영역별 예약 인스턴스를 구입하기 전에 온디맨드 인스턴스 제한이 소유하려는 리전별 예약 인스턴스의 수와 일치하는지 아니면 초과하는지 확인합니다. 필요한 경우 추가 리전별 예약 인스턴스를 구입하기 *전에* 온디맨드 인스턴스 제한 증가를 요청해야 합니다.

예약 인스턴스 특정 가용 영역에 대해 구매한 영역 예약 인스턴스는 할인은 물론 용량 예약을 제공합니다. 영역 예약 인스턴스 구매를 통해 실행 중인 온디맨드 인스턴스 제한을 *초과할 수 있습니다*. 예를 들어 이미 20개의 온디맨드 인스턴스를 실행 중이고 20개의 영역 예약 인스턴스를 구매한 경우 영역 예약 인스턴스의 사양과 일치하는 20개의 온디맨드 인스턴스를 추가로 시작할 수 있어, 총 40개의 인스턴스를 실행할 수 있습니다.

## 예약 인스턴스 할당량 확인 및 할당량 증가 요청
<a name="view-ri-quotas"></a>

Amazon EC2 콘솔은 할당량 정보를 제공합니다. 할당량 증가를 요청할 수도 있습니다. 자세한 내용은 [현재 할당량 보기](ec2-resource-limits.md#view-limits) 및 [증가 요청](ec2-resource-limits.md#request-increase)(을)를 참조하세요.

# 스팟 인스턴스
<a name="using-spot-instances"></a>

스팟 인스턴스는 온디맨드 가격보다 저렴한 비용으로 제공되는 예비 EC2 용량을 사용하는 인스턴스입니다. 스팟 인스턴스는 큰 할인율로 미사용 EC2 인스턴스를 요청할 수 있게 해주므로 사용자는 Amazon EC2 비용을 대폭 낮출 수 있습니다. 스팟 인스턴스는의 시간당 가격을 스팟 가격이라고 합니다. 각 가용 영역 내 인스턴스 유형별 스팟 가격은 Amazon EC2에서 설정하며, 스팟 인스턴스의 장기적 공급 및 수요에 따라 점진적으로 조정됩니다. 용량을 사용할 수 있을 때마다 스팟 인스턴스가 실행됩니다.

스팟 인스턴스는 애플리케이션이 실행되는 시간을 유연하게 조정할 수 있고 애플리케이션을 중단할 수 있는 경우에 선택하는 비용 효율적인 방법입니다. 예를 들어 스팟 인스턴스는 데이터 분석, 배치 작업, 백그라운드 프로세싱 및 선택적 작업에 적합합니다. 자세한 내용은 [Amazon EC2 스팟 인스턴스](https://aws.amazon.com/ec2/spot/) 섹션을 참조하세요.

EC2 인스턴스의 다른 구매 옵션을 비교하려면 [Amazon EC2 결제 및 구매 옵션](instance-purchasing-options.md) 섹션을 참조하세요.

## 개념
<a name="spot-features"></a>

스팟 인스턴스를 시작하기 전에 다음 개념을 익혀야 합니다.
+ *스팟 용량 풀* - 인스턴스 유형(예: `m5.large`)과 가용 영역이 동일한 미사용 EC2 인스턴스의 집합입니다.
+ *스팟 가격* - 스팟 인스턴스의 시간당 현재 가격입니다.
+ *스팟 인스턴스 요청* - 스팟 인스턴스를 요청합니다. 용량이 가용 상태가 되면 Amazon EC2는 사용자의 요청을 이행합니다. 스팟 인스턴스 요청은 *일회성* 또는 *영구적*입니다. Amazon EC2에서는 요청에 연결된 스팟 인스턴스가 중단된 후 스팟 인스턴스 요청을 자동으로 다시 제출합니다.
+ *EC2 인스턴스 리밸런싱 권고* – Amazon EC2는 인스턴스 리밸런싱 권고 신호를 보내 스팟 인스턴스가 중단될 위험이 높다는 것을 알려줍니다. 이 신호는 2분 스팟 인스턴스 중단 알림을 기다릴 필요 없이 기존 또는 신규 스팟 인스턴스에서 워크로드를 사전에 재조정할 수 있는 기회를 제공합니다.
+ *스팟 인스턴스 중단* - Amazon EC2에 다시 용량이 필요한 경우 Amazon EC2는 스팟 인스턴스를 종료 또는 중지하거나 최대 절전 모드로 전환합니다. Amazon EC2는 스팟 인스턴스 중단 2분 전에 경고하는 스팟 인스턴스 중단 공지를 제공합니다.

## 스팟 인스턴스와 온디맨드 인스턴스의 차이점
<a name="key-differences-spot-on-demand"></a>

다음 표에는 스팟 인스턴스와 [온디맨드 인스턴스](ec2-on-demand-instances.md)의 주요 차이점이 나열되어 있습니다.


|  | Spot Instances | 온디맨드 인스턴스 | 
| --- | --- | --- | 
|  시작 시간  |  스팟 인스턴스 요청이 활성 상태이고 용량이 가용 상태인 경우 즉시 시작할 수 있습니다.  |  수동 시작을 요청했고 용량이 가용 상태인 경우에만 즉시 시작할 수 있습니다.  | 
|  가용 용량  |  용량이 가용 상태가 아닌 경우 용량이 가용 상태가 될 때까지 스팟 인스턴스 요청이 계속해서 자동으로 시작 요청을 합니다.  |  시작 요청을 할 때 용량이 가용 상태가 아닌 경우 용량 부족 오류(ICE)가 발생합니다.  | 
|  시간당 가격  |  스팟 인스턴스의 시간당 가격은 장기적인 수요와 공급에 따라 다릅니다.  |  온디맨드 인스턴스의 시간당 가격은 고정된 가격입니다.  | 
| 리밸런싱 권고 | 인스턴스 중단 위험이 높아질 때 실행 중인 스팟 인스턴스에 대해 Amazon EC2가 생성하는 신호입니다. | 온디맨드 인스턴스가 중단(중지, 최대 절전 또는 종료)되는 시간을 결정합니다. | 
|  인스턴스 중단  |  Amazon EBS 지원 스팟 인스턴스를 중지하고 시작할 수 있습니다. 또한 Amazon EC2에서 용량을 더 이상 사용할 수 없는 경우 개별 스팟 인스턴스를 [중단](spot-interruptions.md)할 수 있습니다.  |  온디맨드 인스턴스가 중단(중지, 최대 절전 또는 종료)되는 시간을 결정합니다.  | 

## 요금 및 비용 절감
<a name="spot-pricing"></a>

스팟 인스턴스에 대해 스팟 가격을 지불합니다. 이 가격은 Amazon EC2에서 설정되며 스팟 인스턴스의 장기적 수요 및 공급에 따라 점진적으로 조정됩니다. 스팟 인스턴스는 사용자가 종료하거나, 용량을 더 이상 사용할 수 없게 되거나, Amazon EC2 Auto Scaling 그룹이 [스케일 인](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in) 중에 종료할 때까지 실행됩니다.

사용자 또는 Amazon EC2가 실행 중인 스팟 인스턴스를 중단하는 경우, 사용되는 운영 체제와 누가 스팟 인스턴스를 중단했는지에 따라 사용된 시간(초) 또는 전체 시간에 대한 요금이 부과되거나 요금이 무료일 수 있습니다. 자세한 내용은 [중단된 스팟 인스턴스에 대한 청구](billing-for-interrupted-spot-instances.md) 섹션을 참조하세요.

스팟 인스턴스는 절감형 플랜에 포함되지 않습니다. 절감형 플랜을 사용하는 경우 스팟 인스턴스를 사용하여 이미 절감한 비용 외에 추가 비용 절감을 제공하지 않습니다. 또한 스팟 인스턴스에 대한 지출에는 컴퓨팅 절감형 플랜의 약정이 적용되지 않습니다.

### 가격 보기
<a name="spot-pricing-view-prices"></a>

AWS 리전 및 인스턴스 유형당 현재(5분마다 업데이트됨) 최저 스팟 가격을 보려면 [Amazon EC2 스팟 인스턴스 요금](https://aws.amazon.com/ec2/spot/pricing/) 페이지를 참조하세요.

지난 3개월 동안의 스팟 가격 기록을 보려면 Amazon EC2 콘솔 또는 [describe-spot-price-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-price-history.html)를 사용합니다. 자세한 내용은 [스팟 인스턴스 요금 기록 보기](using-spot-instances-history.md) 섹션을 참조하세요.

각 AWS 계정의 코드에 가용 영역을 독립적으로 매핑합니다. 따라서 서로 다른 계정 간에 동일한 가용 영역 코드(예: `us-west-2a`)에 대한 결과가 다를 수 있습니다.

### 비용 절감액 보기
<a name="spot-pricing-view-savings"></a>

단일 [스팟 플릿](Fleets.md) 또는 모든 스팟 인스턴스의 스팟 인스턴스를 사용하여 얻은 절감액을 볼 수 있습니다. 지난 1시간 또는 지난 3일 동안 실현된 절감액을 볼 수 있으며, vCPU 시간당 평균 비용 및 메모리(GiB) 단위 시간당 평균 비용을 볼 수 있습니다. 절감액은 추정치이며 사용량에 대한 청구 조정이 제외되어 있기 때문에 실제 절감액과 다를 수 있습니다. 비용 절감액 보기에 대한 자세한 내용은 [스팟 인스턴스 구입으로 절감되는 비용](spot-savings.md) 섹션을 참조하세요.

### 결제 보기
<a name="spot-pricing-view-billing"></a>

청구서에서 서비스 사용에 대한 세부 정보를 확인할 수 있습니다. 자세한 내용은 *AWS Billing 사용 설명서*에서 [결제 보기](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/getting-viewing-bill.html)를 참조하세요.

# Amazon EC2 스팟 모범 사례
<a name="spot-best-practices"></a>

Amazon EC2는 AWS 클라우드의 예비 EC2 컴퓨팅 용량을 온디맨드 요금에 비해 최대 90% 할인된 가격으로 사용할 수 있도록 제공합니다. 온디맨드 인스턴스와 스팟 인스턴스 간의 유일한 차이점은 Amazon EC2에서 용량을 다시 회수해야 할 때 Amazon EC2가 2분 전 알림을 통해 스팟 인스턴스를 중단할 수 있다는 것입니다. 스팟 인스턴스를 최상의 상태로 사용하려면 사용 모범 사례를 이해하고 적용하는 것이 중요합니다.

스팟 인스턴스는 유연한 상태 비저장, 내결함성 애플리케이션에 권장됩니다. 예를 들어 스팟 인스턴스는 빅 데이터, 컨테이너화된 워크로드, CI/CD, 상태 비저장 웹 서버, 고성능 컴퓨팅(HPC), 렌더링 워크로드에 적합합니다.

스팟 인스턴스는 실행 중인 동안에는 온디맨드 인스턴스와 정확히 동일합니다. 그러나 스팟은 실행 중인 인스턴스를 워크로드를 완료할 수 있을 만큼 충분히 오래 유지할 수 있다고 보장하지 않습니다. 또한 스팟은 찾고 있는 인스턴스의 즉각적인 가용성을 보장하거나 요청한 총 용량을 항상 확보할 수 있다고 보장하지 않습니다. 또한 스팟 인스턴스 가용성은 수요와 공급에 따라 달라지기 때문에 스팟 인스턴스 중단 및 용량은 시간이 지남에 따라 변할 수 있으며 과거의 성능이 미래의 결과를 보장하지 않습니다.

스팟 인스턴스는 유연성이 없거나 상태 저장이거나 내결함성이 없거나 인스턴스 노드 간에 밀접하게 연결된 워크로드에 적합하지 않습니다. 수시로 전체 목표 용량을 완전히 사용할 수 없는 경우를 허용하지 않는 워크로드에는 스팟 인스턴스를 권장하지 않습니다. 스팟 모범 사례를 따라 인스턴스 유형과 가용 영역을 유연하게 조정하면 고가용성을 확보할 수 있는 최상의 기회를 제공하지만, 온디맨드 인스턴스에 대한 수요가 급증하면 스팟 인스턴스의 워크로드가 중단될 수 있으므로 용량을 사용할 수 있다고 보장할 수는 없습니다.

이러한 워크로드에 스팟 인스턴스를 사용하거나 중단이나 가용성 손실을 처리하기 위해 온디맨드 인스턴스로 장애 조치를 시도하지 마세요. 온디맨드 인스턴스로 장애 조치하면 실수로 다른 스팟 인스턴스가 중단될 수도 있습니다. 또한 인스턴스 유형과 가용 영역 조합의 스팟 인스턴스가 중단되면 동일한 조합으로 온디맨드 인스턴스를 구하기가 어려워질 수도 있습니다.

숙련된 스팟 사용자인지 또는 스팟 인스턴스를 처음 사용하는지 관계없이 현재 스팟 인스턴스 중단 또는 가용성에 문제가 발생하는 경우 다음 모범 사례를 따라 스팟 서비스를 사용하는 최상의 환경을 제공하는 것이 좋습니다.

**Topics**
+ [개별 인스턴스에서 중단 대비](#prep-instances-for-interruptions)
+ [인스턴스 유형 및 가용 영역에 대한 유연성 유지](#be-instance-type-flexible)
+ [속성 기반 인스턴스 유형 선택 사용](#use-attribute-based-instance-type-selection)
+ [스팟 배치 점수를 사용하여 최적의 리전 및 가용 영역 식별](#use-spot-placement-scores-to-identify-optimal-regions-and-availability-zones)
+ [EC2 Auto Scaling 또는 EC2 플릿을 사용하여 총 용량 관리](#use-sf-asg-for-aggregate-capacity)
+ [가격 및 용량 최적화 할당 전략 사용](#use-capacity-optimized-allocation-strategy)
+ [통합 AWS 서비스를 사용하여 스팟 인스턴스 관리](#use-integrated-aws-services)
+ [어느 스팟 요청 방법을 사용하는 것이 최선인가요?](#which-spot-request-method-to-use)

## 개별 인스턴스에서 중단 대비
<a name="prep-instances-for-interruptions"></a>

스팟 인스턴스 중단을 정상적으로 처리하는 가장 좋은 방법은 내결함성이 있도록 애플리케이션을 설계하는 것입니다. EC2 인스턴스 리밸런싱 권고 및 스팟 인스턴스 중단 공지를 활용하여 이를 달성할 수 있습니다.

EC2 인스턴스 리밸런싱 권고는 스팟 인스턴스의 중단 위험이 높아질 때 알림을 보내는 신호입니다. 이 신호는 스팟 인스턴스 중단 2분 전 공지에 앞서 스팟 인스턴스를 사전에 관리할 수 있는 기회를 제공합니다. 중단 위험이 높아지지 않는 신규 또는 기존 스팟 인스턴스에 대한 워크로드를 리밸런싱하도록 결정할 수 있습니다. Auto Scaling 및 EC2 Fleet의 용량 리밸런싱 특성을 사용하여 이 신호를 손쉽게 사용할 수 있습니다.

스팟 인스턴스 중단 공지는 Amazon EC2에서 스팟 인스턴스를 중단하기 2분 전에 생성되는 경고입니다. 워크로드가 '시간에 유연'한 경우 중단 시 스팟 인스턴스를 종료하는 대신 중지하거나 최대 절전 모드로 전환하도록 구성할 수 있습니다. Amazon EC2는 스팟 인스턴스 중단 시 자동으로 중지하거나 최대 절전 모드로 전환하며 가용 용량이 있을 때 인스턴스를 자동으로 다시 시작합니다.

[Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/index.html)에서 리밸런싱 권고 및 중단 알림을 캡처하는 규칙을 생성한 다음 워크로드 진행에 대한 검사점을 트리거하거나 중단을 정상적으로 처리하는 것이 좋습니다. 자세한 내용은 [리밸런싱 권고 신호 모니터링](rebalance-recommendations.md#monitor-rebalance-recommendations) 섹션을 참조하세요. 이벤트 규칙을 생성하고 사용하는 방법을 안내하는 자세한 예제는 [Amazon EC2 스팟 인스턴스 중단 공지 활용](https://aws.amazon.com/blogs/compute/taking-advantage-of-amazon-ec2-spot-instance-interruption-notices/)을 참조하세요.

자세한 내용은 [EC2 인스턴스 리밸런싱 권고](rebalance-recommendations.md) 및 [스팟 인스턴스 중단](spot-interruptions.md) 섹션을 참조하세요.

## 인스턴스 유형 및 가용 영역에 대한 유연성 유지
<a name="be-instance-type-flexible"></a>

스팟 용량 풀은 인스턴스 유형(예: `m5.large`)과 가용 영역(예: us-east-1a)이 동일한 미사용 EC2 인스턴스의 집합입니다. 요청하는 인스턴스 유형과 워크로드를 배포할 수 있는 가용 영역에 대한 유연성이 있어야 합니다. 그러면 스팟에서 필요한 컴퓨팅 용량을 찾고 할당할 가능성이 높아집니다. 예를 들어 c4, m5 및 m4 제품군의 large를 사용해도 무방하면 `c5.large`를 요청하지 마세요.

특정 요구 사항에 따라 컴퓨팅 요구 사항을 충족하기 위해 유연하게 선택할 수 있는 인스턴스 유형을 평가할 수 있습니다. 워크로드를 수직으로 확장할 수 있는 경우 요청에 더 큰 인스턴스 유형(vCPU 및 메모리 추가)을 포함해야 합니다. 수평으로만 확장할 수 있는 경우 이전 세대 인스턴스 유형을 포함해야 합니다. 이러한 인스턴스는 온디맨드 고객의 수요가 적기 때문입니다.

일반적으로 각 워크로드에 대해 최소 10개의 인스턴스 유형을 유연하게 선택할 수 있어야 합니다. 또한 모든 가용 영역이 사용자의 VPC에서 사용하도록 구성되고 워크로드에 맞게 선택되어야 합니다.

## 속성 기반 인스턴스 유형 선택 사용
<a name="use-attribute-based-instance-type-selection"></a>

속성 기반 인스턴스 유형 선택을 통해 실행하려는 워크로드의 인스턴스 속성(예: vCPU, 메모리, 스토리지)을 지정할 수 있습니다. 그러면 EC2 Auto Scaling 또는 EC2 플릿이 지정된 속성과 일치하는 인스턴스를 자동으로 식별하여 시작합니다. 이렇게 하면 특정 인스턴스 유형을 수동으로 선택하는 데 드는 수고를 덜 수 있지만, 이를 위해서는 각 인스턴스 유형을 심층적으로 이해해야 합니다.

더욱이 속성 기반 인스턴스 유형 선택을 통해 새로 릴리스된 인스턴스 유형이 제공되면 자동으로 사용할 수 있습니다. 이를 통해 점점 더 다양해지는 스팟 인스턴스 용량에 원활하게 액세스할 수 있습니다.

속성 기반 인스턴스 유형 선택은 고성능 컴퓨팅(HPC) 및 빅 데이터 워크로드 등 실행되는 인스턴스 유형에 대해 유연한 워크로드 및 프레임워크에 이상적입니다.

자세한 내용은 *Amazon EC2 Auto Scaling 사용 설명서*의 [속성 기반 인스턴스 유형 선택을 사용하여 혼합 인스턴스 그룹 생성](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html)과 이 설명서에서 [EC2 플릿 또는 스팟 플릿의 인스턴스 유형 선택에 대한 속성 지정](ec2-fleet-attribute-based-instance-type-selection.md)의 내용을 참조하세요.

## 스팟 배치 점수를 사용하여 최적의 리전 및 가용 영역 식별
<a name="use-spot-placement-scores-to-identify-optimal-regions-and-availability-zones"></a>

스팟 인스턴스는 미사용 EC2 용량이고, 이 용량은 EC2 공급 및 수요에 따라 변동됩니다. 따라서 특정 시간의 특정 위치에 필요한 정확한 스팟 용량을 항상 확보하지 못할 수도 있습니다. 이러한 예측 불가능성을 완화하기 위해 스팟 배치 점수 기능을 사용할 수 있습니다. 이 기능은 먼저 해당 위치에서 스팟 인스턴스를 시작할 필요 없이 필요한 스팟 용량을 충족하기에 충분한 용량을 보유할 가능성이 높은 리전 또는 가용 영역에 대한 권장 사항을 제공합니다.

스팟 배치 점수는 인스턴스 유형과 해당 인스턴스가 사용할 수 있는 리전 또는 가용 영역을 유연하게 조정할 수 있는 워크로드에 가장 적합합니다. 필요한 스팟 용량, 인스턴스 유형 요구 사항, 리전 또는 가용 영역에 대한 권장 사항 등을 지정하기만 하면 됩니다. 그에 따라 각 리전 또는 가용 영역에 대해 1\$110점 범위의 점수를 받게 되는데, 이는 해당 위치에서 요청된 스팟 용량을 성공적으로 프로비저닝할 가능성을 나타냅니다. 10점은 스팟 요청이 성공할 가능성이 높음을 나타냅니다.

용량이 시간에 따라 달라질 수 있으므로 스팟 배치 점수는 특정 시점의 권장 사항이라는 점에 유의해야 합니다. 사용 가능한 용량을 보장하거나 중단 위험을 예측하지는 못합니다.

Amazon EC2 콘솔, AWS CLI, 또는 SDK에서 스팟 배치 점수 기능을 사용할 수 있습니다. 자세한 내용은 [스팟 배치 점수](spot-placement-score.md) 섹션을 참조하세요.

## EC2 Auto Scaling 또는 EC2 플릿을 사용하여 총 용량 관리
<a name="use-sf-asg-for-aggregate-capacity"></a>

스팟을 사용할 때는 개별 인스턴스가 아니라 총 용량(vCPU, 메모리, 스토리지 또는 네트워크 처리량이 포함된 단위)의 측면에서 생각할 수 있습니다. Auto Scaling과 EC2 플릿을 사용하면 목표 용량을 시작하고 유지 관리할 수 있으며 중단되거나 수동으로 종료된 모든 항목을 대체할 리소스를 자동으로 요청할 수 있습니다. Auto Scaling 또는 EC2 플릿을 구성할 때는 애플리케이션 요구 사항에 따라 인스턴스 유형과 목표 용량만 지정하면 됩니다. 자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서**의 [Auto Scaling 그룹](https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html)과 이 사용 설명서의 [EC2 집합 생성](create-ec2-fleet.md) 섹션을 참조하세요.

## 가격 및 용량 최적화 할당 전략 사용
<a name="use-capacity-optimized-allocation-strategy"></a>

Auto Scaling 그룹의 할당 전략은 예비 용량이 있는 스팟 용량 풀을 수동으로 찾을 필요 없이 목표 용량을 프로비저닝하는 데 도움이 됩니다. `price-capacity-optimized` 전략은 가장 사용 가능하고 가격도 가장 낮을 수 있는 스팟 용량 풀에서 인스턴스를 자동으로 프로비저닝하므로 이 전략을 사용하는 것이 좋습니다. EC2 Fleet에서 `price-capacity-optimized` 할당 전략을 활용할 수도 있습니다. 스팟 인스턴스 용량이 최적의 용량을 가진 풀에서 소싱되기 때문에 스팟 인스턴스가 회수될 가능성이 줄어듭니다. 자세한 내용은 *Amazon EC2 Auto Scaling 사용 설명서*의 [여러 인스턴스 유형에 대한 할당 전략](https://docs.aws.amazon.com/autoscaling/ec2/userguide/allocation-strategies.html)과 이 사용 설명서의 [워크로드의 중단 비용이 높은 경우](ec2-fleet-allocation-strategy.md#ec2-fleet-strategy-capacity-optimized) 섹션을 참조하세요.

## 통합 AWS 서비스를 사용하여 스팟 인스턴스 관리
<a name="use-integrated-aws-services"></a>

다른 AWS 서비스가 스팟과 통합되어 개별 인스턴스 또는 플릿을 관리할 필요 없이 전체 컴퓨팅 비용을 절감할 수 있습니다. 해당 워크로드에 대해 Amazon EMR, Amazon Elastic Container Service, AWS Batch, Amazon Elastic Kubernetes Service, Amazon SageMaker AI, AWS Elastic Beanstalk 및 Amazon GameLift Servers와 같은 솔루션을 고려하는 것이 좋습니다. 이러한 서비스의 스팟 모범 사례에 대한 자세한 내용은 [Amazon EC2 스팟 인스턴스 워크샵 웹 사이트](https://ec2spotworkshops.com/)를 참조하세요.

## 어느 스팟 요청 방법을 사용하는 것이 최선인가요?
<a name="which-spot-request-method-to-use"></a>

다음 표를 사용하여 스팟 인스턴스를 요청할 때 어느 API를 사용할지 결정합니다.


****  

| API | 언제 사용해야 하나요? | 사용 사례: | 이 API를 사용해야 하나요? | 
| --- | --- | --- | --- | 
|  [CreateAutoScalingGroup](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CreateAutoScalingGroup.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  원하는 인스턴스 수를 유지하면서 인스턴스의 수명 주기를 관리하는 Auto Scaling 그룹을 생성합니다. 지정된 최소 및 최대 한도 사이의 수평적 크기 조정(인스턴스 추가)을 지원합니다.  | 예 | 
| [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  인스턴스 유형, AMI, 가용 영역 또는 서브넷에 따라 바뀌는 여러 출시 사양을 사용하여 단일 요청으로 온디맨드 인스턴스와 스팟 인스턴스의 플릿을 생성합니다. 스팟 인스턴스 할당 전략의 기본값은 단위당 `lowest-price`이지만, `price-capacity-optimized`, `capacity-optimized` 또는 `diversified`로 변경할 수 있습니다.  |  예 - `instant` 모드에서(Auto Scaling이 필요하지 않은 경우)  | 
| [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  AMI와 하나의 인스턴스 유형을 사용하여 지정된 수의 인스턴스를 시작합니다.  |  아니요 - RunInstances가 단일 요청에서 혼합 인스턴스 유형을 허용하지 않기 때문  | 
| [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  사용하지 않습니다. RequestSpotFleet은 계획된 투자가 없는 레거시 API입니다.  | 아니요 | 
| [RequestSpotInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  사용하지 않습니다. RequestSpotInstances는 계획된 투자가 없는 레거시 API입니다.  | 아니요 | 

# 스팟 인스턴스의 작동 방식
<a name="how-spot-instances-work"></a>

스팟 인스턴스를 시작하려면 *스팟 인스턴스 요청*을 직접 생성하거나 Amazon EC2를 통해 자동으로 스팟 인스턴스 요청을 생성합니다. 스팟 인스턴스 요청이 이행되면 스팟 인스턴스가 시작됩니다.

여러 다양한 서비스를 사용하여 스팟 인스턴스를 시작할 수 있습니다. 자세한 내용은 [Amazon EC2 스팟 인스턴스 시작하기](https://aws.amazon.com/ec2/spot/getting-started/)를 참조하세요. 이 사용 설명서에서는 EC2를 사용하여 스팟 인스턴스를 시작하는 다음 방법에 대해 설명합니다.
+ Amazon EC2 콘솔의 [인스턴스 시작 마법사](ec2-launch-instance-wizard.md)를 사용하거나 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용하여 스팟 인스턴스 요청을 생성할 수 있습니다. 자세한 내용은 [스팟 인스턴스 관리](using-spot-instances-request.md) 섹션을 참조하세요.
+ EC2 Fleet을 생성하고 원하는 스팟 인스턴스 수를 지정할 수 있습니다. Amazon EC2는 EC2 Fleet에 지정된 모든 스팟 인스턴스에 대해 사용자를 대신하여 스팟 인스턴스 요청을 생성합니다. 자세한 내용은 [EC2 집합 생성](create-ec2-fleet.md) 섹션을 참조하세요.
+ 스팟 플릿을 요청을 생성하고 원하는 스팟 인스턴스 수를 지정할 수 있습니다. Amazon EC2는 스팟 플릿 요청에 지정된 모든 스팟 인스턴스에 대해 사용자를 대신하여 스팟 인스턴스 요청을 생성합니다. 자세한 내용은 [스팟 플릿 생성](create-spot-fleet.md) 섹션을 참조하세요.

사용 가능한 용량이 있는 경우 스팟 인스턴스가 시작됩니다. 스팟 인스턴스는 사용자가 중지 또는 종료하거나 Amazon EC2에 의해 중단(*스팟 인스턴스 중단*이라고 함)될 때까지 실행됩니다. Amazon EC2는 인스턴스를 중단할 때 스팟 인스턴스를 중지, 종료 또는 최대 절전 모드로 전환할 수 있습니다.

스팟 인스턴스를 사용할 때는 중단에 대비해야 합니다. Amazon EC2는 스팟 인스턴스에 대한 수요가 증가하거나 스팟 인스턴스의 공급이 감소할 때 스팟 인스턴스를 중단할 수 있습니다. Amazon EC2는 스팟 인스턴스를 중단할 때 스팟 인스턴스 중단 공지를 보내 중단 2분 전에 이를 인스턴스에 경고합니다. 스팟 인스턴스에 대한 종료 방지 기능은 활성화할 수 없습니다. 자세한 내용은 [스팟 인스턴스 중단](spot-interruptions.md) 섹션을 참조하세요.

**Topics**
+ [스팟 인스턴스 요청 상태](#creating-spot-request-status)
+ [시작 그룹에서 스팟 인스턴스 시작](#spot-launch-group)
+ [가용 영역 그룹에서 스팟 인스턴스 시작](#spot-az-group)
+ [VPC에서 스팟 인스턴스 시작](#concepts-spot-instances-vpcs)
+ [성능 버스트 가능 인스턴스 시작](#burstable-spot-instances)
+ [단일 테넌트 하드웨어에서 시작](#spot-instance-tenancy)

## 스팟 인스턴스 요청 상태
<a name="creating-spot-request-status"></a>

스팟 인스턴스 요청 상태는 다음 중 하나일 수 있습니다.
+ `open` - 요청이 이행될 때까지 대기 중입니다.
+ `active` - 요청이 이행되었으며 요청에 연결된 스팟 인스턴스가 있습니다.
+ `failed` - 요청에 하나 이상의 잘못된 파라미터가 있습니다.
+ `closed` - 스팟 인스턴스가 중단되거나 종료되었습니다.
+ `disabled` - 사용자가 스팟 인스턴스를 중지했습니다.
+ `cancelled` - 사용자가 요청을 취소했거나 요청이 만료되었습니다.

다음 그림은 요청 상태 간의 전환을 나타냅니다. 전환은 요청 유형(일회 또는 영구)에 따라 다릅니다.

![\[스팟 인스턴스 요청 상태입니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/spot_request_states.png)


일회성 스팟 인스턴스 요청은 Amazon EC2가 스팟 인스턴스를 시작하거나, 요청이 만료되거나, 사용자가 요청을 취소할 때까지 활성 상태로 유지됩니다. 용량을 사용할 수 없는 경우 스팟 인스턴스가 종료되고 스팟 인스턴스 요청이 종료됩니다.

영구적 스팟 인스턴스 요청은 요청이 이행되더라도 요청이 만료되거나 사용자가 요청을 취소할 때까지 활성 상태로 유지됩니다. 용량을 사용할 수 없는 경우 스팟 인스턴스가 중단됩니다. 인스턴스가 중단된 후 용량을 다시 사용할 수 있게 되면 스팟 인스턴스가 중지된 경우 시작되고 최대 절전 모드인 경우 재개됩니다. 용량을 사용할 수 있는 경우 스팟 인스턴스를 중지하고 다시 시작할 수 있습니다. 스팟 인스턴스가 종료되는 경우(스팟 인스턴스가 중지 또는 실행 중 상태인지 여부와 상관없이) 스팟 인스턴스 요청이 다시 열리고 Amazon EC2가 새 스팟 인스턴스를 시작합니다. 자세한 내용은 [스팟 인스턴스 중지](using-spot-instances-request.md#stopping-a-spot-instance), [스팟 인스턴스 시작](using-spot-instances-request.md#starting-a-spot-instance), [스팟 인스턴스 종료](using-spot-instances-request.md#terminating-a-spot-instance) 섹션을 참조하세요.

이 상태를 통해 스팟 인스턴스 요청의 상태뿐 아니라 시작된 스팟 인스턴스의 상태도 추적할 수 있습니다. 자세한 내용은 [스팟 인스턴스 요청 상태 가져오기](spot-request-status.md) 섹션을 참조하세요.

## 시작 그룹에서 스팟 인스턴스 시작
<a name="spot-launch-group"></a>

스팟 인스턴스 요청에서 시작 그룹을 지정하여 해당 인스턴스를 모두 시작할 수 있는 경우에만 스팟 인스턴스 세트를 시작하도록 Amazon EC2에 알립니다. 또한 스팟 서비스가 시작 그룹에 있는 인스턴스 중 하나를 종료해야 하는 경우 모든 인스턴스를 종료해야 합니다. 그러나 사용자가 시작 그룹에 있는 인스턴스를 하나 이상 종료하는 경우 Amazon EC2는 시작 그룹에 있는 나머지 인스턴스를 종료하지 않습니다.

이 옵션이 유용할 수 있지만 이러한 제약 조건을 추가하면 스팟 인스턴스 요청이 이행될 가능성은 낮아지고 스팟 인스턴스가 종료될 가능성은 높아질 수 있습니다. 예를 들어, 시작 그룹에 다중 가용 영역의 인스턴스가 포함되어 있습니다. 이러한 가용 영역 중 하나에서 용량이 감소되어 더는 사용할 수 없는 상태인 경우 Amazon EC2에서는 이 시작 그룹에 대해 모든 인스턴스를 종료합니다.

이전의 성공적인 요청과 동일한(기존) 시작 그룹을 지정하는 다른 성공적인 스팟 인스턴스 요청을 생성하면 새로운 인스턴스가 시작 그룹에 추가됩니다. 이후 이 시작 그룹의 인스턴스가 종료되면 첫 번째 및 두 번째 요청에서 시작된 인스턴스를 포함하여 시작 그룹의 모든 인스턴스가 종료됩니다.

## 가용 영역 그룹에서 스팟 인스턴스 시작
<a name="spot-az-group"></a>

스팟 인스턴스 요청에서 가용 영역 그룹을 지정하여 동일한 가용 영역에서 스팟 인스턴스 세트를 시작하도록 Amazon EC2에 알립니다. Amazon EC2는 가용 영역 그룹의 모든 인스턴스를 동시에 중단할 필요는 없습니다. Amazon EC2가 가용 영역 그룹의 인스턴스를 하나 중단해야 하는 경우 다른 인스턴스는 실행 중인 상태로 유지됩니다.

이 옵션이 유용할 수 있지만 이러한 제약 조건을 추가하면 스팟 인스턴스 요청이 이행될 가능성이 낮아질 수 있습니다.

가용 영역 그룹을 지정하지만 스팟 인스턴스 요청에서 가용 영역을 지정하지 않는 경우 결과는 무엇을 지정했는지에 따라 다릅니다.

**기본 VPC**  
Amazon EC2는 지정된 서브넷에 대한 가용 영역을 사용합니다. 서브넷을 지정하지 않으면 가용 영역 및 해당 가용 영역의 기본 서브넷이 자동으로 선택되지만 최저 요금 영역은 선택되지 않을 수 있습니다. 가용 영역에 대한 기본 서브넷을 삭제한 경우 다른 서브넷을 지정해야 합니다.

**기본이 아닌 VPC**  
Amazon EC2는 지정된 서브넷에 대한 가용 영역을 사용합니다.

## VPC에서 스팟 인스턴스 시작
<a name="concepts-spot-instances-vpcs"></a>

스팟 인스턴스에 대해 서브넷을 지정하는 것과 동일한 방법으로 온디맨드 인스턴스에 대해 서브넷을 지정합니다.
+ [기본 VPC] 낮은 가격의 특정 가용 영역에서 스팟 인스턴스가 시작되도록 하려면 스팟 인스턴스 요청에서 해당 서브넷을 지정해야 합니다. 서브넷을 지정하지 않으면 Amazon EC2에서 서브넷이 자동으로 선택되며, 이 서브넷에 대한 가용 영역에는 최저 스팟 가격이 없을 수 있습니다.
+ [기본이 아닌 VPC] 스팟 인스턴스의 서브넷을 지정해야 합니다.

## 성능 버스트 가능 인스턴스 시작
<a name="burstable-spot-instances"></a>

T 인스턴스 유형은 [버스트 가능 성능 인스턴스](burstable-performance-instances.md)입니다. 버스트 가능 성능 인스턴스 유형을 사용하여 스팟 인스턴스를 시작하고 CPU 크레딧 발생에 대한 유휴 시간 없이 즉시 짧은 기간 동안 버스트 가능 성능 스팟 인스턴스를 사용할 계획인 경우 [표준 모드](burstable-performance-instances-standard-mode.md)로 시작하여 높은 비용 지불을 방지하는 것이 좋습니다. 버스팅 가능 성능 스팟 인스턴스를 [무제한 모드](burstable-performance-instances-unlimited-mode.md)로 시작하고 CPU를 즉시 버스트하는 경우 버스팅에 대한 잉여 크레딧을 소모하게 됩니다. 인스턴스를 짧은 기간 동안 사용하는 경우 인스턴스에서 잉여 크레딧을 지불할 정도의 CPU 크레딧이 발생할 시간이 없습니다. 인스턴스를 종료할 때 잉여 크레딧에 대한 요금이 청구됩니다.

무제한 모드는 버스팅에 대한 CPU 크레딧이 발생할 정도로 인스턴스 실행이 긴 경우에만 버스팅 가능 성능 스팟 인스턴스에 적합합니다. 그렇게 하지 않으면 잉여 크레딧 비용을 지불하면 버스트 가능 성능 스팟 인스턴스가 다른 인스턴스를 사용하는 것보다 비용이 많이 듭니다. 자세한 내용은 [무제한 모드 대 고정 CPU 사용 시기](burstable-performance-instances-unlimited-mode-concepts.md#when-to-use-unlimited-mode) 섹션을 참조하세요.

T2 인스턴스([표준 모드](burstable-performance-instances-standard-mode.md)로 구성된 경우)는 [시작 크레딧](burstable-performance-instances-standard-mode-concepts.md#launch-credits)을 받습니다. T2 인스턴스는 시작 크레딧을 받는 유일한 버스트 가능 성능 인스턴스입니다. 시작 크레딧은 효율적인 컴퓨팅 리소스를 제공하여 인스턴스를 구성함으로써 T2 인스턴스에 대한 생산적인 최초 시작 환경을 제공하는 것을 목적으로 합니다. 새 시작 크레딧에 액세스하기 위한 T2 인스턴스의 반복된 시작은 허용되지 않습니다. 지속적인 CPU가 필요한 경우 (일정 기간 동안 유휴 상태로 둠으로써) 크레딧을 얻고, T2 스팟 인스턴스에 [무제한 모드](burstable-performance-instances-unlimited-mode.md)를 사용하거나 전용 CPU를 포함한 인스턴스 유형을 사용할 수 있습니다.

## 단일 테넌트 하드웨어에서 시작
<a name="spot-instance-tenancy"></a>

스팟 인스턴스를 단일 테넌트 하드웨어에서 실행할 수 있습니다. 전용 스팟 인스턴스는 다른 AWS 계정에 속하는 인스턴스로부터 물리적으로 격리됩니다. 자세한 내용은 [Amazon EC2 전용 인스턴스](dedicated-instance.md) 및 [Amazon EC2 전용 인스턴스](https://aws.amazon.com/ec2/pricing/dedicated-instances/)를 참조하세요.

전용 스팟 인스턴스를 실행하려면 다음 중 하나를 수행합니다.
+ 스팟 인스턴스 요청을 생성할 때 테넌시를 `dedicated`로 지정합니다. 자세한 내용은 [스팟 인스턴스 관리](using-spot-instances-request.md) 섹션을 참조하세요.
+ VPC에서 인스턴스 테넌시 `dedicated`를 사용하여 스팟 인스턴스를 요청합니다. 자세한 내용은 [기본 테넌시를 사용하는 VPC로 전용 인스턴스 시작](dedicatedinstancesintovpc.md) 섹션을 참조하세요. VPC에서 인스턴스 테넌시 `dedicated`로 스팟 인스턴스를 요청한 경우 테넌시 `default`로 스팟 인스턴스를 요청할 수 없습니다.

T 인스턴스를 제외한 모든 인스턴스 패밀리가 전용 스팟 인스턴스를 지원합니다. 지원되는 각 인스턴스 패밀리에서 가장 큰 인스턴스 크기 또는 메탈 크기만이 전용 스팟 인스턴스를 지원합니다.

# 스팟 인스턴스 요금 기록 보기
<a name="using-spot-instances-history"></a>

스팟 인스턴스 가격은 Amazon EC2에서 정하고, 스팟 인스턴스 용량의 장기적인 공급 수요 추세에 따라 점진적으로 조정됩니다.

스팟 요청이 이행되면 스팟 인스턴스는 온디맨드 가격을 초과하지 않는 현재 스팟 가격으로 시작됩니다. 인스턴스 유형, 운영 체제 및 가용 영역을 기준으로 필터링하여 지난 90일 동안의 스팟 가격 기록을 볼 수 있습니다.

*현재* 스팟 인스턴스 가격은 [Amazon EC2 스팟 인스턴스 요금](https://aws.amazon.com/ec2/spot/pricing/)을 참조하세요.

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

**스팟 가격 기록을 보는 방법**

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

1. 탐색 창에서 **스팟 요청**을 선택합니다.

1. **요금 내역**을 선택합니다.

1. **그래프**에서 **가용 영역** 또는 **인스턴스 유형**별로 요금 내역을 비교하도록 선택합니다.
   + **가용 영역**을 선택한 경우 **인스턴스 유형**, 운영 체제(**플랫폼**) 및 가격 기록을 볼 **날짜 범위**를 선택하세요.
   + **인스턴스 유형**을 선택한 경우 최대 5개의 **인스턴스 유형**, **가용 영역**, 운영 체제(**플랫폼**) 및 가격 기록을 볼 **날짜 범위**를 선택하세요.

   다음 스크린샷은 여러 인스턴스 유형에 대한 요금 비교를 보여 줍니다.  
![\[Amazon EC2 콘솔의 스팟 인스턴스 요금 기록 도구.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/spot-instance-pricing-history.png)

1. 그래프 위로 마우스를 가져가면(포인터 이동) 선택한 날짜 범위의 특정 시간의 가격이 표시됩니다. 요금은 그래프 위의 정보 블록에 표시됩니다. 맨 위 행에 표시된 요금은 특정 날짜의 요금을 보여줍니다. 두 번째 행에 표시된 요금은 선택한 날짜 범위의 평균 요금을 보여줍니다.

1. vCPU당 요금을 표시하려면 **정규화된 요금 표시**를 켭니다. 인스턴스 유형에 대한 요금을 표시하려면 **정규화된 가격 표시**를 끕니다.

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

**스팟 가격 기록을 보는 방법**  
다음 [describe-spot-price-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-price-history.html) 명령을 사용합니다.

```
aws ec2 describe-spot-price-history \
    --instance-types c6i.xlarge \
    --product-descriptions "Linux/UNIX" \
    --start-time 2025-04-01T00:00:00 \
    --end-time 2025-04-02T00:00:0
```

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

**스팟 가격 기록을 보는 방법**  
[Get-EC2SpotPriceHistory](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotPriceHistory.html) cmdlet을 사용합니다.

```
Get-EC2SpotPriceHistory `
    -InstanceType c6i.xlarge `
    -ProductDescription "Linux/UNIX" `
    -UtcStartTime 2025-04-01T00:00:00 `
    -UtcEndTime 2025-04-02T00:00:0
```

------

# 스팟 인스턴스 구입으로 절감되는 비용
<a name="spot-savings"></a>

플릿별 수준에서 스팟 인스턴스에 대해 또는 실행 중인 모든 스팟 인스턴스에 대해 사용량 및 절감액 정보를 확인할 수 있습니다. 플릿별 수준에서 확인할 수 있는 사용량 및 절감액 정보에는 해당 플릿에서 시작 및 종료한 모든 인스턴스가 포함됩니다. 지난 1시간 또는 지난 3일에 대해 이러한 정보를 확인할 수 있습니다.

[**비용 절감(Savings)**] 섹션의 다음 스크린샷에는 스팟 플릿에 대한 스팟 사용 및 비용 절감 정보가 표시됩니다.

![\[[스팟 플릿 세부 정보(Spot Fleet details)] 페이지의 [비용 절감(Savings)] 섹션.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/spot-savings.png)


다음 사용 및 비용 절감 정보를 볼 수 있습니다.
+ **스팟 인스턴스** – 스팟 플릿에서 시작되고 종료되는 스팟 인스턴스의 수입니다. 비용 절감 요약을 볼 때 이 숫자는 실행 중인 모든 스팟 인스턴스를 나타냅니다.
+ **vCPU-hours(vCPU-시간)** – 선택한 기간 중 모든 스팟 인스턴스에서 사용된 vCPU 시간 수
+ **Mem(GiB)-hours(메모리(GiB)-시간)** – 선택한 기간 중 모든 스팟 인스턴스에서 사용된 GiB 시간 수.
+ **On-Demand total(온디맨드 합계)** – 인스턴스를 온디맨드 인스턴스로 시작한 경우 선택한 기간 중 결제한 총 금액
+ **Spot total(스팟 합계)** – 선택한 기간 중 결제한 총 금액.
+ **Savings(절감)** – 온디맨드 가격을 결제하지 않아 절감한 비율.
+ **Average cost per vCPU-hour(vCPU-시간당 평균 비용)** – 선택한 기간 중 모든 스팟 인스턴스에서 vCPU 사용의 시간당 평균 비용으로, 다음과 같이 계산합니다. **vCPU-시간당 평균 비용** = **스팟 합계** / **vCPU-시간**.
+ **Average cost per mem(GiB)-hour(메모리(GiB)-시간당 평균 비용)** – 선택한 기간 중 모든 스팟 인스턴스에서 GiB 사용의 시간당 평균 비용으로, 다음과 같이 계산합니다. **메모리(GiB)-시간당 평균 비용** = **스팟 합계** / **메모리(GiB)-시간**.
+ **세부 정보** 표 - 스팟 플릿을 구성하는 여러 인스턴스 유형입니다. 인스턴스 유형당 인스턴스 수는 괄호 안에 표시되어 있습니다. 비용 절감 요약을 볼 때 이러한 숫자는 실행 중인 모든 스팟 인스턴스를 나타냅니다.

절감 정보는 Amazon EC2 콘솔에서만 확인할 수 있습니다.

**스팟 플릿에 대한 비용 절감 정보를 보는 방법**

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

1. 탐색 창에서 **스팟 요청**을 선택합니다.

1. 스팟 플릿 요청의 ID를 선택하고 [**비용 절감(Savings)**] 섹션으로 스크롤합니다.

   또는 스팟 플릿 요청 ID 옆에 있는 확인란을 선택하고 **절감** 탭을 선택합니다.

1. 기본적으로 이 페이지에는 지난 3일에 대한 사용 및 절감 정보가 표시됩니다. **last hour(지난 시간)** 또는 **last three days(지난 3일)**를 선택합니다. 시작한지 한 시간이 되지 않는 스팟 플릿의 경우 페이지에는 한 시간에 대한 절감 추정치가 표시됩니다.

**실행 중인 모든 스팟 인스턴스에 대한 비용 절감 정보를 보는 방법**

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

1. 탐색 창에서 **스팟 요청**을 선택합니다.

1. [**비용 절감 요약(Savings Summary)**]을 선택합니다.

# 스팟 인스턴스 요청 생성
<a name="spot-requests"></a>

스팟 인스턴스를 사용하려면 원하는 인스턴스 수, 인스턴스 유형, 가용 영역이 포함된 스팟 인스턴스 요청을 생성합니다. 용량을 사용할 수 있는 경우 Amazon EC2는 요청을 즉시 이행합니다. 그렇게 하지 않으면 요청이 이행될 수 있을 때까지 또는 사용자가 요청을 취소할 때까지 Amazon EC2가 대기합니다.

Amazon EC2 콘솔의 [인스턴스 시작 마법사](ec2-launch-instance-wizard.md) 또는 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용하여 온디맨드 인스턴스를 시작하는 것과 동일한 방식으로 스팟 인스턴스를 요청할 수 있습니다. 이 방법은 다음과 같은 이유로만 권장됩니다.
+ 이미 [인스턴스 시작 마법사](ec2-launch-instance-wizard.md) 또는 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용하여 온디맨드 인스턴스를 시작하고 있으며 단일 파라미터를 변경하여 스팟 인스턴스 시작으로 변경하려고 합니다.
+ 인스턴스 유형이 다른 여러 인스턴스는 필요하지 않습니다.

이 방법은 여러 인스턴스 유형을 지정할 수 없고 동일한 요청에서 스팟 인스턴스와 온디맨드 인스턴스를 시작할 수 없기 때문에 일반적으로 스팟 인스턴스를 시작하는 데 권장되지 않습니다. 스팟 인스턴스와 여러 인스턴스 유형의 온디맨드 인스턴스를 포함하는 *플릿*을 시작하는 방법을 비롯하여 스팟 인스턴스를 시작하는 데 선호되는 방법은 [어느 스팟 요청 방법을 사용하는 것이 최선인가요?](spot-best-practices.md#which-spot-request-method-to-use) 섹션을 참조하세요.

여러 스팟 인스턴스를 한 번에 요청하는 경우 각 요청 상태를 개별적으로 추적할 수 있도록 Amazon EC2에서 개별 스팟 인스턴스 요청을 생성합니다. 스팟 인스턴스 요청 추적에 대한 자세한 내용은 [스팟 인스턴스 요청 상태 가져오기](spot-request-status.md) 섹션을 참조하세요.

------
#### [ Console ]<a name="create-spot-instance-request-console-procedure"></a>

**스팟 인스턴스 요청을 생성하려면**

1\$19단계는 온디맨드 인스턴스를 시작하는 데 사용하는 단계와 동일합니다. 10단계에서는 스팟 인스턴스 요청을 구성합니다.

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

1. 화면 상단의 탐색 모음에서 리전을 선택합니다.

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

1. (선택 사항) **이름 및 태그(Name and tags)**에서 인스턴스의 이름을 지정하고 스팟 인스턴스 요청, 인스턴스, 볼륨 및 탄력적 그래픽에 태깅할 수 있습니다. 태그에 대한 자세한 내용은 [Amazon EC2 리소스 태깅](Using_Tags.md) 섹션을 참조하세요.

   1. **이름(Name)**에 인스턴스를 설명하는 이름을 입력합니다.

      인스턴스 이름은 태그이며, 여기서 키는 **이름**이고 값은 사용자가 지정하는 이름입니다. 이름을 지정하지 않으면 인스턴스를 시작할 때 자동으로 생성되는 ID로 인스턴스를 식별할 수 있습니다.

   1. 스팟 인스턴스 요청, 인스턴스, 볼륨 및 탄력적 그래픽에 태깅하려면 **추가 태그 추가(Add additional tags)**를 선택합니다. **태그 추가(Add tag)**를 선택한 다음 키와 값을 입력하고 태그를 지정할 리소스 유형을 선택합니다. 추가할 각 추가 태그에 대해 **태그 추가(Add tag)**를 다시 선택합니다.

1. **애플리케이션 및 OS 이미지(Amazon Machine Image)(Application and OS Images (Amazon Machine Image))**에서 인스턴스의 운영 체제(OS)를 선택한 다음 AMI를 선택합니다. 자세한 내용은 [애플리케이션 및 OS 이미지(Amazon Machine Image)](ec2-instance-launch-parameters.md#liw-ami) 섹션을 참조하세요.

1. **인스턴스 유형(Instance type)**에서 하드웨어 구성 및 인스턴스 크기에 대한 요구 사항을 충족하는 인스턴스 유형을 선택합니다. 자세한 내용은 [인스턴스 유형](ec2-instance-launch-parameters.md#liw-instance-type) 섹션을 참조하세요.

1. **키 페어(로그인)(Key pair (login))**에서 기존 키 페어를 선택하거나 **새로운 키 페어 생성(Create new key pair)**을 선택하여 새로 생성합니다. 자세한 내용은 [Amazon EC2 키 페어 및 Amazon EC2 인스턴스](ec2-key-pairs.md) 섹션을 참조하세요.
**중요**  
**키 페어 없이 진행(Proceed without key pair)**(권장하지 않음) 옵션을 선택할 경우 사용자가 다른 방법으로 로그인할 수 있도록 구성된 AMI를 선택해야만 인스턴스에 연결할 수 있습니다.

1. **네트워크 설정(Network settings)**에서 기본 설정을 사용하거나 **편집(Edit)**을 선택하여 필요에 따라 네트워크 설정을 구성합니다.

   보안 그룹은 네트워크 설정의 일부를 구성하고 인스턴스에 대한 방화벽 규칙을 정의합니다. 이 규칙은 인스턴스에 전달되는 수신 네트워크 트래픽을 정의합니다.

   자세한 내용은 [네트워크 설정](ec2-instance-launch-parameters.md#liw-network-settings) 섹션을 참조하세요.

1. 선택한 AMI에는 루트 디바이스 볼륨을 포함한 하나 이상의 스토리지 볼륨이 있습니다. **스토리지 구성(Configure storage)** 페이지에서 **새 볼륨 추가(Add new volume)**를 선택하여 인스턴스에 연결할 추가 볼륨을 지정할 수 있습니다. 자세한 내용은 [스토리지 구성](ec2-instance-launch-parameters.md#liw-storage) 섹션을 참조하세요.

1. **고급 세부 정보(Advanced details)**에서 스팟 인스턴스 요청을 다음과 같이 구성합니다.

   1. **구매 옵션**에서 **스팟 인스턴스 요청** 확인란을 선택합니다.

   1. 스팟 인스턴스 요청에 대한 기본 구성을 유지하거나 **사용자 지정(Customize)**(오른쪽)을 선택하여 스팟 인스턴스 요청에 대한 사용자 지정 설정을 지정할 수 있습니다.

      **사용자 지정(Customize)**을 선택하면 다음 필드가 나타납니다.

      1. **최고 가격(Maximum price)**: 스팟 가격(온디맨드 가격으로 제한됨)으로 스팟 인스턴스를 요청하거나 지불할 의향이 있는 최대 금액을 지정할 수 있습니다.
**주의**  
최고 가격을 지정하면 **최고 가격 없음(No maximum price)**을 선택하는 경우보다 인스턴스가 더 자주 중단됩니다.  
최고 가격을 지정하는 경우 USD \$10.001보다 커야 합니다. USD \$10.001 미만의 값을 지정하면 시작이 실패합니다.
         + **최고 가격 없음(No maximum price)**: 스팟 인스턴스가 현재 스팟 가격으로 시작됩니다. 가격은 온디맨드 가격을 초과하지 않습니다. (권장)
         + **최고 가격 설정(인스턴스/시간당)(Set your maximum price (per instance/hour))**: 지불할 의향이 있는 최고 금액을 지정할 수 있습니다.
           + 현재 스팟 가격보다 낮은 최고가를 지정하면 스팟 인스턴스가 시작되지 않습니다.
           + 현재 스팟 가격보다 높은 최고 가격을 지정하면 스팟 인스턴스가 현재 스팟 가격으로 시작되고 현재 스팟 가격을 기준으로 요금이 부과됩니다. 스팟 인스턴스가 실행된 후 스팟 가격이 최고 가격보다 높아지면 Amazon EC2가 스팟 인스턴스를 중단합니다.
           + 지정한 최고 가격과 관계없이 항상 현재 스팟 가격을 기준으로 비용이 청구됩니다.

           스팟 가격 추세를 검토하려면 [스팟 인스턴스 요금 기록 보기](using-spot-instances-history.md) 섹션을 참조하세요.

      1. **요청 유형(Request type)**: 선택하는 스팟 인스턴스 요청 유형에 따라 스팟 인스턴스가 중단될 때의 동작이 결정됩니다.
         + **일회성(One-time)**: Amazon EC2가 스팟 인스턴스에 대해 일회성 요청을 보냅니다. 스팟 인스턴스가 중단되면 요청이 다시 제출되지 않습니다.
         + **영구 요청(Persistent request)**: Amazon EC2가 스팟 인스턴스에 대한 영구 요청을 합니다. 스팟 인스턴스가 중단되면 중단된 스팟 인스턴스를 보충하기 위해 요청이 다시 제출됩니다.

         값을 지정하지 않으면 기본값은 일회성 요청입니다.

      1. **유효 기간 종료(Valid to)**: *영구* 스팟 인스턴스 요청의 만료 날짜입니다.

         일회성 요청에는 이 필드가 지원되지 않습니다. *일회성* 요청은 요청의 모든 인스턴스가 시작되거나 요청을 취소할 때까지 활성 상태로 유지됩니다.
         + **요청 만료 날짜 없음(No request expiry date)**: 요청이 취소될 때까지 활성 상태로 유지됩니다.
         + **요청 만료 날짜 설정(Set your request expiry date)**: 영구 요청은 지정한 날짜까지 또는 취소될 때까지 활성 상태로 유지됩니다.

      1. **인터럽트 방식(Interruption behavior)**: 선택하는 동작에 따라 스팟 인스턴스가 중단될 때의 동작이 결정됩니다.
         + 영구 요청의 경우 유효한 값은 **중지(Stop)**와 **최대 절전 모드(Hibernate)**입니다. 인스턴스가 중지되면 EBS 볼륨 스토리지에 대한 요금이 적용됩니다.
**참고**  
이제 온디맨드 인스턴스와 동일한 최대 절전 모드 기능을 스팟 인스턴스에서 사용합니다. 최대 절전 모드를 활성화하려면 여기에서 **최대 절전 모드**를 선택하거나 인스턴스 시작 마법사의 아래쪽에 나타나는 **중지 - 최대 절전 모드 동작** 필드에서 **활성화**를 선택하면 됩니다. 최대 절전 모드 사전 조건은 [EC2 인스턴스 최대 절전 모드를 위한 사전 조건](hibernating-prerequisites.md)의 섹션을 참조하세요.
         + 일회성 요청의 경우 **종료(Terminate)**만 유효합니다.

         값을 지정하지 않으면 기본값은 영구 스팟 인스턴스 요청에 유효하지 않은 **종료(Terminate)**입니다. 기본값을 유지하고 영구 스팟 인스턴스 요청을 시작하려고 하면 오류가 발생합니다.

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

1. **요약(Summary)** 패널의 **인스턴스 수(Number of instances)**에 시작할 인스턴스 수를 입력합니다.
**참고**  
Amazon EC2는 각 스팟 인스턴스에 대해 별도의 요청을 생성합니다.

1. **요약(Summary)** 패널에서 인스턴스의 세부 정보를 검토하고 필요에 따라 변경합니다. 스팟 인스턴스 요청을 제출한 후에는 요청의 파라미터를 변경할 수 없습니다. **요약(Summary)** 패널에서 해당 링크를 선택하여 인스턴스 시작 마법사의 섹션으로 직접 이동할 수 있습니다. 자세한 내용은 [요약](ec2-instance-launch-parameters.md#liw-summary) 섹션을 참조하세요.

1. 인스턴스를 시작할 준비가 되면 **인스턴스 시작(Launch instance)**을 선택합니다.

   인스턴스가 시작하지 않거나 상태가 `terminated`이 아닌 `running`로 변경되는 경우, [Amazon EC2 인스턴스 시작 문제 해결](troubleshooting-launch.md) 섹션을 참조하세요.

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

**run-instances를 사용하여 스팟 인스턴스 요청 생성**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용하고 다음과 같이 `--instance-market-options` 파라미터에 스팟 인스턴스 옵션을 지정합니다.

```
--instance-market-options file://spot-options.json
```

다음은 JSON 파일에 지정할 데이터 구조입니다. `ValidUntil` 및 `InstanceInterruptionBehavior`도 지정할 수 있습니다. 데이터 구조에서 필드를 지정하지 않으면 기본값이 사용됩니다.

다음 예제에서는 `persistent` 요청을 만듭니다.

```
{
  "MarketType": "spot",
  "SpotOptions": {
    "SpotInstanceType": "persistent"
  }
}
```

**request-spot-instances를 사용하여 스팟 인스턴스 요청을 생성하는 방법**

**참고**  
스팟 인스턴스는 계획된 투자가 없는 레거시 API이므로 [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) 명령을 사용하여 스팟 인스턴스를 요청하지 않는 것이 좋습니다. 자세한 내용은 [어느 스팟 요청 방법을 사용하는 것이 최선인가요?](spot-best-practices.md#which-spot-request-method-to-use) 섹션을 참조하세요.

[request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) 명령을 사용하여 일회성 요청을 생성합니다.

```
aws ec2 request-spot-instances \
    --instance-count 5 \
    --type "one-time" \
    --launch-specification file://specification.json
```

[request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) 명령을 사용하여 영구 요청을 생성합니다.

```
aws ec2 request-spot-instances \
    --instance-count 5 \
    --type "persistent" \
    --launch-specification file://specification.json
```

이러한 명령과 함께 사용할 시작 사양 파일에 대한 예시는 [스팟 인스턴스 요청 예제 시작 사양](spot-request-examples.md) 섹션을 참조하세요. 스팟 요청 콘솔에서 시작 사양 파일을 다운로드하는 경우 [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html) 명령을 대신 사용해야 합니다(스팟 요청 콘솔은 스팟 플릿을 사용하여 스팟 인스턴스 요청을 지정함).

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

**스팟 인스턴스 요청을 생성하려면**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet을 사용하고 `-InstanceMarketOption` 파라미터를 사용하여 스팟 인스턴스 옵션을 지정합니다.

```
-InstanceMarketOptions $marketOptions
```

다음과 같이 스팟 인스턴스 옵션에 대한 데이터 구조를 생성합니다.

```
$spotOptions = New-Object Amazon.EC2.Model.SpotMarketOptions
$spotOptions.SpotInstanceType="persistent"
$marketOptions = New-Object Amazon.EC2.Model.InstanceMarketOptionsRequest
$marketOptions.MarketType = "spot"
$marketOptions.SpotOptions = $spotOptions
```

------

# 스팟 인스턴스 요청 예제 시작 사양
<a name="spot-request-examples"></a>

다음 예제에서는 [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) 명령과 함께 사용하여 스팟 인스턴스 요청을 생성할 수 있는 시작 구성을 보여줍니다. 자세한 내용은 [스팟 인스턴스 관리](using-spot-instances-request.md) 섹션을 참조하세요.

**중요**  
스팟 인스턴스는 계획된 투자가 없는 레거시 API이므로 [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) 명령을 사용하여 스팟 인스턴스를 요청하지 않는 것이 좋습니다. 자세한 내용을 알아보려면 [어느 스팟 요청 방법을 사용하는 것이 최선인가요?](spot-best-practices.md#which-spot-request-method-to-use) 섹션을 참조하세요.

**Topics**
+ [예 1: 스팟 인스턴스 시작](#spot-launch-specification1)
+ [예제 2: 지정된 가용 영역에서 스팟 인스턴스 시작](#spot-launch-specification2)
+ [예제 3: 지정된 서브넷에서 스팟 인스턴스 시작](#spot-launch-specification3)
+ [예제 4: 전용 스팟 인스턴스 시작](#spot-launch-specification4)

## 예 1: 스팟 인스턴스 시작
<a name="spot-launch-specification1"></a>

다음 예제에는 가용 영역 또는 서브넷이 포함되지 않습니다. Amazon EC2는 가용 영역을 선택합니다. Amazon EC2는 선택된 가용 영역의 기본 서브넷에서 인스턴스를 시작합니다.

```
{
  "ImageId": "ami-0abcdef1234567890",
  "KeyName": "my-key-pair",
  "SecurityGroupIds": [ "sg-1a2b3c4d5e6f7g8h9" ],
  "InstanceType": "m5.medium",
  "IamInstanceProfile": {
      "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
  }
}
```

## 예제 2: 지정된 가용 영역에서 스팟 인스턴스 시작
<a name="spot-launch-specification2"></a>

다음 예제에는 가용 영역이 포함됩니다. Amazon EC2는 지정된 가용 영역의 기본 서브넷에서 인스턴스를 시작합니다.

```
{
  "ImageId": "ami-0abcdef1234567890",
  "KeyName": "my-key-pair",
  "SecurityGroupIds": [ "sg-1a2b3c4d5e6f7g8h9" ],
  "InstanceType": "m5.medium",
  "Placement": {
    "AvailabilityZone": "us-west-2a"
  },
  "IamInstanceProfile": {
      "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
  }
}
```

## 예제 3: 지정된 서브넷에서 스팟 인스턴스 시작
<a name="spot-launch-specification3"></a>

다음 예제에는 서브넷이 포함됩니다. Amazon EC2는 지정된 서브넷에서 인스턴스를 시작합니다. VPC가 기본이 아닌 VPC인 경우, 인스턴스는 기본적으로 퍼블릭 IPv4 주소를 받지 않습니다.

```
{
  "ImageId": "ami-0abcdef1234567890",
  "SecurityGroupIds": [ "sg-1a2b3c4d5e6f7g8h9" ],
  "InstanceType": "m5.medium",
  "SubnetId": "subnet-1a2b3c4d",
  "IamInstanceProfile": {
      "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
  }
}
```

기본이 아닌 VPC에서 인스턴스에 퍼블릭 IPv4 주소를 할당하려면 다음 예시와 같이 `AssociatePublicIpAddress` 필드를 지정하세요. 네트워크 인터페이스를 지정할 때 이전 코드 블록에 표시된 `SubnetId` 및 `SecurityGroupIds` 필드를 사용하는 대신 네트워크 인터페이스를 사용하여 서브넷 ID 및 보안 그룹 ID를 포함해야 합니다.

```
{
  "ImageId": "ami-0abcdef1234567890",
  "KeyName": "my-key-pair",
  "InstanceType": "m5.medium",
  "NetworkInterfaces": [
    {
      "DeviceIndex": 0,
      "SubnetId": "subnet-1a2b3c4d5e6f7g8h9",
      "Groups": [ "sg-1a2b3c4d5e6f7g8h9" ],
      "AssociatePublicIpAddress": true
    }
  ],
  "IamInstanceProfile": {
      "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
  }
}
```

## 예제 4: 전용 스팟 인스턴스 시작
<a name="spot-launch-specification4"></a>

다음 예제에서는 `dedicated`의 테넌시를 사용하여 스팟 인스턴스를 요청합니다. 전용 스팟 인스턴스는 VPC에서 시작되어야 합니다.

```
{
  "ImageId": "ami-0abcdef1234567890",
  "KeyName": "my-key-pair",
  "SecurityGroupIds": [ "sg-1a2b3c4d5e6f7g8h9" ],
  "InstanceType": "c5.8xlarge",
  "SubnetId": "subnet-1a2b3c4d5e6f7g8h9",
  "Placement": {
    "Tenancy": "dedicated"
  }
}
```

# 스팟 인스턴스 요청 상태 가져오기
<a name="spot-request-status"></a>

스팟 인스턴스 요청을 추적하고 스팟 인스턴스 사용 계획을 세우는 데 도움이 되도록 Amazon EC2에서 제공하는 요청 상태를 사용합니다. 예를 들어, 요청 상태는 스팟 요청이 아직 이행되지 않는 이유를 알려주거나, 스팟 요청을 이행할 수 없는 제약 조건을 나열할 수 있습니다.

프로세스의 각 단계(스팟 요청 *수명 주기*라고도 함)에서 특정 이벤트에 따라 연속 요청 상태가 결정됩니다.

다음 그림에서는 스팟 인스턴스 요청이 작동하는 방식을 보여 줍니다. 요청 유형(일회성 또는 영구적)에 따라 Amazon EC2가 스팟 인스턴스를 중단할 때 또는 사용자가 스팟 인스턴스를 중지하는 경우 요청이 다시 열리는지 여부가 결정됩니다. 요청이 영구적인 경우 스팟 인스턴스가 중단된 후 요청이 다시 열립니다. 요청이 영구적이고 사용자가 스팟 인스턴스를 중지하는 경우 스팟 인스턴스를 시작한 후에만 요청이 열립니다.

![\[스팟 인스턴스 요청 작동 방식입니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/spot_lifecycle.png)


**Topics**
+ [요청 상태 정보 가져오기](#get-spot-instance-request-status)
+ [스팟 요청 상태 코드](#spot-instance-request-status-understand)
+ [EC2 스팟 인스턴스 요청 이행 이벤트](#spot-request-fulfillment-event)
+ [스팟 요청의 상태 변경](spot-instances-request-status-lifecycle.md)

## 요청 상태 정보 가져오기
<a name="get-spot-instance-request-status"></a>

스팟 인스턴스 요청에 대한 상태 정보를 가져올 수 있습니다.

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

**요청 상태 정보를 가져오는 방법**

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

1. 탐색 창에서 **스팟 요청**을 선택한 다음 스팟 요청을 선택합니다.

1. 상태를 확인하려면 **설명** 탭에서 **상태** 필드를 선택합니다.

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

**요청 상태 정보를 가져오는 방법**  
다음 [describe-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-instance-requests.html) 명령을 사용합니다.

```
aws ec2 describe-spot-instance-requests --spot-instance-request-ids sir-0e54a519c9EXAMPLE
```

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

**요청 상태 정보를 가져오는 방법**  
[Get-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotInstanceRequest.html) cmdlet을 사용합니다.

```
Get-EC2SpotInstanceRequest -SpotInstanceRequestId sir-0e54a519c9EXAMPLE
```

------

## 스팟 요청 상태 코드
<a name="spot-instance-request-status-understand"></a>

스팟 요청 상태 정보는 상태 코드, 업데이트 시간 및 상태 메시지로 구성됩니다. 이러한 정보를 하나로 모으면 스팟 요청 배치를 결정하는 데 도움이 됩니다.

다음은 스팟 요청 상태 코드입니다.

`az-group-constraint`  
Amazon EC2가 동일한 가용 영역에 요청한 모든 인스턴스를 시작할 수 있는 것은 아닙니다.

`bad-parameters`  
스팟 요청에 대한 파라미터 하나 이상이 올바르지 않습니다(예를 들어, 지정한 AMI가 존재하지 않음). 상태 메시지는 어떤 파라미터가 유효하지 않은지를 나타냅니다.

`canceled-before-fulfillment`  
요청이 이행되기 전에 사용자가 스팟 요청을 취소했습니다.

`capacity-not-available`  
요청한 인스턴스에 사용 가능한 용량이 부족합니다.

`constraint-not-fulfillable`  
하나 이상의 제약 조건이 올바르지 않기 때문에(예: 가용 영역이 존재하지 않음) 스팟 요청을 이행할 수 없습니다. 상태 메시지는 어떤 제약 조건이 유효하지 않은지를 나타냅니다.

`fulfilled`  
스팟 요청이 `active`이고 Amazon EC2에서 스팟 인스턴스를 시작하는 중입니다.

`instance-stopped-by-price`  
스팟 가격이 최고 가격을 초과하여 인스턴스가 중지됩니다.

`instance-stopped-by-user`  
사용자가 인스턴스를 중지했거나 인스턴스에서 종료 명령을 실행했기 때문에 인스턴스가 중지되었습니다.

`instance-stopped-no-capacity`  
EC2 용량 관리 필요성으로 인해 인스턴스가 중지되었습니다.

`instance-terminated-by-price`  
스팟 가격이 최고 가격을 초과하여 인스턴스가 종료됩니다. 요청이 영구적일 경우 프로세스가 다시 시작되므로 요청은 평가 보류 상태입니다.

`instance-terminated-by-schedule`  
스팟 인스턴스가 예약 기간의 만료로 종료되었습니다.

`instance-terminated-by-service`  
인스턴스가 중지된 상태에서 종료되었습니다.

`instance-terminated-by-user` , 또는 `spot-instance-terminated-by-user`  
이행된 스팟 인스턴스를 종료했으므로 요청 상태는 `closed`이고(영구 요청이 아닌 경우) 인스턴스 상태는 `terminated`입니다.

`instance-terminated-launch-group-constraint`  
시작 그룹에 있는 하나 이상의 인스턴스가 종료되었으므로 시작 그룹 제약 조건이 더 이상 충족되지 않습니다.

`instance-terminated-no-capacity`  
표준 용량 관리 프로세스로 인해 인스턴스가 종료되었습니다.

`launch-group-constraint`  
Amazon EC2가 동일한 시간에 요청한 모든 인스턴스를 시작할 수 있는 것은 아닙니다. 시작 그룹에 있는 모든 인스턴스가 함께 시작되고 종료됩니다.

`limit-exceeded`  
EBS 볼륨 또는 전체 볼륨 스토리지 수 제한을 초과했습니다. 자세한 내용은 *Amazon EBS 사용 설명서*의 [Quotas for Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-resource-quotas.html)를 참조하세요.

`marked-for-stop`  
스팟 인스턴스가 중지할 대상으로 표시되어 있습니다.

`marked-for-termination`  
스팟 인스턴스가 종료할 대상으로 표시되어 있습니다.

`not-scheduled-yet`  
예정된 날짜까지 스팟 요청이 평가되지 않습니다.

`pending-evaluation`  
스팟 인스턴스 요청을 수행한 후 시스템에서 요청 파라미터를 평가하는 동안 요청이 `pending-evaluation` 상태로 전환됩니다.

`pending-fulfillment`  
Amazon EC2에서 스팟 인스턴스를 프로비저닝하려고 합니다.

`placement-group-constraint`  
이 시점에는 스팟 인스턴스를 배치 그룹에 추가할 수 없으므로 아직 스팟 요청을 이행할 수 없습니다.

`price-too-low`  
최고 가격이 스팟 가격보다 낮기 때문에 요청을 이행할 수 없습니다. 이 경우 인스턴스가 시작되지 않으며 요청이 `open` 상태로 유지됩니다.

`request-canceled-and-instance-running`  
스팟 인스턴스가 아직 실행되고 있는 중에 사용자가 스팟 요청을 취소했습니다. 요청은 `cancelled` 상태지만 인스턴스는 여전히 `running` 상태입니다.

`schedule-expired`  
지정된 날짜 이전에 요청이 이행되지 않았기 때문에 스팟 요청이 만료되었습니다.

`system-error`  
예상치 않은 시스템 오류입니다. 이 문제가 반복되면 AWS Support에 문의하여 지원을 받으세요.

## EC2 스팟 인스턴스 요청 이행 이벤트
<a name="spot-request-fulfillment-event"></a>

스팟 인스턴스 요청이 이행되면 Amazon EC2가 EC2 스팟 인스턴스 요청 이행 이벤트를 Amazon EventBridge로 전송합니다. 이 이벤트가 발생할 때마다 Lambda 함수를 호출하거나 Amazon SNS 주제를 알리는 등의 조치를 취하는 규칙을 생성할 수 있습니다.

다음은 이 이벤트의 예제 데이터입니다.

```
{
    "version": "0",
    "id": "01234567-1234-0123-1234-012345678901",
    "detail-type": "EC2 Spot Instance Request Fulfillment",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2:123456789012:instance/i-1234567890abcdef0"],
    "detail": {
        "spot-instance-request-id": "sir-0e54a519c9EXAMPLE",
        "instance-id": "i-1234567890abcdef0"
    }
}
```

자세한 내용은 [Amazon EventBridge 사용 설명서](https://docs.aws.amazon.com/eventbridge/latest/userguide/)를 참조하세요.

# 스팟 요청의 상태 변경
<a name="spot-instances-request-status-lifecycle"></a>

다음 다이어그램에서는 제출부터 종료까지 전체 수명 주기 동안 스팟 요청이 따를 수 있는 경로를 보여 줍니다. 각 단계는 노드로 묘사되며 각 노드의 상태 코드는 스팟 요청 및 스팟 인스턴스의 상태를 설명합니다.

![\[스팟 인스턴스 요청의 수명 주기입니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/spot-request-status-diagram.png)


**평가 보류**  
하나 이상의 요청 파라미터가 유효하지 않은 경우(`bad-parameters`)를 제외하고, 스팟 인스턴스 요청을 생성하는 즉시 요청은 `pending-evaluation` 상태로 전환됩니다.


| 상태 코드 | 요청 상태 | 인스턴스 상태 | 
| --- | --- | --- | 
| pending-evaluation | open | 해당 사항 없음 | 
| bad-parameters | closed | 해당 사항 없음 | 

**보류**  
하나 이상의 요청 제약 조건이 적용되지만 아직 충족될 수 없는 경우 또는 용량이 부족한 경우 요청은 제약 조건이 충족될 때까지 대기하는 보류 상태로 전환됩니다. 요청 옵션은 요청이 이행될 가능성에 영향을 미칩니다. 예를 들어 용량이 없는 경우 가용 용량이 가용할 때까지 요청은 보류 상태로 유지됩니다. 가용 영역 그룹을 지정할 경우 가용 영역 제약 조건이 충족될 때까지 요청은 보류 상태로 유지됩니다.

특정 가용 영역 중단 시, 다른 가용 영역에서의 스팟 인스턴스 요청에 사용할 수 있는 예비 EC2 용량이 영향을 받을 수 있습니다.


| 상태 코드 | 요청 상태 | 인스턴스 상태 | 
| --- | --- | --- | 
| capacity-not-available | open |  해당 사항 없음  | 
| price-too-low | open |  해당 사항 없음  | 
| not-scheduled-yet | open |  해당 사항 없음  | 
| launch-group-constraint | open |  해당 사항 없음  | 
| az-group-constraint | open |  해당 사항 없음  | 
|  placement-group-constraint  |  open  |  해당 사항 없음  | 
|  constraint-not-fulfillable  |  open  |  해당 사항 없음  | 

**평가/이행 보류-끝**  
특정 기간 동안에만 유효한 요청을 생성하는 경우 요청이 이행 보류 단계에 도달하기 전에 이 기간이 만료되면 스팟 인스턴스 요청은 `terminal` 상태로 전환될 수 있습니다. 요청을 취소하거나 시스템 오류가 발생하는 경우에도 이와 같이 될 수 있습니다.


| 상태 코드 | 요청 상태 | 인스턴스 상태 | 
| --- | --- | --- | 
|  schedule-expired  |  cancelled  |  해당 사항 없음  | 
|  16  |  cancelled  |  해당 사항 없음  | 
|  bad-parameters  |  failed  |  해당 사항 없음  | 
|  system-error  |  closed  |  해당 사항 없음  | 

¹ 사용자가 요청을 취소하는 경우.

**이행 보류**  
지정한 제약 조건(있는 경우)이 충족되면 스팟 요청이 `pending-fulfillment` 상태가 됩니다.

이 시점에 Amazon EC2는 요청한 인스턴스를 프로비저닝할 준비를 합니다. 프로세스가 이 시점에 중지되는 경우 스팟 인스턴스가 시작되기 전에 사용자가 프로세스를 취소했기 때문일 수 있습니다. 예기치 않은 시스템 오류가 원인일 수도 있습니다.


| 상태 코드 | 요청 상태 | 인스턴스 상태 | 
| --- | --- | --- | 
|  pending-fulfillment  |  open  |  해당 사항 없음  | 

**이행됨**  
스팟 인스턴스에 대한 모든 사양이 충족되면 스팟 요청이 이행됩니다. Amazon EC2가 스팟 인스턴스를 시작합니다. 이 작업은 몇 분 정도 걸릴 수 있습니다. 중단된 스팟 인스턴스가 최대 절전 모드로 전환되거나 중지되는 경우 요청을 다시 이행할 수 있거나 요청이 취소될 때까지 인스턴스는 이 상태를 유지합니다.


| 상태 코드 | 요청 상태 | 인스턴스 상태 | 
| --- | --- | --- | 
|  fulfilled  |  active  |  pending → running  | 
|  fulfilled  |  active  |  stopped → running  | 

스팟 인스턴스를 중지하면 스팟 인스턴스를 다시 시작할 수 있거나 요청을 취소할 때까지 스팟 요청이 `marked-for-stop` 또는 `instance-stopped-by-user` 상태로 전환됩니다.


| 상태 코드 | 요청 상태 | 인스턴스 상태 | 
| --- | --- | --- | 
|  marked-for-stop  | active |  stopping  | 
|  16  |  disabled 또는 cancelled ²  |  stopped  | 

¹ 인스턴스를 중지하거나 인스턴스에서 종료 명령을 실행하면 스팟 인스턴스가 `instance-stopped-by-user` 상태가 됩니다. 인스턴스를 중지한 후 다시 시작할 수 있습니다. 다시 시작하면 스팟 인스턴스 요청이 `pending-evaluation` 상태가 되고 제약 조건이 충족되면 Amazon EC2가 새 스팟 인스턴스를 시작합니다.

² 스팟 인스턴스를 중지하지만 요청을 취소하지 않는 경우 스팟 요청 상태는 `disabled`입니다. 스팟 인스턴스가 중지되고 요청이 만료되는 경우 요청 상태는 `cancelled`입니다.

**이행됨-끝**  
스팟 인스턴스는 인스턴스 유형에 사용 가능한 용량이 있고 인스턴스를 종료하지 않는 한 계속 실행됩니다. Amazon EC2가 스팟 인스턴스를 종료해야 하는 경우 스팟 요청은 터미널 상태가 됩니다. 사용자가 스팟 요청을 취소하거나 스팟 인스턴스를 종료하는 경우에도 요청이 종료 상태로 전환됩니다.


| 상태 코드 | 요청 상태 | 인스턴스 상태 | 
| --- | --- | --- | 
|  request-canceled-and-instance-running  |  cancelled  |  running  | 
|  marked-for-stop  |  active  |  running  | 
|  marked-for-termination  |  active  |  running  | 
|  instance-stopped-by-price  |  disabled  |  stopped  | 
|  instance-stopped-by-user  |  disabled  |  stopped  | 
|  instance-stopped-no-capacity  |  disabled  |  stopped  | 
|  instance-terminated-by-price  |  closed(일회), open(영구)  |  terminated  | 
|  instance-terminated-by-schedule  |  closed  |  terminated  | 
|  instance-terminated-by-service  |  cancelled  |  terminated  | 
|  instance-terminated-by-user  |  closed 또는 cancelled ¹  |  terminated  | 
|  instance-terminated-no-capacity  |  closed(일회), open(영구)  |  running †  | 
|  instance-terminated-no-capacity  |  closed(일회), open(영구)  |  terminated  | 
|  instance-terminated-launch-group-constraint  |  closed(일회), open(영구)  |  terminated  | 

¹ 인스턴스를 종료하되 요청을 취소하지 않는 경우 요청 상태는 `closed`입니다. 인스턴스를 종료하고 요청을 취소하는 경우 요청 상태는 `cancelled`입니다. 스팟 요청을 취소하기 전에 스팟 인스턴스를 종료해도 Amazon EC2에서 스팟 인스턴스가 종료되었음을 감지하기 전까지 지연이 발생할 수 있습니다. 이 경우 요청 상태는 `closed` 또는 `cancelled`일 수 있습니다.

† 용량이 다시 필요*하고* 인스턴스가 중단 시 *종료*되도록 구성된 경우 Amazon EC2가 스팟 인스턴스를 중단하면 상태가 즉시 `instance-terminated-no-capacity`로 설정됩니다(`marked-for-termination`으로 설정되지 않음). 그러나 인스턴스가 스팟 인스턴스 중단 알림을 수신한 2분 기간을 반영하기 위해 인스턴스는 2분 동안 `running` 상태를 유지합니다. 2분 후 인스턴스 상태가 `terminated`로 설정됩니다.

**중단 시험**  
AWS Fault Injection Service를 사용하여 스팟 인스턴스 중단을 시작하여 스팟 인스턴스의 애플리케이션이 어떻게 응답하는지 테스트할 수 있습니다. AWS FIS가 스팟 인스턴스를 중지하면 스팟 요청이 `marked-for-stop-by-experiment` 상태, 이어서 `instance-stopped-by-experiment` 상태로 진입합니다. AWS FIS가 인스턴스를 종료하면 스팟 요청은 `instance-terminated-by-experiment` 상태가 됩니다. 자세한 내용은 [스팟 인스턴스 중단 시작](initiate-a-spot-instance-interruption.md) 섹션을 참조하세요.


| 상태 코드 | 요청 상태 | 인스턴스 상태 | 
| --- | --- | --- | 
| marked-for-stop-by-experiment | active | running | 
| instance-stopped-by-experiment | disabled | stopped | 
| instance-terminated-by-experiment | closed | terminated | 

**영구 요청**  
스팟 인스턴스가 종료될 때(사용자가 종료하거나 Amazon EC2에서 종료) 스팟 요청이 영구 요청인 경우 `pending-evaluation` 상태로 복귀한 후 제약 조건이 충족되면 Amazon EC2에서 새로운 스팟 인스턴스를 시작할 수 있습니다.

# 스팟 인스턴스 요청 태깅
<a name="concepts-spot-instances-request-tags"></a>

스팟 인스턴스 요청을 쉽게 분류하고 관리하려면 사용자 지정 메타데이터로 이 요청을 태깅할 수 있습니다. 스팟 인스턴스 요청을 생성할 때 또는 생성한 후 스팟 인스턴스 요청에 태그를 할당할 수 있습니다. Amazon EC2 콘솔이나 명령줄 도구를 사용하여 태그를 지정할 수 있습니다.

스팟 인스턴스 요청을 태깅하는 경우 스팟 인스턴스 요청에서 시작된 인스턴스 및 볼륨은 자동으로 태깅되지 않습니다. 스팟 인스턴스 요청에서 시작된 인스턴스 및 볼륨을 명시적으로 태깅해야 합니다. 시작 중 또는 이후에 스팟 인스턴스 및 볼륨에 태그를 할당할 수 있습니다.

태그 작동 방식에 대한 자세한 내용은 [Amazon EC2 리소스 태깅](Using_Tags.md) 섹션을 참조하세요.

**Topics**
+ [사전 조건](#tag-spot-request-prereqs)
+ [새 스팟 인스턴스 요청을 태깅하려면](#tag-new-spot-instance-request)
+ [기존 스팟 인스턴스 요청을 태깅하려면](#tag-existing-spot-instance-request)
+ [스팟 인스턴스 요청 태그 보기](#view-spot-instance-request-tags)

## 사전 조건
<a name="tag-spot-request-prereqs"></a>

사용자에게 리소스에 태그를 지정할 수 있는 권한을 부여합니다. IAM 정책 및 예제 정책에 대한 자세한 내용은 [예: 태그 리소스](ExamplePolicies_EC2.md#iam-example-taggingresources) 섹션을 참조하세요.

생성하는 IAM 정책은 스팟 인스턴스 요청을 생성할 때 사용하는 방법에 따라 결정됩니다.
+ 인스턴스 시작 마법사 또는 `run-instances`를 사용하여 스팟 인스턴스를 요청하는 경우 [To grant a user the permission to tag resources when using the launch instance wizard or run-instances](#iam-run-instances) 섹션을 참조하세요.
+ `request-spot-instances` 명령을 사용하여 스팟 인스턴스를 요청하는 방법에 대한 자세한 내용은 [To grant a user the permission to tag resources when using request-spot-instances](#iam-request-spot-instances) 섹션을 참조하세요.

**사용자에게 인스턴스 시작 마법사 또는 run-instances를 사용할 때 리소스에 태그를 지정할 수 있는 권한 부여**  
다음을 포함하는 IAM 정책을 만듭니다.
+ `ec2:RunInstances` 작업 사용자에게 인스턴스 시작 권한이 부여됩니다.
+ `Resource`에 `spot-instances-request`을 지정합니다. 이렇게 하면 사용자가 스팟 인스턴스를 요청하는 스팟 인스턴스 요청을 생성할 수 있습니다.
+ `ec2:CreateTags` 작업 사용자에게 태그 생성 권한이 부여됩니다.
+ `Resource`에 `*`을 지정합니다. 이를 통해 사용자가 인스턴스 시작 중에 생성된 모든 리소스에 태그를 지정할 수 있습니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowLaunchInstances",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "TagSpotInstanceRequests",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

RunInstances 작업을 사용하여 스팟 인스턴스 요청을 생성하고 생성 시 스팟 인스턴스 요청을 태깅하는 경우 Amazon EC2가 RunInstances 문에서 `spot-instances-request` 리소스를 평가하는 방법을 알고 있어야 합니다. 이는 IAM 정책에서 다음과 같이 평가됩니다.
+ 생성 시 스팟 인스턴스 요청을 태깅하지 않으면 Amazon EC2가 RunInstances 문에서 `spot-instances-request` 리소스를 평가하지 않습니다.
+ 생성 시 스팟 인스턴스 요청을 태깅하면 Amazon EC2가 RunInstances 문에서 `spot-instances-request` 리소스를 평가합니다.

따라서 `spot-instances-request` 리소스의 경우 IAM 정책에 다음 규칙이 적용됩니다.
+ RunInstances를 사용하여 스팟 인스턴스 요청을 생성하고 생성 시 스팟 인스턴스 요청을 태깅하지 않으려는 경우 `spot-instances-request` 리소스를 명시적으로 허용할 필요가 없습니다. 호출이 성공합니다.
+ RunInstances를 사용하여 스팟 인스턴스 요청을 생성하고 생성 시 스팟 인스턴스 요청을 태깅하려는 경우 RunInstances allow 문에 `spot-instances-request` 리소스를 포함해야 합니다. 그러지 않으면 호출이 실패합니다.
+ RunInstances를 사용하여 스팟 인스턴스 요청을 생성하고 생성 시 스팟 인스턴스 요청을 태깅하려는 경우 CreateTags allow 문에서 `spot-instances-request` 리소스를 지정하거나 `*` 와일드카드를 포함해야 합니다. 그러지 않으면 호출이 실패합니다.

스팟 인스턴스 요청에 지원되지 않는 정책을 포함한 예제 IAM 정책은 [스팟 인스턴스 작업](ExamplePolicies_EC2.md#iam-example-spot-instances) 섹션을 참조하세요.

**사용자에게 request-spot-instances를 사용할 때 리소스에 태그를 지정할 수 있는 권한 부여**  
다음을 포함하는 IAM 정책을 만듭니다.
+ `ec2:RequestSpotInstances` 작업 사용자에게 스팟 인스턴스 요청을 생성할 수 있는 권한이 부여됩니다.
+ `ec2:CreateTags` 작업 사용자에게 태그 생성 권한이 부여됩니다.
+ `Resource`에 `spot-instances-request`을 지정합니다. 이렇게 하면 사용자가 스팟 인스턴스 요청만 태깅할 수 있습니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TagSpotInstanceRequest",
            "Effect": "Allow",
            "Action": [
                "ec2:RequestSpotInstances",
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:spot-instances-request/*"
        }
    ]
}
```

------

## 새 스팟 인스턴스 요청을 태깅하려면
<a name="tag-new-spot-instance-request"></a>

AWS CLI 및 PowerShell 예제에서 스팟 인스턴스 요청을 다음과 같이 구성합니다.
+ `ResourceType`에 `spot-instances-request`을 지정합니다. 다른 값을 지정하면 스팟 인스턴스 요청이 실패합니다.
+ `Tags`에 대해 키-값 페어를 지정합니다. 둘 이상의 키-값 페어를 지정할 수 있습니다.

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

**새 스팟 인스턴스 요청에 태그를 지정하는 방법**

1. [스팟 인스턴스 관리](using-spot-instances-request.md)의 절차를 따르세요.

1. 태그를 추가하려면 **태그 추가** 페이지에서 **태그 추가**를 선택하고 해당 태그에 대한 키와 값을 입력합니다. 각 추가 태그에 **다른 태그 추가**를 선택합니다.

   각 태그에 대해 동일한 태그로 스팟 인스턴스 요청, 스팟 인스턴스 및 볼륨을 태깅할 수 있습니다. 세 가지 모두를 태깅하려면 [**인스턴스(Instances)**], [**볼륨(Volumes)**] 및 [**스팟 인스턴스 요청(Spot Instance Requests)**]이 선택되어 있는지 확인합니다. 한두 개만 태그를 지정하려면 태그를 지정할 리소스가 선택되어 있고 나머지 리소스는 선택 취소되어 있는지 확인합니다.

1. 필수 필드를 입력하여 스팟 인스턴스 요청을 생성한 다음 [**시작(Launch)**]을 선택합니다. 자세한 내용은 [스팟 인스턴스 관리](using-spot-instances-request.md) 섹션을 참조하세요.

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

**새 스팟 인스턴스 요청에 태그를 지정하는 방법**  
[request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) 명령을 `--tag-specification` 옵션과 함께 사용합니다.

태그 사양은 스팟 인스턴스 요청에 `Environment=Production` 및 `Cost-Center=123`이라는 2개의 태그를 추가합니다.

```
aws ec2 request-spot-instances \
    --instance-count 5 \
    --type "one-time" \
    --launch-specification file://specification.json \
    --tag-specification 'ResourceType=spot-instances-request,Tags=[{Key=Environment,Value=Production},{Key=Cost-Center,Value=123}]'
```

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

**새 스팟 인스턴스 요청에 태그를 지정하는 방법**  
[Request-EC2SpotInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Request-EC2SpotInstance.html) cmdlet을 `-TagSpecification` 파라미터와 함께 사용합니다.

```
-TagSpecification $tagspec
```

태그 사양은 다음과 같이 정의됩니다. 스팟 인스턴스 요청에 `Environment=Production` 및 `Cost-Center=123`이라는 2개의 태그를 추가합니다.

```
$tag1 = @{Key="Environment"; Value="Production"}
$tag2 = @{Key="Cost-Center"; Value="123"}
$tagspec = New-Object Amazon.EC2.Model.TagSpecification
$tagspec.ResourceType = "spot-instances-request"
$tagspec.Tags = @($tag1,$tag2)
```

------

## 기존 스팟 인스턴스 요청을 태깅하려면
<a name="tag-existing-spot-instance-request"></a>

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

**기존 스팟 인스턴스 요청에 태그를 지정하는 방법**

스팟 인스턴스 요청을 생성한 후 콘솔을 사용하여 스팟 인스턴스 요청에 태그를 추가할 수 있습니다.

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

1. 탐색 창에서 **스팟 요청**을 선택합니다.

1. 스팟 인스턴스 요청을 선택합니다.

1. **태그** 탭을 선택하고 **태그 생성**을 선택합니다.

**콘솔을 사용하여 기존 스팟 인스턴스를 태깅하려면**  
스팟 인스턴스 요청에서 스팟 인스턴스가 시작된 후 콘솔을 사용하여 인스턴스에 태그를 추가할 수 있습니다. 자세한 내용은 [콘솔을 사용하여 태그 추가](Using_Tags_Console.md#adding-or-deleting-tags) 섹션을 참조하세요.

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

**기존 스팟 인스턴스 요청 또는 스팟 인스턴스에 태그를 지정하려면**  
[create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) 명령을 사용하여 기존 리소스에 태그를 지정합니다. 다음 예제에서는 기존 스팟 인스턴스 요청 및 스팟 인스턴스에 `purpose=test` 태그가 지정됩니다.

```
aws ec2 create-tags \
    --resources sir-0e54a519c9EXAMPLE i-1234567890abcdef0 \
    --tags Key=purpose,Value=test
```

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

**기존 스팟 인스턴스 요청 또는 스팟 인스턴스에 태그를 지정하려면**  
[New-EC2Tag](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Tag.html) cmdlet을 사용합니다. 다음 예제는 기존 스팟 인스턴스 요청 및 스팟 인스턴스에 `purpose=test` 태그를 추가합니다.

```
New-EC2Tag `
    -Resource sir-0e54a519c9EXAMPLE, i-1234567890abcdef0 `
    -Tag @{Key="purpose"; Value="test"}
```

------

## 스팟 인스턴스 요청 태그 보기
<a name="view-spot-instance-request-tags"></a>

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

**스팟 인스턴스 요청 태그를 보는 방법**

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

1. 탐색 창에서 **스팟 요청**을 선택합니다.

1. 스팟 인스턴스 요청을 선택하고 [**태그(Tags)**] 탭을 선택합니다.

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

**스팟 인스턴스 요청 태그를 설명하려면**  
[describe-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-instance-requests.html) 명령을 사용하여 지정된 스팟 인스턴스 요청의 구성을 볼 수 있습니다. 여기에는 요청에 지정된 모든 태그가 포함됩니다.

```
aws ec2 describe-spot-instance-requests \
    --spot-instance-request-ids sir-0e54a519c9EXAMPLE \
    --query "SpotInstanceRequests[*].Tags"
```

다음은 예제 출력입니다.

```
[
    [
        {
            "Key": "Environment",
            "Value": "Production"
        },
        {
            "Key": "Department",
            "Value": "101"
        }
    ]
]
```

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

**스팟 인스턴스 요청 태그를 설명하려면**  
[Get-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotInstanceRequest.html) cmdlet을 사용합니다.

```
(Get-EC2SpotInstanceRequest `
    -SpotInstanceRequestId sir-0e54a519c9EXAMPLE).Tags
```

다음은 예제 출력입니다.

```
Key         Value
---         -----
Environment Production
Department  101
```

------

# 스팟 인스턴스 요청 취소
<a name="using-spot-instances-cancel"></a>

스팟 인스턴스 요청이 더 이상 필요하지 않은 경우 취소할 수 있습니다. `open`, `active` 또는 `disabled` 상태인 스팟 인스턴스 요청만 취소할 수 있습니다.
+ 요청이 아직 이행되지 않았고 인스턴스가 시작되지 않았을 때 스팟 인스턴스 요청 상태는 `open`입니다.
+ 요청이 이행되었고 그 결과로 스팟 인스턴스가 시작된 경우 스팟 인스턴스 요청 상태는 `active`입니다.
+ 스팟 인스턴스를 중지하면 스팟 인스턴스 요청이 `disabled` 상태가 됩니다.

스팟 인스턴스 요청이 `active` 상태이고 실행 중인 스팟 인스턴스가 연결되어 있을 때 요청을 취소하면 인스턴스가 종료되지 않습니다. 스팟 인스턴스 종료에 대한 자세한 내용은 [스팟 인스턴스 종료](using-spot-instances-request.md#terminating-a-spot-instance) 섹션을 참조하세요.

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

**스팟 인스턴스 요청을 취소하는 방법**

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

1. 탐색 창에서 **스팟 요청**을 선택합니다.

1. 스팟 인스턴스 요청을 선택합니다.

1. **작업**을 선택한 후, **요청 취소**를 선택합니다.

1. (선택 사항) 연결된 스팟 인스턴스에 대한 작업을 완료했으면 종료할 수 있습니다. **스팟 요청 취소** 대화 상자에서 **인스턴스 종료**를 선택한 다음 **확인**을 선택합니다.

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

**스팟 인스턴스 요청을 취소하는 방법**  
다음 [cancel-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-spot-instance-requests.html) 명령을 사용합니다.

```
aws ec2 cancel-spot-instance-requests --spot-instance-request-ids sir-0e54a519c9EXAMPLE
```

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

**스팟 인스턴스 요청을 취소하는 방법**  
[Stop-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2SpotInstanceRequest.html) cmdlet을 사용합니다.

```
Stop-EC2SpotInstanceRequest -SpotInstanceRequestId sir-0e54a519c9EXAMPLE
```

------

# 스팟 인스턴스 관리
<a name="using-spot-instances-request"></a>

Amazon EC2는 용량이 사용 가능할 때 스팟 인스턴스를 시작합니다. 스팟 인스턴스는 중단되거나 사용자가 직접 종료할 때까지 실행됩니다.

**Topics**
+ [스팟 인스턴스 찾기](#using-spot-instances-running)
+ [특정 요청에 따라 시작된 인스턴스 찾기](#find-request-spot-instances)
+ [스팟 인스턴스 중지](#stopping-a-spot-instance)
+ [스팟 인스턴스 시작](#starting-a-spot-instance)
+ [스팟 인스턴스 종료](#terminating-a-spot-instance)

## 스팟 인스턴스 찾기
<a name="using-spot-instances-running"></a>

스팟 인스턴스는 온디맨드 인스턴스와 함께 콘솔의 **인스턴스** 페이지에 나타납니다. 다음 절차에 따라 스팟 인스턴스를 찾습니다.

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

**스팟 인스턴스를 찾는 방법**

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

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

1. 모든 스팟 인스턴스를 찾으려면 검색 창에서 **인스턴스 수명 주기=스팟**을 선택합니다.

1. 인스턴스가 스팟 인스턴스인지 확인하려면 인스턴스를 선택하고 **세부 정보** 탭을 선택한 다음 **수명 주기** 값을 확인합니다. 스팟 인스턴스의 값은 `spot` 이고 온디맨드 인스턴스의 값은 `normal`입니다.

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

**스팟 인스턴스를 찾는 방법**  
다음 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용합니다.

```
aws ec2 describe-instances --filters "Name=instance-lifecycle,Values=spot"
```

**인스턴스가 스팟 인스턴스인지 여부를 확인하려면**  
다음 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용합니다.

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query "Reservations[*].Instances[*].InstanceLifecycle" \
    --output text
```

출력이 `spot`이라면 인스턴스는 스팟 인스턴스입니다. 출력이 없다면 인스턴스는 온디맨드 인스턴스입니다.

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

**스팟 인스턴스를 찾는 방법**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet을 사용합니다.

```
Get-EC2Instance -Filter @{Name="instance-lifecycle"; Values="spot"}
```

**인스턴스가 스팟 인스턴스인지 여부를 확인하려면**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet을 사용합니다.

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

출력이 `Spot`이라면 인스턴스는 스팟 인스턴스입니다. 출력이 없다면 인스턴스는 온디맨드 인스턴스입니다.

------

## 특정 요청에 따라 시작된 인스턴스 찾기
<a name="find-request-spot-instances"></a>

다음 절차를 사용하여 특정 스팟 인스턴스 또는 스팟 플릿 요청에서 시작된 스팟 인스턴스를 찾을 수 있습니다.

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

**요청에 대한 스팟 인스턴스를 찾는 방법**

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

1. 탐색 창에서 **스팟 요청**을 선택합니다. 목록에는 스팟 인스턴스 요청과 스팟 플릿 요청이 모두 포함되어 있습니다.

1. 스팟 인스턴스 요청이 이행된 경우 **용량**은 스팟 인스턴스의 ID입니다. 스팟 플릿의 경우 [**용량(Capacity)**]은 요청된 용량 중 이행된 용량을 나타냅니다. 스팟 플릿의 인스턴스 ID를 보려면 확장 화살표를 선택하거나 플릿을 선택한 후 [**인스턴스(Instances)**]를 선택합니다.

1. 스팟 플릿의 경우 **용량**은 요청된 용량 중 이행된 용량을 나타냅니다. 스팟 플릿의 인스턴스 ID를 보려면 플릿 ID를 선택하여 세부 정보 페이지를 열고 **인스턴스** 창을 찾습니다.

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

**요청에 대한 스팟 인스턴스를 찾는 방법**  
다음 [describe-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-instance-requests.html) 명령을 사용합니다.

```
aws ec2 describe-spot-instance-requests \
    --spot-instance-request-ids sir-0e54a519c9EXAMPLE \
    --query "SpotInstanceRequests[*].{ID:InstanceId}"
```

다음은 예제 출력입니다.

```
[
    {
        "ID": "i-1234567890abcdef0"
    },
    {
        "ID": "i-0598c7d356eba48d7"
    }
]
```

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

**요청에 대한 스팟 인스턴스를 찾는 방법**  
[Get-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotInstanceRequest.html) cmdlet을 사용합니다.

```
(Get-EC2SpotInstanceRequest -SpotInstanceRequestId sir-0e54a519c9EXAMPLE).InstanceId
```

------

## 스팟 인스턴스 중지
<a name="stopping-a-spot-instance"></a>

지금 스팟 인스턴스가 필요하지 않지만, 나중에 Amazon EBS 볼륨에 유지된 데이터를 잃어버리지 않고 다시 시작하려면 스팟 인스턴스를 중지할 수 있습니다. 스팟 인스턴스를 중지하는 단계는 온디맨드 인스턴스를 중지하는 단계와 비슷합니다.

**참고**  
스팟 인스턴스가 중지되었을 때 일부 인스턴스 속성을 수정할 수 있지만 인스턴스 유형은 수정할 수 없습니다.  
중지된 스팟 인스턴스에 대해 사용 요금이나 데이터 전송 요금이 부과되지는 않지만 모든 Amazon EBS 볼륨에 대한 스토리지 요금은 부과됩니다.

**제한 사항**
+ 스팟 인스턴스가 `persistent` 스팟 인스턴스 요청에서 시작된 경우에만 스팟 인스턴스를 중지할 수 있습니다.
+ 연결된 스팟 인스턴스 요청이 취소된 경우에는 스팟 인스턴스를 중지할 수 없습니다. 스팟 인스턴스 요청이 취소되면 스팟 인스턴스를 종료하는 작업만 수행할 수 있습니다.
+ 플릿 또는 시작 그룹이나 가용 영역 그룹의 일부인 경우 스팟 인스턴스를 중지할 수 없습니다.

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

**스팟 인스턴스를 중지하는 방법**

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

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

1. 스팟 인스턴스를 선택합니다. 스팟 인스턴스의 인스턴스 ID를 저장하지 않은 경우 [스팟 인스턴스 찾기](#using-spot-instances-running)를 참조하세요.

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

------

## 스팟 인스턴스 시작
<a name="starting-a-spot-instance"></a>

이전에 중지한 스팟 인스턴스를 시작할 수 있습니다.

**사전 조건**

다음 경우에만 스팟 인스턴스를 시작할 수 있습니다.
+ 스팟 인스턴스를 수동으로 중지했습니다.
+ 스팟 인스턴스가 EBS 지원 인스턴스입니다.
+ 스팟 인스턴스 용량을 사용할 수 있습니다.
+ 스팟 가격이 최고 가격보다 낮습니다.

**제한 사항**
+ 플릿 또는 시작 그룹이나 가용 영역 그룹의 일부인 경우 스팟 인스턴스를 시작할 수 없습니다.

스팟 인스턴스를 시작하는 단계는 온디맨드 인스턴스를 시작하는 단계와 비슷합니다.

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

**스팟 인스턴스를 시작하는 방법**

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

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

1. 스팟 인스턴스를 선택합니다. 스팟 인스턴스의 인스턴스 ID를 저장하지 않은 경우 [스팟 인스턴스 찾기](#using-spot-instances-running)를 참조하세요.

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

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

**스팟 인스턴스를 시작하는 방법**  
스팟 인스턴스를 수동으로 시작하려면 [start-instance](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="terminating-a-spot-instance"></a>

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

영구 스팟 인스턴스 요청에서 시작된 실행 중이거나 중지된 스팟 인스턴스를 종료하면 새 스팟 인스턴스를 시작할 수 있도록 스팟 인스턴스 요청이 `open` 상태로 전환됩니다. 새로운 스팟 인스턴스가 시작되지 않도록 먼저 스팟 인스턴스 요청을 취소해야 합니다.

실행 중인 스팟 인스턴스를 보유한 `active` 스팟 인스턴스 요청을 취소하는 경우 실행 중인 스팟 인스턴스가 자동으로 종료되지 않습니다. 스팟 인스턴스를 수동으로 종료해야 합니다.

중지된 스팟 인스턴스를 보유한 `disabled` 스팟 인스턴스 요청을 취소하는 경우 중지된 스팟 인스턴스가 Amazon EC2 스팟 서비스에 의해 자동으로 종료됩니다. 스팟 인스턴스 요청을 취소할 때와 스팟 서비스에서 스팟 인스턴스를 종료할 때 사이에는 짧은 지연이 있을 수 있습니다.

자세한 내용은 [스팟 인스턴스 요청 취소](using-spot-instances-cancel.md) 섹션을 참조하세요.

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

**스팟 인스턴스를 수동으로 종료하는 방법**

1. 인스턴스를 종료하기 전에 Amazon EBS 볼륨이 종료 시 삭제되지 않는지 그리고 인스턴스 저장소 볼륨에서 영구 스토리지(예: Amazon EBS 또는 Amazon S3)로 필요한 데이터를 복사했는지를 확인해서 데이터 손실이 일어나지 않도록 합니다.

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

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

1. 스팟 인스턴스를 선택합니다. 스팟 인스턴스의 인스턴스 ID를 저장하지 않은 경우 [스팟 인스턴스 찾기](#using-spot-instances-running)를 참조하세요.

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

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

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

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

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

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

**스팟 인스턴스를 수동으로 종료하는 방법**  
[Remove-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Instance.html) cmdlet을 사용합니다.

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

------

# 스팟 인스턴스 중단
<a name="spot-interruptions"></a>

Amazon EC2에 용량이 다시 필요할 때 반환하는 대가로 예비 EC2 용량에서 대폭 할인된 금액으로 스팟 인스턴스를 시작할 수 있습니다. Amazon EC2에서 스팟 인스턴스를 회수하는 이벤트를 *스팟 인스턴스 중단*이라고 합니다.

스팟 인스턴스에 대한 수요는 매 순간 상당히 다를 수 있으며 스팟 인스턴스의 가용성도 사용 가능한 미사용 EC2 인스턴스의 양에 따라 상당히 달라질 수 있습니다. 스팟 인스턴스가 중단될 가능성은 항상 있습니다. Amazon EC2에서 스팟 인스턴스를 중단시킬 수 있는 이유는 다음과 같습니다.

**용량**  
Amazon EC2는 스팟 인스턴스가 다시 필요할 때 스팟 인스턴스를 중단할 수 있습니다. EC2는 주로 용량을 재활용하기 위해 인스턴스를 회수하지만 호스트 유지 관리 또는 하드웨어 중단과 같은 다른 이유로 회수할 수도 있습니다.

**가격**  
스팟 가격이 최고 가격보다 높습니다.  
스팟 요청에서 최고 가격을 지정할 수 있습니다. 그러나 최고 가격을 지정하면 지정하지 않을 때보다 인스턴스가 더 자주 중단됩니다.

**제약 조건**  
요청에 시작 그룹 또는 가용 영역 그룹과 같은 제약 조건이 포함되는 경우 제약 조건을 더 이상 충족할 수 없으면 스팟 인스턴스가 그룹으로 종료됩니다.

Amazon EC2가 스팟 인스턴스를 중단하면 스팟 요청을 생성할 때 지정한 중단 동작에 따라 인스턴스를 종료, 중지 또는 최대 절전 모드로 전환합니다.

**Topics**
+ [중단 동작](interruption-behavior.md)
+ [중단에 대비하기](prepare-for-interruptions.md)
+ [중단 시작](initiate-a-spot-instance-interruption.md)
+ [스팟 인스턴스 중단 공지](spot-instance-termination-notices.md)
+ [중단된 스팟 인스턴스 찾기](finding-an-interrupted-Spot-Instance.md)
+ [Amazon EC2가 스팟 인스턴스를 종료했는지 확인](BidEvictedEvent.md)
+ [결제](billing-for-interrupted-spot-instances.md)

# 스팟 인스턴스 중단 동작
<a name="interruption-behavior"></a>

스팟 요청을 생성할 때 중단 동작을 지정할 수 있습니다. 사용 가능한 중단 동작은 다음과 같습니다.
+ [Stop](#stop-spot-instances)
+ [최대 절전 모드](#hibernate-spot-instances)
+ [Terminate](#terminate-interrupted-spot-instances)

기본 동작은 Amazon EC2가 스팟 인스턴스가 중단되면 해당 인스턴스를 종료한다는 것입니다.

## 중단된 스팟 인스턴스 중지
<a name="stop-spot-instances"></a>

스팟 인스턴스가 중단되면 Amazon EC2가 스팟 인스턴스를 중지하도록 지정할 수 있습니다. 스팟 인스턴스 요청 유형은 `persistent`여야 합니다. 스팟 인스턴스 요청에서 시작 그룹을 지정할 수 없습니다. EC2 Fleet 또는 스팟 플릿의 경우 요청 유형은 `maintain`이어야 합니다.

**고려 사항**
+ Amazon EC2만 중단된 중지된 스팟 인스턴스를 다시 시작할 수 있습니다.
+ `persistent` 스팟 인스턴스 요청에 의해 시작된 스팟 인스턴스의 경우 Amazon EC2는 용량이 동일한 가용 영역에서 사용 가능한 경우 중지된 인스턴스와 동일한 인스턴스 유형에 대해 중지된 인스턴스를 다시 시작합니다(동일한 시작 사양을 사용해야 함).
+ 스팟 인스턴스가 중지되었을 때 일부 인스턴스 속성을 수정할 수 있지만 인스턴스 유형은 수정할 수 없습니다. EBS 볼륨을 분리하거나 삭제한 경우에는 스팟 인스턴스를 시작해도 연결되지 않습니다. 루트 볼륨을 분리하고 Amazon EC2가 스팟 인스턴스를 시작하려고 하면 인스턴스가 시작되지 않고 Amazon EC2가 중지된 인스턴스를 종료합니다.
+ 중지된 상태의 스팟 인스턴스를 종료할 수 있습니다.
+ 스팟 인스턴스 요청이나 EC2 Fleet 또는 스팟 플릿을 취소하면 Amazon EC2에서는 중지된 상태의 연결된 스팟 인스턴스를 모두 종료합니다.
+ 중단된 스팟 인스턴스가 중지 상태인 동안에는 유지 중인 EBS 볼륨에 대한 요금만 부과됩니다. EC2 플릿 및 스팟 플릿을 사용하는 경우 중지된 인스턴스가 많으면 해당 계정의 EBS 볼륨 수 제한을 초과할 수 있습니다. 스팟 인스턴스가 중단될 때 요금이 부과되는 방식에 대한 자세한 내용은 [중단된 스팟 인스턴스에 대한 청구](billing-for-interrupted-spot-instances.md) 섹션을 참조하세요.
+ 인스턴스 중지의 영향을 잘 알고 있어야 합니다. 인스턴스가 중지되면 어떻게 되는지에 대한 자세한 내용은 [인스턴스 상태 간 차이](ec2-instance-lifecycle.md#lifecycle-differences) 섹션을 참조하세요.

## 중단된 스팟 인스턴스를 최대 절전 모드로 전환
<a name="hibernate-spot-instances"></a>

스팟 인스턴스가 중단되면 Amazon EC2가 스팟 인스턴스를 최대 절전 모드로 전환하도록 지정할 수 있습니다. 자세한 내용은 [Amazon EC2 인스턴스를 최대 절전 모드로 전환](Hibernate.md) 섹션을 참조하세요.

Amazon EC2에서는 이제 현재 온디맨드 인스턴스에서 사용할 수 있는 최대 절전 모드 환경이 스팟 인스턴스에 제공됩니다. 이제 스팟 인스턴스 최대 절전 모드에 대해 다음이 지원되는 더 광범위한 지원이 제공됩니다.
+ [더 지원되는 AMI](hibernating-prerequisites.md#hibernation-prereqs-supported-amis)
+ [더 지원되는 인스턴스 패밀리](hibernating-prerequisites.md#hibernation-prereqs-supported-instance-families)
+ [사용자가 시작한 최대 절전 모드](hibernating-instances.md)

## 중단된 스팟 인스턴스 종료
<a name="terminate-interrupted-spot-instances"></a>

Amazon EC2는 스팟 인스턴스를 중단할 때 중지, 최대 절전 모드로 전환 등의 다른 중단 동작을 지정하지 않는 한 기본적으로 인스턴스를 종료합니다. 자세한 내용은 [Amazon EC2 인스턴스 종료](terminating-instances.md) 섹션을 참조하세요.

# 스팟 인스턴스 중단 준비
<a name="prepare-for-interruptions"></a>

스팟 인스턴스에 대한 수요는 매 순간 상당히 다를 수 있으며 스팟 인스턴스의 가용성도 사용 가능한 미사용 EC2 인스턴스의 양에 따라 상당히 달라질 수 있습니다. 스팟 인스턴스가 중단될 가능성은 항상 있습니다. 따라서 스팟 인스턴스 중단에 대비하여 애플리케이션을 준비해야 합니다.

스팟 인스턴스 중단에 대비할 수 있도록 다음 모범 사례를 따르는 것이 좋습니다.
+ Auto Scaling 그룹을 사용하여 스팟 요청을 생성합니다. 스팟 인스턴스가 중단되면 Auto Scaling 그룹이 대체 인스턴스를 자동으로 시작합니다. 자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서**의 [여러 인스턴스 유형과 구매 옵션을 제공하는 Auto Scaling 그룹](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) 섹션을 참조하세요.
+ 필수 소프트웨어 구성이 포함된 Amazon Machine Image(AMI)를 사용하여 요청이 이행되는 즉시 인스턴스를 실행할 준비가 되었는지 확인합니다. 시작 시 사용자 데이터를 사용하여 명령을 실행할 수도 있습니다.
+ 인스턴스가 중지되거나 종료되면 인스턴스 저장소 볼륨의 데이터가 손실됩니다. 인스턴스 저장소 볼륨의 중요 데이터는 Amazon S3, Amazon EBS 또는 Amazon DynamoDB 등의 보다 영구적인 스토리지에 백업합니다.
+ 스팟 인스턴스가 종료되어도 영향을 받지 않을 장소에 중요한 데이터를 정기적으로 저장합니다. 예를 들어, Amazon S3, Amazon EBS 또는 DynamoDB를 사용할 수 있습니다.
+ 작업을 작은 부분으로 분리하거나(눈금, Hadoop 또는 대기열 기반 아키텍처 사용), 작업을 자주 저장할 수 있도록 검사점을 사용합니다.
+ Amazon EC2는 인스턴스 중단 위험이 높아질 때 스팟 인스턴스에 리밸런싱 권고 신호를 전송합니다. 리밸런싱 권고를 활용하면 스팟 인스턴스 중단 2분 전 공지를 기다릴 필요 없이 스팟 인스턴스 중단을 사전 예방적으로 관리할 수 있습니다. 자세한 내용은 [EC2 인스턴스 리밸런싱 권고](rebalance-recommendations.md) 섹션을 참조하세요.
+ 스팟 인스턴스 중단 2분 전 공지를 사용하여 스팟 인스턴스의 상태를 모니터링합니다. 자세한 내용은 [스팟 인스턴스 중단 공지](spot-instance-termination-notices.md) 섹션을 참조하세요.
+ 이러한 경고를 즉시 제공하기 위해 모든 노력을 기울이고 있지만 경고를 보내기 전에 스팟 인스턴스가 중단될 수도 있습니다. 따라서 리밸런싱 권고 신호 및 중단 공지를 모니터링하는 경우에도 애플리케이션을 테스트하여 예기치 않은 인스턴스 중단이 정상적으로 처리되는지 확인해야 합니다. 이렇게 하려면 온디맨드 인스턴스를 사용하여 애플리케이션을 실행한 다음 온디맨드 인스턴스를 직접 종료합니다.
+ AWS Fault Injection Service로 제어된 결함 주입 실험을 실행하여 스팟 인스턴스가 중단될 때 애플리케이션이 어떻게 응답하는지 테스트합니다. 자세한 내용은 *AWS Fault Injection Service 사용 설명서*의 [자습서: AWS FIS를 사용한 스팟 인스턴스 중단 테스트](https://docs.aws.amazon.com/fis/latest/userguide/fis-tutorial-spot-interruptions.html)를 참조하세요.

# 스팟 인스턴스 중단 시작
<a name="initiate-a-spot-instance-interruption"></a>

Amazon EC2 콘솔에서 스팟 인스턴스 요청 또는 스팟 플릿 요청을 선택하고 스팟 인스턴스 중단을 시작하여 스팟 인스턴스의 애플리케이션이 중단되는 것을 어떻게 처리하는지 테스트할 수 있습니다. 스팟 인스턴스 중단을 시작하면 Amazon EC2에서 스팟 인스턴스가 2분 후에 중단될 것임을 알리고 2분 후에 스팟 인스턴스가 중단됩니다.

스팟 인스턴스 중단을 수행하는 기본 서비스는 AWS Fault Injection Service(AWS FIS)입니다. AWS FIS에 대한 자세한 내용은 [AWS Fault Injection Service](https://aws.amazon.com/fis/) 섹션을 참조하세요.

**참고**  
중단 동작은 `terminate`, `stop`, 및 `hibernate`입니다. 중단 동작을 `hibernate`로 설정한 경우 스팟 인스턴스 중단을 시작하면 최대 절전 모드 프로세스가 즉시 시작됩니다.

스팟 인스턴스 중단 시작은 아시아 태평양(자카르타), 아시아 태평양(오사카), 중국(베이징), 중국(닝샤) 및 중동(UAE)을 제외한 모든 AWS 리전에서 지원됩니다.

**Topics**
+ [스팟 인스턴스 중단 시작](#initiate-interruption)
+ [스팟 인스턴스 중단 확인](#spot-interruptions-verify-result)
+ [할당량](#fis-quota-for-spot-instance-interruption)

## 스팟 인스턴스 중단 시작
<a name="initiate-interruption"></a>

EC2 콘솔을 사용하여 스팟 인스턴스 중단을 빠르게 시작할 수 있습니다. 스팟 인스턴스 요청을 선택하면 하나의 스팟 인스턴스의 중단을 시작할 수 있습니다. 스팟 플릿 요청을 선택하면 여러 스팟 인스턴스의 중단을 한 번에 시작할 수 있습니다.

스팟 인스턴스 중단을 테스트하기 위한 고급 실험의 경우 AWS FIS 콘솔을 사용하여 고유한 실험을 생성할 수 있습니다.

**EC2 콘솔을 사용하여 스팟 인스턴스 요청에서 하나의 인스턴스 중단을 시작하는 방법**

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

1. 탐색 창에서 **Spot Requests**(스팟 요청)를 선택합니다.

1. 스팟 인스턴스 요청을 선택한 다음 **Actions**(작업), **Initiate interruption**(중단 시작)을 선택합니다. 여러 스팟 인스턴스 요청을 선택하여 중단을 시작할 수는 없습니다.

1. **Initiate Spot Instance interruption**(스팟 인스턴스 중단 시작) 대화 상자의 **Service access**(서비스 액세스)에서 기본 역할을 사용하거나 기존 역할을 선택합니다. 기존 역할을 선택하려면 **기존 서비스 역할 사용**을 선택한 다음 **IAM 역할**에서 사용할 역할을 선택합니다.

1. 스팟 인스턴스 중단을 시작할 준비가 되면 **Initiate interruption**(중단 시작)을 선택합니다.

**EC2 콘솔을 사용하여 스팟 플릿 요청에서 하나 이상의 인스턴스 중단을 시작하는 방법**

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

1. 탐색 창에서 **Spot Requests**(스팟 요청)를 선택합니다.

1. 스팟 플릿 요청을 선택한 다음 **작업**, **중단 시작**을 선택합니다. 여러 스팟 플릿 요청을 선택하여 중단을 시작할 수는 없습니다.

1. **스팟 인스턴스 수 지정** 대화 상자에서 **중단할 인스턴스 수**에 중단할 스팟 인스턴스 수를 입력한 다음 **확인**을 선택합니다.
**참고**  
이 수는 플릿의 스팟 인스턴스 수 또는 AWS FIS가 실험당 중단할 수 있는 스팟 인스턴스 수에 대한 [할당량](#fis-quota-for-spot-instance-interruption)을 초과할 수 없습니다.

1. **Initiate Spot Instance interruption**(스팟 인스턴스 중단 시작) 대화 상자의 **Service access**(서비스 액세스)에서 기본 역할을 사용하거나 기존 역할을 선택합니다. 기존 역할을 선택하려면 **기존 서비스 역할 사용**을 선택한 다음 **IAM 역할**에서 사용할 역할을 선택합니다.

1. 스팟 인스턴스 중단을 시작할 준비가 되면 **Initiate interruption**(중단 시작)을 선택합니다.

**AWS FIS 콘솔을 사용하여 스팟 인스턴스 중단 테스트를 위한 고급 실험 생성**

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

1. 탐색 창에서 **Spot Requests**(스팟 요청)를 선택합니다.

1. **Actions**(작업), **Create advanced experiments**(고급 실험 생성)를 선택합니다.

   AWS FIS 콘솔이 열립니다. 자세한 내용은 *AWS Fault Injection Service 사용 설명서*의 [자습서: AWS FIS를 사용한 스팟 인스턴스 중단 테스트](https://docs.aws.amazon.com/fis/latest/userguide/fis-tutorial-spot-interruptions.html)를 참조하세요.

## 스팟 인스턴스 중단 확인
<a name="spot-interruptions-verify-result"></a>

중단을 시작하면 다음과 같이 진행됩니다.
+ 스팟 인스턴스가 [인스턴스 리밸런싱 권고](rebalance-recommendations.md)를 수신합니다.
+ AWS FIS에서 스팟 인스턴스를 중단하기 2분 전에 [스팟 인스턴스 중단 공지](spot-instance-termination-notices.md)가 생성됩니다.
+ 2분 후 스팟 인스턴스가 중단됩니다.
+ AWS FIS에 의해 중지된 스팟 인스턴스는 다시 시작할 때까지 중지된 상태로 유지됩니다.

**중단을 시작한 후 인스턴스가 중단되었는지 확인**

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

1. 탐색 창에서 별도의 브라우저 탭 또는 창으로 **Spot Requests**(스팟 요청)와 **Instances**(인스턴스)를 엽니다.

1. **스팟 요청**에서 스팟 인스턴스 요청 또는 스팟 플릿 요청을 선택합니다. 초기 상태는 `fulfilled`입니다. 인스턴스가 중단된 후 중단 동작에 따라 상태가 다음과 같이 변경됩니다.
   + `terminate` - 상태가 `instance-terminated-by-experiment`로 변경됩니다.
   + `stop` - 상태가 `marked-for-stop-by-experiment`으로 변경되었다가 `instance-stopped-by-experiment`로 변경됩니다.

1. **Instances**(인스턴스)에서 스팟 인스턴스를 선택합니다. 초기 상태는 `Running`입니다. 스팟 인스턴스 중단 알림을 받고 2분 후 중단 동작에 따라 상태가 다음과 같이 변경됩니다.
   + `stop` - 상태가 `Stopping`으로 변경되었다가 `Stopped`로 변경됩니다.
   + `terminate` - 상태가 `Shutting-down`으로 변경되었다가 `Terminated`로 변경됩니다.

## 할당량
<a name="fis-quota-for-spot-instance-interruption"></a>

AWS 계정에는 AWS FIS가 실험당 중단할 수 있는 스팟 인스턴스 수에 대한 기본 할당량은 다음과 같습니다.


| 이름 | 기본값 | 조정 가능 | 설명 | 
| --- | --- | --- | --- | 
|  aws:ec2:send-spot-instance-interruptions에 대한 대상 스팟 인스턴스  |  지원되는 각 리전: 5개  | 예 |  실험당 태그를 사용하여 대상을 식별할 때 aws:ec2:send-spot-instance-interruptions가 대상으로 지정할 수 있는 스팟 인스턴스의 최대 수입니다.  | 

할당량 증가를 요청할 수 있습니다. 자세한 내용은* Service Quotas 사용 설명서*의 [할당량 증가 요청](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)을 참조하세요.

AWS FIS에 대한 할당량을 보려면 [Service Quotas 콘솔](https://console.aws.amazon.com/servicequotas/home)을 엽니다. 탐색 창에서 **AWS 서비스**를 선택하고 **AWS Fault Injection Service**을 선택합니다. 또한 *AWS Fault Injection Service 사용 설명서*에서 모든 [AWS Fault Injection Service에 대한 할당량](https://docs.aws.amazon.com/fis/latest/userguide/fis-quotas.html)을 볼 수 있습니다.

# 스팟 인스턴스 중단 공지
<a name="spot-instance-termination-notices"></a>

*스팟 인스턴스 중단 공지*는 Amazon EC2가 스팟 인스턴스를 중지 또는 종료하기 2분 전에 생성되는 경고입니다. 최대 절전을 중지 행동으로 지정할 경우 중지 공지를 수신하지만, 최대 절전 과정은 즉시 시작되므로 2분 경고를 받지 않습니다.

스팟 인스턴스 중단을 정상적으로 처리하는 가장 좋은 방법은 내결함성이 있도록 애플리케이션을 설계하는 것입니다. 이를 위해 스팟 인스턴스 중단 공지를 활용할 수 있습니다. 5초마다 이러한 중단 공지를 확인하는 것이 좋습니다.

중단 공지는 EventBridge 이벤트 및 스팟 인스턴스의 [인스턴스 메타데이터](ec2-instance-metadata.md) 항목으로 제공됩니다. 중단 알림은 최선의 노력을 한 후 발송됩니다.

## EC2 Spot Instance Interruption Warning 이벤트를 트리거합니다
<a name="ec2-spot-instance-interruption-warning-event"></a>

Amazon EC2에서는 스팟 인스턴스를 중단할 때 실제 중단 2분 전에 이벤트를 전송합니다(최대 절전 모드는 즉시 시작하기 때문에 중단 공지를 2분 전에 받지 않는 최대 절전 모드는 제외). 이 이벤트는 Amazon EventBridge에서 감지할 수 있습니다. EventBridge 이벤트에 대한 자세한 내용은 [Amazon EventBridge 사용 설명서](https://docs.aws.amazon.com/eventbridge/latest/userguide/)를 참조하세요. 이벤트 규칙을 생성하고 사용하는 방법을 안내하는 자세한 예제는 [Amazon EC2 스팟 인스턴스 중단 공지 활용](https://aws.amazon.com/blogs/compute/taking-advantage-of-amazon-ec2-spot-instance-interruption-notices/)을 참조하세요.

다음은 스팟 인스턴스 중단 이벤트의 예제입니다. 가능한 `instance-action` 값은 `hibernate`, `stop` 또는 `terminate`입니다.

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Spot Instance Interruption Warning",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2a:instance/i-1234567890abcdef0"],
    "detail": {
        "instance-id": "i-1234567890abcdef0",
        "instance-action": "action"
    }
}
```

**참고**  
스팟 인스턴스 중단 이벤트의 ARN 형식은 `arn:aws:ec2:availability-zone:instance/instance-id`입니다. 이 형식은 [EC2 리소스 ARN 형식](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies)과 다릅니다.

## instance-action
<a name="instance-action-metadata"></a>

`instance-action` 항목은 해당 작업과 작업이 이루어지는 대략적 시간(UTC 기준)을 지정합니다.

스팟 인스턴스가 Amazon EC2에 의해 중지되거나 종료되도록 표시된 경우 [인스턴스 메타데이터](ec2-instance-metadata.md)에 `instance-action` 항목이 있습니다. 표시하지 않은 경우에는 이 항목이 없습니다. 인스턴스 메타데이터 서비스 버전 2(IMDSv2)를 사용하여 다음과 같이 `instance-action`을 검색할 수 있습니다.

------
#### [ Linux ]

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/spot/instance-action
```

------
#### [ Windows ]

```
[string]$token = Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/meta-data/spot/instance-action
```

------

 다음 예시 출력에서는 이 인스턴스가 중지될 시간을 알려줍니다.

```
{"action": "stop", "time": "2017-09-18T08:22:00Z"}
```

다음 예시 출력에서는 이 인스턴스가 종료될 시간을 알려줍니다.

```
{"action": "terminate", "time": "2017-09-18T08:22:00Z"}
```

Amazon EC2가 인스턴스를 중지 또는 종료할 준비가 되지 않거나 사용자가 인스턴스를 직접 종료한 경우 `instance-action` 항목이 인스턴스 메타데이터에 없고 사용자가 이를 검색하려 하면 HTTP 404 오류를 수신하게 됩니다.

## termination-time
<a name="termination-time-metadata"></a>

`termination-time` 항목은 인스턴스가 종료 신호를 수신할 때 대략적인 시간(UTC 기준)을 지정합니다.

**참고**  
이 항목은 이전 버전과의 호환성을 위해 보존되며, 그 대신 `instance-action`을 사용해야 합니다.

Amazon EC2에서 스팟 인스턴스를 종료 대상으로 표시한 경우(중단 동작이 `terminate`로 설정된 스팟 인스턴스 중단 또는 영구 스팟 인스턴스 요청 취소로 인해) `termination-time` 항목이 [인스턴스 메타데이터](ec2-instance-metadata.md)에 존재합니다. 표시하지 않은 경우에는 이 항목이 없습니다. 다음과 같이 IMDSv2를 사용하여 `termination-time`을 검색할 수 있습니다.

------
#### [ Linux ]

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`
if curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://169.254.169.254/latest/meta-data/spot/termination-time | grep -q .*T.*Z; then echo termination_scheduled; fi
```

------
#### [ Windows ]

```
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/meta-data/spot/termination-time
```

------

다음은 예제 출력입니다.

```
2015-01-05T18:02:00Z
```

스팟 인스턴스 중단이 없거나 중단 동작이 `stop` 또는 `hibernate`로 설정되었기 때문에 Amazon EC2가 인스턴스를 종료할 준비가 되지 않은 경우 또는 사용자가 스팟 인스턴스를 직접 종료한 경우 `termination-time` 항목이 인스턴스 메타데이터에 없거나(HTTP 404 오류 수신) 이 항목에 시간 값이 아닌 값이 포함됩니다.

Amazon EC2에서 인스턴스를 종료하지 않으면 요청 상태가 `fulfilled`로 설정됩니다. `termination-time` 값은 과거 시점인 원래 예상 시간과 함께 인스턴스 메타데이터에 남습니다.

# 중단된 스팟 인스턴스 찾기
<a name="finding-an-interrupted-Spot-Instance"></a>

EC2 인스턴스를 설명할 때 결과에는 스팟 인스턴스가 포함됩니다. 스팟 인스턴스의 인스턴스 수명 주기는 `spot`입니다. 스팟 인스턴스의 인스턴스 상태는 구성한 중단 동작에 따라 `stopped` 또는 `terminated` 중 하나입니다. 최대 절전 모드로 전환된 스팟 인스턴스의 인스턴스 상태는 `stopped`입니다.

중단 이유에 대한 자세한 내용은 스팟 요청 상태 코드를 확인하세요. 자세한 내용은 [스팟 인스턴스 요청 상태 가져오기](spot-request-status.md) 섹션을 참조하세요.

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

**중단된 스팟 인스턴스를 찾는 방법**

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

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

1. 필터 **인스턴스 수명 주기=스팟**을 적용합니다.

1. 구성한 중단 동작에 따라 **인스턴스 상태=중지됨** 또는 **인스턴스 상태=종료됨** 필터를 적용합니다.

1. 각 스팟 인스턴스에 대해 **세부 정보** 탭의 인스턴스 **세부 정보**에서 **상태 전환 메시지**를 찾습니다. 다음 코드는 스팟 인스턴스가 중단되었음을 가리킵니다.
   + `Server.SpotInstanceShutdown`
   + `Server.SpotInstanceTermination`

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

**중단된 스팟 인스턴스를 찾는 방법**  
`--filters` 옵션과 함께 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용합니다. 출력에 인스턴스 ID만 나열하려면 `--query` 옵션을 포함합니다.

중단 동작이 스팟 인스턴스 종료인 경우 다음 예제를 사용합니다.

```
aws ec2 describe-instances \
    --filters Name=instance-lifecycle,Values=spot \
              Name=instance-state-name,Values=terminated \
              Name=state-reason-code,Values=Server.SpotInstanceTermination \
    --query "Reservations[*].Instances[*].InstanceId"
```

중단 동작이 스팟 인스턴스 중지인 경우 다음 예제를 사용합니다.

```
aws ec2 describe-instances \
    --filters Name=instance-lifecycle,Values=spot \
              Name=instance-state-name,Values=stopped \
              Name=state-reason-code,Values=Server.SpotInstanceShutdown \
    --query "Reservations[*].Instances[*].InstanceId"
```

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

**중단된 스팟 인스턴스를 찾는 방법**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet을 사용합니다.

중단 동작이 스팟 인스턴스 종료인 경우 다음 예제를 사용합니다.

```
(Get-EC2Instance `
    -Filter @{Key="instance-lifecycle"; Values="spot"} `
            @{Key="instance-state-name"; Values="terminated"} `
            @{Key="state-reason-code"; Values="Server.SpotInstanceTermination"}).Instances.InstanceId
```

중단 동작이 스팟 인스턴스 중지인 경우 다음 예제를 사용합니다.

```
(Get-EC2Instance `
    -Filter @{Key="instance-lifecycle"; Values="spot"} `
            @{Key="instance-state-name"; Values="stopped"} `
            @{Key="state-reason-code"; Values="Server.SpotInstanceTermination"}).Instances.InstanceId
```

------

# Amazon EC2가 스팟 인스턴스를 종료했는지 확인
<a name="BidEvictedEvent"></a>

스팟 인스턴스는 스팟 인스턴스 중단에 대한 응답으로 Amazon EC2가 종료할 때까지 또는 사용자가 직접 종료할 때까지 실행됩니다. 자세한 내용은 [스팟 인스턴스 중단 동작](interruption-behavior.md) 섹션을 참조하세요.

스팟 인스턴스가 종료된 경우 AWS CloudTrail을 사용하여 Amazon EC2가 스팟 인스턴스를 종료했는지 확인할 수 있습니다. CloudTrail 로그에 `BidEvictedEvent`가 포함되어 있으면 Amazon EC2가 스팟 인스턴스를 종료한 것입니다. 대신 `TerminateInstances` 이벤트가 표시되면 사용자가 스팟 인스턴스를 종료한 것입니다.

또는 Amazon EC2가 스팟 인스턴스를 중단할 것이라는 알림을 받으려면 Amazon EventBridge를 사용하여 [EC2 스팟 인스턴스 중단 경고 이벤트](spot-instance-termination-notices.md#ec2-spot-instance-interruption-warning-event)에 응답합니다.

**CloudTrail에서 BidEvictedEvent 이벤트를 보려면 다음을 수행하세요.**

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

1. 탐색 창에서 **Event history(이벤트 내역)**를 선택합니다.

1. 필터 목록에서 **이벤트 이름**을 선택한 다음 오른쪽의 필터 필드에 **BidEvictedEvent**를 입력합니다.

1. (선택 사항) 시간 범위를 선택합니다.

1. 목록이 비어 있지 않은 경우 결과 항목에서 **BidEvictedEvent**를 선택하여 세부 정보 페이지를 엽니다. **이벤트 레코드** 창에서 스팟 인스턴스의 ID를 포함하여 스팟 인스턴스에 대한 정보를 찾을 수 있습니다. 다음은 이벤트 레코드의 예입니다.

   ```
   {
       "eventVersion": "1.05",
       "userIdentity": {
           "accountId": "123456789012",
           "invokedBy": "ec2.amazonaws.com"
       },
       "eventTime": "2016-08-16T22:30:00Z",
       "eventSource": "ec2.amazonaws.com",
       "userAgent": "ec2.amazonaws.com",
       "sourceIPAddress": "ec2.amazonaws.com",
       "eventName": "BidEvictedEvent",
       "awsRegion": "us-east-2",
       "eventID": "d27a6096-807b-4bd0-8c20-a33a83375054",
       "eventType": "AwsServiceEvent",
       "recipientAccountId": "123456789012",
       "RequestParameters": null,
       "ResponseElements": null,
       "serviceEventDetails": {
           "instanceIdSet": [
             "i-1eb2ac8eEXAMPLE"
           ]
       }
   }
   ```

1. `BidEvictedEvent` 이벤트 항목을 찾지 못한 경우 이벤트 이름으로 **TerminateInstances**를 입력합니다. `TerminateInstances` 이벤트 기록에 대한 자세한 내용은 [Amazon EC2 API 이벤트 예제](monitor-with-cloudtrail.md#cloudtrail-event-examples) 섹션을 참조하세요.

# 중단된 스팟 인스턴스에 대한 청구
<a name="billing-for-interrupted-spot-instances"></a>

스팟 인스턴스가 중단되면 다음과 같이 인스턴스 및 EBS 볼륨 사용량에 대해 요금이 부과되고 다른 요금도 청구될 수 있습니다.

## 인스턴스 사용
<a name="billing-for-interrupted-spot-instances-instance-usage"></a>

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

## EBS 볼륨 사용량
<a name="billing-for-interrupted-spot-instances-ebs-usage"></a>

중단된 스팟 인스턴스가 중지 상태인 동안에는 유지 중인 EBS 볼륨에 대한 요금만 부과됩니다.

EC2 플릿 및 스팟 플릿을 사용하는 경우 중지된 인스턴스가 많으면 해당 계정의 EBS 볼륨 수 제한을 초과할 수 있습니다.

# EC2 인스턴스 리밸런싱 권고
<a name="rebalance-recommendations"></a>

EC2 인스턴스 *리밸런싱 권고(rebalance recommendation)*는 스팟 인스턴스의 중단 위험이 높아질 때 알림을 보내는 신호입니다. 이 신호는 [스팟 인스턴스 중단 2분 전 공지](spot-instance-termination-notices.md)보다 일찍 도착할 수 있으므로 스팟 인스턴스를 사전에 관리할 수 있는 기회를 제공합니다. 중단 위험이 높아지지 않는 신규 또는 기존 스팟 인스턴스에 대한 워크로드를 리밸런싱하도록 결정할 수 있습니다.

Amazon EC2에서 항상 스팟 인스턴스 중단 2분 전 공지보다 먼저 리밸런싱 권고 신호를 전송할 수 있는 것은 아닙니다. 따라서 리밸런싱 권고 신호가 중단 2분 전 공지와 함께 도착할 수도 있습니다.

재분배 권장 사항은 EventBridge 이벤트 및 스팟 인스턴스의 [인스턴스 메타데이터](ec2-instance-metadata.md) 항목으로 제공됩니다. 이벤트는 최선의 작업을 기반으로 발생됩니다.

**참고**  
리밸런싱 권고는 2020년 11월 5일 00:00 UTC 이후에 시작된 스팟 인스턴스에만 지원됩니다.

**Topics**
+ [수행할 수 있는 리밸런싱 작업](#rebalancing-actions)
+ [리밸런싱 권고 신호 모니터링](#monitor-rebalance-recommendations)
+ [리밸런싱 권고 신호를 사용하는 서비스](#services-using-rebalance-rec-signal)

## 수행할 수 있는 리밸런싱 작업
<a name="rebalancing-actions"></a>

다음은 수행할 수 있는 리밸런싱 작업의 일부입니다.

정상 종료  
스팟 인스턴스에 대한 리밸런싱 권고 신호를 수신하면 인스턴스 종료 절차를 시작할 수 있습니다. 이러한 절차에는 중지 전에 프로세스를 완료하는 작업 등이 포함될 수 있습니다. 예를 들어 시스템 또는 애플리케이션 로그를 Amazon Simple Storage Service(Amazon S3)에 업로드하거나 Amazon SQS 작업자를 종료하거나 Domain Name System(DNS)의 등록 취소를 완료할 수 있습니다. 외부 스토리지에 작업을 저장하고 나중에 다시 시작할 수도 있습니다.

새 작업 예약 차단  
스팟 인스턴스에 대한 리밸런싱 권고 신호가 수신되면 예약된 작업이 완료될 때까지 인스턴스를 계속 사용하면서 인스턴스에 새 작업이 예약되는 것을 차단할 수 있습니다.

새로운 대체 인스턴스를 사전 예방적으로 시작  
리밸런싱 권고 신호가 생성될 때 대체 스팟 인스턴스를 자동으로 시작하도록 Auto Scaling 그룹, EC2 플릿 또는 스팟 플릿을 구성할 수 있습니다. 자세한 내용은 **Amazon EC2 Auto Scaling 사용 설명서의 [용량 리밸런싱을 사용하여 Amazon EC2 스팟 중단 처리](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html)와 본 사용 설명서에서 [EC2 플릿 및 스팟 플릿의 용량 리밸런싱을 사용하여 위험이 있는 스팟 인스턴스 교체](ec2-fleet-capacity-rebalance.md)의 내용을 참조하세요.

## 리밸런싱 권고 신호 모니터링
<a name="monitor-rebalance-recommendations"></a>

리밸런싱 권고 신호를 모니터링하여 신호가 생성될 때 이전 섹션에서 지정한 작업을 수행할 수 있습니다. 리밸런싱 권고 신호는 Amazon EventBridge(이전의 Amazon CloudWatch Events)로 전송되는 이벤트와 스팟 인스턴스의 인스턴스 메타데이터로 제공됩니다.

**Topics**
+ [Amazon EventBridge 사용](#cp-eventbridge)
+ [인스턴스 메타데이터 사용](#cp-instance-metadata)

### Amazon EventBridge 사용
<a name="cp-eventbridge"></a>

스팟 인스턴스에 대한 리밸런싱 권고 신호가 생성되면 신호에 대한 이벤트가 Amazon EventBridge로 전송됩니다. EventBridge에서 규칙에 정의된 패턴과 일치하는 이벤트 패턴이 감지되는 경우 EventBridge는 규칙에 정의된 대상을 호출합니다.

다음은 리밸런싱 권고 신호에 대한 예제 이벤트입니다.

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Instance Rebalance Recommendation",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2:123456789012:instance/i-1234567890abcdef0"],
    "detail": {
        "instance-id": "i-1234567890abcdef0"
    }
}
```

다음 필드는 규칙에 정의되는 이벤트 패턴을 형성합니다.

`"detail-type": "EC2 Instance Rebalance Recommendation"`  
리밸런싱 권고 이벤트를 식별합니다.

`"source": "aws.ec2"`  
Amazon EC2에서 시작된 이벤트를 식별합니다.

#### EventBridge 규칙 생성
<a name="cp-eventbridge-rule"></a>

EventBridge 규칙을 작성하고 이벤트 패턴이 규칙과 일치할 때 수행할 작업을 자동화할 수 있습니다.

다음 예제에서는 Amazon EC2에서 리밸런싱 권고 신호가 생성될 때마다 이메일, 문자 메시지 또는 모바일 푸시 알림을 보내는 EventBridge 규칙을 생성합니다. 이 신호는 규칙에 정의된 작업을 트리거하는 `EC2 Instance Rebalance Recommendation` 이벤트로 생성됩니다.

EventBridge 규칙을 생성하기 전에 이메일, 문자 메시지 또는 모바일 푸시 알림에 대한 Amazon SNS 주제를 생성해야 합니다.

**리밸런싱 권고 이벤트에 대한 EventBridge 규칙을 생성하려면**

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

1. [**규칙 생성(Create rule)**]을 선택합니다.

1. **규칙 세부 정보 정의(Define rule detail)**에 대해 다음을 수행합니다.

   1. 규칙의 **이름**을 입력하고 선택적으로 설명을 입력합니다.

      규칙은 동일한 리전과 동일한 이벤트 버스의 다른 규칙과 동일한 이름을 가질 수 없습니다.

   1. **이벤트 버스(Event bus)**에서 **기본값(default)**을 선택합니다. 계정의 AWS 서비스가 이벤트를 생성하면 항상 계정의 기본 이벤트 버스로 이동합니다.

   1. **규칙 유형(Rule type)**에서 **이벤트 패턴이 있는 규칙(Rule with an event pattern)**을 생성합니다.

   1. **다음**을 선택합니다.

1. **이벤트 패턴 빌드(Build event pattern)**에서 다음을 수행합니다.

   1. **이벤트 소스(Event source)**에서 **AWS 이벤트 또는 EventBridge 파트너 이벤트( events or EventBridge partner events)**를 선택합니다.

   1. **Event pattern**(이벤트 패턴)에 `EC2 Instance Rebalance Recommendation` 이벤트와 일치하도록 다음 이벤트 패턴을 지정하고 **Save**(저장)를 선택합니다.

      ```
      {
       "source": ["aws.ec2"],
       "detail-type": ["EC2 Instance Rebalance Recommendation"]
      }
      ```

      이벤트 패턴을 추가하려면 다음과 같이 **이벤트 패턴 양식(Event pattern form)**을 선택하여 템플릿을 사용하거나 **사용자 정의 패턴(JSON 편집기)(Custom pattern (JSON editor))**을 선택하여 고유한 패턴을 지정할 수 있습니다.

      1. 템플릿을 사용하여 이벤트 패턴을 생성하려면 다음을 수행하세요.

         1. **이벤트 패턴 양식(Event pattern form)**을 선택합니다.

         1. **이벤트 소스(Event source)**에서 **AWS 서비스(services)**를 선택합니다.

         1. **AWS 서비스(Service)**에서 **EC2 스팟 플릿(EC2 Spot Fleet)**을 선택합니다.

         1. **Event type**(이벤트 유형)에서 **EC2 Instance Rebalance Recommendation**(EC2 인스턴스 리밸런싱 권고)을 선택합니다.

         1. 템플릿을 사용자 지정하려면 **패턴 편집(Edit pattern)**을 선택하고 예시 이벤트 패턴과 일치하도록 변경합니다.

      1. (대안) 사용자 정의 이벤트 패턴을 지정하려면 다음을 수행하세요.

         1. **사용자 정의 패턴(JSON 편집기)**을 선택합니다.

         1. **이벤트 패턴(Event pattern)** 상자에서 이 예시의 이벤트 패턴을 추가합니다.

   1. **다음**을 선택합니다.

1. **대상 선택(Select target(s))**에서 다음을 수행합니다.

   1. **대상 유형(Target types)**에서 **AWS 서비스(service)**를 선택합니다.

   1. **대상 선택(Select a target)**에서 **SNS 주제(SNS topic)**를 선택하여 이벤트가 발생할 때 이메일, 문자 메시지 또는 모바일 푸시 알림을 보내도록 합니다.

   1. [**주제(Topic)**]에서 기존 주제를 선택합니다. 먼저 Amazon SNS 콘솔을 사용하여 Amazon SNS 주제를 생성해야 합니다. 자세한 내용은 *Amazon Simple Notification Service 개발자 가이드*의 [A2P(Application-to-Person) 메시징에 Amazon SNS 사용](https://docs.aws.amazon.com//sns/latest/dg/sns-user-notifications.html)을 참조하세요.

   1. (선택 사항) **추가 설정(Additional settings)**에서 선택적으로 추가 설정을 구성할 수 있습니다. 자세한 설명은 *Amazon EventBridge 사용 설명서*의 [Creating Amazon EventBridge rules that react to events](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html)(이벤트에 응답하는 Amazon EventBridge 규칙 생성)(16단계)를 참조하세요.

   1. **다음**을 선택합니다.

1. (선택 사항) **태그(Tags)**에서 선택적으로 하나 이상의 태그를 규칙에 할당하고 **다음(Next)**을 선택할 수 있습니다.

1. **검토 및 생성(Review and create)**에서 다음을 수행합니다.

   1. 규칙의 세부 정보를 검토하고 필요에 따라 수정합니다.

   1. **규칙 생성**을 선택합니다.

자세한 내용은 Amazon EventBridge 사용 설명서**에서 [Amazon EventBridge 규칙](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) 및 [Amazon EventBridge 이벤트 패턴](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)을 참조하세요.

### 인스턴스 메타데이터 사용
<a name="cp-instance-metadata"></a>

인스턴스 메타데이터 범주 `events/recommendations/rebalance`는 스팟 인스턴스에 대한 리밸런싱 권고 신호가 생성되는 대략적인 시간(UTC)을 제공합니다.

리밸런싱 권고에 따라 조치를 취할 기회를 놓치지 않도록 5초마다 리밸런싱 권고 신호를 확인하는 것이 좋습니다.

스팟 인스턴스에서 리밸런싱 권고를 수신하는 경우 신호가 생성된 시간이 인스턴스 메타데이터에 나타납니다. 다음과 같이 신호가 생성된 시간을 검색할 수 있습니다.

------
#### [ IMDSv2 ]

**Linux**  
Linux 인스턴스에서 다음 명령을 실행합니다.

**IMDSv2**

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

**Windows**  
Windows 인스턴스에서 다음 cmdlet을 실행합니다.

```
[string]$token = Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/api/token
```

```
Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token" = $token} `
    -Method GET -Uri http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

------
#### [ IMDSv1 ]

**Linux**  
Linux 인스턴스에서 다음 명령을 실행합니다.

```
curl http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

**Windows**  
Windows 인스턴스에서 다음 cmdlet을 실행합니다.

```
Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

------

다음은 스팟 인스턴스에 대한 리밸런싱 권고 신호가 생성된 시간(UTC)을 나타내는 예시 출력입니다.

```
{"noticeTime": "2020-10-27T08:22:00Z"}
```

인스턴스에 대한 신호가 생성되지 않은 경우 `events/recommendations/rebalance`가 표시되지 않으며 이를 검색하려고 하면 HTTP 404 오류가 발생합니다.

## 리밸런싱 권고 신호를 사용하는 서비스
<a name="services-using-rebalance-rec-signal"></a>

Amazon EC2 Auto Scaling, EC2 Fleet 및 스팟 플릿에서는 리밸런싱 권고 신호를 사용하여 실행 중인 인스턴스에 스팟 인스턴스 중단 2분 전 공지가 수신되기 전에 새 스팟 인스턴스로 플릿을 미리 보강하여 워크로드 가용성을 유지할 수 있습니다. 이러한 서비스에서는 스팟 인스턴스의 가용성에 영향을 미치는 변경 사항을 모니터링하여 사전 예방적으로 대응할 수 있습니다. 자세한 내용은 다음을 참조하세요.
+ **Amazon EC2 Auto Scaling User Guide의 [Use Capacity Rebalancing to handle Amazon EC2 Spot interruptions](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html)
+ 이 사용 설명서의 EC2 Fleet 및 스팟 플릿 주제의 [EC2 플릿 및 스팟 플릿의 용량 리밸런싱을 사용하여 위험이 있는 스팟 인스턴스 교체](ec2-fleet-capacity-rebalance.md)

# 스팟 배치 점수
<a name="spot-placement-score"></a>

스팟 배치 점수 기능은 스팟 용량 요구 사항에 따라 AWS 리전 또는 가용 영역을 추천할 수 있습니다. 스팟 용량은 변동하기 때문에 항상 필요한 용량을 확보할 수 있을지 확신할 수 없습니다. 스팟 배치 점수는 스팟 요청이 리전 또는 가용 영역에서 성공할 가능성을 나타냅니다.

**참고**  
스팟 배치 점수는 사용 가능한 용량이나 중단 위험 측면에서 어떠한 보장도 제공하지 않습니다. 스팟 배치 점수는 권장 사항으로만 사용됩니다.

**사용 사례**

다음과 같은 용도에 스팟 배치 점수 기능을 사용할 수 있습니다.
+ 용량 요구 증가 또는 현재 리전의 가용 용량 감소에 대응하여 필요에 따라 다른 리전에서 스팟 컴퓨팅 용량 재배치 및 크기 조정
+ 단일 가용 영역 워크로드를 실행할 최적의 가용 영역 식별
+ 스팟 기반 워크로드 확장을 위한 최적의 리전을 선택할 수 있도록 향후 스팟 용량 요구 사항 시뮬레이션
+ 스팟 용량 요구 사항을 충족하기 위한 최적의 인스턴스 유형 조합 확인

**Topics**
+ [제한 사항](#sps-limitations)
+ [비용](#sps-costs)
+ [스팟 배치 점수의 작동 방식](how-sps-works.md)
+ [스팟 배치 점수에 필요한 권한](sps-iam-permission.md)
+ [스팟 배치 점수 계산](work-with-spot-placement-score.md)

## 제한 사항
<a name="sps-limitations"></a>
+ **목표 용량 제한** - 스팟 배치 점수 목표 용량 제한은 최근 스팟 사용량을 기준으로 하며 잠재적인 사용량 증가를 고려합니다. 최근 스팟 사용량이 없는 경우 스팟 요청 제한에 맞춰 낮은 기본 제한을 제공합니다.
+ **요청 구성 제한** - 스팟 배치 점수 기능의 의도된 용도와 관련이 없는 패턴을 감지하는 경우 24시간 내에 새로운 요청 구성의 수를 제한할 수 있습니다. 한도에 도달하면 이미 사용한 요청 구성을 다시 시도할 수 있지만 다음 24시간 기간까지는 새 요청 구성을 지정할 수 없습니다.
+ **최소 인스턴스 유형 수** - 인스턴스 유형을 지정하는 경우 최소 세 가지 인스턴스 유형을 지정해야 합니다. 그렇게 하지 않으면 Amazon EC2가 낮은 스팟 배치 점수를 반환합니다. 마찬가지로 인스턴스 속성을 지정하는 경우 3가지 이상의 서로 다른 인스턴스 유형으로 확인되어야 합니다. 인스턴스 유형은 이름이 다른 경우 다른 것으로 간주됩니다. 예를 들어 m5.8xlarge, m5a.8xlarge 및 m5.12xlarge는 모두 다른 것으로 간주됩니다.

## 비용
<a name="sps-costs"></a>

스팟 배치 점수 기능 사용에 따른 추가 요금은 없습니다.

# 스팟 배치 점수의 작동 방식
<a name="how-sps-works"></a>

스팟 배치 점수 기능을 사용할 때 먼저 스팟 인스턴스에 대한 컴퓨팅 요구 사항을 지정하면 Amazon EC2가 스팟 요청이 성공할 가능성이 큰 상위 10개 리전 또는 가용 영역을 반환합니다. 각 리전 또는 가용 영역은 1\$110의 척도로 점수가 매겨지며 10은 스팟 요청이 성공할 가능성이 매우 높음을 나타내고 1은 스팟 요청이 성공할 가능성이 없음을 나타냅니다.

**Topics**
+ [1단계: 스팟 요구 사항 지정](#sps-specify-requirements)
+ [2단계: 스팟 배치 점수 응답 필터링](#get-sps)
+ [3단계: 권장 사항 검토](#sps-recommendations)
+ [4단계: 권장 사항 사용](#sps-use-recommendations)

## 1단계: 스팟 요구 사항 지정
<a name="sps-specify-requirements"></a>

먼저 다음과 같이 원하는 목표 스팟 용량과 컴퓨팅 요구 사항을 지정합니다.

1. **목표 스팟 용량과 목표 용량 단위(선택 사항)를 지정합니다.**

   인스턴스 또는 vCPU 수 또는 메모리 양(MiB)을 기준으로 원하는 목표 스팟 용량을 지정할 수 있습니다. vCPU 수 또는 메모리 양으로 목표 용량을 지정하려면 목표 용량 단위를 `vcpu` 또는 `memory-mib`로 지정해야 합니다. 그렇게 하지 않으면 기본적으로 인스턴스 수가 사용됩니다.

   vCPU 수 또는 메모리 양을 기준으로 목표 용량을 지정하면 총 용량을 계산할 때 이 단위를 사용할 수 있습니다. 예를 들어 크기가 다른 인스턴스를 혼합하여 사용하려는 경우 목표 용량을 총 vCPU 수로 지정할 수 있습니다. 그러면 스팟 배치 점수 기능은 vCPU 수를 기준으로 요청의 각 인스턴스 유형을 고려하고 목표 용량을 합산할 때 총 인스턴스 수 대신 총 vCPU 수를 계산합니다.

   예를 들어 총 목표 용량을 vCPU 30개로 지정하고 인스턴스 유형 목록이 c5.xlarge(vCPU 4개), m5.2xlarge(vCPU 8개) 및 r5.large(vCPU 2개)로 구성되어 있다고 가정해 보겠습니다. 총 30개의 vCPU를 얻기 위해 2개의 c5.xlarge(2\$14 vCPU), 2개의 m5.2xlarge(2\$18 vCPU) 및 3개의 r5.large(3\$12 vCPU)를 혼합할 수 있습니다.

1. **인스턴스 유형 또는 인스턴스 속성을 지정합니다.**

   사용할 인스턴스 유형을 지정하거나 컴퓨팅 요구 사항에 필요한 인스턴스 속성을 지정한 다음 Amazon EC2에서 이러한 속성을 가진 인스턴스 유형을 식별하도록 할 수 있습니다. 이를 속성 기반 인스턴스 유형 선택이라고 합니다.

   동일한 스팟 배치 점수 요청에서 인스턴스 유형과 인스턴스 속성을 모두 지정할 수 없습니다.

   인스턴스 유형을 지정하는 경우 최소 3가지의 서로 다른 인스턴스 유형을 지정해야 합니다. 그렇게 하지 않으면 Amazon EC2가 낮은 스팟 배치 점수를 반환합니다. 마찬가지로 인스턴스 속성을 지정하는 경우 3가지 이상의 서로 다른 인스턴스 유형으로 확인되어야 합니다.

스팟 요구 사항을 지정하는 다양한 방법의 예는 [구성의 예](work-with-spot-placement-score.md#sps-example-configs) 섹션을 참조하세요.

## 2단계: 스팟 배치 점수 응답 필터링
<a name="get-sps"></a>

Amazon EC2는 각 리전 또는 가용 영역에 대한 스팟 배치 점수를 계산하고 스팟 요청이 성공할 가능성이 있는 상위 10개 리전 또는 상위 10개 가용 영역을 반환합니다. 기본값은 점수가 매겨진 리전 목록을 반환하는 것입니다. 모든 스팟 용량을 단일 가용 영역으로 시작하려는 경우 점수가 매겨진 가용 영역 목록을 요청하는 것이 유용합니다.

리전 필터를 지정하여 응답에서 반환될 리전의 범위를 좁힐 수 있습니다.

리전 필터와 점수가 매겨진 가용 영역에 대한 요청을 결합할 수 있습니다. 이러한 방식으로 점수가 매겨진 가용 영역은 필터링한 리전으로 제한됩니다. 리전에서 가장 높은 점수의 가용 영역을 찾기 위해 해당 리전만 지정하면 응답에서 해당 리전의 모든 가용 영역에 대한 점수가 매겨진 목록을 반환합니다.

## 3단계: 권장 사항 검토
<a name="sps-recommendations"></a>

각 리전 또는 가용 영역에 대한 스팟 배치 점수는 목표 용량, 인스턴스 유형의 구성, 기록 및 현재 스팟 사용 추세 및 요청 시간을 기준으로 계산됩니다. 스팟 용량은 지속적으로 변동하기 때문에 동일한 스팟 배치 점수 요청이 다른 시간에 계산될 때 다른 점수를 산출할 수 있습니다.

리전 및 가용 영역은 1\$110의 척도로 점수가 매겨집니다. 10점은 스팟 요청이 성공할 가능성이 높지만 보장되지는 않음을 나타냅니다. 1점은 스팟 요청이 성공할 가능성이 전혀 없음을 나타냅니다. 다른 리전 또는 가용 영역에 대해 동일한 점수가 반환될 수 있습니다.

낮은 점수가 반환되면 컴퓨팅 요구 사항을 편집하고 점수를 다시 계산할 수 있습니다. 하루 중 다른 시간에 동일한 컴퓨팅 요구 사항에 대한 스팟 배치 점수 권장 사항을 요청할 수도 있습니다.

## 4단계: 권장 사항 사용
<a name="sps-use-recommendations"></a>

스팟 배치 점수는 스팟 요청이 스팟 배치 점수 구성(목표 용량, 목표 용량 단위, 인스턴스 유형 또는 인스턴스 속성)과 정확히 동일한 구성을 갖고 `capacity-optimized` 할당 전략을 사용하도록 구성된 경우에만 관련이 있습니다. 그렇게 하지 않으면 사용 가능한 스팟 용량을 얻을 가능성이 점수와 일치하지 않습니다.

스팟 배치 점수는 지침으로 사용되며 스팟 요청이 전체 또는 부분적으로 이행됨을 보장하는 점수는 없지만 다음 정보를 사용하여 최상의 결과를 얻을 수 있습니다.
+ **동일한 구성 사용** - 스팟 배치 점수는 Auto Scaling 그룹, EC2 플릿 또는 스팟 플릿의 스팟 요청 구성(목표 용량, 목표 용량 단위 및 인스턴스 유형 또는 인스턴스 속성)이 스팟 배치 점수를 얻기 위해 입력한 것과 동일한 경우에만 관련이 있습니다.

  스팟 배치 점수 요청에서 속성 기반 인스턴스 유형 선택을 사용한 경우 속성 기반 인스턴스 유형 선택을 사용하여 Auto Scaling 그룹, EC2 플릿 또는 스팟 플릿을 구성할 수 있습니다. 자세한 내용은 [속성 기반 인스턴스 유형 선택을 사용하여 혼합 인스턴스 그룹 생성](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html) 및 [EC2 플릿 또는 스팟 플릿의 인스턴스 유형 선택에 대한 속성 지정](ec2-fleet-attribute-based-instance-type-selection.md) 섹션을 참조하세요.
**참고**  
vCPU 수 또는 메모리 양으로 목표 용량을 지정하고 스팟 배치 점수 구성에서 인스턴스 유형을 지정한 경우 현재 Auto Scaling 그룹, EC2 플릿 또는 스팟 플릿에서 이 구성을 생성할 수 없습니다. 대신 `WeightedCapacity` 파라미터를 사용하여 인스턴스 가중치를 수동으로 설정해야 합니다.
+ **`capacity-optimized` 할당 전략 사용** - 모든 점수는 플릿 요청이 모든 가용 영역(리전 전체 용량 요청) 또는 단일 가용 영역(하나의 가용 영역에서 용량을 요청하는 경우), 스팟 용량 요청이 성공하기 위한 `capacity-optimized` 스팟 할당 전략을 사용하도록 구성될 것이라고 가정합니다. `lowest-price` 등의 다른 할당 전략을 사용하는 경우 사용 가능한 스팟 용량을 얻을 가능성은 점수와 일치하지 않습니다.
+ **점수에 따라 즉각 조치** - 스팟 배치 점수 권장 사항은 요청 시 사용 가능한 스팟 용량을 반영하며 동일하게 구성해도 스팟 용량 변동으로 인해 서로 다른 시간에 계산될 때 다른 점수를 산출할 수 있습니다. 점수가 10이면 스팟 용량 요청이 성공할 가능성이 높지만 보장되지는 않습니다. 최상의 결과를 얻으려면 점수에 따라 즉시 조치를 취하는 것이 좋습니다. 또한 용량 요청을 시도할 때마다 새로운 점수를 얻는 것이 좋습니다.

# 스팟 배치 점수에 필요한 권한
<a name="sps-iam-permission"></a>

기본적으로 IAM ID(사용자, 역할 또는 그룹)는 [스팟 배치 점수](spot-placement-score.md)을 사용할 수 있는 권한이 없습니다. IAM ID가 스팟 배치 점수를 사용하도록 허용하려면 `ec2:GetSpotPlacementScores` EC2 API 작업 사용 권한을 부여하는 IAM 정책을 생성해야 합니다. 그런 다음 이러한 권한이 필요한 IAM 자격 증명에 정책을 연결합니다.

다음은 `ec2:GetSpotPlacementScores` EC2 API 작업 사용 권한을 부여하는 IAM 정책의 예입니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:GetSpotPlacementScores",
            "Resource": "*"
        }
    ]
}
```

------

IAM 정책 편집에 대한 자세한 내용은 *IAM 사용 설명서*의 [IAM 정책 편집](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html)을 참조하세요.

액세스 권한을 제공하려면 사용자, 그룹 또는 역할에 권한을 추가하세요.
+ AWS IAM Identity Center의 사용자 및 그룹:

  권한 세트를 생성합니다. *AWS IAM Identity Center 사용자 안내서*에서 [권한 세트 생성](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)의 지침을 따릅니다.
+ ID 제공업체를 통해 IAM에서 관리되는 사용자:

  ID 페더레이션을 위한 역할을 생성합니다. *IAM 사용자 설명서*의 [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)의 지침을 따릅니다.
+ IAM 사용자:
  + 사용자가 맡을 수 있는 역할을 생성합니다. *IAM 사용자 설명서*에서 [Create a role for an IAM user](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)의 지침을 따릅니다.
  + (권장되지 않음) 정책을 사용자에게 직접 연결하거나 사용자를 사용자 그룹에 추가합니다. *IAM 사용 설명서*에서 [사용자(콘솔)에 권한 추가](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)의 지침을 따릅니다.

# 스팟 배치 점수 계산
<a name="work-with-spot-placement-score"></a>

대상 목표 용량 및 컴퓨팅 요구 사항에 따라 스팟 배치 점수를 계산할 수 있습니다. 자세한 내용은 [스팟 배치 점수의 작동 방식](how-sps-works.md) 섹션을 참조하세요.

**필요한 권한**  
필수 권한이 있는지 확인하세요. 자세한 내용은 [스팟 배치 점수에 필요한 권한](sps-iam-permission.md) 섹션을 참조하세요.

**Topics**
+ [인스턴스 속성을 사용하여 계산](#sps-specify-instance-attributes-console)
+ [인스턴스 유형을 사용하여 계산](#sps-specify-instance-types-console)
+ [AWS CLI를 사용하여 계산](#calculate-sps-cli)

**자동화된 솔루션을 찾고 있나요?** 이 사용 설명서의 수동 단계를 따르는 대신 스팟 배치 점수 추적기 대시보드를 구축하여 자동으로 점수를 캡처하고 이를 Amazon CloudWatch에 저장할 수 있습니다. 자세한 내용은 [AWS에서의 스팟 배치 점수 추적기 대시보드 구축 지침](https://aws.amazon.com/solutions/guidance/building-a-spot-placement-score-tracker-dashboard-on-aws/)을 참조하세요.

## 인스턴스 속성을 사용하여 계산
<a name="sps-specify-instance-attributes-console"></a>

**인스턴스 속성을 지정하여 스팟 배치 점수 계산**

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

1. 탐색 창에서 **스팟 요청**을 선택합니다.

1. **스팟 인스턴스 요청** 옆의 아래쪽 화살표를 선택하고 **스팟 배치 점수 계산**을 선택합니다.

1. **요구 사항 입력(Enter requirements)**을 선택합니다.

1. **목표 용량(Target capacity)**에서 **인스턴스(instances)**, **vCPU(vCPUs)** 또는 **메모리(MiB)(memory (MiB))** 양을 기준으로 원하는 용량을 입력합니다.

1. **인스턴스 유형 요구 사항(Instance type requirements)**에서 컴퓨팅 요구 사항을 지정하고 Amazon EC2가 이러한 요구 사항에 따라 최적의 인스턴스 유형을 식별할 수 있도록 하려면 **컴퓨팅 요구 사항에 맞는 인스턴스 속성 지정(Specify instance attributes that match your compute requirements)**을 선택합니다.

1. **vCPU(vCPUs)**에 원하는 최소 및 최대 vCPU 수를 입력합니다. 무한을 지정하려면 **최소 없음(No minimum)**, **최대 없음(No maximum)** 또는 둘 다 선택합니다.

1. **메모리(GiB)(Memory (GiB))**에 원하는 최소 및 최대 메모리 양을 입력합니다. 무한을 지정하려면 **최소 없음(No minimum)**, **최대 없음(No maximum)** 또는 둘 다 선택합니다.

1. **CPU 아키텍처(CPU architecture)**에서 필요한 인스턴스 아키텍처를 선택합니다.

1. (선택 사항) **추가 인스턴스 속성(Additional instance attributes)**에서 필요에 따라 하나 이상의 속성을 지정하여 컴퓨팅 요구 사항을 더 자세히 표현할 수 있습니다. 각 추가 속성은 요청에 추가 제약 조건을 추가합니다. 추가 속성을 생략할 수 있으며 생략 시 기본값이 사용됩니다. 각 속성과 기본값에 대한 설명은 [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html)를 참조하세요.

1. (선택 사항) 지정한 속성을 가진 인스턴스 유형을 보려면 **일치하는 인스턴스 유형 미리 보기(Preview matching instance types)**를 확장합니다. 배치 평가에 사용되는 인스턴스 유형을 제외하려면 인스턴스를 선택한 다음 **선택한 인스턴스 유형 제외(Exclude selected instance types)**를 선택합니다.

1. **배치 점수 로드(Load placement scores)**를 선택하고 결과를 검토합니다.

1. (선택 사항) 특정 리전에 대한 스팟 배치 점수를 표시하려면 **평가할 리전(Regions to evaluate)**에서 평가할 리전을 선택한 다음 **배치 점수 계산(Calculate placement scores)**을 선택합니다.

1. (선택 사항) 표시된 리전에서 가용 영역에 대한 스팟 배치 점수를 표시하려면 **가용 영역당 배치 점수 제공(Provide placement scores per Availability Zone)** 확인란을 선택합니다. 점수가 매겨진 가용 영역 목록은 모든 스팟 용량을 단일 가용 영역으로 시작하려는 경우에 유용합니다.

1. (선택 사항) 컴퓨팅 요구 사항을 편집하고 새 배치 점수를 얻으려면 **편집(Edit)**을 선택하고 필요에 따라 조정한 다음 **배치 점수 계산(Calculate placement scores)**을 선택합니다.

## 인스턴스 유형을 사용하여 계산
<a name="sps-specify-instance-types-console"></a>

**인스턴스 유형을 지정하여 스팟 배치 점수 계산(콘솔)**

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

1. 탐색 창에서 **스팟 요청**을 선택합니다.

1. **스팟 인스턴스 요청** 옆의 아래쪽 화살표를 선택하고 **스팟 배치 점수 계산**을 선택합니다.

1. **요구 사항 입력(Enter requirements)**을 선택합니다.

1. **목표 용량(Target capacity)**에서 **인스턴스(instances)**, **vCPU(vCPUs)** 또는 **메모리(MiB)(memory (MiB))** 양을 기준으로 원하는 용량을 입력합니다.

1. 사용할 인스턴스 유형을 지정하려면 **인스턴스 유형 요구 사항(Instance type requirements)**에서 **수동으로 인스턴스 유형 선택(Manually select instance types)**을 선택합니다.

1. **인스턴스 유형 선택(Select instance types)**을 선택하고 사용할 인스턴스 유형을 선택한 다음 **선택(Select)**을 선택합니다. 인스턴스 유형을 빠르게 찾으려면 필터 막대를 사용하여 여러 속성으로 인스턴스 유형을 필터링합니다.

1. **배치 점수 로드(Load placement scores)**를 선택하고 결과를 검토합니다.

1. (선택 사항) 특정 리전에 대한 스팟 배치 점수를 표시하려면 **평가할 리전(Regions to evaluate)**에서 평가할 리전을 선택한 다음 **배치 점수 계산(Calculate placement scores)**을 선택합니다.

1. (선택 사항) 표시된 리전에서 가용 영역에 대한 스팟 배치 점수를 표시하려면 **가용 영역당 배치 점수 제공(Provide placement scores per Availability Zone)** 확인란을 선택합니다. 점수가 매겨진 가용 영역 목록은 모든 스팟 용량을 단일 가용 영역으로 시작하려는 경우에 유용합니다.

1. (선택 사항) 인스턴스 유형 목록을 편집하고 새 배치 점수를 얻으려면 **편집(Edit)**을 선택하고 필요에 따라 조정한 다음 **배치 점수 계산(Calculate placement scores)**을 선택합니다.

## AWS CLI를 사용하여 계산
<a name="calculate-sps-cli"></a>

**스팟 배치 점수 계산**

1. (선택 사항) 스팟 배치 점수 구성에 지정할 수 있는 가능한 모든 파라미터를 생성하려면 [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html) 명령과 `--generate-cli-skeleton` 파라미터를 사용합니다.

   ```
   aws ec2 get-spot-placement-scores \
       --region us-east-1 \
       --generate-cli-skeleton
   ```

   다음은 예제 출력입니다.

   ```
   {
       "InstanceTypes": [
           ""
       ],
       "TargetCapacity": 0,
       "TargetCapacityUnitType": "vcpu",
       "SingleAvailabilityZone": true,
       "RegionNames": [
           ""
       ],
       "InstanceRequirementsWithMetadata": {
           "ArchitectureTypes": [
               "x86_64_mac"
           ],
           "VirtualizationTypes": [
               "hvm"
           ],
           "InstanceRequirements": {
               "VCpuCount": {
                   "Min": 0,
                   "Max": 0
               },
               "MemoryMiB": {
                   "Min": 0,
                   "Max": 0
               },
               "CpuManufacturers": [
                   "amd"
               ],
               "MemoryGiBPerVCpu": {
                   "Min": 0.0,
                   "Max": 0.0
               },
               "ExcludedInstanceTypes": [
                   ""
               ],
               "InstanceGenerations": [
                   "previous"
               ],
               "SpotMaxPricePercentageOverLowestPrice": 0,
               "OnDemandMaxPricePercentageOverLowestPrice": 0,
               "BareMetal": "excluded",
               "BurstablePerformance": "excluded",
               "RequireHibernateSupport": true,
               "NetworkInterfaceCount": {
                   "Min": 0,
                   "Max": 0
               },
               "LocalStorage": "included",
               "LocalStorageTypes": [
                   "hdd"
               ],
               "TotalLocalStorageGB": {
                   "Min": 0.0,
                   "Max": 0.0
               },
               "BaselineEbsBandwidthMbps": {
                   "Min": 0,
                   "Max": 0
               },
               "AcceleratorTypes": [
                   "fpga"
               ],
               "AcceleratorCount": {
                   "Min": 0,
                   "Max": 0
               },
               "AcceleratorManufacturers": [
                   "amd"
               ],
               "AcceleratorNames": [
                   "vu9p"
               ],
               "AcceleratorTotalMemoryMiB": {
                   "Min": 0,
                   "Max": 0
               }
           }
       },
       "DryRun": true,
       "MaxResults": 0,
       "NextToken": ""
   }
   ```

1. 이전 단계의 출력을 사용하여 JSON 구성 파일을 생성하고 다음과 같이 구성합니다.

   1. `TargetCapacity`에 대해 인스턴스, vCPU 또는 메모리(MiB) 양으로 스팟 용량을 입력합니다.

   1. `TargetCapacityUnitType`에 대해 목표 용량의 단위를 입력합니다. 이 파라미터를 생략하면 기본적으로 `units`가 사용됩니다.

      유효한 값 :`units`(인스턴스 수로 변환됨) \$1 `vcpu` \$1 `memory-mib`

   1. `SingleAvailabilityZone`의 경우 점수가 매겨진 가용 영역 목록을 반환하는 응답에 대해 `true`를 지정합니다. 점수가 매겨진 가용 영역 목록은 모든 스팟 용량을 단일 가용 영역으로 시작하려는 경우에 유용합니다. 이 파라미터를 생략하면 기본값으로 `false`가 사용되고 응답에서 점수가 매겨진 리전 목록을 반환합니다.

   1. (선택 사항) `RegionNames`에 대해 필터로 사용할 리전을 지정합니다. 리전 코드(예: `us-east-1`)를 지정해야 합니다.

      리전 필터를 사용하면 응답에서 지정한 리전만 반환합니다. `SingleAvailabilityZone`에 대해 `true`를 지정한 경우 응답은 지정된 리전의 가용 영역만 반환합니다.

   1. `InstanceTypes` 또는 `InstanceRequirements` 중 하나를 포함할 수 있지만 둘 다 동일한 구성에 포함할 수는 없습니다.

      JSON 구성에서 다음 중 하나를 지정합니다.
      + 인스턴스 유형 목록을 지정하려면 `InstanceTypes` 파라미터에 인스턴스 유형을 지정합니다. 세 가지 이상의 서로 다른 인스턴스 유형을 지정합니다. 인스턴스 유형을 하나 또는 2개만 지정하는 경우 스팟 배치 점수는 낮은 점수를 반환합니다. 인스턴스 유형 목록은 [Amazon EC2 인스턴스 유형](https://aws.amazon.com/ec2/instance-types/)을 참조하세요.
      + Amazon EC2가 해당 속성과 일치하는 인스턴스 유형을 식별하도록 인스턴스 속성을 지정하려면 `InstanceRequirements` 구조에 있는 속성을 지정합니다.

        `VCpuCount`, `MemoryMiB` 및 `CpuManufacturers`의 값을 입력해야 합니다. 다른 속성을 생략할 수 있으며 생략 시 기본값이 사용됩니다. 각 속성과 기본값에 대한 설명은 [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html)를 참조하세요.

      구성에 대한 예시는 [구성의 예](#sps-example-configs) 섹션을 참조하세요.

1. JSON 파일에 지정한 요구 사항에 대한 스팟 배치 점수를 얻으려면 [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html) 명령을 사용하고 `--cli-input-json` 파라미터를 사용하여 JSON 파일의 이름과 경로를 지정합니다.

   ```
   aws ec2 get-spot-placement-scores \
       --region us-east-1 \
       --cli-input-json file://file_name.json
   ```

   `SingleAvailabilityZone`이 `false`로 설정되거나 생략된 경우의 출력 예제(생략된 경우 기본적으로 `false` 사용) – 점수가 매겨진 리전 목록이 반환됩니다.

   ```
   "SpotPlacementScores": [
       {
           "Region": "us-east-1",
           "Score": 7
       },
       {
           "Region": "us-west-1",
           "Score": 5
       },  
      ...
   ```

   `SingleAvailabilityZone`이 `true`로 설정된 경우의 출력 예 – 점수가 매겨진 가용 영역 목록이 반환됩니다.

   ```
   "SpotPlacementScores": [
       {
           "Region": "us-east-1",
           "AvailabilityZoneId": "use1-az1",
           "Score": 8
       },
       {
           "Region": "us-east-1",
           "AvailabilityZoneId": "usw2-az3",
           "Score": 6
       },
      ...
   ```

### 구성의 예
<a name="sps-example-configs"></a>

AWS CLI를 사용하는 경우 다음 예제 구성을 사용할 수 있습니다.

**Topics**
+ [예시: 인스턴스 유형 및 목표 용량 지정](#example-config-instance-type-override)
+ [예시: 인스턴스 유형 및 목표 용량(메모리) 지정](#example-config-instance-type-memory-unit-override)
+ [예시: 속성 기반 인스턴스 유형 선택을 위한 속성 지정](#example-config-attribute-based-instance-type-selection)
+ [예시: 속성 기반 인스턴스 유형 선택을 위한 속성을 지정하고 점수가 매겨진 가용 영역의 목록 반환](#example-config-sps-singleAZ)

#### 예시: 인스턴스 유형 및 목표 용량 지정
<a name="example-config-instance-type-override"></a>

다음 예제 구성은 3개의 서로 다른 인스턴스 유형과 스팟 인스턴스 500개의 대상 스팟 용량을 지정합니다.

```
{
    "InstanceTypes": [
        "m5.4xlarge",
        "r5.2xlarge",
        "m4.4xlarge"
    ], 
    "TargetCapacity": 500
}
```

#### 예시: 인스턴스 유형 및 목표 용량(메모리) 지정
<a name="example-config-instance-type-memory-unit-override"></a>

다음 예제 구성은 세 가지 인스턴스 유형과 500,000MiB 메모리의 대상 스팟 용량을 지정합니다. 여기서 시작할 스팟 인스턴스의 수는 총 500,000MiB의 메모리를 제공해야 합니다.

```
{
    "InstanceTypes": [
        "m5.4xlarge",
        "r5.2xlarge",
        "m4.4xlarge"
    ], 
    "TargetCapacity": 500000,
    "TargetCapacityUnitType": "memory-mib"
}
```

#### 예시: 속성 기반 인스턴스 유형 선택을 위한 속성 지정
<a name="example-config-attribute-based-instance-type-selection"></a>

다음 예제 구성은 속성 기반 인스턴스 유형 선택을 위해 구성되며 그 뒤에 예제 구성에 대한 텍스트 설명이 나옵니다.

```
{
    "TargetCapacity": 5000,
    "TargetCapacityUnitType": "vcpu",
    "InstanceRequirementsWithMetadata": {
        "ArchitectureTypes": ["arm64"],
        "VirtualizationTypes": ["hvm"],
        "InstanceRequirements": {
            "VCpuCount": {
                "Min": 1,
                "Max": 12
            },
            "MemoryMiB": {
                "Min": 512
            }
        }
    }
}
```

****`InstanceRequirementsWithMetadata`****  
속성 기반 인스턴스 유형 선택을 사용하려면 구성에 `InstanceRequirementsWithMetadata` 구조를 포함하고 스팟 인스턴스에 대해 원하는 속성을 지정해야 합니다.

앞의 예에서는 다음과 같은 필수 인스턴스 속성이 지정되었습니다.
+ `ArchitectureTypes` - 인스턴스 유형의 아키텍처 유형은 `arm64`여야 합니다.
+ `VirtualizationTypes` - 인스턴스 유형의 가상화 유형은 `hvm`이어야 합니다.
+ `VCpuCount` - 인스턴스 유형에 최소 1개, 최대 12개의 vCPU가 있어야 합니다.
+ `MemoryMiB` - 인스턴스 유형에 최소 512MiB의 메모리가 있어야 합니다. `Max` 파라미터를 생략하면 최대 제한이 없는 것입니다.

지정할 수 있는 몇 가지 다른 선택적 속성이 있습니다. 속성 목록은 [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html)를 참조하세요.

**`TargetCapacityUnitType`**  
`TargetCapacityUnitType` 파라미터는 목표 용량의 단위를 지정합니다. 이 예제에서 목표 용량은 `5000`이고 목표 용량 단위 유형은 `vcpu`입니다. 이들은 함께 원하는 목표 용량 vCPU 5000개를 지정합니다. 여기서 시작할 스팟 인스턴스 수는 총 5000개의 vCPU를 제공해야 합니다.

#### 예시: 속성 기반 인스턴스 유형 선택을 위한 속성을 지정하고 점수가 매겨진 가용 영역의 목록 반환
<a name="example-config-sps-singleAZ"></a>

다음 예제 구성은 속성 기반 인스턴스 유형 선택을 위해 구성됩니다. `"SingleAvailabilityZone": true`를 지정하면 응답에서 점수가 매겨진 가용 영역 목록을 반환합니다.

```
{
    "TargetCapacity": 1000,
    "TargetCapacityUnitType": "vcpu",
    "SingleAvailabilityZone": true,
    "InstanceRequirementsWithMetadata": {
        "ArchitectureTypes": ["arm64"],
        "VirtualizationTypes": ["hvm"],
        "InstanceRequirements": {
            "VCpuCount": {
                "Min": 1,
                "Max": 12
            },
            "MemoryMiB": {
                "Min": 512
            }
        }
    }
}
```

# 스팟 인스턴스 데이터 피드를 사용하여 스팟 인스턴스 비용 추적
<a name="spot-data-feeds"></a>

스팟 인스턴스 요금을 쉽게 이해할 수 있도록 Amazon EC2에서는 스팟 인스턴스 사용량 및 요금을 설명하는 데이터 피드를 제공합니다. 이 데이터 피드는 데이터 피드를 구독할 때 지정하는 Amazon S3 버킷으로 전송됩니다.

일반적으로 데이터 피드 파일은 1시간에 한 번씩 버킷에 도착합니다. 특정 시간 동안 스팟 인스턴스가 실행되지 않는 경우 해당 시간에 대한 데이터 피드 파일이 수신되지 않습니다.

일반적으로 각 시간의 스팟 인스턴스 사용량은 단일 데이터 파일로 제공됩니다. 이러한 파일은 버킷으로 전송되기 전에 압축(gzip)됩니다. 파일이 매우 큰 경우 Amazon EC2는 지정된 사용 시간에 대해 여러 개의 파일을 작성할 수 있습니다(예: 압축 전 해당 시간의 파일 콘텐츠가 50MB를 초과하는 경우).

**참고**  
AWS 계정당 스팟 인스턴스 데이터 피드를 한 개만 생성할 수 있습니다.

스팟 인스턴스 데이터 피드는 중국(베이징), 중국(닝샤), AWS GovCloud(미국) 및 [기본적으로 비활성화된 리전](using-regions-availability-zones.md#concepts-available-regions)을 제외한 모든 AWS 리전에서 지원됩니다.

**Topics**
+ [데이터 피드 파일 이름 및 형식](#using-spot-instances-format)
+ [Amazon S3 버킷 요구 사항](#using-spot-instances-dfs3)
+ [스팟 인스턴스 데이터 피드 구독](#using-spot-instances-datafeed-all)
+ [데이터 피드에서 데이터 보기](#using-spot-instances-datafeed-view-data)
+ [스팟 인스턴스 데이터 피드 삭제](#using-spot-instances-datafeed-delete)

## 데이터 피드 파일 이름 및 형식
<a name="using-spot-instances-format"></a>

스팟 인스턴스 데이터 피드 파일 이름은 다음 형식을 사용합니다(UTC 기준 날짜 및 시간).

```
bucket-name.s3.amazonaws.com/optional-prefix/aws-account-id.YYYY-MM-DD-HH.n.unique-id.gz
```

예를 들어, 버킷 이름이 **amzn-s3-demo-bucket**이고 접두사가**my-prefix**인 경우 파일 이름은 다음과 같습니다.

```
amzn-s3-demo-bucket.s3.amazonaws.com/my-prefix/111122223333.2023-12-09-07.001.b959dbc6.gz
```

버킷 이름에 대한 자세한 내용은 *Amazon S3 사용 설명서*에서 [버킷 이름 지정 규칙](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html)을 참조하세요.

스팟 인스턴스 데이터 피드 파일은 탭으로 구분됩니다. 데이터 파일의 각 줄은 1 인스턴스 시간에 해당하며 다음 표에 나열된 필드를 포함합니다.


|  필드  |  설명  | 
| --- | --- | 
|   `Timestamp`   |  이 인스턴스 사용량에 대해 청구된 가격을 결정하는 데 사용되는 타임스탬프입니다.  | 
|   `UsageType`   |  청구되는 사용 유형 및 인스턴스 유형입니다. `m1.small` 스팟 인스턴스의 경우 이 필드는 `SpotUsage`로 설정됩니다. 다른 모든 인스턴스 유형의 경우 이 필드는 `SpotUsage:`\$1*instance-type*\$1으로 설정됩니다. 예를 들어 `SpotUsage:c1.medium`입니다.  | 
|   `Operation`   |  청구되는 제품입니다. Linux 스팟 인스턴스의 경우 이 필드는 `RunInstances`로 설정됩니다. Windows 스팟 인스턴스의 경우 이 필드는 `RunInstances:0002`로 설정됩니다. 스팟 사용은 가용 영역에 따라 그룹화됩니다.  | 
|   `InstanceID`   |  이 인스턴스 사용량을 생성한 스팟 인스턴스의 ID입니다.  | 
|   `MyBidID`   |  이 인스턴스 사용량을 생성한 스팟 인스턴스 요청의 ID입니다.  | 
|   `MyMaxPrice`   |  이 스팟 요청에 대해 지정된 최고가입니다.  | 
|   `MarketPrice`   |  `Timestamp` 필드에 지정된 시간의 스팟 가격입니다.  | 
|   `Charge`   |  이 인스턴스 사용량에 대해 청구된 가격입니다.  | 
|   `Version`   |  데이터 피드 버전. 가능한 버전은 1.0입니다.  | 

## Amazon S3 버킷 요구 사항
<a name="using-spot-instances-dfs3"></a>

데이터 피드를 구독하면 데이터 피드 파일을 저장하기 위한 Amazon S3 버킷을 지정해야 합니다.

데이터 피드에 대한 Amazon S3 버킷을 선택하기 전에 다음 사항을 고려하세요.
+ 버킷에 대한 `FULL_CONTROL` 권한이 있어야 합니다. 버킷 소유자인 경우 기본적으로 이 권한이 있습니다. 그렇게 하지 않으면 버킷 소유자가 AWS 계정에 이 권한을 부여해야 합니다.
+ 데이터 피드를 구독할 때 이러한 권한으로 버킷 ACL을 업데이트하여 AWS 데이터 피드 계정에 `FULL_CONTROL` 권한을 부여합니다. AWS 데이터 피드 계정은 버킷에 데이터 피드 파일을 씁니다. 필요한 권한이 계정에 없을 경우 데이터 피드 파일을 버킷에 쓸 수 없습니다. 자세한 내용은 *Amazon CloudWatch Logs 사용 설명서*의 [Amazon S3로 전송된 로그](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-S3)를 참조하세요.

  ACL을 업데이트하고 AWS 데이터 피드 계정에 대한 권한을 제거할 경우 데이터 피드 파일을 버킷에 쓸 수 없습니다. 데이터 피드 파일을 수신하려면 데이터 피드를 다시 구독해야 합니다.
+ 각 데이터 피드 파일에는 고유의 ACL(버킷용 ACL과는 별도)이 있습니다. 버킷 소유자는 데이터 파일에 대한 `FULL_CONTROL` 권한을 가지고 있습니다. AWS 데이터 피드 계정은 읽기 및 쓰기 권한이 있습니다.
+ 데이터 피드 구독을 삭제해도 Amazon EC2에서 버킷 또는 데이터 파일에 대한 AWS 데이터 피드 계정의 읽기 및 쓰기 권한이 제거되지 않습니다. 이러한 권한을 직접 제거해야 합니다.
+ AWS Key Management Service(SSE-KMS)에 저장된 AWS KMS 키로 서버 측 암호화를 사용하여 Amazon S3 버킷을 암호화하는 경우 고객 관리형 키를 사용해야 합니다. 자세한 내용은 *Amazon CloudWatch Logs 사용 설명서*의 [Amazon S3 버킷 서버 측 암호화](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-SSE-KMS-S3) 섹션을 참조하세요.

## 스팟 인스턴스 데이터 피드 구독
<a name="using-spot-instances-datafeed-all"></a>

언제든지 스팟 인스턴스 데이터 피드를 구독할 수 있습니다. Amazon EC2 콘솔에서는 이 작업을 완료할 수 없습니다.

버킷에 충분한 권한이 없다는 오류가 발생하는 경우 [스팟 인스턴스의 데이터 피드 문제 해결](https://repost.aws/knowledge-center/s3-data-feed-ec2-spot-instances)을 참조하세요.

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

**데이터 피드를 구독하려면**  
[create-spot-datafeed-subscription](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-spot-datafeed-subscription.html) 명령을 사용합니다.

접두사를 사용하여 버킷을 지정하려면 다음 예제를 사용합니다.

```
aws ec2 create-spot-datafeed-subscription \
    --bucket amzn-s3-demo-bucket \
    --prefix my-prefix
```

접두사 없이 버킷을 지정하려면 다음 예제를 사용합니다.

```
aws ec2 create-spot-datafeed-subscription \
    --bucket amzn-s3-demo-bucket
```

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

**데이터 피드를 구독하려면**  
[New-EC2SpotDatafeedSubscription](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2SpotDatafeedSubscription.html) cmdlet을 사용합니다.

접두사를 사용하여 버킷을 지정하려면 다음 예제를 사용합니다.

```
New-EC2SpotDatafeedSubscription `
    -Bucket amzn-s3-demo-bucket `
    -Prefix my-prefix
```

접두사 없이 버킷을 지정하려면 다음 예제를 사용합니다.

```
New-EC2SpotDatafeedSubscription `
    -Bucket amzn-s3-demo-bucket
```

------

## 데이터 피드에서 데이터 보기
<a name="using-spot-instances-datafeed-view-data"></a>

AWS Management Console에서 AWS CloudShell을 엽니다. 다음 [s3 sync](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) 명령을 사용하여 데이터 피드를 위해 S3 버킷에서 .gz 파일을 가져와 지정한 폴더에 저장합니다.

```
aws s3 sync s3://amzn-s3-demo-bucket ./data-feed
```

.gz 파일의 콘텐츠를 표시하려면 S3 버킷의 콘텐츠를 저장한 폴더로 이동합니다.

```
cd data-feed
```

**ls** 명령을 사용하여 파일 이름을 확인합니다. **zcat** 명령을 파일 이름과 함께 사용하여 압축 파일의 콘텐츠를 표시합니다. 다음은 예시 명령입니다.

```
zcat  111122223333.2023-12-09-07.001.b959dbc6.gz
```

다음은 예제 출력입니다.

```
#Version: 1.0
#Fields: Timestamp UsageType Operation InstanceID MyBidID MyMaxPrice MarketPrice Charge Version
2023-12-09 07:13:47 UTC USE2-SpotUsage:c7a.medium       RunInstances:SV050      i-0c3e0c0b046e050df     sir-pwq6nmfp    0.0510000000 USD        0.0142000000 USD        0.0142000000 USD        1
```

## 스팟 인스턴스 데이터 피드 삭제
<a name="using-spot-instances-datafeed-delete"></a>

스팟 인스턴스 데이터 피드 작업이 끝나면 데이터 피드를 삭제할 수 있습니다.

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

**데이터 피드를 삭제하려면**  
[delete-spot-datafeed-subscription](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-spot-datafeed-subscription.html) 명령을 사용합니다.

```
aws ec2 delete-spot-datafeed-subscription
```

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

**데이터 피드를 삭제하려면**  
[Remove-EC2SpotDatafeedSubscription](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2SpotDatafeedSubscription.html) cmdlet을 사용합니다.

```
Remove-EC2SpotDatafeedSubscription
```

------

# 스팟 인스턴스 요청에 대한 서비스 연결 역할
<a name="service-linked-roles-spot-instance-requests"></a>

Amazon EC2는 다른 AWS 서비스를 자동으로 호출하는 데 필요한 권한에 서비스 연결 역할을 사용합니다. 서비스 연결 역할은 AWS 서비스에 직접 연결된 고유한 유형의 IAM 역할입니다. 연결된 서비스만 서비스 연결 역할을 수임할 수 있으므로 서비스 연결 역할은 AWS 서비스에 권한을 위임하는 안전한 방법을 제공합니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html)을 참조하세요.

Amazon EC2는 **AWSServiceRoleForEC2Spot**이라는 이름의 서비스 연결 역할을 사용하여 사용자 대신 스팟 인스턴스를 시작하고 관리합니다.

## AWSServiceRoleForEC2Spot으로 부여된 권한
<a name="service-linked-role-permissions-granted-by-AWSServiceRoleForEC2Spot"></a>

Amazon EC2는 **AWSServiceRoleForEC2Spot**을 사용하여 다음 작업을 완료합니다.
+ `ec2:DescribeInstances` - 스팟 인스턴스 설명
+ `ec2:StopInstances` - 스팟 인스턴스 중지
+ `ec2:StartInstances` - 스팟 인스턴스 시작

## 서비스 연결 역할 생성
<a name="service-linked-role-creating-for-spot"></a>

대부분의 상황에서는 서비스 연결 역할을 수동으로 생성할 필요가 없습니다. 사용자가 콘솔을 사용하여 스팟 인스턴스를 처음으로 요청하면 Amazon EC2가 **AWSServiceRoleForEC2Spot** 서비스 연결 역할을 생성합니다.

Amazon EC2가 이 서비스 연결 역할을 지원하기 시작한 2017년 10월 이전에 활성 스팟 인스턴스 요청을 보유한 경우 Amazon EC2에는 사용자의 AWS 계정에 **AWSServiceRoleForEC2Spot** 역할이 이미 생성되어 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [내 계정에 표시되는 새 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)을 참조하세요.

AWS CLI 또는 API를 사용하여 스팟 인스턴스를 요청하는 경우 먼저 이 역할이 있는지 확인해야 합니다.

**콘솔을 사용하여 **AWSServiceRoleForEC2Spot** 생성**

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. 탐색 창에서 **역할**을 선택합니다.

1. **역할 생성(Create role)**을 선택합니다.

1. **신뢰할 수 있는 유형의 엔터티 선택** 페이지의 **EC2**에서 **EC2 - 스팟 인스턴스**를 선택한 후 **다음: 권한**을 선택합니다.

1. 다음 페이지에서 **다음:검토(Next:Review)**를 선택합니다.

1. **검토** 페이지에서 **역할 만들기**를 선택합니다.

**AWS CLI를 사용하여 **AWSServiceRoleForEC2Spot** 생성**  
다음과 같이 [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) 명령을 사용합니다.

```
aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
```

스팟 인스턴스이 더 이상 필요 없으면 **AWSServiceRoleForEC2Spot** 역할을 삭제하는 것이 좋습니다. 계정에서 이 역할이 삭제된 후 스팟 인스턴스를 요청하면 Amazon EC2에서 다시 해당 역할을 생성합니다.

## 암호화된 AMI 및 EBS 스냅샷에 사용할 고객 관리형 키에 대한 액세스 권한 부여
<a name="spot-instance-service-linked-roles-access-to-cmks"></a>

스팟 인스턴스 요청에서 [암호화된 AMI](AMIEncryption.md) 또는 암호화된 Amazon EBS 스냅샷을 지정하고 암호화용 고객 관리형 키를 사용하는 경우 Amazon EC2에서 자동으로 인스턴스를 시작하려면 고객 관리형 키를 사용할 권한을 **AWSServiceRoleForEC2Spot** 역할에 부여해야 할 수 있습니다. 이렇게 하려면 다음 절차에 표시된 바와 같이 고객 관리형 키에 대한 권한 부여를 추가해야 합니다.

권한을 제공할 때 권한 부여는 키 정책을 대체합니다. 자세한 내용은 *AWS Key Management Service 개발자 가이드*의 [권한 부여 사용](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) 및 [AWS KMS의 키 정책 사용](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)을 참조하세요.

****AWSServiceRoleForEC2Spot** 역할에 고객 관리형 키를 사용할 수 있는 권한 부여**
+ [create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) 명령을 사용하여 고객 관리형 키에 대한 권한 부여를 추가하고 권한 부여에 의해 허용되는 작업을 수행할 수 있는 권한이 부여된 보안 주체(**AWSServiceRoleForEC2Spot** 서비스 연결 역할)를 지정합니다. 고객 관리형 키는 `key-id` 파라미터와 고객 관리형 키의 ARN으로 지정됩니다. 보안 주체는 **AWSServiceRoleForEC2Spot** 서비스 연결 역할의 `grantee-principal` 파라미터 및 ARN에 의해 지정됩니다.

  ```
  aws kms create-grant \
      --region us-east-1 \
      --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \
      --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot \
      --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
  ```

# 스팟 인스턴스 할당량
<a name="using-spot-limits"></a>

리전별로 AWS 계정당 실행 중 스팟 인스턴스 및 대기 중 스팟 인스턴스 요청 수에는 할당량이 있습니다. 대기 중 스팟 인스턴스 요청이 이행된 후에는 실행 중 인스턴스가 할당량 계산에 포함되므로 이 요청은 더 이상 할당량 계산에 포함되지 않습니다.

스팟 인스턴스 할당량은 실행 중인 스팟 인스턴스가 사용 중이거나 미결 요청의 이행 보류 중에 사용할 *가상 중앙 처리 유닛(vCPU) 수*를 기준으로 관리됩니다. 스팟 인스턴스를 종료하고 스팟 인스턴스 요청을 취소하지 않으면 Amazon EC2가 스팟 인스턴스 종료를 감지하고 요청을 닫을 때까지 해당 요청이 스팟 인스턴스 vCPU 할당량 계산에 반영됩니다.

스팟 인스턴스에는 다음과 같은 할당량 유형이 있습니다.


| 이름 | 기본값 | 조정 가능 | 
| --- | --- | --- | 
| 모든 DL 스팟 인스턴스 요청 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-85EED4F7) | 
| 모든 F 스팟 인스턴스 요청 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-88CF9481) | 
| 모든 G 및 VT 스팟 인스턴스 요청 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-3819A6DF) | 
| 모든 Inf 스팟 인스턴스 요청 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-B5D1601B) | 
| 모든 P 스팟 인스턴스 요청 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-7212CCBC) | 
| 모든 표준(A, C, D, H, I, M, R, T, Z) 스팟 인스턴스 요청 | 5 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-34B43A08) | 
| 모든 Trn 스팟 인스턴스 요청 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-6B0D517C) | 
| 모든 X 스팟 인스턴스 요청 | 0 | [예](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-E3A00192) | 

Amazon EC2는 사용량에 따라 자동으로 스팟 인스턴스 할당량을 조정하지만 필요한 경우 할당량 증가를 요청할 수 있습니다. 예를 들어 현재 할당량에서 허용되는 것보다 많은 스팟 인스턴스를 실행하려는 경우 할당량 증가를 요청할 수 있습니다. 스팟 인스턴스 요청을 제출한 후 `Max spot instance count exceeded` 오류가 발생할 경우에도 할당량 증가를 요청할 수 있습니다. 할당량 증가를 요청하려면 [Amazon EC2 서비스 할당량](ec2-resource-limits.md)에서 설명한 Service Quotas 콘솔을 사용하세요.

변화하는 애플리케이션 요구 사항을 충족하는 모든 인스턴스 유형 조합을 시작할 수 있습니다. 예를 들어 모든 표준 스팟 인스턴스 요청 할당량이 256개 vCPU인 경우, 32개의 `m5.2xlarge` 스팟 인스턴스(32x8 vCPU) 또는 16개의 `c5.4xlarge` 스팟 인스턴스(16x16 vCPU)를 요청할 수 있습니다.

Amazon CloudWatch 지표 통합을 통해 할당량에 대해 EC2 사용량을 모니터링할 수 있습니다. 할당량 도달에 대해 경고를 받도록 경보를 구성할 수도 있습니다. 자세한 내용은 *Service Quotas 사용 설명서*의 [Service Quotas 및 Amazon CloudWatch 경보](https://docs.aws.amazon.com/servicequotas/latest/userguide/configure-cloudwatch.html) 및 을 참조하세요.

# Amazon EC2 전용 호스트
<a name="dedicated-hosts-overview"></a>

Amazon EC2 전용 호스트는 사용자를 위한 완전 전용인 물리적 서버입니다. 선택적으로 인스턴스 용량을 다른 AWS 계정과 공유하도록 선택할 수 있습니다. 자세한 내용은 [크로스 계정 Amazon EC2 전용 호스트 공유](dh-sharing.md) 섹션을 참조하세요.

전용 호스트는 인스턴스 배치에 대한 가시성과 제어 기능을 제공하며 호스트 선호도를 지원합니다. 즉, 특정 호스트에서 인스턴스를 시작하고 실행할 수 있으며 인스턴스가 특정 호스트에서만 실행되도록 할 수 있습니다. 자세한 내용은 [Amazon EC2 전용 호스트 자동 배치 및 호스트 선호도](dedicated-hosts-understanding.md) 섹션을 참조하세요.

전용 호스트는 포괄적인 Bring Your Own License(BYOL) 지원을 제공합니다. 라이센스 조항에 따라 Windows Server, SQL Server, SUSE Linux Enterprise Server, Red Hat Enterprise Linux 또는 VM, 소켓 또는 물리적 코어에 바인딩된 기타 소프트웨어 라이선스를 포함하여 기존 소켓당, 코어당 또는 VM당 소프트웨어 라이선스를 사용할 수 있습니다.

전용 하드웨어에서 인스턴스를 실행해야 하지만 인스턴스 배치에 대한 가시성이나 제어 기능이 필요하지 않고 소켓당 또는 코어당 소프트웨어 라이선스를 사용할 필요가 없는 경우 전용 인스턴스를 대신 사용할 수 있습니다. 전용 인스턴스와 전용 호스트 모두 전용 물리적 서버로 Amazon EC2 인스턴스를 시작하는 데 사용할 수 있습니다. 전용 호스트의 인스턴스와 전용 인스턴스는 성능이나 보안상의 차이나 물리적 차이는 없습니다. 그러나 이들 사이에는 몇 가지 주요 차이점이 있습니다. 다음 테이블에서는 전용 인스턴스와 전용 호스트의 주요 차이점 중 일부를 요약하여 설명합니다.


|  | 전용 호스트 | Dedicated Instance | 
| --- | --- | --- | 
| 전용 물리적 서버 | 사용자 전용 인스턴스 용량을 갖춘 물리적 서버입니다. | 단일 고객 계정 전용 물리적 서버 | 
| 인스턴스 용량 공유 | 다른 계정과 인스턴스 용량을 공유할 수 있음. | 지원되지 않음 | 
| 결제 | 호스트 단위 결제 | 인스턴스 단위 결제 | 
| 소켓, 코어 및 호스트 ID 표시 여부 | 소켓 및 물리 코어 수 표시 여부 제공 | 표시 여부 없음 | 
| 호스트 및 인스턴스 선호도 | 시간에 따라 지속적으로 동일한 물리 서버에 인스턴스 배포 허용 | 지원되지 않음 | 
| 대상 지정 인스턴스 배치 | 물리 서버 내 인스턴스 배치 방법에 대한 추가 가시성 및 제어 제공 | 지원되지 않음 | 
| 자동 인스턴스 복구 | 지원 자세한 내용은 [Amazon EC2 전용 호스트 복구](dedicated-hosts-recovery.md) 섹션을 참조하세요. | 지원 | 
| Bring Your Own License(BYOL) | 지원됨 | 부분적 지원 \$1 | 
| 용량 예약 | 지원되지 않음 | 지원됨 | 

\$1 소프트웨어 보증을 통한 라이선스 이동성을 갖춘 Microsoft SQL Server와 Windows 가상 데스크톱 액세스(VDA) 라이선스를 전용 인스턴스와 함께 사용할 수 있습니다.

전용 인스턴스에 대한 자세한 정보는 [Amazon EC2 전용 인스턴스](dedicated-instance.md) 섹션을 참조하세요.

## 전용 호스트 제한 사항
<a name="dedicated-hosts-limitations"></a>

전용 호스트를 할당하기 전에 다음 제한 및 제약에 유의하세요.
+ 전용 호스트에서 RHEL 및 SUSE Linux를 실행하려면 자체 AMI를 가져와야 합니다. AWS에서 제공하거나 전용 호스트로 AWS Marketplace에서 사용할 수 있는 RHEL 및 SUSE Linux AMI는 사용할 수 없습니다. 자체 AMI를 만드는 방법에 대한 자세한 내용은 [Amazon EC2 전용 호스트에 기존 보유 소프트웨어 라이선스 사용](dedicated-hosts-BYOL.md)을 참조하세요.

  이 제한은 고용량 메모리 인스턴스(`u-6tb1.metal`, `u-9tb1.metal`, `u-12tb1.metal`, `u-18tb1.metal` 및 `u-24tb1.metal`)용으로 할당된 호스트에는 적용되지 않습니다. 이러한 호스트에는 AWS에서 제공하는 RHEL 및 SUSE Linux AMI 또는 AWS Marketplace에서 사용 가능한 AMI를 사용할 수 있습니다.
+ 리전별 AWS 계정당 각 인스턴스 패밀리에서 실행 중인 전용 호스트 수에는 제한이 있습니다. 할당량은 실행 중인 인스턴스에만 적용됩니다. 인스턴스가 보류 중, 중지 중 또는 중지된 상태이면 할당량에 포함되지 않습니다. 계정 할당량을 보거나 할당량 증가를 요청하려면 [Service Quotas 콘솔](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas)을 사용합니다.
+ 호스트 Resource Groups를 지정하는 시작 템플릿을 사용하는 경우 Auto Scaling 그룹이 지원됩니다. 자세한 내용은 *Amazon EC2 Auto Scaling 사용 설명서*의 [Create a launch template using advanced settings](https://docs.aws.amazon.com/autoscaling/ec2/userguide/advanced-settings-for-your-launch-template.html)를 참조하세요.
+ Amazon RDS 인스턴스는 지원되지 않습니다.
+ AWS프리 티어는 전용 호스트에서 제공되지 않습니다.
+ 인스턴스 배치 제어는 전용 호스트에서 인스턴스 시작을 관리하는 것을 말합니다. 전용 호스트는 배치 그룹으로 시작할 수 없습니다.
+ 가상화된 인스턴스 유형에 대해 호스트를 할당하는 경우 호스트가 할당된 후에는 인스턴스 유형을 `.metal` 인스턴스 유형으로 수정할 수 없습니다. 예를 들어 `m5.large` 인스턴스 유형에 대해 호스트를 할당하는 경우 인스턴스 유형을 `m5.metal`로 수정할 수 없습니다.

  마찬가지로 `.metal` 인스턴스 유형에 대해 호스트를 할당하는 경우 호스트가 할당된 후에는 인스턴스 유형을 가상화된 인스턴스 유형으로 수정할 수 없습니다. 예를 들어 `m5.metal` 인스턴스 유형에 대해 호스트를 할당하는 경우 인스턴스 유형을 `m5.large`로 수정할 수 없습니다.

**Topics**
+ [전용 호스트 제한 사항](#dedicated-hosts-limitations)
+ [요금 및 결제](dedicated-hosts-billing.md)
+ [인스턴스 용량 구성](dedicated-hosts-limits.md)
+ [전용 호스트의 버스트 가능 인스턴스](burstable-t3.md)
+ [기존 보유 라이선스 사용](dedicated-hosts-BYOL.md)
+ [자동 배치 및 선호도](dedicated-hosts-understanding.md)
+ [전용 호스트 할당](dedicated-hosts-allocating.md)
+ [전용 호스트에서 인스턴스 시작](launching-dedicated-hosts-instances.md)
+ [호스트 Resource Groups로 인스턴스 시작](launching-hrg-instances.md)
+ [전용 호스트 자동 배치 수정](modify-host-auto-placement.md)
+ [지원되는 인스턴스 유형 수정](modify-host-support.md)
+ [인스턴스의 테넌시 및 선호도 수정](moving-instances-dedicated-hosts.md)
+ [전용 호스트 릴리스](dedicated-hosts-releasing.md)
+ [Nitro 기반 Amazon EC2 전용 호스트로 마이그레이션](dh-migrate.md)
+ [전용 호스트 예약 구매](#purchasing-dedicated-host-reservations)
+ [교차 계정 공유](dh-sharing.md)
+ [Outpost의 전용 호스트](dh-outposts.md)
+ [호스트 복구](dedicated-hosts-recovery.md)
+ [호스트 유지 관리](dedicated-hosts-maintenance.md)
+ [전용 호스트 모니터링](dedicated-hosts-monitoring.md)
+ [구성 변경 추적](dedicated-hosts-aws-config.md)

# Amazon EC2 전용 호스트 요금 및 청구
<a name="dedicated-hosts-billing"></a>

전용 호스트의 요금은 결제 옵션에 따라 다릅니다.

**Topics**
+ [온디맨드 전용 호스트](#on-demand-dedicated-hosts)
+ [Dedicated Host Reservations](#dedicated-host-reservations)
+ [절감형 플랜](#dedicated-hosts-savings-plans)
+ [전용 호스트의 Windows Server에 대한 요금](#dh-win-billing)

## 온디맨드 전용 호스트
<a name="on-demand-dedicated-hosts"></a>



계정에 전용 호스트를 할당하면 온디맨드 결제가 자동으로 활성화됩니다.

전용 호스트에 대한 온디맨드 요금은 인스턴스 패밀리 및 리전에 따라 다릅니다. 인스턴스를 시작하기로 선택한 인스턴스의 수량이나 크기에 관계없이 활성 전용 호스트에 대해 초당(최소 60초) 비용을 지불합니다. 온디맨드 요금에 대한 자세한 내용은 [Amazon EC2 전용 호스트 온디맨드 요금](https://aws.amazon.com/ec2/dedicated-hosts/pricing/#on-demand)을 참조하세요.



언제든 온디맨드 전용 호스트를 해제하여 이에 대한 요금 청구를 중단시킬 수 있습니다. 전용 호스트 해제에 대한 자세한 내용은 [Amazon EC2 전용 호스트 릴리스](dedicated-hosts-releasing.md) 섹션을 참조하세요.

## Dedicated Host Reservations
<a name="dedicated-host-reservations"></a>

전용 호스트 예약은 실행 중인 온디맨드 전용 호스트와 비교해 청구 할인을 제공합니다. 다음과 같은 세 가지 결제 방식을 통해 예약이 가능합니다.
+ **선결제 없음** - 선결제가 없는 예약은 사용 기간 동안 전용 호스트 사용에 대해 할인을 제공하고 선결제가 필요하지 않습니다. 사용 기간이 1년 및 3년인 경우에 가능합니다. 일부 인스턴스 패밀리만 선결제가 없는 예약에 대해 3년을 지원합니다.
+ **부분 선결제** - 예약의 일부를 선결제하고, 사용 기간 내 나머지 시간에 대해서는 할인 요금이 청구됩니다. 사용 기간이 1년 및 3년인 경우에 가능합니다.
+ **전체 선결제** - 최저 실효 가격을 제공합니다. 사용 기간이 1년 및 3년인 경우에 사용 가능하며, 향후 추가 요금 없이 사용 기간 전체 비용을 커버합니다.

계정에 활성 전용 호스트가 있어야 예약을 구매할 수 있습니다. 각 예약은 단일 가용 영역에서 동일한 인스턴스 패밀리를 지원하는 하나 이상의 호스트를 포함할 수 있습니다. 예약은 인스턴스 크기가 아닌 호스트의 인스턴스 패밀리에 적용됩니다. 인스턴스 크기가 서로 다른 세 가지 전용 호스트(`m4.xlarge`, `m4.medium`, `m4.large`)가 있는 경우 단일 `m4` 예약을 이 모든 전용 호스트와 연결할 수 있습니다. 예약의 인스턴스 패밀리 및 가용 영역은 연결하고자 하는 전용 호스트의 인스턴스 패밀리 및 가용 영역과 일치해야 합니다.

하나의 예약이 전용 호스트와 연결되면 예약 기간이 끝날 때까지 전용 호스트를 해제할 수 없습니다.

예약 요금에 대한 자세한 내용은 [Amazon EC2 전용 호스트 요금](https://aws.amazon.com/ec2/dedicated-hosts/pricing/#reservations) 섹션을 참조하세요.

## 절감형 플랜
<a name="dedicated-hosts-savings-plans"></a>

절감형 플랜은 온디맨드 인스턴스를 통해 상당한 비용 절감을 제공하는 유연한 요금 모델입니다. 절감형 플랜에서는 1년 또는 3년 기간 동안 시간당 USD로 일관적인 사용량을 약정합니다. 절감형 플랜은 특정 전용 호스트를 약정하는 것이 아니라 사용자의 요구 사항에 가장 적합하고 지속적으로 비용을 절약해 주는 전용 호스트를 사용할 수 있는 유연성을 제공합니다. 자세한 내용은 [AWS 절감형 플랜 사용 설명서](https://docs.aws.amazon.com/savingsplans/latest/userguide/)를 참조하세요.

**참고**  
절감형 플랜은 `u-6tb1.metal`, `u-9tb1.metal`, `u-12tb1.metal`, `u-18tb1.metal` 및 `u-24tb1.metal` 전용 호스트에서 지원되지 않습니다.

## 전용 호스트의 Windows Server에 대한 요금
<a name="dh-win-billing"></a>

Microsoft 라이선스 약관에 따라 기존 Windows Server 및 SQL Server 라이선스를 전용 호스트에서 사용할 수 있습니다. 기존 보유 라이선스를 사용하는 경우 소프트웨어 사용에 따른 추가 요금이 없습니다.

또한 Amazon에서 제공하는 Windows Server AMI를 사용하여 전용 호스트에서 최신 Windows Server 버전도 실행할 수 있습니다. 이는 전용 호스트에서 실행할 수 있는 기존 SQL Server 라이선스가 있지만 SQL Server 워크로드를 실행하려면 Windows Server가 필요한 시나리오에서 일반적입니다. Amazon에서 제공하는 Windows Server AMI는 최신 세대의 인스턴스 유형에서만 지원됩니다. 자세한 내용은 [Amazon EC2 전용 호스트 요금](https://aws.amazon.com/ec2/dedicated-hosts/pricing/#windows-dh)을 참조하세요.

# Amazon EC2 전용 호스트 인스턴스 용량 구성
<a name="dedicated-hosts-limits"></a>

전용 호스트는 다양한 패밀리 및 크기의 인스턴스를 실행할 수 있도록 다양한 구성(물리적 코어, 소켓, vCPU)을 지원합니다.

계정에 전용 호스트를 할당할 때 **단일 인스턴스 유형** 또는 **동일한 인스턴스 패밀리** 내의 여러 인스턴스 유형을 지원하는 구성을 선택할 수 있습니다. 호스트에서 실행할 수 있는 인스턴스 수는 선택한 구성에 따라 달라집니다.

**Topics**
+ [단일 인스턴스 유형 지원](#dh-single)
+ [여러 인스턴스 유형 지원](#dh-multiple)

## 단일 인스턴스 유형 지원
<a name="dh-single"></a>

한 가지 인스턴스 유형만 지원하는 전용 호스트를 할당할 수 있습니다. 이 구성을 사용하면 전용 호스트에서 시작하는 모든 인스턴스는 호스트 할당 시 지정한 인스턴스 유형과 동일해야 합니다.

예를 들어 `m5.4xlarge` 인스턴스 유형만 지원하는 호스트를 할당할 수 있습니다. 이 경우 해당 호스트에서는 `m5.4xlarge` 인스턴스만 실행할 수 있습니다.

호스트에서 시작할 수 있는 인스턴스 수는 호스트에서 제공하는 물리적 코어 수와 지정된 인스턴스 유형에서 사용하는 코어 수에 따라 달라집니다. 예를 들어 `m5.4xlarge` 인스턴스에 호스트를 할당하는 경우 호스트는 48개의 물리적 코어를 제공하며 각 `m5.4xlarge` 인스턴스는 8개의 물리적 코어를 사용합니다. 즉, 해당 호스트에서 최대 6개의 인스턴스를 시작할 수 있습니다(*물리적 코어 48개/인스턴스당 코어 8개 = 인스턴스 6개*).

## 여러 인스턴스 유형 지원
<a name="dh-multiple"></a>

동일한 인스턴스 패밀리 내의 여러 인스턴스 유형을 지원하는 전용 호스트를 할당할 수 있습니다. 이렇게 하면 동일한 인스턴스 패밀리에 속하고 호스트에 충분한 인스턴스 용량이 있는 한 동일한 호스트에서 다른 인스턴스 유형을 실행할 수 있습니다.

예를 들어 `R5` 인스턴스 패밀리 내의 다양한 인스턴스 유형을 지원하는 호스트를 할당할 수 있습니다. 이 경우 해당 호스트에서 호스트의 물리적 코어 용량 내에서 `R5` 인스턴스 유형의 모든 조합(예: `r5.large`, `r5.xlarge`, `r5.2xlarge`, `r5.4xlarge`)을 시작할 수 있습니다.

다음 인스턴스 패밀리는 여러 인스턴스 유형을 지원하는 전용 호스트를 지원합니다.
+ **범용:** A1 \$1 M5 \$1 M5n \$1 M6i \$1 M7i \$1 T3
+ **컴퓨팅 최적화:** C5 \$1 C5n \$1 C6i \$1 C7i
+ **메모리 최적화:** R5 \$1 R5n \$1 R6i \$1 R7i

호스트에서 실행할 수 있는 인스턴스 수는 호스트에서 제공하는 물리적 코어 수와 호스트에서 실행하는 각 인스턴스 유형에서 사용하는 코어 수에 따라 달라집니다. 예를 들어 48개의 물리적 코어를 제공하는 `R5` 호스트를 할당하고 2개의 `r5.2xlarge` 인스턴스(*코어 4개 x 인스턴스 2개*) 및 3개의 `r5.4xlarge` 인스턴스(*코어 8개 x 인스턴스 3개*)를 실행하는 경우 해당 인스턴스는 총 32개의 코어를 사용하며 남은 16개 코어 범위 내에서 `R5` 인스턴스를 특정 조합으로 실행할 수 있습니다.

하지만 각 인스턴스 패밀리에서 각 인스턴스 유형에 실행할 수 있는 인스턴스 수에는 제한이 있습니다. 예를 들어 `R5` 전용 호스트는 32개의 물리적 코어를 사용하는 최대 2개의 `r5.8xlarge` 인스턴스를 지원합니다. 이 경우 더 작은 유형의 `R5` 인스턴스를 추가로 사용하여 호스트의 코어 용량을 채울 수 있습니다. 각 인스턴스 패밀리에 대해 지원되는 인스턴스 유형 수는 [전용 호스트 구성표](https://aws.amazon.com/ec2/dedicated-hosts/pricing/#host-configuration)를 참조하세요.

다음 표는 인스턴스 유형 조합의 예를 보여줍니다.


| 인스턴스 패밀리 | 인스턴스 유형 조합 예 | 
| --- | --- | 
| R5 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/dedicated-hosts-limits.html)  | 
| C5 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/dedicated-hosts-limits.html)  | 
| M5 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/dedicated-hosts-limits.html)  | 

**고려 사항**  
여러 인스턴스 유형을 지원하는 전용 호스트를 사용하여 작업할 때는 다음 사항에 유의하세요.
+ 동일한 호스트에서 여러 인스턴스 유형을 사용하는 것은 동일한 인스턴스 패밀리 내에서만 가능합니다.
+ 인스턴스 유형을 혼용하는 경우 호스트 사용률을 극대화하려면 먼저 더 큰 인스턴스 유형을 시작한 다음 더 작은 인스턴스 유형을 시작하는 것이 좋습니다.
  + 전용 호스트에서 인스턴스 유형의 조합 및 시작 순서에 따라 호스트의 사용률을 극대화하는 것이 물리적으로 불가능할 수 있습니다. 호스트에서 인스턴스 유형을 혼용하는 경우 일부 용량은 호스트에서 사용 가능한 것으로 표시되지만 사용할 수 없을 수도 있습니다. 예를 들어, r5n 호스트에서 사용 가능한 vCPU가 16개로 표시될 수 있지만 r5n.4xlarge가 16개 vCPU에서 실행되더라도 호스트에서 4xlarge 인스턴스를 시작할 수 없는 경우가 있습니다.

**참고**  
여러 인스턴스 유형에 대한 A1 전용 호스트를 활성화하면 해당 호스트에서 `a1.xlarge` 및 `a1.2xlarge` 인스턴스의 혼합만 시작할 수 있습니다. 해당 호스트에서 `a1.medium` 또는 `a1.large` 인스턴스를 시작하는 경우 호스트에서 동일한 인스턴스 유형을 더 많이 시작하는 것으로만 제한됩니다. 단일 `a1.4xlarge` 인스턴스에서는 호스트의 모든 용량이 사용됩니다. `a1.medium` 또는 `a1.large` 인스턴스에 대한 호스트가 필요한 경우 해당 인스턴스 유형에 대해 별도의 호스트를 할당하는 것이 좋습니다.

# Amazon EC2 전용 호스트의 버스트 가능 T3 인스턴스
<a name="burstable-t3"></a>

전용 호스트는 성능 버스트 가능 T3 인스턴스를 지원합니다. T3 인스턴스는 전용 하드웨어에서 적합한 BYOL 라이선스 소프트웨어를 비용 효율적으로 사용할 수 있는 방법을 제공합니다. T3 인스턴스의 vCPU 공간이 적기 때문에 더 적은 수의 호스트에서 워크로드를 통합하고 코어별 라이선스 사용률을 극대화할 수 있습니다.

T3 전용 호스트는 CPU 사용률이 낮거나 중간 정도인 BYOL 소프트웨어를 실행하는 데 가장 적합합니다. 여기에는 Windows Server, Windows 데스크톱, SQL Server, SUSE Enterprise Linux Server, Red Hat Enterprise Linux 및 Oracle Database와 같은 적합한 소켓당, 코어당 또는 VM당 소프트웨어 라이선스가 포함됩니다. T3 전용 호스트에 적합한 워크로드의 예로는 중소 규모의 데이터베이스, 가상 데스크톱, 개발 및 테스트 환경, 코드 리포지토리, 제품 프로토타입을 들 수 있습니다. T3 전용 호스트는 CPU 사용률이 지속적으로 높은 워크로드 또는 상호 연관된 CPU 버스트가 동시에 발생하는 워크로드에 대해서는 권장되지 않습니다.

전용 호스트의 T3 인스턴스는 공유 테넌시 하드웨어의 T3 인스턴스와 동일한 크레딧 모델을 사용합니다. 그러나, `standard` 크레딧 모드만 지원되며, `unlimited` 크레딧 모드는 지원되지 않습니다. `standard` 모드에서 전용 호스트의 T3 인스턴스는 공유 테넌시 하드웨어의 버스트 가능 인스턴스와 동일한 방식으로 크레딧을 *획득*, *지출* 및 *누적*합니다. 버스트 가능 인스턴스는 기본 CPU 성능 외에 필요할 경우 기준 수준 이상으로 버스트할 수 있는 기능을 제공합니다. 기준 이상으로 버스트하려면 인스턴스는 CPU 크레딧 밸런스에 누적한 크레딧을 사용합니다. 누적된 크레딧이 고갈되면 CPU 사용률이 기준 수준으로 낮아집니다. `standard` 모드에 대한 자세한 내용은 [스탠다드 성능 순간 확장 가능 인스턴스의 작동 방식](burstable-performance-instances-standard-mode-concepts.md#how-burstable-performance-instances-standard-works) 섹션을 참조하세요.

T3 전용 호스트는 단일 호스트의 여러 인스턴스 크기, 호스트 리소스 그룹 및 BYOL을 포함하여 Amazon EC2 전용 호스트에서 제공하는 모든 기능을 지원합니다.

**지원되는 T3 인스턴스 크기 및 구성**  


T3 전용 호스트는 기본 CPU 성능과 필요 시 더 높은 수준으로 버스트할 수 있는 기능을 제공하여 호스트의 CPU 리소스를 공유하는 범용의 버스트 가능 T3 인스턴스를 실행합니다. 이를 통해 48개의 코어가 있는 T3 전용 호스트는 호스트당 최대 192개의 인스턴스를 지원할 수 있습니다. 호스트의 리소스를 효율적으로 활용하고 최상의 인스턴스 성능을 제공하기 위해 Amazon EC2 인스턴스 배치 알고리즘은 호스트에서 시작할 수 있는 지원되는 인스턴스 수와 인스턴스 크기 조합의 수를 자동으로 계산합니다.

T3 전용 호스트는 동일한 호스트에서 여러 인스턴스 유형을 지원합니다. 모든 T3 인스턴스 크기가 전용 호스트에서 지원됩니다. 호스트의 CPU 한도까지 다양한 T3 인스턴스 조합을 실행할 수 있습니다.

다음 테이블에서는 지원되는 인스턴스 유형을 나열하고 각 인스턴스 유형의 성능을 요약하며 시작할 수 있는 각 크기의 최대 인스턴스 수를 보여 줍니다.


| 인스턴스 유형 | vCPU | 메모리(GiB) | vCPU당 기본 CPU 사용률 | 네트워크 버스트 대역폭(Gbps) | Amazon EBS 버스트 대역폭(Mbps) | 전용 호스트당 최대 인스턴스 수 | 
| --- | --- | --- | --- | --- | --- | --- | 
| t3.nano | 2 | 0.5 | 5% | 5 | 최대 2,085개 | 192 | 
| t3.micro | 2 | 1 | 10% | 5 | 최대 2,085개 | 192 | 
| t3.small | 2 | 2 | 20% | 5 | 최대 2,085개 | 192 | 
| t3.medium | 2 | 4 | 20% | 5 | 최대 2,085개 | 192 | 
| t3.large | 2 | 8 | 30% | 5 | 2,780 | 96 | 
| t3.xlarge | 4 | 16 | 40% | 5 | 2,780 | 48 | 
| t3.2xlarge | 8 | 32 | 40% | 5 | 2,780 | 24 | 

**T3 전용 호스트의 CPU 사용률 모니터링**  
`DedicatedHostCPUUtilization` Amazon CloudWatch 지표를 사용하여 전용 호스트의 vCPU 사용률을 모니터링할 수 있습니다. 지표는 `EC2` 네임스페이스 및 `Per-Host-Metrics` 차원에서 사용할 수 있습니다. 자세한 내용은 [전용 호스트 지표](viewing_metrics_with_cloudwatch.md#dh-metrics) 섹션을 참조하세요.

# Amazon EC2 전용 호스트에 기존 보유 소프트웨어 라이선스 사용
<a name="dedicated-hosts-BYOL"></a>

전용 호스트를 통해 기존 소켓당, 코어당 또는 VM당 소프트웨어 라이선스를 사용할 수 있습니다. 기존 보유 라이선스를 사용하는 경우 자체 라이선스 관리에 대한 책임은 고객에게 있습니다. 하지만 Amazon EC2에는 인스턴스 선호도 및 대상 지정 배치와 같은 라이선스 규정 준수를 유지하는 데 도움이 되는 기능이 있습니다.

다음은 Amazon EC2에서 기존 볼륨 라이선스 머신 이미지를 사용하려면 수행해야 할 일반 단계입니다.

1. 머신 이미지 사용을 제어하는 라이선스 조건이 가상 클라우드 환경에서 사용을 허용하는지 확인합니다. Microsoft 라이선싱에 대한 자세한 내용은 [Amazon Web Services 및 Microsoft 라이선싱](https://aws.amazon.com/windows/faq/#licensing)을 참조하세요.

1. 머신 이미지를 Amazon EC2 내에서 사용할 수 있음을 확인한 이후 VM Import/Export를 사용하여 가져옵니다. 머신 이미지를 가져오는 방법에 대한 자세한 내용은 [VM Import/Export 사용 설명서](https://docs.aws.amazon.com/vm-import/latest/userguide/)를 참조하세요.

1. 머신 이미지를 가져온 후 이 머신 이미지에서 계정에 있는 활성 전용 호스트로 인스턴스를 시작할 수 있습니다.

1. 이러한 인스턴스를 실행할 때 운영 체제에 따라 자체 KMS 서버(예: Windows Server 또는 Windows SQL Server)에 대해 해당 인스턴스를 사용해야 할 수 있습니다. 가져온 Windows AMI는 Amazon Windows KMS 서버에 대해 활성화할 수 없습니다.

**참고**  
AWS에서 이미지가 어떻게 사용되는지 추적하려면 AWS Config에서 호스트 기록을 활성화합니다. AWS Config를 사용하여 전용 호스트에 대한 구성 변경을 기록하고 출력을 라이선스 보고용 데이터 소스로 사용할 수 있습니다. 자세한 내용은 [AWS Config를 사용하여 Amazon EC2 전용 호스트 구성 변경 내용 추적](dedicated-hosts-aws-config.md) 섹션을 참조하세요.

# Amazon EC2 전용 호스트 자동 배치 및 호스트 선호도
<a name="dedicated-hosts-understanding"></a>

전용 호스트에 대한 배치 제어는 인스턴스 수준과 호스트 수준에서 모두 수행됩니다.

## 자동 배치
<a name="dedicated-hosts-auto-placement"></a>

자동 배치는 호스트 수준에서 구성됩니다. 자동 배치에서는 시작하는 인스턴스가 특정 호스트에서 시작되는지 또는 일치하는 구성이 있는 모든 가용 호스트에서 시작되는지를 선택할 수 있습니다.

전용 호스트의 자동 배치가 **비활성화**된 경우에는 고유한 호스트 ID를 지정한 호스트 테넌시 인스턴스 시작만 허용합니다. 이것이 새로운 전용 호스트에 대한 기본 설정입니다.

전용 호스트의 자동 배치가 **활성화**된 경우에는, 인스턴스 유형 구성이 일치하며 대상 미지정 호스트 테넌시 인스턴스 시작을 허용합니다.

인스턴스를 시작할 때 테넌시를 구성해야 합니다. 특정 `HostId`를 입력하지 않고 전용 호스트에서 인스턴스를 시작하면 자동 배치가 *활성화*되고 인스턴스 유형이 일치하는 모든 전용 호스트에서 시작할 수 있습니다.

## 호스트 선호도
<a name="dedicated-hosts-affinity"></a>

호스트 선호도는 인스턴스 수준에서 구성되어야 합니다. 인스턴스와 전용 호스트 간에 시작 관계를 설정합니다.

선호도를 `Host`로 설정하면 특정 호스트에서 시작한 인스턴스가 중단된 경우 항상 동일한 호스트에서 다시 시작합니다. 대상 지정 및 대상 미지정 시작에 모두 적용됩니다.

선호도가 `Default`로 설정된 상태에서 인스턴스를 중지했다 다시 시작하는 경우 모든 사용 가능한 호스트에서 다시 시작할 수 있습니다. 하지만 인스턴스는 마지막으로 실행되던 전용 호스트에서 다시 시작하려고 시도합니다(최대한 노력).

# 계정에서 사용할 Amazon EC2 전용 호스트 할당
<a name="dedicated-hosts-allocating"></a>

전용 호스트를 사용하려면 먼저 계정에서 호스트를 할당해야 합니다. 전용 호스트를 할당한 후에는 전용 호스트 용량을 계정에서 즉시 사용할 수 있으며 전용 호스트에서 인스턴스를 시작할 수 있습니다.

계정에 전용 호스트를 할당할 때 **단일 인스턴스 유형** 또는 **동일한 인스턴스 패밀리** 내의 여러 인스턴스 유형을 지원하는 구성을 선택할 수 있습니다. 호스트에서 실행할 수 있는 인스턴스 수는 선택한 구성에 따라 달라집니다. 자세한 내용은 [Amazon EC2 전용 호스트 인스턴스 용량 구성](dedicated-hosts-limits.md)을 참조하세요.

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

**전용 호스트를 할당하려면**

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

1. 탐색 창에서 **전용 호스트**를 선택한 후 **전용 호스트 할당**을 선택합니다.

1. **인스턴스 패밀리**에서 전용 호스트에 대한 인스턴스 패밀리를 선택합니다.

1. 전용 호스트로 선택한 인스턴스 패밀리 내의 여러 인스턴스 크기를 지원할지 또는 특정 인스턴스 유형만 지원할지 여부를 지정합니다. 다음 중 하나를 수행하세요.
   + 선택한 인스턴스 패밀리 내의 여러 인스턴스 유형을 지원하도록 전용 호스트를 구성하려면 **Support multiple instance types(여러 인스턴스 유형 지원)**에서 **활성화**를 선택합니다. 이 항목을 활성화하면 동일한 인스턴스 패밀리의 서로 다른 인스턴스 크기를 전용 호스트에서 시작할 수 있습니다. 예를 들어 `m5` 인스턴스 패밀리를 선택하고 이 옵션을 선택하는 경우 `m5.xlarge` 및 `m5.4xlarge` 인스턴스를 전용 호스트에서 시작할 수 있습니다.
   + 선택한 인스턴스 패밀리 내의 단일 인스턴스 유형을 지원하도록 전용 호스트를 구성하려면 **여러 인스턴스 유형 지원**의 선택을 취소한 다음 **인스턴스 유형**에서 지원할 인스턴스 유형을 선택합니다. 이렇게 하면 전용 호스트에서 단일 인스턴스 유형을 시작할 수 있습니다. 예를 들어 이 옵션을 선택하고 `m5.4xlarge`를 지원되는 인스턴스 유형으로 선택하는 경우 `m5.4xlarge` 인스턴스만 전용 호스트에서 시작할 수 있습니다.

1. **가용 영역**에서 전용 호스트를 할당할 가용 영역을 선택합니다.

1. 전용 호스트가 인스턴스 유형과 일치하는 대상이 지정되지 않은 인스턴스 시작을 허용하게 하려면 **인스턴스 자동 배치**에서 **활성화**를 선택합니다. 자동 배치에 대한 자세한 정보는 [Amazon EC2 전용 호스트 자동 배치 및 호스트 선호도](dedicated-hosts-understanding.md) 섹션을 참조하세요.

1. 전용 호스트의 호스트 복구를 사용하려면 **Host recovery(호스트 복구)**에서 **활성화**를 선택합니다. 자세한 내용은 [Amazon EC2 전용 호스트 복구](dedicated-hosts-recovery.md) 섹션을 참조하세요.

1. **수량**에 할당할 전용 호스트 수를 입력합니다.

1. (선택 사항) [**새 태그 추가(Add new tag)**]를 선택하고 태그 키와 태그 값을 입력합니다.

1. **할당**을 선택합니다.

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

**전용 호스트를 할당하려면**  
[allocate-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-hosts.html) 명령을 사용합니다. 다음 예제에서는 `m5` 가용 영역에서 `us-east-1a` 인스턴스 패밀리의 여러 인스턴스 유형을 지원하는 전용 호스트를 할당합니다. 또한 호스트 복구를 활성화하고 자동 배치를 비활성화합니다.

```
aws ec2 allocate-hosts \
    --instance-family "m5" \
    --availability-zone "us-east-1a" \
    --auto-placement "off" \
    --host-recovery "on" \ 
    --quantity 1
```

다음 예제에서는 지정된 가용 영역에서 *대상이 지정되지 않은* 인스턴스 시작을 지원하는 전용 호스트를 할당하고, 호스트 복구를 활성화하고, 자동 배치를 활성화합니다.

```
aws ec2 allocate-hosts \
    --instance-type "m5.large" \
    --availability-zone "eu-west-1a" \
    --auto-placement "on" \
    --host-recovery "on" \
    --quantity 1
```

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

**전용 호스트를 할당하려면**  
[New-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Host.html) cmdlet을 사용합니다. 다음 예제에서는 `m5` 가용 영역에서 `us-east-1a` 인스턴스 패밀리의 여러 인스턴스 유형을 지원하는 전용 호스트를 할당합니다. 또한 호스트에서 호스트 복구가 활성화되고 자동 배치가 비활성화됩니다.

```
New-EC2Host `
    -InstanceFamily m5 `
    -AvailabilityZone us-east-1a `
    -AutoPlacement Off `
    -HostRecovery On `
    -Quantity 1
```

다음 예제에서는 지정된 가용 영역에서 *대상이 지정되지 않은* 인스턴스 시작을 지원하는 전용 호스트를 할당하고, 호스트 복구를 활성화합니다.

```
New-EC2Host `
    -InstanceType m5.large `
    -AvailabilityZone eu-west-1a `
    -AutoPlacement On `
    -HostRecovery On `
    -Quantity 1
```

------

# Amazon EC2 전용 호스트에서 Amazon EC2 인스턴스 시작
<a name="launching-dedicated-hosts-instances"></a>

전용 호스트를 할당한 후 여기에서 인스턴스를 시작할 수 있습니다. 시작하려는 인스턴스 유형에 사용 가능한 충분한 용량을 갖춘 활성 전용 호스트가 없는 경우 `host` 테넌시의 인스턴스를 시작할 수 없습니다.

**고려 사항**
+ SQL Server, SUSE 및 Amazon EC2에서 제공하는 RHEL AMI는 전용 호스트와 함께 사용할 수 없습니다.
+ 여러 인스턴스 크기를 지원하는 전용 호스트의 경우 크기가 큰 인스턴스부터 시작한 다음 필요에 따라 더 작은 인스턴스로 나머지 인스턴스 용량을 채우는 것이 좋습니다.
+ 인스턴스를 시작하기 전에 제한 사항에 유의하세요. 자세한 내용은 [전용 호스트 제한 사항](dedicated-hosts-overview.md#dedicated-hosts-limitations) 섹션을 참조하세요.

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

**전용 호스트 페이지의 특정 전용 호스트에서 인스턴스를 시작하려면**

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

1. 탐색 창에서 **전용 호스트**를 선택합니다.

1. **Dedicated Hosts**(전용 호스트) 페이지에서 호스트를 선택하고 **Actions**(작업), **Launch Instance(s) onto host**(호스트에서 인스턴스 시작)를 선택합니다.

1. **Application and OS Images**(애플리케이션 및 OS 이미지) 섹션의 목록에서 AMI를 선택합니다.

1. **Instance type**(인스턴스 유형) 섹션에서 시작할 인스턴스 유형을 선택합니다.
**참고**  
전용 호스트가 단일 인스턴스 유형만 지원하는 경우 지원되는 인스턴스 유형이 기본적으로 선택되고 변경할 수 없습니다.  
전용 호스트가 여러 인스턴스 유형을 지원하는 경우 전용 호스트의 가용 인스턴스 용량을 기반으로 지원되는 인스턴스 패밀리 내에서 인스턴스 유형을 선택해야 합니다. 크기가 큰 인스턴스부터 시작한 다음 필요에 따라 더 작은 인스턴스로 나머지 인스턴스 용량을 채우는 것이 좋습니다.

1. **Key pair**(키 페어) 섹션에서 인스턴스와 연결할 키 페어를 선택합니다.

1. **고급 세부 정보** 섹션의 **테넌시 선호도**에서 다음 중 하나를 선택합니다.
   + **끄기** - 호스트 선호도가 비활성화됩니다. 인스턴스가 지정된 호스트에서 시작하지만, 중지될 경우 반드시 동일한 전용 호스트에서 다시 시작하지는 않습니다.
   + 전용 호스트 ID - 호스트 선호도가 활성화됩니다. 중지된 인스턴스는 호스트에 용량이 있는 경우 항상 이 지정된 호스트에서 다시 시작됩니다. 호스트에 용량이 없는 경우 인스턴스를 다시 시작할 수 없습니다. 다른 호스트와 선호도를 설정해야 합니다.

   선호도에 대한 자세한 내용은 [Amazon EC2 전용 호스트 자동 배치 및 호스트 선호도](dedicated-hosts-understanding.md) 섹션을 참조하세요.
**참고**  
**테넌시** 및 **호스트** 옵션은 선택한 호스트에 따라 사전 구성됩니다.

1. 필요에 따라 나머지 인스턴스 옵션을 구성합니다. 자세한 내용은 [Amazon EC2 인스턴스 구성 파라미터에 대한 참조](ec2-instance-launch-parameters.md) 섹션을 참조하세요.

1. **인스턴스 시작**을 선택합니다.

**인스턴스 시작 마법사를 사용하여 전용 호스트에서 인스턴스 시작**

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

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

1. **Application and OS Images**(애플리케이션 및 OS 이미지) 섹션의 목록에서 AMI를 선택합니다.

1. **Instance type**(인스턴스 유형) 섹션에서 시작할 인스턴스 유형을 선택합니다.

1. **Key pair**(키 페어) 섹션에서 인스턴스와 연결할 키 페어를 선택합니다.

1. **Advanced details**(고급 세부 정보) 섹션에서 다음을 수행합니다.

   1. **Tenancy**(테넌시)에서 **Dedicated Host**(전용 호스트)를 설정합니다.

   1. **Target host by**(대상 호스트)에서 **Host ID**(호스트 ID)를 선택합니다.

   1. **Target host ID**(대상 호스트 ID)에서 인스턴스를 시작할 호스트를 선택합니다.

   1. **테넌시 선호도**에서 다음 중 하나를 선택합니다.
      + **끄기** - 호스트 선호도가 비활성화됩니다. 인스턴스가 지정된 호스트에서 시작하지만, 중지될 경우 반드시 동일한 전용 호스트에서 다시 시작하지는 않습니다.
      + 전용 호스트 ID - 호스트 선호도가 활성화됩니다. 중지된 인스턴스는 호스트에 용량이 있는 경우 항상 이 지정된 호스트에서 다시 시작됩니다. 호스트에 용량이 없는 경우 인스턴스를 다시 시작할 수 없습니다. 다른 호스트와 선호도를 설정해야 합니다.

      선호도에 대한 자세한 내용은 [Amazon EC2 전용 호스트 자동 배치 및 호스트 선호도](dedicated-hosts-understanding.md) 섹션을 참조하세요.

1. 필요에 따라 나머지 인스턴스 옵션을 구성합니다. 자세한 내용은 [Amazon EC2 인스턴스 구성 파라미터에 대한 참조](ec2-instance-launch-parameters.md) 섹션을 참조하세요.

1. **인스턴스 시작**을 선택합니다.

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

**전용 호스트에서 인스턴스를 시작하려면**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용하고 `--placement` 옵션에서 인스턴스 선호도, 테넌시, 호스트를 지정합니다.

호스트 선호도를 사용하여 특정 전용 호스트에서 시작하려면(인스턴스가 중지 시 항상 동일 호스트에서 재시작):

```
--placement Affinity=host,Tenancy=host,HostId=h-07879acf49EXAMPLE
```

특정 전용 호스트에서 호스트 선호도 없이 시작하려면(인스턴스가 사용 가능한 임의 호스트에서 재시작할 수 있음):

```
--placement Tenancy=host,HostId=h-07879acf49EXAMPLE
```

자동 배치가 활성화된 상태에서 인스턴스 유형이 일치하는 임의의 사용 가능한 전용 호스트에서 시작하려면:

```
--placement Tenancy=host
```

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

**전용 호스트에서 인스턴스를 시작하려면**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet을 사용하고 `-Placement` 파라미터에서 인스턴스 선호도, 테넌시, 호스트를 지정합니다.

호스트 선호도를 사용하여 특정 전용 호스트에서 시작하려면(인스턴스가 중지 시 항상 동일 호스트에서 재시작):

```
-Placement_Affinity host `
-Placement_Tenancy host `
-Placement_HostId h-07879acf49EXAMPLE
```

특정 전용 호스트에서 호스트 선호도 없이 시작하려면(인스턴스가 사용 가능한 임의 호스트에서 재시작할 수 있음):

```
-Placement_Tenancy host `
-Placement_HostId h-07879acf49EXAMPLE
```

자동 배치가 활성화된 상태에서 인스턴스 유형이 일치하는 임의의 사용 가능한 전용 호스트에서 시작하려면:

```
-Placement_Tenancy host
```

------

# Amazon EC2 인스턴스를 호스트 리소스 그룹으로 인스턴스 시작
<a name="launching-hrg-instances"></a>

전용 호스트는 AWS License Manager와도 통합됩니다. License Manager를 사용하면 단일 개체로 관리되는 전용 호스트 모음인 호스트 Resource Groups를 만들 수 있습니다. 호스트 Resource Groups를 만들 때 auto-allocate, auto-release와 같은 호스트 관리 기본 설정을 전용 호스트에 지정합니다. 그러면 수동으로 호스트를 할당하고 관리할 필요 없이 전용 호스트에서 인스턴스를 시작할 수 있습니다. 자세한 내용은 *AWS License Manager 사용 설명서*의 [호스트 리소스 그룹](https://docs.aws.amazon.com/license-manager/latest/userguide/host-resource-groups.html)을 참조하세요.

가용 인스턴스 용량이 있는 전용 호스트가 포함된 호스트 Resource Groups에서 인스턴스를 시작하면 Amazon EC2가 그 호스트에서 인스턴스를 시작합니다. 가용 인스턴스 용량이 있는 호스트가 호스트 Resource Groups에 없으면 Amazon EC2가 호스트 Resource Groups에 새 호스트를 자동으로 할당하고 그 호스트에서 인스턴스를 시작합니다. 자세한 내용은 *AWS License Manager 사용 설명서*의 [호스트 리소스 그룹](https://docs.aws.amazon.com/license-manager/latest/userguide/host-resource-groups.html)을 참조하세요.

**요구 사항 및 제한**
+ 코어 또는 소켓 기반 라이선스 구성을 AMI와 연결해야 합니다.
+ Amazon EC2에서 제공하는 SQL Server, SUSE 및 RHEL AMI는 전용 호스트와 함께 사용할 수 없습니다.
+ 호스트 ID를 선택하여 특정 호스트를 대상으로 지정할 수 없으며, 호스트 Resource Groups에서 인스턴스를 시작할 때 인스턴스 선호도를 활성화할 수 없습니다.

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

**호스트 Resource Groups에서 인스턴스를 시작하려면**

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

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

1. **Application and OS Images**(애플리케이션 및 OS 이미지) 섹션의 목록에서 AMI를 선택합니다.

1. **Instance type**(인스턴스 유형) 섹션에서 시작할 인스턴스 유형을 선택합니다.

1. **Key pair**(키 페어) 섹션에서 인스턴스와 연결할 키 페어를 선택합니다.

1. **Advanced details**(고급 세부 정보) 섹션에서 다음을 수행합니다.

   1. **Tenancy**(테넌시)에서 **Dedicated Host**(전용 호스트)를 설정합니다.

   1. **Target host by**(대상 호스트)에서 **Host resource group**(호스트 리소스 그룹)을 선택합니다.

   1. **Tenancy host resource group**(테넌시 호스트 리소스 그룹)에서 인스턴스를 시작할 호스트 리소스 그룹을 선택합니다.

   1. **Tenancy affinity**(테넌시 선호도)에 대해 다음 중 하나를 수행합니다.
      + **Off**(끄기) - 인스턴스가 지정된 호스트에서 시작하지만, 중지될 경우 반드시 동일한 전용 호스트에서 다시 시작하지는 않습니다.
      + 전용 호스트 ID 선택 - 중지된 경우 인스턴스가 항상 특정 호스트에서 다시 시작합니다.

      선호도에 대한 자세한 내용은 [Amazon EC2 전용 호스트 자동 배치 및 호스트 선호도](dedicated-hosts-understanding.md) 섹션을 참조하세요.

1. 필요에 따라 나머지 인스턴스 옵션을 구성합니다. 자세한 내용은 [Amazon EC2 인스턴스 구성 파라미터에 대한 참조](ec2-instance-launch-parameters.md) 섹션을 참조하세요.

1. **인스턴스 시작**을 선택합니다.

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

**호스트 Resource Groups에서 인스턴스를 시작하려면**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용합니다. `--placement` 옵션에서 테넌시를 생략하고 호스트 리소스 그룹의 ARN을 지정합니다.

```
--placement HostResourceGroupArn=arn:aws:resource-groups:us-east-2:123456789012:group/my-resource-group
```

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

**호스트 Resource Groups에서 인스턴스를 시작하려면**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet을 사용합니다. `-Placement` 파라미터에서 테넌시를 생략하고 호스트 리소스 그룹의 ARN을 지정합니다.

```
-Placement_HostResourceGroupArn arn:aws:resource-groups:us-east-2:123456789012:group/my-resource-group
```

------

# 기존 Amazon EC2 전용 호스트의 자동 배치 설정 수정
<a name="modify-host-auto-placement"></a>

AWS 계정에 할당한 후 전용 호스트의 자동 배치 설정을 수정할 수 있습니다.

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

**전용 호스트의 자동 배치를 수정하려면**

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

1. 탐색 창에서 **전용 호스트(Dedicated Hosts)**를 선택합니다.

1. 호스트를 선택하고 **작업(Actions)**, **호스트 수정(Modify host)**을 선택합니다.

1. **인스턴스 자동 배치(Instance auto-placement)**에서 **활성화(Enable)**를 선택하여 자동 배치를 활성화하거나 **활성화(Enable)**를 선택 취소하여 자동 배치를 비활성화합니다. 자세한 내용은 [Amazon EC2 전용 호스트 자동 배치 및 호스트 선호도](dedicated-hosts-understanding.md) 섹션을 참조하세요.

1. **저장(Save)**을 선택합니다.

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

**전용 호스트의 자동 배치를 수정하려면**  
[modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) 명령을 사용합니다.

```
aws ec2 modify-hosts \
    --auto-placement on \
    --host-ids h-012a3456b7890cdef
```

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

**전용 호스트의 자동 배치를 수정하려면**  
[Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) cmdlet을 사용합니다.

```
Edit-EC2Host `
    -AutoPlacement 1 `
    -HostId h-012a3456b7890cdef
```

------

# 기존 Amazon EC2 전용 호스트에 대해 지원되는 인스턴스 유형 수정
<a name="modify-host-support"></a>

전용 호스트를 수정하여 지원되는 인스턴스 유형을 변경할 수 있습니다. 현재 단일 인스턴스 유형을 지원하는 경우 인스턴스 패밀리 내의 여러 인스턴스 유형을 지원하도록 수정할 수 있습니다. 마찬가지로, 현재 여러 인스턴스 유형을 지원하는 경우 특정 인스턴스 유형만 지원하도록 수정할 수 있습니다.

여러 인스턴스 유형을 지원하도록 전용 호스트를 수정하려면 먼저 호스트에서 실행 중인 모든 인스턴스를 중지해야 합니다. 수정을 완료하려면 10분 정도 걸립니다. 수정이 진행 중인 동안 전용 호스트는 `pending` 상태로 전환됩니다. `pending` 상태에 있는 동안에는 전용 호스트에서 중지된 인스턴스를 시작하거나 새 인스턴스를 시작할 수 없습니다.

여러 인스턴스 유형을 지원하는 전용 호스트를 단일 인스턴스 유형만 지원하도록 수정하려면 호스트에 실행 중인 인스턴스가 없거나 실행 중인 인스턴스가 호스트에서 지원하려는 인스턴스 유형이어야 합니다. 예를 들어, `m5` 인스턴스 패밀리 내의 여러 인스턴스 유형을 지원하는 호스트를 `m5.large` 인스턴스만 지원하도록 수정하려면 전용 호스트에 실행 중인 인스턴스가 없거나 `m5.large` 인스턴스만 실행 중이어야 합니다.

가상화된 인스턴스 유형에 대해 호스트를 할당하는 경우 호스트가 할당된 후에는 인스턴스 유형을 `.metal` 인스턴스 유형으로 수정할 수 없습니다. 예를 들어 `m5.large` 인스턴스 유형에 대해 호스트를 할당하는 경우 인스턴스 유형을 `m5.metal`로 수정할 수 없습니다. 마찬가지로 `.metal` 인스턴스 유형에 대해 호스트를 할당하는 경우 호스트가 할당된 후에는 인스턴스 유형을 가상화된 인스턴스 유형으로 수정할 수 없습니다. 예를 들어 `m5.metal` 인스턴스 유형에 대해 호스트를 할당하는 경우 인스턴스 유형을 `m5.large`로 수정할 수 없습니다.

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

**전용 호스트에 지원되는 인스턴스 유형을 수정하려면**

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

1. 탐색 창에서 **전용 호스트**를 선택합니다.

1. 수정할 전용 호스트를 선택하고 **작업**, **Modify host(호스트 수정)**을 선택합니다.

1. 전용 호스트의 현재 구성에 따라 다음 중 하나를 수행합니다.
   + 전용 호스트가 현재 특정 인스턴스 유형을 지원하는 경우 **Support multiple instance types(여러 인스턴스 유형 지원)**이 활성화되지 않으며 **인스턴스 유형**에 지원되는 인스턴스 유형이 나열됩니다. 현재 인스턴스 패밀리 내의 여러 유형을 지원하도록 호스트를 수정하려면 **Support multiple instance types(여러 인스턴스 유형 지원)**에서 **활성화**를 선택합니다.

     여러 인스턴스 유형을 지원하도록 호스트를 수정하려면 먼저 호스트에서 실행 중인 모든 인스턴스를 중지해야 합니다.
   + 전용 호스트가 현재 인스턴스 패밀리의 여러 인스턴스 유형을 지원하는 경우 **Support multiple instance types(여러 인스턴스 유형 지원)**에서 **활성화**가 선택됩니다. 특정 인스턴스 유형을 지원하도록 호스트를 수정하려면 **Support multiple instance types(여러 인스턴스 유형 지원)**에서 **활성화**를 선택 취소한 다음 **인스턴스 유형**에서 지원할 특정 인스턴스 유형을 선택합니다.

     전용 호스트에서 지원되는 인스턴스 패밀리는 변경할 수 없습니다.

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

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

**전용 호스트에 지원되는 인스턴스 유형을 수정하려면**  
[modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) 명령을 사용합니다.

다음 예제에서는 `m5` 인스턴스 패밀리 내의 여러 인스턴스 유형을 지원하도록 전용 호스트를 수정합니다.

```
aws ec2 modify-hosts \
    --instance-family m5 \
    --host-ids h-012a3456b7890cdef
```

다음예제에서는 `m5.xlarge` 인스턴스만 지원하도록 전용 호스트를 수정합니다.

```
aws ec2 modify-hosts \
    --instance-type m5.xlarge \
    --instance-family --host-ids h-012a3456b7890cdef
```

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

**전용 호스트에 지원되는 인스턴스 유형을 수정하려면**  
[Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) cmdlet을 사용합니다.

다음 예제에서는 `m5` 인스턴스 패밀리 내의 여러 인스턴스 유형을 지원하도록 전용 호스트를 수정합니다.

```
Edit-EC2Host `
    -InstanceFamily m5 `
    -HostId h-012a3456b7890cdef
```

다음예제에서는 `m5.xlarge` 인스턴스만 지원하도록 전용 호스트를 수정합니다.

```
Edit-EC2Host `
    -InstanceType m5.xlarge `
    -HostId h-012a3456b7890cdef
```

------

# Amazon EC2 인스턴스의 Amazon EC2 전용 호스트 테넌시 및 선호도 수정
<a name="moving-instances-dedicated-hosts"></a>

인스턴스를 시작한 후에 인스턴스의 테넌시를 변경할 수 있습니다. 또한 인스턴스에 대한 선호도를 수정하여 특정 호스트를 대상으로 하거나 계정에서 속성이 일치하는 사용 가능한 전용 호스트에서 실행되도록 할 수 있습니다. 인스턴스 테넌시 또는 선호도를 수정하려면 인스턴스가 `stopped` 상태여야 합니다.

인스턴스의 운영 체제 세부 정보 및 SQL Server 설치 여부는 지원되는 변환에 영향을 줍니다. 인스턴스에 사용할 수 있는 테넌시 변환 경로에 대한 자세한 내용은 *License Manager 사용 설명서*의 [Tenancy conversion](https://docs.aws.amazon.com/license-manager/latest/userguide/conversion-tenancy.html)을 참조하세요.

**참고**  
T3 인스턴스의 경우 전용 호스트에서 인스턴스를 시작해야 `host`의 테넌시를 사용할 수 있습니다. T3 인스턴스의 경우 테넌시를 `host`에서 `dedicated` 또는 `default`로 변경할 수 없습니다. 이러한 지원되지 않는 테넌시 변경 사항 중 하나를 만들려고 하면 `InvalidRequest` 오류 코드가 표시됩니다.

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

**인스턴스 테넌시 또는 선호도를 수정하려면**

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

1. **인스턴스**를 선택한 후 수정할 인스턴스를 선택합니다.

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

1. 인스턴스를 선택한 상태에서 **작업**, **인스턴스 설정**, **인스턴스 배치 수정**을 차례로 선택합니다.

1. **인스턴스 배치 수정** 페이지에서 다음을 구성합니다.
   + **테넌시** - 다음 중 하나를 선택합니다.
     + 전용 하드웨어 인스턴스를 실행 - 인스턴스를 전용 인스턴스로 시작합니다. 자세한 내용은 [Amazon EC2 전용 인스턴스](dedicated-instance.md) 섹션을 참조하세요.
     + 전용 호스트에서 인스턴스 시작 - 구성 가능한 선호도가 있는 전용 호스트에서 인스턴스를 시작합니다.
   + **선호도**—다음 중 하나를 선택합니다.
     + 내 호스트 중 하나에서 이 인스턴스를 시작할 수 있음—인스턴스 유형을 지원하는 계정의 모든 가용한 전용 호스트에서 인스턴스를 시작합니다.
     + 선택한 호스트에서만 이 인스턴스를 실행할 수 있음—**대상 호스트**로 선택된 전용 호스트에서만 인스턴스를 실행할 수 있습니다.
   + **대상 호스트**—인스턴스를 실행해야 하는 전용 호스트를 선택합니다. 대상 호스트 목록이 표시되지 않는 경우 계정에 사용 가능하며 호환되는 전용 호스트가 없을 수 있습니다.

   자세한 내용은 [Amazon EC2 전용 호스트 자동 배치 및 호스트 선호도](dedicated-hosts-understanding.md) 섹션을 참조하세요.

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

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

**인스턴스 테넌시 또는 선호도를 수정하려면**  
[modify-instance-placement](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-placement.html) 명령을 사용합니다. 다음 예는 지정된 인스턴스의 선호도를 `default`에서 `host`로 변경하고 인스턴스가 선호도를 갖는 전용 호스트를 지정합니다.

```
aws ec2 modify-instance-placement \
    --instance-id i-1234567890abcdef0 \
    --affinity host \
    --tenancy host \
    --host-id h-012a3456b7890cdef
```

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

**인스턴스 테넌시 또는 선호도를 수정하려면**  
[Edit-EC2InstancePlacement](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstancePlacement.html) cmdlet을 사용합니다. 다음 예는 지정된 인스턴스의 선호도를 `default`에서 `host`로 변경하고 인스턴스가 선호도를 갖는 전용 호스트를 지정합니다.

```
Edit-EC2InstancePlacement `
    -InstanceId i-1234567890abcdef0 `
    -Affinity host `
    -Tenancy host `
    -HostId h-012a3456b7890cdef
```

------

# Amazon EC2 전용 호스트 릴리스
<a name="dedicated-hosts-releasing"></a>

전용 호스트가 더 이상 필요하지 않을 경우 해당 호스트에서 실행 중인 인스턴스를 중지하고 다른 호스트에서 시작하도록 지시한 후 호스트를 *릴리스*합니다.

전용 호스트에서 실행되는 모든 인스턴스를 중지해야 해당 호스트를 해제할 수 있습니다. 이 인스턴스들을 계정의 다른 전용 호스트로 마이그레이션하여 계속 사용할 수 있습니다. 이 단계들은 온디맨드 전용 호스트에만 적용됩니다.

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

**전용 호스트를 해제하려면**

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

1. 탐색 창에서 **전용 호스트**를 선택합니다.

1. **전용 호스트** 페이지에서 해제할 전용 호스트를 선택합니다.

1. **작업**, **Release host(호스트 릴리스)**를 선택합니다.

1. **릴리스**를 선택하여 확인합니다.

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

**전용 호스트를 해제하려면**  
[release-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/release-hosts.html) 명령을 사용합니다.

```
aws ec2 release-hosts --host-ids h-012a3456b7890cdef
```

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

**전용 호스트를 해제하려면**  
[Remove-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Host.html) cmdlet을 사용합니다.

```
Remove-EC2Host -HostId h-012a3456b7890cdef
```

------

전용 호스트를 해제한 후에는 동일한 호스트 또는 호스트 ID를 다시 사용할 수 없으며, 더 이상 해당 호스트에 대해 온디맨드 결제 요금이 부과되지 않습니다. 전용 호스트의 상태가 `released`로 변경되고 이 호스트에서 인스턴스를 시작할 수 없게 됩니다.

**참고**  
최근에 전용 호스트를 해제한 경우 제한 계산에서 제외될 때까지 시간이 약간 걸릴 수 있습니다. 이 시간 동안 새로운 전용 호스트 할당을 시도할 경우 `LimitExceeded` 오류가 발생할 수 있습니다. 이런 경우 몇 분 후에 새 호스트를 할당해 보세요.

중지된 인스턴스는 계속 사용할 수 있으며 **인스턴스** 페이지에 나열됩니다. 또한 `host` 테넌시 설정을 유지합니다.

# Nitro 기반 Amazon EC2 전용 호스트로 마이그레이션
<a name="dh-migrate"></a>

Nitro 시스템은 우수한 성능과 고가용성, 철저한 보안을 지원하기 위해 AWS가 구축한 하드웨어 및 소프트웨어 구성 요소의 모음입니다. Nitro 기반 전용 호스트는 Xen 기반 전용 호스트에 비해 향상된 가격 대비 성능을 제공합니다. 계정에 Xen 기반 전용 호스트가 있는 경우 워크로드를 Nitro 기반 전용 호스트로 마이그레이션하는 것이 좋습니다. 자세한 내용은 [AWS 니트로 시스템](https://aws.amazon.com/ec2/nitro/)을 참조하세요.

Xen 기반 전용 호스트에서 Nitro 기반 전용 호스트로 마이그레이션하려면 전용 호스트의 Xen 기반 인스턴스를 Nitro 기반 인스턴스 유형으로 마이그레이션하고 새 Nitro 기반 전용 호스트를 할당한 다음 마이그레이션된 Nitro 기반 인스턴스를 새 Nitro 기반 전용 호스트로 이동해야 합니다.

이 주제에서는 Xen 기반 전용 호스트에서 Nitro 기반 전용 호스트로 마이그레이션하는 자세한 단계를 제공합니다.

**Topics**
+ [1단계: Xen 기반 전용 호스트 식별](#identify-xen-hosts)
+ [2단계: Xen 기반 인스턴스를 Nitro 기반 인스턴스 유형으로 마이그레이션](#migrate-dh-instances)
+ [3단계: Nitro 기반 전용 호스트 할당](#allocate-nitro-host)
+ [4단계: 마이그레이션된 인스턴스를 새 Nitro 기반 전용 호스트로 이동](#move-instances)
+ [5단계: 미사용 Xen 기반 전용 호스트 해제](#release-xen-instances)

## 1단계: Xen 기반 전용 호스트 식별
<a name="identify-xen-hosts"></a>

다음 전용 호스트는 Xen 기반이며 Nitro 기반 전용 호스트로 마이그레이션할 수 있습니다.
+ **범용: **M3 \$1 M4
+ **컴퓨팅 최적화: **C3 \$1 C4
+ **메모리 최적화: **R3 \$1 R4 \$1 X1 \$1 X1e
+ **스토리지 최적화**: D2 \$1 H1 \$1 I2 \$1 I3
+ **가속화된 컴퓨팅**: F1 \$1 G3 \$1 P2 \$1 P3

**계정에 Xen 기반 전용 호스트가 있는지 확인하려면**

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

1. 탐색 패널에서 **전용 호스트**를 선택합니다.

1. **검색 필드**에서 **인스턴스 패밀리** 필터를 사용하여 위의 Xen 기반 전용 호스트를 검색합니다. 예를 들어 *인스턴스 패밀리 = m3*입니다.

## 2단계: Xen 기반 인스턴스를 Nitro 기반 인스턴스 유형으로 마이그레이션
<a name="migrate-dh-instances"></a>

Xen 기반 전용 호스트에서 실행되는 인스턴스도 Xen 기반입니다. 이러한 인스턴스를 Nitro 기반 전용 호스트로 이동하려면 먼저 Nitro 기반 인스턴스 유형으로 마이그레이션해야 합니다.

**중요**  
인스턴스 마이그레이션을 시작하기 전에 데이터를 백업하는 것이 좋습니다. 자세한 내용은 [Amazon EC2 인스턴스에서 다중 볼륨 Amazon EBS 스냅샷 생성](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-create-snapshots.html)을 참조하세요.

**Xen 기반 전용 호스트에서 실행되는 인스턴스를 찾으려면**

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

1. 탐색 패널에서 **전용 호스트**를 선택합니다.

1. 마이그레이션하려는 Xen 기반 호스트를 선택한 다음 **실행 중인 인스턴스** 탭을 선택합니다. 탭에 선택한 호스트에서 실행되는 모든 인스턴스가 나열됩니다.

**Linux 인스턴스**를 마이그레이션하려면 [Amazon EC2 인스턴스 유형 변경](ec2-instance-resize.md) 섹션을 참조하세요.

**Windows 인스턴스**를 마이그레이션하려면 [EC2 Windows 인스턴스를 Nitro 기반 인스턴스 유형으로 마이그레이션](migrating-latest-types.md) 섹션을 참조하세요.

**참고**  
인스턴스를 마이그레이션하려는 Nitro 기반 전용 호스트와 일치하는 인스턴스 유형으로 마이그레이션해야 합니다. 예를 들어 M7i 전용 호스트로 마이그레이션하려는 경우 인스턴스를 M7i 인스턴스 유형으로 마이그레이션해야 합니다.

## 3단계: Nitro 기반 전용 호스트 할당
<a name="allocate-nitro-host"></a>

**지원되는 Nitro 기반 전용 호스트를 찾으려면**

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

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

1. 다음 필터를 적용합니다.
   + *하이퍼바이저 = nitro*
   + *전용 호스트 지원 = true*

적합한 Nitro 기반 인스턴스 유형을 찾은 후 [새 전용 호스트를 할당](dedicated-hosts-allocating.md)합니다.

## 4단계: 마이그레이션된 인스턴스를 새 Nitro 기반 전용 호스트로 이동
<a name="move-instances"></a>

Nitro 기반 전용 호스트를 할당하고 전용 호스트가 `available` 상태가 되면 이전에 Nitro 기반 인스턴스 유형으로 마이그레이션한 인스턴스를 새 전용 호스트로 이동할 수 있습니다.

**인스턴스를 새 Nitro 기반 전용 호스트로 이동하려면**

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

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

1. 마이그레이션한 인스턴스를 선택한 다음 **작업**, **인스턴스 설정**, **인스턴스 배치 수정**을 차례로 선택합니다.

1. **대상 전용 호스트**에서 새 Nitro 기반 전용 호스트를 선택한 다음 **저장**을 선택합니다.

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

## 5단계: 미사용 Xen 기반 전용 호스트 해제
<a name="release-xen-instances"></a>

Xen 기반 전용 호스트에서 새 Nitro 기반 전용 호스트로 워크로드를 마이그레이션한 후 더 이상 필요하지 않은 경우 [Xen 기반 전용 호스트를 해제](dedicated-hosts-releasing.md)할 수 있습니다.

## 전용 호스트 청구 할인을 위한 전용 호스트 예약 구매
<a name="purchasing-dedicated-host-reservations"></a>

전용 호스트 예약은 온디맨드 전용 호스트 요금에 비해 최대 70% 할인된 요금이 적용됩니다. 계정에 할당된 활성 전용 호스트가 있어야 전용 호스트 예약을 구매할 수 있습니다. 자세한 내용은 [Dedicated Host Reservations](dedicated-hosts-billing.md#dedicated-host-reservations) 섹션을 참조하세요.

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

**예약을 구매하려면**

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

1. **전용 호스트**, **전용 호스트 예약**, **전용 호스트 예약 구매**를 선택합니다.

1. **제품 및 서비스 찾기** 화면에서 다음을 수행합니다.

   1. **인스턴스 패밀리**에서 전용 호스트 예약을 구매할 전용 호스트의 인스턴스 패밀리를 선택합니다.

   1. **결제 옵션**에서 원하는 결제 옵션을 선택하고 구성합니다.

1. **다음**을 선택합니다.

1. 전용 호스트 예약을 연결할 전용 호스트를 선택하고 **다음**을 선택합니다.

1. (*선택 사항*) 전용 호스트 예약에 태그를 할당합니다.

1. 주문을 검토한 후 **구입**을 선택합니다.

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

**예약을 구매하려면**

1. [describe-host-reservation-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-host-reservation-offerings.html) 명령을 사용하여 요구 사항에 맞는 사용 가능한 상품 목록을 나열합니다. 다음 예는 `m4` 인스턴스 패밀리의 인스턴스를 지원하고 사용 기간이 1년인 상품 목록을 나열합니다.

   기간은 초 단위로 지정됩니다. 1년 기간에는 31,536,000초가 포함되고, 3년 기간에는 94,608,000초가 포함됩니다.

   ```
   aws ec2 describe-host-reservation-offerings \
       --filter Name=instance-family,Values=m4 \
       --max-duration 31536000
   ```

   이 명령은 조건과 일치하는 상품 목록을 반환합니다. 구매할 상품의 ID를 기록합니다.

1. [purchase-host-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-host-reservation.html) 명령을 사용하여 상품을 구입하고 이전 단계에서 기록한 `offeringId`를 입력합니다. 다음 예제에서는 지정된 예약을 구매하여 이미 AWS 계정에 할당된 특정 전용 호스트와 연결하며 키가 `purpose`이고 값이 `production`인 태그를 적용합니다.

   ```
   aws ec2 purchase-host-reservation \
       --offering-id hro-03f707bf363b6b324 \
       --host-id-set h-013abcd2a00cbd123 \
       --tag-specifications 'ResourceType=host-reservation,Tags={Key=purpose,Value=production}'
   ```

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

**예약을 구매하려면**

1. [Get-EC2HostReservationOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2HostReservationOffering.html) cmdlet을 사용하여 요구 사항에 맞는 사용 가능한 상품 목록을 나열합니다. 다음 예는 `m5` 인스턴스 패밀리의 인스턴스를 지원하고 사용 기간이 1년인 상품 목록을 나열합니다.

   기간은 초 단위로 지정됩니다. 1년 기간에는 31,536,000초가 포함되고, 3년 기간에는 94,608,000초가 포함됩니다.

   ```
   $filter = @{Name="instance-family"; Values="m5"}
   Get-EC2HostReservationOffering `
       -Filter $filter `
       -MaxDuration 31536000
   ```

   이 명령은 조건과 일치하는 상품 목록을 반환합니다. 구매할 상품의 ID를 기록합니다.

1. [New-EC2HostReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2HostReservation.html) cmdlet을 사용하여 상품을 구매하고 이전 단계에서 기록한 상품 ID를 입력합니다. 다음 예제에서는 특정 예약을 구매하고 이미 AWS 계정에 할당된 특정 전용 호스트와 연결합니다.

   ```
   New-EC2HostReservation `
       -OfferingId hro-03f707bf363b6b324 `
       -HostIdSet h-013abcd2a00cbd123
   ```

------

# 크로스 계정 Amazon EC2 전용 호스트 공유
<a name="dh-sharing"></a>

전용 호스트 공유를 통해 전용 호스트 소유자는 전용 호스트를 다른 AWS 계정과 공유하거나 AWS 조직 내에서 공유할 수 있습니다. 이를 통해 전용 호스트를 중앙에서 생성 및 관리하고 전용 호스트를 여러 AWS 계정 또는 AWS 조직 내에서 공유할 수 있습니다.

이 모델에서 전용 호스트를 소유한 AWS 계정(*소유자*)이 다른 AWS 계정(*소비자*)과 전용 호스트를 공유합니다. 소비자는 자신의 계정에서 할당한 전용 호스트에서 인스턴스를 시작할 때와 동일한 방식으로 공유된 전용 호스트에서 인스턴스를 시작할 수 있습니다. 소유자는 전용 호스트 및 거기서 시작한 인스턴스를 관리할 책임이 있습니다. 소유자는 소비자가 공유된 전용 호스트에서 시작하는 인스턴스를 수정할 수 없습니다. 소비자는 공유된 전용 호스트에서 시작한 인스턴스를 관리할 책임이 있습니다. 소비자는 다른 소비자나 전용 호스트 소유자가 소유한 인스턴스를 보거나 수정할 수 없으며 공유된 전용 호스트를 수정할 수 없습니다.

전용 호스트 소유자는 다음 상대와 전용 호스트를 공유할 수 있습니다.
+ AWS 조직 내부 또는 외부의 특정 AWS 계정
+ AWS 조직 내부의 조직 단위
+ 전체 AWS 조직

**Topics**
+ [전용 호스트 공유를 위한 사전 조건](#dh-sharing-prereq)
+ [전용 호스트 공유 제한 사항](#dh-sharing-limitation)
+ [관련 서비스](#dh-sharing-related)
+ [여러 가용 영역에서 공유](#dh-sharing-azs)
+ [공유된 전용 호스트 권한](#shared-dh-perms)
+ [결제 및 측정](#shared-dh-billing)
+ [전용 호스트 제한](#shared-dh-limits)
+ [호스트 복구 및 전용 호스트 공유](#dh-sharing-retirement)
+ [전용 호스트 공유](sharing-dh.md)
+ [전용 호스트 공유 해제](unsharing-dh.md)
+ [공유된 전용 호스트 보기](identifying-shared-dh.md)

## 전용 호스트 공유를 위한 사전 조건
<a name="dh-sharing-prereq"></a>
+ 전용 호스트를 공유하려면 전용 호스트를 AWS 계정에 소유하고 있어야 합니다. 자신과 공유된 전용 호스트는 공유할 수 없습니다.
+ AWS 조직 또는 AWS 조직의 조직 단위와 전용 호스트를 공유하려면 AWS Organizations를 통해 공유를 사용하도록 설정해야 합니다. 자세한 내용은 *AWS RAM 사용 설명서*에서 [AWS Organizations를 사용하여 공유 사용](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html)을 참조하세요.

## 전용 호스트 공유 제한 사항
<a name="dh-sharing-limitation"></a>

`u-6tb1.metal`, `u-9tb1.metal`, `u-12tb1.metal`, `u-18tb1.metal` 및 `u-24tb1.metal` 인스턴스 유형에 할당된 전용 호스트는 공유할 수 없습니다.

## 관련 서비스
<a name="dh-sharing-related"></a>

### AWS Resource Access Manager
<a name="related-ram"></a>

전용 호스트 공유는 AWS Resource Access Manager(AWS RAM)와 통합됩니다. AWS RAM은 모든 AWS 계정 또는 AWS Organizations를 통해 AWS 리소스를 공유하도록 해주는 서비스입니다. AWS RAM을 사용하여 *리소스 공유*로 생성한 사용자 소유 리소스를 공유할 수 있습니다. 리소스 공유는 공유할 리소스와 공유 대상 소비자를 지정합니다. 소비자는 개인 AWS 계정 또는 조직 단위 또는 AWS Organizations의 전체 조직일 수 있습니다.

AWS RAM에 대한 자세한 내용은 *[AWS RAM 사용 설명서](https://docs.aws.amazon.com/ram/latest/userguide/)*를 참조하세요.

## 여러 가용 영역에서 공유
<a name="dh-sharing-azs"></a>

리전의 가용 영역에 걸쳐 리소스가 배포될 수 있도록 각 계정의 이름에 가용 영역을 독립적으로 매핑합니다. 이로 인해 계정 전체에서 가용 영역 이름의 차이가 발생할 수 있습니다. 예를 들어 AWS 계정의 `us-east-1a` 가용 영역은 다른 AWS 계정에 대한 `us-east-1a`로 위치가 동일하지 않을 수 있습니다.

계정과 관련된 전용 호스트의 위치를 확인하려면 *가용 영역 ID*(AZ ID)를 사용해야 합니다. 가용 영역 ID는 모든 AWS 계정에서 가용 영역의 고유하고 일관된 식별자입니다. 예를 들어, `use1-az1`은 `us-east-1` 리전의 가용 영역 ID이고 모든 AWS 계정에서 동일한 위치입니다.

**계정에 속한 가용 영역의 가용 영역 ID를 보려면**

1. [https://console.aws.amazon.com/ram/homeAWS RAM에서 ](https://console.aws.amazon.com/ram/home) 콘솔을 엽니다.

1. 현재 리전의 가용 영역 ID는 화면 오른쪽에 있는 **Your AZ ID(AZ ID)** 패널에 표시됩니다.

## 공유된 전용 호스트 권한
<a name="shared-dh-perms"></a>

### 소유자에 대한 권한
<a name="shared-dh-perms-owner"></a>

소유자는 공유된 전용 호스트 및 거기서 시작한 인스턴스를 관리할 책임이 있습니다. 소유자는 소비자가 시작한 인스턴스를 포함하여 공유된 전용 호스트에서 실행되는 인스턴스를 모두 볼 수 있습니다. 하지만 소유자는 소비자가 시작하여 실행 중인 인스턴스에 대해 아무 작업도 할 수 없습니다.

### 소비자에 대한 권한
<a name="shared-dh-perms-consumer"></a>

소비자는 공유된 전용 호스트에서 시작한 인스턴스를 관리할 책임이 있습니다. 소비자는 어떤 식으로든 공유된 전용 호스트를 수정할 수 없으며 다른 소비자 또는 전용 호스트 소유자가 시작한 인스턴스를 보거나 수정할 수 없습니다.

## 결제 및 측정
<a name="shared-dh-billing"></a>

전용 호스트 공유에 대한 추가 비용은 없습니다.

공유하는 전용 호스트 비용이 소유자에게 청구됩니다. 공유된 전용 호스트에서 소비자가 시작한 인스턴스 비용을 소비자에게 청구하지 않습니다.

전용 호스트 예약은 공유된 전용 호스트의 결제 할인을 계속 제공합니다. 전용 호스트 소유자만 자신이 소유한 공유 전용 호스트의 전용 호스트 예약을 구매할 수 있습니다.

## 전용 호스트 제한
<a name="shared-dh-limits"></a>

공유된 전용 호스트 수는 소유자의 전용 호스트 제한에만 포함됩니다. 소비자의 전용 호스트 제한은 자신과 공유된 전용 호스트의 영향을 받지 않습니다. 마찬가지로 공유된 전용 호스트에서 소비자가 시작하는 인스턴스도 그 인스턴스 제한에 포함되지 않습니다.

## 호스트 복구 및 전용 호스트 공유
<a name="dh-sharing-retirement"></a>

호스트 복구는 전용 호스트 소유자 및 이 호스트가 공유된 소비자가 시작한 인스턴스를 복구합니다. 대체 전용 호스트는 소유자 계정에 할당되며, 원래의 전용 호스트와 같은 리소스 공유에 추가되고 같은 소비자와 공유됩니다.

자세한 내용은 [Amazon EC2 전용 호스트 복구](dedicated-hosts-recovery.md) 섹션을 참조하세요.

# Amazon EC2 전용 호스트를 여러 AWS 계정 간에 공유
<a name="sharing-dh"></a>

소유자가 전용 호스트를 공유하면 소비자가 호스트에서 인스턴스를 시작할 수 있게 됩니다. 소비자는 가용 용량이 허용하는 만큼 많은 인스턴스를 공유된 호스트에서 시작할 수 있습니다.

**중요**  
전용 호스트에서 BYOL 라이선스를 공유할 수 있는 적절한 라이선스 권리가 있는지 확인할 책임은 사용자에게 있습니다.

자동 배치가 활성화된 상태로 전용 호스트를 공유하는 경우 의도하지 않은 전용 호스트 사용으로 이어질 수 있으므로 다음 내용에 유의하세요.
+ 소비자가 전용 호스트 테넌시로 인스턴스를 시작하고 계정에서 소유한 전용 호스트에 용량이 없으면 인스턴스는 공유된 전용 호스트에서 자동으로 시작됩니다.

전용 호스트를 공유하려면 리소스 공유에 추가해야 합니다. 리소스 공유는 여러 AWS 계정에서 리소스를 공유할 수 있게 해주는 AWS RAM 리소스입니다. 리소스 공유는 공유할 리소스와 공유 대상 소비자를 지정합니다. 전용 호스트를 기존 리소스에 추가하거나 새 리소스 공유에 추가할 수 있습니다.

AWS Organizations의 조직에 속해 있고 조직 내에서 공유가 사용되는 경우 공유 전용 호스트에 대한 액세스 권한이 조직의 소비자에게 자동으로 부여됩니다. 그렇게 하지 않으면 소비자는 리소스 공유에 가입하라는 초대장을 받고 초대를 수락한 후 공유된 전용 호스트의 액세스 권한을 받습니다.

**참고**  
전용 호스트를 공유한 후 몇 분이 지나면 소비자가 그에 대한 액세스 권한을 갖게 됩니다.

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

**Amazon EC2 콘솔을 사용하여 소유하고 있는 전용 호스트를 공유하려면**

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

1. 탐색 창에서 **전용 호스트**를 선택합니다.

1. 공유할 전용 호스트를 선택하고 **작업**, **호스트 공유**를 선택합니다.

1. 전용 호스트를 추가할 리소스 공유를 선택하고 **호스트 공유**를 선택합니다.

   소비자가 공유 호스트에 액세스하려면 몇 분이 걸릴 수 있습니다.

**AWS RAM 콘솔을 사용하여 소유하고 있는 전용 호스트를 공유하려면**  
*AWS RAM 사용 설명서*의 [리소스 공유 생성](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html)을 참조하세요.

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

**소유하고 있는 전용 호스트를 공유하려면 다음을 수행하세요.**  
[create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) 명령을 사용합니다.

```
aws ram create-resource-share \
    --name my-resource-share \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:dedicated-host/h-07879acf49EXAMPLE
```

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

**소유하고 있는 전용 호스트를 공유하려면 다음을 수행하세요.**  
[New-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/New-RAMResourceShare.html) cmdlet을 사용합니다.

```
New-RAMResourceShare `
    -Name my-resource-share `
    -ResourceArn arn:aws:ec2:us-east-2:123456789012:dedicated-host/h-07879acf49EXAMPLE
```

------

# 다른 AWS 계정과 공유되는 전용 호스트의 공유 해제
<a name="unsharing-dh"></a>

전용 호스트 소유자는 언제든지 공유된 전용 호스트를 공유 해제할 수 있습니다. 공유된 전용 호스트를 공유 해제할 때 다음 규칙이 적용됩니다.
+ 전용 호스트를 공유한 소비자는 더 이상 새 인스턴스를 이 호스트에서 시작할 수 없습니다.
+ 공유를 해제할 때 전용 호스트에서 실행되던 소비자 소유의 인스턴스는 계속 실행되지만 [만료](schedevents_actions_retire.md)되도록 예약됩니다. 소비자는 인스턴스 만료 알림을 받고 2주가 지나면 알림에 대한 조치가 취해집니다. 하지만 전용 호스트가 만료 통지 기간 안에 소비자와 다시 공유되면 인스턴스 만료가 취소됩니다.

소유하고 있는 공유된 전용 호스트를 공유 해제하려면 리소스 공유에서 제거해야 합니다.

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

**소유하고 있는 공유 전용 호스트를 공유 해제하려면 다음을 수행하세요.**

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

1. 탐색 창에서 **전용 호스트**를 선택합니다.

1. 공유를 해제할 전용 호스트를 선택하고 **공유** 탭을 선택합니다.

1. **공유** 탭에는 전용 호스트가 추가된 리소스 공유가 나열됩니다. 전용 호스트를 제거할 리소스 공유를 선택하고 **리소스 공유에서 호스트 제거**를 선택합니다.

**AWS RAM 콘솔을 사용하여 소유하고 있는 공유 전용 호스트를 공유 해제하려면**  
*AWS RAM 사용 설명서*의 [리소스 공유 업데이트](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html)를 참조하세요.

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

**소유하고 있는 공유 전용 호스트를 공유 해제하려면 다음을 수행하세요.**  
[disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) 명령을 사용합니다.

```
aws ram disassociate-resource-share \
    --resource-share-arn arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE \
	--resource-arns arn:aws:ec2:us-east-2:123456789012:dedicated-host/h-07879acf49EXAMPLE
```

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

**소유하고 있는 공유 전용 호스트를 공유 해제하려면 다음을 수행하세요.**  
[Disconnect-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/Disconnect-RAMResourceShare.html) cmdlet을 사용합니다.

```
Disconnect-RAMResourceShare `
    -ResourceShareArn "arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE" `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:dedicated-host/h-07879acf49EXAMPLE"
```

------

# AWS 계정에서 공유된 Amazon EC2 전용 호스트 보기
<a name="identifying-shared-dh"></a>

다른 계정과 공유 중인 전용 호스트 및 자신의 계정과 공유된 전용 호스트를 볼 수 있습니다. 전용 호스트를 소유하는 경우 소비자가 시작한 인스턴스를 포함하여 해당 호스트에서 실행되는 인스턴스를 모두 볼 수 있습니다. 전용 호스트가 공유되는 경우 공유된 호스트에서 자신이 시작한 인스턴스만 볼 수 있고 다른 소비자가 시작한 인스턴스는 볼 수 없습니다.

소유자와 소비자는 다음 방법 중 하나를 사용하여 공유 전용 호스트를 식별할 수 있습니다.

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

**공유 전용 호스트를 식별하려면 다음을 수행하세요.**

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

1. 탐색 창에서 **전용 호스트**를 선택합니다. 소유하고 있는 전용 호스트 및 자신과 공유된 전용 호스트가 화면에 나열됩니다.

1. [**소유자(Owner)**] 열에 전용 호스트 소유자의 AWS 계정 ID가 표시됩니다.

1. 호스트에서 실행 중인 인스턴스를 보려면 **인스턴스** 탭을 선택합니다.

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

**공유 전용 호스트를 식별하려면 다음을 수행하세요.**  
[describe-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-hosts.html) 명령을 사용합니다. 이 명령은 소유하고 있는 전용 호스트 및 자신과 공유된 전용 호스트를 반환합니다. `Owner` 값은 전용 호스트 소유자의 계정 ID입니다. `Instances` 목록은 호스트에서 실행 중인 인스턴스를 설명합니다.

```
aws ec2 describe-hosts --filter "Name=state,Values=available"
```

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

**공유 전용 호스트를 식별하려면 다음을 수행하세요.**  
[Get-EC2host](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Host.html) cmdlet을 사용합니다. cmdlet은 소유하고 있는 전용 호스트 및 자신과 공유된 전용 호스트를 반환합니다. 응답의 `Owner` 값은 전용 호스트 소유자의 계정 ID입니다. `Instances` 목록은 호스트에서 실행 중인 인스턴스를 설명합니다.

```
Get-EC2Host -Filter @{Name="state"; Values="available"}
```

------

# AWS Outposts의 Amazon EC2 전용 호스트
<a name="dh-outposts"></a>

AWS Outposts는 AWS 인프라, 서비스, API 및 도구를 온프레미스로 확장하는 완전관리형 서비스입니다. AWS 관리형 인프라에 대한 로컬 액세스를 제공하는 AWS Outposts를 통해 AWS 리전에서 사용하는 것과 동일한 프로그래밍 인터페이스를 사용해 온프레미스에서 애플리케이션을 구축하고 실행할 수 있으며, 짧은 지연 시간과 로컬 데이터 처리가 필요한 경우에 로컬 컴퓨팅 및 스토리지 리소스를 사용할 수 있습니다.

Outpost는 고객 사이트에 배포된 AWS 컴퓨팅 및 스토리지 용량 풀입니다. AWS는 이 용량을 AWS 리전의 일부로 운영, 모니터링 및 관리합니다.

계정에서 소유한 Outpost에 전용 호스트를 할당할 수 있습니다. 따라서 전용 물리적 서버가 필요한 기존 소프트웨어 라이선스와 워크로드를 AWS Outposts로 더 쉽게 가져올 수 있습니다. 또한 Outpost의 특정 하드웨어 자산을 대상으로 지정하여 워크로드 간 지연 시간을 최소화할 수 있습니다.

전용 호스트를 사용하면 Amazon EC2에서 적격 소프트웨어 라이선스를 사용할 수 있으므로 자체 라이선스를 사용할 때의 유연성과 비용 효율성을 얻을 수 있습니다. 가상 머신, 소켓 또는 물리적 코어에 바인딩된 기타 소프트웨어 라이센스는 해당 라이선스 조건에 따라 전용 호스트에서도 사용할 수 있습니다. Outpost는 항상 BYOL 워크로드에 적합한 단일 테넌트 환경이었지만 전용 호스트를 사용하면 전체 Outpost 배포와 달리 필요한 라이선스를 단일 호스트로 제한할 수 있습니다.

또한 Outpost에서 전용 호스트를 사용하면 인스턴스 유형 배포의 유연성이 향상되고 인스턴스 배치를 보다 세부적으로 제어할 수 있습니다. 인스턴스 시작을 위해 특정 호스트를 대상으로 지정하고 호스트 선호도를 사용하여 인스턴스가 항상 해당 호스트에서 실행되도록 하거나 자동 배치를 사용하여 구성과 사용 가능한 용량이 일치하는 사용 가능한 호스트에서 인스턴스를 시작할 수 있습니다.

**Contents**
+ [사전 조건](#dh-outpost-prereqs)
+ [지원되는 기능](#dh-outpost-features)
+ [고려 사항](#dh-outpost-considerations)
+ [AWS Outposts에서 Amazon EC2 전용 호스트 할당](dh-outpost-allocate.md)

## 사전 조건
<a name="dh-outpost-prereqs"></a>

사이트에 Outpost가 설치되어 있어야 합니다. 자세한 내용은 AWS Outposts 사용 설명서**에서 [Outposts 생성 및 Outposts 용량 주문](https://docs.aws.amazon.com/outposts/latest/userguide/order-outpost-capacity.html)을 참조하세요.

## 지원되는 기능
<a name="dh-outpost-features"></a>
+ 지원되는 인스턴스 패밀리는 다음과 같습니다.
  + **범용:** M5 \$1 M5d \$1 M7i \$1 M8i
  + **컴퓨팅 최적화:** C5 \$1 C5d \$1 C7i \$1 C8i
  + **메모리 최적화:** R5 \$1 R5d \$1 R7i \$1 R8i
  + **스토리지 최적화:** I3en
  + **가속 컴퓨팅:** G4dn
+ Outpost의 전용 호스트는 여러 인스턴스 크기를 지원하도록 구성할 수 있습니다. 다음 인스턴스 패밀리의 경우 여러 인스턴스 크기가 지원됩니다.
  + **범용:** M5 \$1 M5d \$1 M7i
  + **컴퓨팅 최적화:** C5 \$1 C5d \$1 C7i
  + **메모리 최적화:** R5 \$1 R5d \$1 R7i

  자세한 내용은 [Amazon EC2 전용 호스트 인스턴스 용량 구성](dedicated-hosts-limits.md) 섹션을 참조하세요.
+ Outpost의 전용 호스트는 자동 배치와 대상 인스턴스 실행을 지원합니다. 자세한 내용은 [Amazon EC2 전용 호스트 자동 배치 및 호스트 선호도](dedicated-hosts-understanding.md) 섹션을 참조하세요.
+ Outpost의 전용 호스트는 호스트 선호도를 지원합니다. 자세한 내용은 [Amazon EC2 전용 호스트 자동 배치 및 호스트 선호도](dedicated-hosts-understanding.md) 섹션을 참조하세요.
+ Outpost의 전용 호스트는 AWS RAM과의 공유를 지원합니다. 자세한 내용은 [크로스 계정 Amazon EC2 전용 호스트 공유](dh-sharing.md) 섹션을 참조하세요.

## 고려 사항
<a name="dh-outpost-considerations"></a>
+ 전용 호스트 예약은 Outpost에서 지원되지 않습니다.
+ 호스트 리소스 그룹과 AWS License Manager는 Outpost에서 지원되지 않습니다.
+ Outpost의 전용 호스트는 버스트 가능한 T3 인스턴스를 지원하지 않습니다.
+ Outpost의 전용 호스트는 호스트 복구를 지원하지 않습니다.
+ Outpost에서 전용 호스트 테넌시가 포함된 인스턴스에서는 간소화된 자동 복구가 지원되지 않습니다.

# AWS Outposts에서 Amazon EC2 전용 호스트 할당
<a name="dh-outpost-allocate"></a>

AWS 리전의 전용 호스트와 동일한 방식으로 Outpost에 전용 호스트를 할당하고 사용합니다.

**사전 조건**  
Outposts에서 서브넷을 생성합니다. 자세한 내용은 *AWS Outposts 사용 설명서*에서 [서브넷 생성](https://docs.aws.amazon.com/outposts/latest/userguide/launch-instance.html#create-subnet)을 참조하세요.

**Outpost에 전용 호스트를 할당하려면 다음 방법 중 하나를 사용합니다.**

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

**AWS Outposts 콘솔을 사용하여 Outpost에 전용 호스트를 할당하는 방법**

1. [https://console.aws.amazon.com/outposts/](https://console.aws.amazon.com/outposts/home)에서 AWS Outposts 콘솔을 엽니다.

1. 탐색 창에서 **Outposts**를 선택합니다. Outpost를 선택한 다음 **작업(Actions)**, **전용 호스트 할당(Allocate Dedicated Host)**을 선택합니다.

1. 필요에 따라 전용 호스트를 구성합니다. 자세한 내용은 [계정에서 사용할 Amazon EC2 전용 호스트 할당](dedicated-hosts-allocating.md) 섹션을 참조하세요.
**참고**  
**가용 영역(Availability Zone)** 및 **Outpost ARN**은 가용 영역과 선택한 Outpost의 ARN으로 미리 채워져야 합니다.

1. **할당**을 선택합니다.

**Amazon EC2 콘솔을 사용하여 Outpost에 전용 호스트를 할당하는 방법**

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

1. 탐색 창에서 **전용 호스트(Dedicated Hosts)**를 선택한 후 **전용 호스트 할당(Allocate Dedicated Host)**을 선택합니다.

1. **가용 영역(Availability Zone)**에서 Outpost와 연결된 가용 영역을 선택합니다.

1. **Outpost ARN**에 Outpost의 ARN을 입력합니다.

1. Outpost의 특정 하드웨어 자산을 대상으로 지정하려면 **Outpost의 특정 하드웨어 자산 대상 지정**에서 **활성화**를 선택합니다. 대상으로 지정할 각 하드웨어 자산에 대해 **자산 ID 추가**를 선택한 다음 하드웨어 자산의 ID를 입력합니다.
**참고**  
**수량**에 지정하는 값은 지정한 자산 ID의 수와 같아야 합니다. 예를 들어 자산 ID 3개를 지정한 경우 수량도 3이어야 합니다.

1. 필요에 따라 나머지 전용 호스트 설정을 구성합니다. 자세한 내용은 [계정에서 사용할 Amazon EC2 전용 호스트 할당](dedicated-hosts-allocating.md) 섹션을 참조하세요.

1. **할당**을 선택합니다.

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

**Outpost에 전용 호스트를 할당하는 방법**  
[allocate-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-hosts.html) 명령을 사용합니다. `--availability-zone`에서 Outpost와 연결된 가용 영역을 지정합니다. `--outpost-arn`에서 Outpost의 ARN을 지정합니다. 선택적으로 `--asset-ids`의 경우 대상으로 지정할 Outpost 하드웨어 자산의 ID를 지정합니다.

```
aws ec2 allocate-hosts \
    --availability-zone "us-east-1a" \
    --outpost-arn "arn:aws:outposts:us-east-1a:111122223333:outpost/op-4fe3dc21baEXAMPLE" \
    --asset-ids asset_id \
    --instance-family "m5" \
    --auto-placement "off" \
    --quantity 1
```

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

**Outpost에 전용 호스트를 할당하는 방법**  
[New-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Host.html) cmdlet을 사용합니다. Outpost와 연결된 가용 영역을 지정합니다. 선택적으로 `-AssetId`의 경우 대상으로 지정할 Outpost 하드웨어 자산의 ID를 지정합니다.

```
New-EC2Host `
    -AvailabilityZone "us-east-1a" `
    -OutpostArn "arn:aws:outposts:us-east-1a:111122223333:outpost/op-4fe3dc21baEXAMPLE" `
    -AssetId asset_id `
    -InstanceFamily "m5" `
    -AutoPlacement "off" `
    -Quantity 1
```

------

**Outpost에서 전용 호스트로 인스턴스 시작**

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

1. 탐색 창에서 **전용 호스트(Dedicated Hosts)**를 선택합니다. 이전 단계에서 할당한 전용 호스트를 선택하고 **작업(Actions)**, **호스트에서 인스턴스 시작(Launch instance onto host)**을 선택합니다.

1. 필요에 따라 인스턴스를 구성한 다음 인스턴스를 시작합니다. 자세한 내용은 [Amazon EC2 전용 호스트에서 Amazon EC2 인스턴스 시작](launching-dedicated-hosts-instances.md) 섹션을 참조하세요.

# Amazon EC2 전용 호스트 복구
<a name="dedicated-hosts-recovery"></a>

전용 호스트 자동 복구는 전용 호스트에서 특정한 오류 상태가 감지되면 새 대체 호스트로 인스턴스를 다시 시작합니다. 호스트 복구는 수동 개입의 필요성을 줄이고 시스템 파워 또는 네트워크 연결 이벤트에서 예기치 않은 전용 호스트 장애가 발생하는 경우 운영 부담을 줄입니다. 기타 전용 호스트 문제는 복구를 위해 수동 개입이 필요합니다.

**Topics**
+ [호스트 복구 작동 방식](dedicated-hosts-recovery-basics.md)
+ [지원되는 인스턴스 유형](#dedicated-hosts-recovery-instances)
+ [가격 책정](#dedicated-hosts-recovery-pricing)
+ [호스트 복구 관리](dedicated-hosts-recovery-enable.md)
+ [호스트 복구 설정 보기](dedicated-hosts-recovery-view.md)
+ [지원되지 않는 인스턴스 수동 복구](dedicated-hosts-recovery-unsupported.md)

# Amazon EC2 전용 호스트 복구 작동 방식
<a name="dedicated-hosts-recovery-basics"></a>

전용 호스트 미 호스트 리소스 그룹 복구 프로세스는 호스트 수준 상태 확인을 사용하여 전용 호스트 가용성을 평가하고 기본 시스템 오류를 감지합니다. 전용 호스트 장애 유형에 따라 전용 호스트 자동 복구가 가능한지 여부가 결정됩니다. 시스템 상태 확인이 실패할 수 있는 문제의 예를 들면 다음과 같습니다.
+ 네트워크 연결 끊김
+ 시스템 전원 중단
+ 물리적 호스트의 하드웨어 또는 소프트웨어 문제

**중요**  
호스트가 사용 중지되도록 예약된 경우 전용 호스트 자동 복구가 수행되지 않습니다.

## 전용 호스트 자동 복구
<a name="dedicated-hosts-recovery-basics-auto-recovery"></a>

전용 호스트에서 시스템 전원 또는 네트워크 연결 장애가 감지되면 전용 호스트 자동 복구가 시작되고 Amazon EC2가 **자동으로 원본 전용 호스트와 동일한 가용 영역에서 전용 호스트 대체를 할당**합니다. 전용 호스트 대체는 새로운 호스트 ID를 받지만 다음과 같이 원본 전용 호스트와 동일한 속성을 유지합니다.
+ 가용 영역
+ 인스턴스 유형
+ 태그
+ 자동 배치 설정
+ 예약

대체 전용 호스트가 할당된 후 **인스턴스는 대체 전용 호스트로 복구됩니다**. 복구 된 인스턴스는 다음과 같이 원본 인스턴스와 동일한 속성을 유지합니다.
+ 인스턴스 ID
+ 프라이빗 IP 주소
+ 탄력적인 IP 주소
+ EBS 볼륨 장치
+ 모든 인스턴스 메타데이터

또한 내장된 AWS License Manager 통합 기능은 라이선스 추적 및 관리를 자동화합니다.

**참고**  
AWS License Manager 통합은 AWS License Manager가 제공되는 리전에서만 지원됩니다.

인스턴스가 손상된 전용 호스트와 호스트 선호도 관계를 갖는 경우 복구된 인스턴스는 대체 전용 호스트와 호스트 선호도를 수립합니다.

모든 인스턴스가 대체 전용 호스트로 복구되면 **손상된 전용 호스트가 해제되고** 대체 전용 호스트를 사용할 수 있게 됩니다.

호스트 복구가 시작되면 AWS 계정 소유자에게 이메일 및 AWS Health Dashboard 이벤트로 알림이 전송됩니다. 호스트 복구가 성공적으로 완료되면 두 번째 알림이 전송됩니다.

AWS License Manager를 사용하여 라이선스를 추적하는 경우 AWS License Manager는 라이선스 구성 제한에 따라 대체 전용 호스트에 대한 새 라이선스를 할당합니다. 라이선스 구성에 호스트 복구의 결과로 위반되는 하드 제한이 있는 경우 복구 프로세스가 허용되지 않으며 Amazon SNS 알림을 통해 호스트 복구 실패 알림이 전송됩니다(AWS License Manager에서 알림 설정을 구성한 경우). 라이선스 구성에 호스트 복구의 결과로 위반되는 소프트 제한이 있는 경우 복구가 계속 허용되며 Amazon SNS 알림을 통해 제한 위반 알림이 전송됩니다. 자세한 내용은 *AWS License Manager 사용 설명서*의 [License Manager의 라이선스 구성](https://docs.aws.amazon.com/license-manager/latest/userguide/license-configurations.html) 및 [License Manager 설정](https://docs.aws.amazon.com/license-manager/latest/userguide/settings.html)을 참조하세요.

## 호스트 복구 상태
<a name="dedicated-hosts-recovery-states"></a>

전용 호스트 장애가 감지되면 손상된 전용 호스트는 `under-assessment` 상태가 되고 모든 인스턴스는 `impaired` 상태가 됩니다. `under-assessment` 상태에 있는 동안에는 손상된 전용 호스트에서 인스턴스를 시작할 수 없습니다.

대체 전용 호스트가 할당된 후에는 `pending` 상태가 됩니다. 호스트 복구 프로세스가 완료될 때까지 이 상태로 유지됩니다. `pending` 상태에 있는 동안에는 대체 전용 호스트에서 인스턴스를 시작할 수 없습니다. 대체 전용 호스트에서 복구된 인스턴스는 복구 프로세스 중에 `impaired` 상태로 유지됩니다.

호스트 복구가 완료되면 대체 전용 호스트가 `available` 상태가 되고 복구된 인스턴스는 `running` 상태로 돌아갑니다. `available` 상태가 된 후 대체 전용 호스트로 인스턴스를 시작할 수 있습니다. 손상된 원본 전용 호스트는 영구적으로 해제되고 `released-permanent-failure` 상태가 됩니다.

손상된 전용 호스트에 인스턴스 저장소 루트 볼륨이 있는 인스턴스 등 호스트 복구를 지원하지 않는 인스턴스가 있는 경우 전용 호스트가 해제되지 않습니다. 대신, 만료 표시되고 `permanent-failure` 상태가 됩니다.

## 전용 호스트 자동 복구가 없는 시나리오
<a name="dedicated-hosts-recovery-basics-non-auto"></a>

**호스트가 사용 중지되도록 예약된 경우 전용 호스트 자동 복구가 수행되지 않습니다**. Amazon CloudWatch 이벤트인 AWS Health Dashboard에서 사용 중지 알림을 받게 되고 AWS 계정 소유자 이메일 주소에 전용 호스트 실패와 관련된 메시지가 전송됩니다. 사용 중지되는 호스트에서 인스턴스를 수동으로 복구하려면 지정된 기간 내에 만료 알림에 설명된 해결 단계를 수행합니다.

**중지된 인스턴스는 대체 전용 호스트로 복구되지 않습니다**. 손상된 전용 호스트를 대상으로 하는 중지된 인스턴스를 시작하려고 하면 인스턴스가 시작되지 않습니다. 중지된 인스턴스를 수정하여 다른 전용 호스트를 대상으로 하거나 일치하는 구성 및 자동 배치가 활성화된 사용 가능한 전용 호스트에서 시작하는 것이 좋습니다.

**인스턴스 스토리지가 포함된 인스턴스는 대체 전용 호스트로 복구되지 않습니다**. 해결 수단으로, 손상된 전용 호스트는 만료 표시되고 호스트 복구가 완료된 후 만료 알림이 전송됩니다. 손상된 전용 호스트의 나머지 인스턴스를 수동으로 복구하려면 지정된 기간 내에 만료 알림에 설명된 해결 단계를 수행합니다.

## 지원되는 인스턴스 유형
<a name="dedicated-hosts-recovery-instances"></a>

다음 인스턴스 패밀리에 대해 호스트 복구가 지원됩니다.
+ **범용: **A1 \$1 M3 \$1 M4 \$1 M5 \$1 M5n \$1 M5zn \$1 M6a \$1 M6g \$1 M6i \$1 T3 \$1 Mac1 \$1 Mac2 \$1 Mac2-m1ultra \$1 Mac2-m2 \$1 Mac2-m2pro
+ **컴퓨팅 최적화: **C3 \$1 C4 \$1 C5 \$1 C5n \$1 C6a \$1 C6g \$1 C6i
+ **메모리 최적화: **R3 \$1 R4 \$1 R5 \$1 R5b \$1 R5n \$1 R6g \$1 R6i \$1 U-6tb1 \$1 U-9tb1 \$1 U-12tb1 \$1 U-18tb1 \$1 U-24tb1 \$1 X1 \$1 X1e \$1 X2iezn
+ **가속 컴퓨팅: **Inf1 \$1 G3 \$1 G5g \$1 P2 \$1 P3

지원되지 않는 인스턴스를 복구하려면 [Amazon EC2 전용 호스트 복구에서 지원되지 않는 인스턴스를 수동으로 복구](dedicated-hosts-recovery-unsupported.md) 섹션을 참조하세요.

**참고**  
지원되는 메탈 인스턴스 유형의 전용 호스트 자동 복구는 비 메탈 인스턴스 유형보다 감지하고 복구하는 데 시간이 오래 걸립니다.

## 가격 책정
<a name="dedicated-hosts-recovery-pricing"></a>

호스트 복구 사용에 대한 추가 요금은 없지만 일반적으로 전용 호스트 요금이 적용됩니다. 자세한 내용은 [Amazon EC2 전용 호스트 요금](https://aws.amazon.com/ec2/dedicated-hosts/pricing/)을 참조하세요.

호스트 복구가 시작된 직후 손상된 전용 호스트에 대해서는 더 이상 요금이 청구되지 않습니다. 대체 전용 호스트에 대한 요금 청구는 `available` 상태가 된 후에 시작됩니다.

손상된 전용 호스트가 온디맨드 요금을 사용하여 청구된 경우 대체 전용 호스트도 온디맨드 요금을 사용하여 청구됩니다. 손상된 전용 호스트에 활성 전용 호스트 예약이 있는 경우, 대체 전용 호스트로 전송됩니다.

# Amazon EC2 전용 호스트 복구 관리
<a name="dedicated-hosts-recovery-enable"></a>

전용 호스트 자동 복구는 전용 호스트에서 특정한 오류 상태가 감지되면 새 대체 호스트로 인스턴스를 다시 시작합니다. 전용 호스트 할당 시 또는 할당 후 호스트 복구를 활성화할 수 있습니다.

다음 절차에 따라 호스트 할당 시 호스트 복구를 활성화합니다.

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

**할당 시 호스트 복구를 활성화하려면 다음을 수행하세요.**  
Amazon EC2 콘솔을 사용하여 전용 호스트를 할당할 때 **호스트 복구**에 대해 **활성화**를 선택합니다. 자세한 내용은 [계정에서 사용할 Amazon EC2 전용 호스트 할당](dedicated-hosts-allocating.md) 섹션을 참조하세요.

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

**할당 시 호스트 복구를 활성화하려면 다음을 수행하세요.**  
[allocate-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-hosts.html) 명령을 사용합니다.

```
aws ec2 allocate-hosts \
    --instance-type m5.large \
    --availability-zone eu-west-1a \
    --auto-placement on \
    --host-recovery on \
    --quantity 1
```

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

**할당 시 호스트 복구를 활성화하려면 다음을 수행하세요.**  
[New-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Host.html) cmdlet을 사용합니다.

```
New-EC2Host `
    -InstanceType m5.large `
    -AvailabilityZone eu-west-1a `
    -AutoPlacement on `
    -HostRecovery on `
    -Quantity 1
```

------

다음 절차에 따라 전용 호스트의 호스트 복구를 관리합니다.

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

**할당 후 호스트 복구를 관리하려면 다음을 수행하세요.**

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

1. 탐색 창에서 **전용 호스트(Dedicated Hosts)**를 선택합니다.

1. 전용 호스트를 선택합니다.

1. **작업**, **호스트 수정**을 선택합니다.

1. **호스트 복구**에 대해 **활성화**를 선택하거나 선택을 취소합니다.

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

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

**할당 후 호스트 복구를 활성화하려면 다음을 수행하세요.**  
[modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) 명령을 사용합니다.

```
aws ec2 modify-hosts \
    --host-recovery on \
    --host-ids h-012a3456b7890cdef
```

**할당 후 호스트 복구를 비활성화하려면 다음을 수행하세요.**  
[modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) 명령을 사용하고 `host-recovery` 파라미터를 `off` 값으로 지정합니다.

```
aws ec2 modify-hosts \
    --host-recovery off \
    --host-ids h-012a3456b7890cdef
```

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

**할당 후 호스트 복구를 활성화하려면 다음을 수행하세요.**  
[Edit-host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) cmdlet을 사용합니다.

```
Edit-EC2Host `
    -HostRecovery on `
    -HostId h-012a3456b7890cdef
```

**할당 후 호스트 복구를 비활성화하려면 다음을 수행하세요.**  
[Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) cmdlet을 사용합니다.

```
Edit-EC2Host `
    -HostRecovery off `
    -HostId h-012a3456b7890cdef
```

------

# Amazon EC2 전용 호스트에 대한 호스트 복구 설정 보기
<a name="dedicated-hosts-recovery-view"></a>

언제든지 전용 호스트에 대한 호스트 복구 구성을 볼 수 있습니다.

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

**전용 호스트에 대한 호스트 복구 구성을 보는 방법**

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

1. 탐색 창에서 **전용 호스트**를 선택합니다.

1. 전용 호스트를 선택하고 **설명** 탭에서 **Host Recovery(호스트 복구)** 필드를 검토합니다.

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

**전용 호스트에 대한 호스트 복구 구성을 보는 방법**  
[describe-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-hosts.html) 명령을 사용합니다.

```
aws ec2 describe-hosts \
    --host-ids h-012a3456b7890cdef \
    --query Hosts[].HostRecovery
```

다음은 예제 출력입니다.

```
on
```

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

**전용 호스트에 대한 호스트 복구 구성을 보는 방법**  
[Get-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Host.html) cmdlet을 사용합니다.

```
(Get-EC2Host -HostId h-012a3456b7890cdef).Hosts | Select HostRecovery
```

다음은 예제 출력입니다.

```
HostRecovery
------------
on
```

------

# Amazon EC2 전용 호스트 복구에서 지원되지 않는 인스턴스를 수동으로 복구
<a name="dedicated-hosts-recovery-unsupported"></a>

호스트 복구는 인스턴스 저장소 볼륨을 사용하는 인스턴스 복구를 지원하지 않습니다. 자동으로 복구할 수 없는 인스턴스를 수동으로 복구하려면 아래 지침을 따릅니다.

**주의**  
인스턴스가 중단되거나 최대 절전 모드로 전환되거나 종료되면 인스턴스 저장소 볼륨의 데이터는 삭제됩니다. 여기에는 EBS 루트 볼륨이 있는 인스턴스에 연결된 인스턴스 저장소 볼륨도 포함됩니다. 인스턴스 저장소 볼륨에서 데이터를 유지하려면 인스턴스가 중지되거나 종료되기 전에 영구 스토리지에 백업하세요.

## EBS-backed 인스턴스 수동 복구
<a name="dedicated-hosts-recovery-ebs"></a>

자동으로 복구할 수 없는 EBS 지원 인스턴스의 경우 인스턴스를 수동으로 중지했다가 시작하여 새 전용 호스트로 복구하는 것이 좋습니다. 인스턴스 중단과 중단 후 인스턴스 구성에 발생하는 변경 사항에 대한 자세한 내용은 [Amazon EC2 인스턴스 중지 및 시작](Stop_Start.md) 섹션을 참조하세요.

## 인스턴스 저장소 루트 볼륨이 있는 인스턴스를 수동으로 복구
<a name="dedicated-hosts-recovery-instancestore"></a>

예를 들어 자동으로 복구할 수 없는 인스턴스 저장소 루트 볼륨이 있는 인스턴스의 경우 다음 작업을 수행하는 것이 좋습니다.

1. 최신 전용 호스트의 새로운 AMI에서 대체 인스턴스를 시작합니다.

1. 필요한 모든 데이터를 대체 인스턴스로 마이그레이션합니다.

1. 손상된 전용 호스트의 원본 인스턴스를 종료합니다.

# Amazon EC2 전용 호스트의 호스트 유지 관리
<a name="dedicated-hosts-maintenance"></a>

호스트 유지 관리를 통해 드물지만 전용 호스트가 저하되는 경우에는 해당 호스트에서 실행 중인 인스턴스를 정상 대체 전용 호스트로 자동으로 마이그레이션합니다. 그러면 워크로드의 다운타임을 최소화하고 전용 호스트 관리를 간소화하는 데 도움이 됩니다. 계획된 일상적인 Amazon EC2 유지 관리를 위해 호스트 유지 관리도 수행됩니다.

Amazon EC2는 두 가지 유형의 호스트 유지 관리를 지원합니다.
+ **라이브 마이그레이션 호스트 유지 관리** - 인스턴스를 중지했다가 다시 시작하지 않고도 인스턴스가 24시간 이내에 자동으로 대체 호스트로 마이그레이션됩니다.
+ **재부팅 기반 호스트 유지 관리** - 인스턴스는 *인스턴스 재부팅* 예약 이벤트에 예약되며 이벤트가 진행되는 동안 자동으로 중지되었다가 대체 호스트에서 다시 시작됩니다.

**Topics**
+ [호스트 유지 관리와 호스트 복구 비교](#dedicated-hosts-maintenance-differences)
+ [고려 사항](#dedicated-hosts-maintenance-basics-limitations)
+ [관련 서비스](#dedicated-hosts-maintenance-related)
+ [가격 책정](#dedicated-hosts-maintenance-pricing)
+ [Amazon EC2 전용 호스트의 호스트 유지 관리 작동 방식](dedicated-hosts-maintenance-basics.md)
+ [Amazon EC2 전용 호스트의 호스트 유지 관리 설정 구성](dedicated-hosts-maintenance-configuring.md)

## 호스트 유지 관리와 호스트 복구 비교
<a name="dedicated-hosts-maintenance-differences"></a>

다음 표에서는 호스트 복구와 호스트 유지 관리 간의 주요 차이점을 보여줍니다.


****  

|  | 호스트 복구 | 호스트 유지 관리 | 
| --- | --- | --- | 
| 인스턴스 도달 가능성 | 연결 불가 | 연결 가능 | 
| 전용 호스트 상태 | under-assessment | permanent-failure | 
| 호스트 리소스 그룹 | 지원됨 | 지원되지 않음 | 

호스트 복구에 대한 자세한 내용은 [호스트 복구](dedicated-hosts-recovery.md)를 참조하세요.

## 고려 사항
<a name="dedicated-hosts-maintenance-basics-limitations"></a>
+ 호스트 유지 관리는 중국 리전 및 AWS GovCloud (US) Regions을 제외한 모든 AWS 리전에서 사용할 수 있습니다.
+ AWS Outposts, AWS 로컬 영역 및 AWS Wavelength 영역에서는 호스트 유지 관리가 지원되지 않습니다.
+ 호스트 리소스 그룹 내에 이미 있는 호스트에 대해 호스트 유지 관리를 켜거나 끌 수 없습니다. 호스트 리소스 그룹에 추가된 호스트는 해당 호스트 유지 관리 설정을 유지합니다. 자세한 내용은 [호스트 리소스 그룹](https://docs.aws.amazon.com/license-manager/latest/userguide/host-resource-groups.html)을 참조하세요.
+ 호스트 유지 관리는 인스턴스 저장소 루트 볼륨이 있으므로 C1, C3, D2, I2, M1, M2, M3, R3, X1 인스턴스 유형에서 지원되지 않습니다.

## 관련 서비스
<a name="dedicated-hosts-maintenance-related"></a>

전용 호스트가 **AWS License Manager**와 통합됨 - Amazon EC2 전용 호스트 전체에서 라이선스를 추적합니다(AWS License Manager를 사용할 수 있는 리전에서만 지원됨). 자세한 내용은 [AWS License Manager 사용 설명서](https://docs.aws.amazon.com/license-manager/latest/userguide/license-manager.html)를 참조하세요.

AWS 계정에 새 전용 호스트에 대한 라이선스가 충분히 있어야 합니다. 예약된 이벤트가 완료된 후 호스트가 해제되면 성능이 저하된 호스트와 연결된 라이선스가 해제됩니다.

## 가격 책정
<a name="dedicated-hosts-maintenance-pricing"></a>

호스트 유리 관리 사용에 대한 추가 요금은 없지만 일반적으로 전용 호스트 요금이 적용됩니다. 자세한 내용은 [Amazon EC2 전용 호스트 요금](https://aws.amazon.com/ec2/dedicated-hosts/pricing/)을 참조하세요.

호스트 유지 관리가 시작된 직후 성능이 저하된 전용 호스트에 대해서는 더 이상 요금이 청구되지 않습니다. 대체 전용 호스트에 대한 요금 청구는 `available` 상태가 된 후에 시작됩니다.

성능 저하된 전용 호스트가 온디맨드 요금을 사용하여 청구된 경우 대체 전용 호스트도 온디맨드 요금을 사용하여 청구됩니다. 성능이 저하된 전용 호스트에 활성 전용 호스트 예약이 있는 경우, 새 전용 호스트로 전송됩니다.

# Amazon EC2 전용 호스트의 호스트 유지 관리 작동 방식
<a name="dedicated-hosts-maintenance-basics"></a>

호스트 유지 관리가 활성화된 전용 호스트에서 성능 저하가 감지되면 자동으로 계정에 대체 전용 호스트가 할당됩니다. 전용 호스트 대체는 새로운 호스트 ID를 받지만 다음과 같이 원본 전용 호스트와 동일한 속성을 유지합니다.
+ 자동 배치 설정
+ 가용 영역
+ 전용 호스트 예약 연결
+ 호스트 선호도
+ 호스트 유지 관리 설정
+ 호스트 복구 설정
+ 인스턴스 유형
+ Tags

대체 호스트가 할당되면 인스턴스에 따라 **라이브 마이그레이션 호스트 유지 관리** 또는 **재부팅 기반 호스트 유지 관리**를 사용하여 인스턴스를 마이그레이션합니다.

성능이 저하된 호스트에 더 이상 실행 중인 인스턴스가 없으면 계정에서 영구적으로 릴리스됩니다.

## 라이브 마이그레이션 호스트 유지 관리
<a name="ndhm"></a>

라이브 마이그레이션 호스트 유지 관리가 필요한 인스턴스는 중지 및 다시 시작 없이 24시간 이내에 자동으로 대체 호스트로 마이그레이션됩니다. 마이그레이션된 인스턴스는 다음과 같은 기존 속성을 유지합니다.
+ 인스턴스 ID
+ 인스턴스 메타데이터
+ Amazon EBS 볼륨 연결
+ 탄력적 IP 주소 및 프라이빗 IP 주소
+ 메모리, CPU, 네트워킹 상태

인스턴스 크기가 더 큰 일부 인스턴스는 마이그레이션 도중 약간의 성능 저하가 발생할 수 있습니다.

인스턴스가 자동으로 대체 호스트로 마이그레이션되면 이메일 및 AWS Health 대시보드 알림이 발송됩니다. 성능 저하 및 교체 호스트의 ID, 실시간 마이그레이션 호스트 유지 관리를 사용하여 자동으로 마이그레이션된 인스턴스에 대한 정보 및 나머지 인스턴스에 대한 정보가 알림에 포함됩니다.

## 재부팅 기반 호스트 유지 관리
<a name="rbhm"></a>

재부팅 기반 호스트 유지 관리가 필요한 인스턴스는 알림을 받은 날짜로부터 14일 동안 인스턴스 재부팅 예약 이벤트가 예약됩니다. 예약된 이벤트 전에 성능이 저하된 전용 호스트에서 인스턴스에 계속 액세스할 수 있습니다.

재부팅 이벤트는 원래 이벤트 날짜와 시간으로부터 7일 이내의 날짜로 예약을 변경할 수 있습니다. 자세한 내용은 [EC2 인스턴스에 대해 예약된 이벤트 다시 예약](reschedule-event.md) 섹션을 참조하세요.

Amazon EC2는 이러한 인스턴스를 위해 대체 호스트의 용량을 자동으로 예약합니다. 이 예약 용량에서는 인스턴스를 실행할 수 없습니다.

Amazon EC2 콘솔에는 예약 용량이 사용된 용량으로 표시됩니다. 인스턴스가 성능이 저하된 호스트와 대체 호스트 모두에서 실행되고 있는 것처럼 보일 수 있습니다. 그러나 인스턴스는 중지되거나 대체 호스트의 예약 용량으로 마이그레이션될 때까지 성능이 저하된 호스트에서만 계속 실행됩니다.

예약된 이벤트 날짜 및 시간에 인스턴스가 자동으로 중지되고 대체 호스트의 예약 용량으로 다시 시작됩니다. 마이그레이션된 인스턴스는 다음과 같은 기존 속성을 유지합니다.
+ 인스턴스 ID
+ 인스턴스 메타데이터
+ Amazon EBS 볼륨 연결
+ 탄력적 IP 주소 및 프라이빗 IP 주소

그러나 마이그레이션 중에 인스턴스가 중지되었다가 다시 시작되므로 메모리, CPU, 네트워킹 상태는 유지되지 않습니다.

또한 예약된 이벤트 전에 언제든지 이러한 인스턴스를 수동으로 중지했다가 다시 시작하여 대체 호스트 또는 다른 호스트로 마이그레이션할 수도 있습니다. 다른 호스트에서 다시 시작하려면 인스턴스의 호스트 선호도를 수정해야 할 수 있습니다. 예약된 이벤트 전에 인스턴스를 중지하면 대체 호스트의 예약 용량이 릴리스되어 사용할 수 있게 됩니다.

## 호스트 유지 관리 상태
<a name="dedicated-hosts-maintenance-states"></a>

호스트의 성능이 저하되면 `permanent-failure` 상태가 됩니다. `permanent-failure` 상태인 전용 호스트에서는 인스턴스를 시작할 수 없습니다.

대체 호스트가 할당되면 라이브 마이그레이션 호스트 유지 관리를 지원하는 인스턴스가 성능 저하된 호스트에서 자동으로 마이그레이션되고, 나머지 인스턴스에 대해 예약된 이벤트가 예약될 때까지 `pending` 상태로 유지됩니다. 이러한 작업이 완료되면 대체 호스트는 `available` 상태로 전환됩니다.

대체 호스트가 `available` 상태로 전환되면 계정에서 다른 호스트를 사용하는 것과 동일한 방식으로 사용할 수 있습니다. 그러나 대체 호스트의 일부 인스턴스 용량은 재부팅 기반 호스트 마이그레이션이 필요한 인스턴스를 위해 예약되어 있습니다. 이 예약 용량으로는 새 인스턴스를 시작할 수 없습니다.

성능이 저하된 호스트에 더 이상 실행 중인 인스턴스가 없으면 `released, permanent-failure` 상태가 되며 계정에서 영구적으로 릴리스됩니다. 참고로, 호스트와 해당 리소스가 콘솔에 잠깐 표시됩니다.

## 자동 마이그레이션
<a name="hm-unsupported"></a>

일부 인스턴스는 대체 호스트로 자동으로 마이그레이션할 수 없습니다.

**EBS 지원 루트 볼륨이 있는 인스턴스**  
이러한 인스턴스의 경우에는 알림 날짜로부터 28일 동안 인스턴스 종료 이벤트가 예약됩니다. 예약된 이벤트의 날짜 및 시간에 인스턴스가 중지됩니다. 대체 호스트 또는 다른 호스트에서 인스턴스를 다시 시작할 때 수동으로 중지하는 것이 좋습니다. 다른 호스트에서 다시 시작하려면 인스턴스의 호스트 선호도를 수정해야 할 수 있습니다.

**인스턴스 저장소 루트 볼륨이 있는 인스턴스**  
이러한 인스턴스의 경우에는 알림 날짜로부터 28일 동안 인스턴스 종료 이벤트가 예약됩니다. 예약된 이벤트 날짜 및 시간에 인스턴스가 영구적으로 종료됩니다. 예약된 이벤트 전에 대체 호스트에서 대체 인스턴스를 수동으로 시작한 다음 필요한 데이터를 대체 인스턴스로 마이그레이션하는 것이 좋습니다.

C1, C3, D2, I2, M1, M2, M3, R3, X1 인스턴스에는 인스턴스 저장소 루트 볼륨이 있습니다.

예약된 이벤트 전에 성능이 저하된 전용 호스트에서 인스턴스에 계속 액세스할 수 있습니다.

# Amazon EC2 전용 호스트의 호스트 유지 관리 설정 구성
<a name="dedicated-hosts-maintenance-configuring"></a>

호스트 유지 관리를 활성화하면 예약된 유지 관리 이벤트 중에 전용 호스트에서 실행되는 인스턴스가 새 전용 호스트로 자동 복구됩니다.

호스트 유지 관리를 비활성화하면 성능이 저하된 호스트를 제거하고 28일 이내에 수동으로 인스턴스를 다른 호스트로 마이그레이션하라는 이메일 알림을 받게 됩니다. 전용 호스트 예약이 있는 경우 대체 호스트가 할당됩니다. 28일이 지나면 성능이 저하된 호스트에서 실행 중인 인스턴스가 종료되고 호스트가 자동으로 해제됩니다.

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

**전용 호스트에 대한 호스트 유지 관리를 활성화하려면 다음을 수행하세요.**

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

1. 탐색 창에서 **전용 호스트(Dedicated Hosts)**를 선택합니다.

1. 전용 호스트 > **작업** > **호스트 수정**을 선택합니다.

1. **호스트 유지 관리** 필드에서 *켜기*를 선택합니다.

**전용 호스트에 대한 호스트 유지 관리를 비활성화하려면 다음을 수행하세요.**

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

1. 탐색 창에서 **전용 호스트(Dedicated Hosts)**를 선택합니다.

1. 전용 호스트 > **작업** > **호스트 수정**을 선택합니다.

1. **호스트 유지 관리** 필드에서 *끄기*를 선택합니다.

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

**전용 호스트에 대한 호스트 유지 관리를 활성화하려면 다음을 수행하세요.**  
[modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) 명령을 사용합니다.

```
aws ec2 modify-hosts \
    --host-maintenance on \
    --host-ids h-0d123456bbf78910d
```

**전용 호스트에 대한 호스트 유지 관리를 비활성화하려면 다음을 수행하세요.**  
[modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) 명령을 사용합니다.

```
aws ec2 modify-hosts \
    --host-maintenance off \
    --host-ids h-0d123456bbf78910d
```

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

**전용 호스트에 대한 호스트 유지 관리를 활성화하려면 다음을 수행하세요.**  
[Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) cmdlet을 사용합니다.

```
Edit-EC2Host `
    -HostMaintenance on `
    -HostId h-0d123456bbf78910d
```

**전용 호스트에 대한 호스트 유지 관리를 비활성화하려면 다음을 수행하세요.**  
[Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) cmdlet을 사용합니다.

```
Edit-EC2Host `
    -HostMaintenance off `
    -HostId h-0d123456bbf78910d
```

------

# Amazon EC2 전용 호스트 상태 모니터링
<a name="dedicated-hosts-monitoring"></a>

Amazon EC2는 전용 호스트의 상태를 지속적으로 모니터링합니다. 업데이트는 Amazon EC2 콘솔에서 전달됩니다. 다음 방법을 사용하여 전용 호스트에 대한 정보를 볼 수 있습니다.

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

**전용 호스트의 상태를 보려면**

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

1. 탐색 창에서 **전용 호스트**를 선택합니다.

1. 목록에서 전용 호스트를 찾아서 **상태** 열의 값을 검토합니다.

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

**전용 호스트의 상태를 보려면**  
[describe-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-hosts.html) 명령을 사용합니다.

```
aws ec2 describe-hosts --host-id h-012a3456b7890cdef
```

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

**전용 호스트의 상태를 보려면**  
[Get-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Host.html) cmdlet을 사용합니다.

```
Get-EC2Host -HostId h-012a3456b7890cdef
```

------

다음 표는 가능한 전용 호스트 상태를 설명합니다.


| **상태** | **설명** | 
| --- | --- | 
| available | AWS가 전용 호스트에 대한 문제를 감지하지 못했습니다. 유지 관리 또는 수리가 예정되어 있지 않습니다. 이 전용 호스트에서 인스턴스를 시작할 수 있습니다. | 
| released | 전용 호스트가 해제되었습니다. 더 이상 이 호스트 ID가 사용되지 않습니다. 해제된 호스트는 다시 사용할 수 없습니다. | 
| under-assessment | AWS가 전용 호스트에 있을 수 있는 문제를 탐색 중입니다. 작업이 필요할 경우 AWS Management Console 또는 이메일을 통해 통보됩니다. 이 상태에서는 전용 호스트에서 인스턴스를 시작할 수 없습니다. | 
| pending | 새 인스턴스를 시작하기 위해 전용 호스트를 사용할 수 없습니다. 이 호스트는 [여러 인스턴스 유형을 지원하도록 수정](modify-host-support.md)되고 있거나, [호스트 복구](dedicated-hosts-recovery.md)가 진행 중입니다. | 
| permanent-failure | 복구할 수 없는 오류가 감지되었습니다. 인스턴스 및 이메일을 통해 제거 알림이 제공됩니다. 인스턴스는 계속 실행할 수 있습니다. 이 상태의 전용 호스트의 모든 인스턴스를 중지하거나 종료하면 AWS에서 호스트를 사용 중지합니다. AWS는 이 상태에서 인스턴스를 다시 시작하지 않습니다. 이 상태에서는 전용 호스트에서 인스턴스를 시작할 수 없습니다. | 
| released-permanent-failure | AWS에서는 오류가 발생한 전용 호스트를 영구 해제하여 더 이상 인스턴스가 실행되지 못하도록 합니다. 전용 호스트 ID를 더 이상 사용할 수 없습니다. | 

# AWS Config를 사용하여 Amazon EC2 전용 호스트 구성 변경 내용 추적
<a name="dedicated-hosts-aws-config"></a>

AWS Config를 사용하여 전용 호스트의 구성 변경 내용과 이 전용 호스트에서 시작, 중지 또는 종료된 인스턴스의 구성 변경 내용을 기록할 수 있습니다. 그런 다음 AWS Config가 캡처한 정보를 라이선스 보고용 데이터 소스로 사용할 수 있습니다.

AWS Config는 전용 호스트 및 인스턴스의 구성 정보를 개별적으로 기록하고 관계를 통해 이 정보를 페어링합니다. 보고 조건은 세 가지가 있습니다.
+ **AWS Config 레코딩 상태** - **켜짐(On)**이면 AWS Config에서 하나 이상의 AWS 리소스 유형을 기록 중입니다. 이러한 리소스 유형에는 전용 호스트 및 전용 인스턴스가 포함될 수 있습니다. 라이선스 보고에 필요한 정보를 캡처하려면 다음 필드에서 호스트 및 인스턴스가 기록되는지 확인합니다.
+ **호스트 레코딩 상태** - **활성**으로 설정 시 전용 호스트 구성 정보가 기록됩니다.
+ **인스턴스 레코딩 상태** - **활성**이면 전용 인스턴스 구성 정보가 레코딩됩니다.

세 조건 중 하나라도 비활성화되면 **Config 레코딩 편집** 버튼의 아이콘이 빨간색으로 표시됩니다. 이 도구의 이점을 최대한 활용하려면 세 기록 방법을 모두 활성화하세요. 세 방법이 모두 활성화되면 아이콘이 녹색으로 표시됩니다. 설정을 편집하려면 **Config 레코딩 편집**을 선택합니다. 그러면 AWS Config 콘솔의 **AWS Config 설정** 페이지로 이동하며, 여기서 AWS Config를 설정하고 호스트, 인스턴스 및 기타 지원되는 리소스 유형에 대한 기록을 시작할 수 있습니다. 자세한 내용은 *AWS Config 개발자 가이드*의 [콘솔을 사용하여 AWS Config 설정](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html) 섹션을 참조하세요.

**참고**  
AWS Config가 리소스를 발견하여 기록을 시작합니다. 이 과정은 몇 분이 걸릴 수 있습니다.

AWS Config가 호스트 및 인스턴스 구성 변경을 기록하기 시작한 후, 설정 또는 해제한 호스트와 시작, 중지 또는 종료한 인스턴스의 구성 내역을 확인할 수 있습니다. 예를 들어 전용 호스트 구성 내역의 특정 시점에서 호스트에서 몇 개의 인스턴스가 시작되었는지 여부를 호스트의 소켓 및 코어 수와 함께 확인할 수 있습니다. 이러한 인스턴스 각각에 대해 Amazon Machine Image(AMI)의 ID를 조회할 수도 있습니다. 이 정보를 이용하여 소켓당 또는 코어당 라이선스된 서버 한정 소프트웨어에 대한 라이선스를 보고할 수 있습니다.

다음 방법 중 하나를 사용하여 구성 내역을 볼 수 있습니다:
+ AWS Config 콘솔 사용. 기록된 리소스 각각에 대해 구성 세부 정보의 내역을 제공하는 타임라인 페이지를 볼 수 있습니다. 이 페이지를 보려면 **전용 호스트** 페이지의 **Config 타임라인** 열에서 회색 아이콘을 선택합니다. 보다 자세한 내용은 *AWS Config 개발자 가이드*의 [AWS Config 콘솔에서 구성 세부 사항 보기](https://docs.aws.amazon.com/config/latest/developerguide/view-manage-resource-console.html)를 참조하세요.
+ AWS CLI 명령 실행 먼저 [list-discovered-resources](https://docs.aws.amazon.com/cli/latest/reference/configservice/list-discovered-resources.html) 명령을 사용하여 모든 호스트 및 인스턴스의 목록을 가져올 수 있습니다. 그런 다음 [get-resource-config-history](https://docs.aws.amazon.com/cli/latest/reference/configservice/get-resource-config-history.html#get-resource-config-history) 명령을 사용하여 특정 기간에 대해 특정 호스트 또는 인스턴스의 구성 세부 정보를 가져올 수 있습니다.
+ 애플리케이션에서 AWS Config API 사용. 먼저 [ListDiscoveredResources](https://docs.aws.amazon.com/config/latest/APIReference/API_ListDiscoveredResources.html) 작업을 사용하여 모든 호스트 및 인스턴스의 목록을 가져올 수 있습니다. 그런 다음 [GetResourceConfigHistory](https://docs.aws.amazon.com/config/latest/APIReference/API_GetResourceConfigHistory.html) 작업을 사용하여 특정 기간에 대해 특정 호스트 또는 인스턴스의 구성 세부 정보를 가져올 수 있습니다.

예를 들어 AWS Config에서 모든 전용 호스트의 목록을 가져오려면 다음과 같은 CLI 명령을 실행합니다.

```
aws configservice list-discovered-resources --resource-type AWS::EC2::Host
```

AWS Config에서 특정 전용 호스트의 구성 내역을 가져오려면 다음과 같은 CLI 명령을 실행합니다.

```
aws configservice get-resource-config-history \
    --resource-type AWS::EC2::Instance \
    --resource-id i-1234567890abcdef0
```

**콘솔을 사용하여 AWS Config 설정을 관리하려면**

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

1. **전용 호스트** 페이지에서 **Config 레코딩 편집**을 선택합니다.

1. AWS Config 콘솔에서 제공되는 단계를 수행하여 기록을 켭니다. 자세한 내용은 [콘솔을 사용하여 AWS Config 설정](https://docs.aws.amazon.com/config/latest/developerguide/gs-console.html)을 참조하세요.

자세한 내용은 [AWS Config 콘솔에서 구성 세부 정보 보기](https://docs.aws.amazon.com/config/latest/developerguide/view-manage-resource-console.html)를 참조하세요.

**명령줄 또는 API를 사용하여 AWS Config를 활성화하려면**
+ AWS CLI: *AWS CLI 개발자 가이드*의 [구성 세부 정보 보기(AWS Config)](https://docs.aws.amazon.com/config/latest/developerguide/view-manage-resource-console.html#view-config-details-cli).
+ Amazon EC2 API: [GetResourceConfigHistory](https://docs.aws.amazon.com/config/latest/APIReference/API_GetResourceConfigHistory.html).

# Amazon EC2 전용 인스턴스
<a name="dedicated-instance"></a>

기본적으로 EC2 인스턴스는 공유 테넌시 하드웨어에서 실행됩니다. 즉, 여러 AWS 계정이 동일한 물리적 하드웨어를 공유할 수 있습니다.

전용 인스턴스는 단일 AWS 계정 전용 하드웨어에서 실행되는 EC2 인스턴스입니다. 즉, 전용 인스턴스는 해당 계정이 단일 지급인 계정에 연결되어 있더라도 다른 AWS 계정에 속한 인스턴스로부터 호스트 하드웨어 수준에서 물리적으로 격리됩니다. 하지만 전용 인스턴스는 전용 인스턴스가 아닌 동일한 AWS 계정의 다른 인스턴스와 하드웨어를 공유할 수 있습니다.

전용 인스턴스는 인스턴스 배치에 대한 가시성이나 제어 기능을 제공하지 않으며 호스트 선호도를 지원하지 않습니다. 전용 인스턴스를 중지했다가 시작하면 동일한 호스트에서 실행되지 않을 수 있습니다. 마찬가지로 인스턴스를 시작하거나 실행할 특정 호스트를 대상으로 지정할 수 없습니다. 또한 전용 인스턴스는 기존 보유 라이선스 사용(BYOL)에 대한 제한적인 지원을 제공합니다.

인스턴스 배치에 대한 가시성 및 제어 기능과 보다 포괄적인 BYOL 지원이 필요한 경우 대신 전용 호스트 사용을 고려해보세요. 전용 인스턴스와 전용 호스트 모두 전용 물리적 서버로 Amazon EC2 인스턴스를 시작하는 데 사용할 수 있습니다. 전용 호스트의 인스턴스와 전용 인스턴스는 성능이나 보안상의 차이나 물리적 차이는 없습니다. 그러나 이들 사이에는 몇 가지 주요 차이점이 있습니다. 다음 테이블에서는 전용 인스턴스와 전용 호스트의 주요 차이점 중 일부를 요약하여 설명합니다.


|  | 전용 호스트 | Dedicated Instance | 
| --- | --- | --- | 
| 전용 물리적 서버 | 사용자 전용 인스턴스 용량을 갖춘 물리적 서버입니다. | 단일 고객 계정 전용 물리적 서버 | 
| 인스턴스 용량 공유 | 다른 계정과 인스턴스 용량을 공유할 수 있음. | 지원되지 않음 | 
| 결제 | 호스트 단위 결제 | 인스턴스 단위 결제 | 
| 소켓, 코어 및 호스트 ID 표시 여부 | 소켓 및 물리 코어 수 표시 여부 제공 | 표시 여부 없음 | 
| 호스트 및 인스턴스 선호도 | 시간에 따라 지속적으로 동일한 물리 서버에 인스턴스 배포 허용 | 지원되지 않음 | 
| 대상 지정 인스턴스 배치 | 물리 서버 내 인스턴스 배치 방법에 대한 추가 가시성 및 제어 제공 | 지원되지 않음 | 
| 자동 인스턴스 복구 | 지원 자세한 내용은 [Amazon EC2 전용 호스트 복구](dedicated-hosts-recovery.md) 섹션을 참조하세요. | 지원 | 
| Bring Your Own License(BYOL) | 지원 | 부분적 지원 \$1 | 
| 용량 예약 | 지원되지 않음 | 지원 | 

\$1 소프트웨어 보증을 통한 라이선스 이동성을 갖춘 Microsoft SQL Server와 Windows 가상 데스크톱 액세스(VDA) 라이선스를 전용 인스턴스와 함께 사용할 수 있습니다.

자세한 내용은 [Amazon EC2 전용 호스트](dedicated-hosts-overview.md) 섹션을 참조하세요.

**Topics**
+ [전용 인스턴스 기본 사항](#dedicated-howitworks)
+ [지원 기능](#features)
+ [전용 인스턴스 제한 사항](#dedicated-limits)
+ [전용 인스턴스 가격](#dedicated-instance-pricing)
+ [전용 인스턴스 시작](dedicatedinstancesintovpc.md)
+ [인스턴스의 테넌시 변경](dedicated-change-tenancy.md)
+ [VPC의 테넌시 변경](change-tenancy-vpc.md)

## 전용 인스턴스 기본 사항
<a name="dedicated-howitworks"></a>

VPC는 `default` 또는 `dedicated` 테넌시 중 하나를 가질 수 있습니다. 기본적으로 VPC에는 `default` 테넌시가 있고 `default` 테넌시 VPC에 시작된 인스턴스에는 `default` 테넌시가 있습니다. 전용 인스턴스를 시작하려면 다음 작업을 수행합니다.
+ 테넌시가 `dedicated`인 VPC를 생성하여 VPC의 모든 인스턴스가 전용 인스턴스로 실행되도록 합니다. 자세한 내용은 [기본 테넌시를 사용하는 VPC로 전용 인스턴스 시작](dedicatedinstancesintovpc.md) 섹션을 참조하세요.
+ 테넌시가 `default`인 VPC를 생성하고 전용 인스턴스로 실행하려는 인스턴스에 대해 `dedicated`의 테넌시를 수동으로 지정합니다. 자세한 내용은 [기본 테넌시를 사용하는 VPC로 전용 인스턴스 시작](dedicatedinstancesintovpc.md) 섹션을 참조하세요.

## 지원 기능
<a name="features"></a>

전용 인스턴스는 다음의 기능과 AWS 서비스 통합을 지원합니다.

**Topics**
+ [예약 인스턴스](#dedicatedreservedinstances)
+ [자동 크기 조정](#dedicated-instance-autoscaling)
+ [자동 복구](#dedicated-instance-recovery)
+ [전용 스팟 인스턴스](#dedicated-instance-spot)
+ [성능 순간 확장 가능 인스턴스](#dedicated-instance-burstable)

### 예약 인스턴스
<a name="dedicatedreservedinstances"></a>

전용 인스턴스의 용량을 예약하려면 전용 예약 인스턴스나 용량 예약을 구매합니다. 자세한 내용은 [Amazon EC2용 예약 인스턴스 개요](ec2-reserved-instances.md) 및 [EC2 온디맨드 용량 예약으로 컴퓨팅 용량 예약](ec2-capacity-reservations.md)(을)를 참조하세요.

전용 예약 인스턴스를 구입하면 대폭 할인된 사용 요금으로 전용 인스턴스를 시작할 수 있는 용량이 제공됩니다. 사용 요금 인하는 전용 테넌시 인스턴스를 시작할 경우에만 적용됩니다. 기본 테넌시가 있는 예약 인스턴스를 구입하면 `default` 테넌시가 있는 실행 인스턴스에만 적용되고 `dedicated` 테넌시가 있는 실행 인스턴스에는 적용되지 않습니다.

또한 예약 인스턴스를 구입한 후에는 수정 프로세스를 사용하여 테넌시를 변경할 수 없습니다. 그러나 전환형 예약 인스턴스를 테넌시가 다른 새 전환형 예약 인스턴스와 교환할 수 있습니다.

### 자동 크기 조정
<a name="dedicated-instance-autoscaling"></a>

Amazon EC2 Auto Scaling을 사용하여 전용 인스턴스를 시작할 수 있습니다. 자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서의 [고급 설정을 사용한 시작 템플릿 생성하기](https://docs.aws.amazon.com/autoscaling/ec2/userguide/advanced-settings-for-your-launch-template.html)를 참조하세요.

### 자동 복구
<a name="dedicated-instance-recovery"></a>

기본 하드웨어 장애나 복구하는 데 AWS 개입이 필요한 문제로 인해 전용 인스턴스가 손상된 경우 이에 대해 자동 복구를 구성할 수 있습니다. 자세한 내용은 [자동 인스턴스 복구](ec2-instance-recover.md) 섹션을 참조하세요.

### 전용 스팟 인스턴스
<a name="dedicated-instance-spot"></a>

스팟 인스턴스 요청을 생성할 때 `dedicated`의 테넌시를 지정하여 전용 스팟 인스턴스를 실행할 수 있습니다. 자세한 내용은 [단일 테넌트 하드웨어에서 시작](how-spot-instances-work.md#spot-instance-tenancy) 섹션을 참조하세요.

### 성능 순간 확장 가능 인스턴스
<a name="dedicated-instance-burstable"></a>

[성능 버스트 가능 인스턴스](burstable-performance-instances.md)를 사용하여 전용 테넌시 하드웨어에서 실행하는 이점을 활용할 수 있습니다. T3 전용 인스턴스는 기본적으로 무제한 모드로 시작되며, 기본 수준의 CPU 성능 외에 버스트 기능이 있어 워크로드에 필요한 만큼 성능을 높일 수 있습니다. T3 기본 성능과 버스트 기능은 CPU 크레딧에 의해 좌우됩니다. T3 인스턴스 유형의 버스트 가능한 특성상, 최상의 성능을 위해 T3 인스턴스가 전용 하드웨어의 CPU 리소스를 어떻게 사용하는지 모니터링하는 것이 좋습니다. T3 전용 인스턴스는 임의의 CPU 동작을 나타내지만 평균 CPU 사용량이 기본 사용량 이하인 다양한 워크로드를 사용하는 고객을 대상으로 합니다. 자세한 내용은 [성능 버스트 가능 인스턴스에 대한 주요 개념 및 정의](burstable-credits-baseline-concepts.md) 섹션을 참조하세요.

Amazon EC2 에는 성능 변동성을 식별하고 수정할 수 있는 시스템이 있습니다. 그러나 상관 관계가 있는 CPU 사용 패턴을 보이는 T3 전용 인스턴스를 여러 개 실행하면 단기적인 변동성이 발생할 수 있습니다. 이처럼 까다롭거나 상관 관계가 있는 워크로드의 경우 T3 전용 인스턴스 대신 M5 또는 M5a 전용 인스턴스를 사용하는 것이 좋습니다.

## 전용 인스턴스 제한 사항
<a name="dedicated-limits"></a>

전용 인스턴스를 사용할 때는 다음 사항에 유의하세요.
+ 일부 AWS 서비스나 그 기능은 인스턴스 테넌시가 `dedicated`로 설정된 VPC에서 지원되지 않습니다. 이에 관한 제한 사항이 있는지 확인하려면 각 서비스의 설명서를 참조하세요.
+ 일부 인스턴스 유형은 인스턴스 테넌시가 `dedicated`로 설정된 VPC에서 시작할 수 없습니다. 지원되는 인스턴스 유형에 대한 자세한 내용은 [Amazon EC2 전용 인스턴스](https://aws.amazon.com/ec2/pricing/dedicated-instances/)를 참조하세요.
+ Amazon EBS를 기반으로 하는 전용 인스턴스를 시작하는 경우 EBS 볼륨은 단일 테넌트 하드웨어에서 실행되지 않습니다.

## 전용 인스턴스 가격
<a name="dedicated-instance-pricing"></a>

전용 인스턴스 요금은 온디맨드 인스턴스 요금과 다릅니다. 자세한 내용은 [Amazon EC2 전용 인스턴스](https://aws.amazon.com/ec2/pricing/dedicated-instances/)를 참조하세요.

# 기본 테넌시를 사용하는 VPC로 전용 인스턴스 시작
<a name="dedicatedinstancesintovpc"></a>

VPC를 생성할 경우 VPC의 인스턴스 테넌시를 지정하는 옵션이 제공됩니다. `dedicated`의 인스턴스 테넌시가 있는 VPC에서 인스턴스를 시작하면 인스턴스가 사용자 전용 하드웨어에서 전용 인스턴스로 실행됩니다.

`host` 테넌시를 사용하여 인스턴스를 시작하는 자세한 내용은 [Amazon EC2 전용 호스트에서 Amazon EC2 인스턴스 시작](launching-dedicated-hosts-instances.md) 섹션을 참조하세요.

VPC 테넌시 옵션에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC 생성](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html)을 참조하세요.

**요구 사항**
+ 지원되는 인스턴스 유형을 선택합니다. 자세한 내용은 [Amazon EC2 전용 인스턴스](https://aws.amazon.com/ec2/pricing/dedicated-instances/)를 참조하세요.

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

**기본 테넌시 VPC에서 전용 인스턴스를 시작하려면**

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

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

1. **Application and OS Images**(애플리케이션 및 OS 이미지) 섹션의 목록에서 AMI를 선택합니다.

1. **Instance type**(인스턴스 유형) 섹션에서 시작할 인스턴스 유형을 선택합니다.

1. **Key pair**(키 페어) 섹션에서 인스턴스와 연결할 키 페어를 선택합니다.

1. **Advanced details**(고급 세부 정보) 섹션의 **Tenancy**(테넌시)에서 **Dedicated**(전용)를 선택합니다.

1. 필요에 따라 나머지 인스턴스 옵션을 구성합니다. 자세한 내용은 [Amazon EC2 인스턴스 구성 파라미터에 대한 참조](ec2-instance-launch-parameters.md) 섹션을 참조하세요.

1. **인스턴스 시작**을 선택합니다.

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

**시작 시 인스턴스의 테넌시 옵션을 설정하려면**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용하고 `--placement` 옵션과 함께 `Tenancy`를 포함합니다.

```
--placement Tenancy=dedicated
```

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

**시작 시 인스턴스의 테넌시 옵션을 설정하려면**  
`-Placement_Tenancy` 파라미터와 함께 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet을 사용합니다.

```
-Placement_Tenancy dedicated
```

------

# EC2 인스턴스의 테넌시 변경
<a name="dedicated-change-tenancy"></a>

시작 후 중지된 인스턴스의 테넌시를 변경할 수 있습니다. 변경한 내용은 다음에 인스턴스가 시작될 때 적용됩니다.

Virtual Private Cloud(VPC)의 테넌시를 변경할 수도 있습니다. 자세한 내용은 [VPC의 인스턴스 테넌시 변경](change-tenancy-vpc.md) 섹션을 참조하세요.

**제한 사항**
+ AWS Management Console을 사용하여 인스턴스의 테넌시를 변경할 수 없습니다.
+ 인스턴스는 `stopped` 상태여야 합니다.
+ 인스턴스의 운영 체제 세부 정보 및 SQL Server 설치 여부는 지원되는 변환에 영향을 줍니다. 인스턴스에 사용할 수 있는 테넌시 변환 경로에 대한 자세한 내용은 **License Manager 사용 설명서의 [Tenancy conversion](https://docs.aws.amazon.com/license-manager/latest/userguide/conversion-tenancy.html)을 참조하세요.
+ T3 인스턴스의 경우 전용 호스트에서 인스턴스를 시작해야 `host`의 테넌시를 사용할 수 있습니다. 테넌시를 `host`에서 `dedicated` 또는 `default`로 변경할 수 없습니다. 이러한 지원되지 않는 테넌시 변경 사항 중 하나를 만들려고 하면 `InvalidRequest` 오류 코드가 표시됩니다.

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

**인스턴스의 테넌시 값을 수정하려면**  
[modify-instance-placement](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-placement.html) 명령을 사용합니다.

```
aws ec2 modify-instance-placement \
    --instance-id i-1234567890abcdef0 \ 
    --tenancy dedicated
```

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

**인스턴스의 테넌시 값을 수정하려면**  
[Edit-EC2InstancePlacement](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstancePlacement.html) cmdlet을 사용합니다.

```
Edit-EC2InstancePlacement `
    -InstanceId i-1234567890abcdef0 `
    -Tenancy Dedicated
```

------

# VPC의 인스턴스 테넌시 변경
<a name="change-tenancy-vpc"></a>

Virtual Private Cloud(VPC)의 인스턴스 테넌시는 생성한 후에 `dedicated`에서 `default`로 변경할 수 있습니다. VPC의 인스턴스 테넌시를 수정해도 VPC에 있는 기존 인스턴스의 테넌시에는 영향을 미치지 않습니다. 다음에 VPC에서 인스턴스를 시작할 때 인스턴스 시작 시 다르게 지정하지 않는 한 `default` 테넌시가 유지됩니다.

또는 특정 인스턴스의 테넌시를 변경할 수 있습니다. 자세한 내용은 [EC2 인스턴스의 테넌시 변경](dedicated-change-tenancy.md) 섹션을 참조하세요.

**제한 사항**
+ VPC의 인스턴스 테넌시는 생성한 후에 `default`에서 `dedicated`로 변경할 수 없습니다.
+ AWS Management Console을 사용하여 VPC의 인스턴스 테넌시를 수정할 수 없습니다.

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

**VPC의 인스턴스 테넌시 속성을 수정하려면**  
[modify-vpc-tenancy](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-tenancy.html) 명령을 사용합니다. 지원되는 유일한 테넌시 값은 `default`입니다.

```
aws ec2 modify-vpc-tenancy \
    --vpc-id vpc-1234567890abcdef0 \
    --instance-tenancy default
```

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

**VPC의 인스턴스 테넌시 속성을 수정하려면**  
[Edit-EC2VpcTenancy](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2VpcTenancy.html) cmdlet을 사용합니다. 지원되는 유일한 테넌시 값은 `Default`입니다.

```
Edit-EC2VpcTenancy `
    -VpcId vpc-1234567890abcdef0 `
    -InstanceTenancy Default
```

------

# 온디맨드 용량 예약 및 ML용 용량 블록
<a name="capacity-reservation-overview"></a>

용량 예약을 사용하면 특정 가용 영역의 Amazon EC2 인스턴스에 대한 컴퓨팅 용량을 예약할 수 있습니다. 다양한 다른 사용 사례에 적용되는 두 가지 용량 예약 유형이 있습니다.

**용량 예약 유형**
+ [온디맨드 용량 예약](ec2-capacity-reservations.md)
+ [ML용 용량 블록](ec2-capacity-blocks.md)

다음은 온디맨드 용량 예약의 몇 가지 일반적인 사용 사례입니다.
+ **이벤트 규모 조정** – 필요할 때 규모를 조정할 수 있도록비즈니스에 중요한 이벤트에 앞서 온디맨드 용량 예약을 생성합니다.
+ **규제 요구 사항 및 재해 복구** – 온디맨드 용량 예약을 사용하여 고가용성에 대한 규제 요구 사항을 충족하고 재해 복구를 위해 다른 가용 영역 또는 리전의 용량을 예약합니다.
+ **미사용 용량 공유** - 중단 가능한 용량 예약을 사용하면 필요 시 회수할 수 있는 통제권을 유지하면서 계정 내의 다른 워크로드에서 미사용 용량을 사용하도록 제공할 수 있습니다.

다음은 ML용 용량 블록의 몇 가지 일반적인 사용 사례입니다.
+ **기계 학습(ML) 모델 훈련 및 미세 조정** – 예약한 GPU 인스턴스에 중단 없이 액세스하여 ML 모델 훈련 및 미세 조정을 완료합니다.
+ **ML 실험 및 프로토타입** – GPU 인스턴스가 단기간 필요한 실험을 실행하고 프로토타입을 구축합니다.

**온디맨드 용량 예약 사용 시기**  
용량 요구 사항이 엄격하고, 현재 또는 장래의 비즈니스 크리티컬 워크로드에 용량 보증이 필요한 경우 온디맨드 용량 예약을 사용합니다. 온디맨드 용량 예약을 사용하면 필요한 기간에 언제든지 예약한 Amazon EC2 용량에 액세스할 수 있습니다.

**ML용 용량 블록 사용 시점**  
미래 날짜에 시작하도록 정의된 기간에 중단 없이 GPU 인스턴스에 액세스해야 할 때 ML용 용량 블록을 사용합니다. 용량 블록은 ML 모델 훈련 및 미세 조정, 간단한 실험 실행, 향후 일시적으로 급증하는 추론 수요 처리에 적합합니다. 용량 블록을 사용하면 특정 날짜에 GPU 리소스에 액세스하여 ML 워크로드를 실행할 수 있습니다.

# EC2 온디맨드 용량 예약으로 컴퓨팅 용량 예약
<a name="ec2-capacity-reservations"></a>

Amazon EC2 용량 예약을 사용하면 특정 가용 영역의 Amazon EC2 인스턴스의 컴퓨팅 용량을 원하는 기간 동안 예약할 수 있습니다. 특정 수준의 장기 또는 단기 용량이 보장되어야 하는 현재 또는 장래의 비즈니스 크리티컬 워크로드를 위한 엄격한 용량 요구 사항이 있는 경우, 필요할 때 언제든지 필요한 기간 동안 Amazon EC2 용량에 액세스할 수 있도록 용량 예약을 생성하는 것이 좋습니다.

언제든지 용량 예약을 생성할 수 있고, 시작 시기를 선택할 수 있습니다. 즉시 사용할 수 있는 용량 예약을 요청하거나, 장래 날짜를 위한 용량 예약을 요청할 수 있습니다.
+ **즉시 사용할 수 있는 용량 예약**을 요청하는 경우, 용량 예약을 즉시 사용할 수 있게 되며 기간 약정이 없습니다. 용량 예약은 언제든지 수정할 수 있고, 언제든지 취소하여 예약 용량을 해제하고 요금이 발생하지 않도록 할 수 있습니다.
+ **장래 날짜 용량 예약**을 요청하는 경우 용량 예약을 사용할 수 있는 장래 날짜를 지정합니다. 또한 지정된 날짜 이후에 요청된 용량을 계정에서 유지하기 위해서는 약정 기간을 지정해야 합니다. 요청된 날짜와 시간에 용량 예약을 사용할 수 있게 되고 약정 기간이 시작됩니다. 약정 기간 동안에는 인스턴스 수나 약정 기간을 초기 약정 미만으로 줄이거나 용량 예약을 취소할 수 없습니다. 약정 기간이 경과한 후에는 어떤 식으로든 용량 예약을 수정하거나 더 이상 필요하지 않은 경우 취소할 수 있습니다.

용량 예약은 해당 속성과 일치하는 인스턴스에서만 사용할 수 있습니다. 기본적으로 용량 예약은 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)이 있는 새 인스턴스 및 실행 중인 인스턴스와 자동으로 맞춰집니다. 즉, 일치하는 속성을 가진 인스턴스는 용량 예약에서 자동으로 실행됩니다. 하지만 용량 예약을 특정 워크로드에 지정할 수도 있습니다. 이렇게 하면 예약 용량으로 실행할 수 있는 인스턴스를 명시적으로 제어할 수 있습니다. 인스턴스가 용량 예약이나 용량 예약 리소스 그룹에서만 실행되도록 지정할 수도 있습니다.

**중요**  
장래 날짜 용량 예약은 증분 인스턴스를 시작하고 충당하는 데 도움이 되며, 실행 중인 기존 인스턴스는 충당하지 않습니다. 실행 중인 기존 인스턴스를 충당해야 하는 경우 즉시 시작하는 용량 예약을 대신 사용하세요.

인스턴스 유형, 플랫폼, 가용 영역, 테넌시 등의 속성이 일치하는 지원되는 모든 Amazon EC2 인스턴스는 용량 예약에서 실행할 수 있습니다. Amazon EC2 인스턴스는 사용자가 직접 시작하거나(*비관리형 인스턴스*), AWS 서비스에서 사용자를 대신하여 시작할 수 있습니다(*관리형 인스턴스*). 속성이 일치하는 실행 중인 인스턴스와 자동으로 일치하는 *열린* 용량 예약의 경우 특히 그렇습니다. 예를 들어 다음 서비스에서 사용자를 대신해 시작한 관리형 인스턴스는 사용자가 생성하고 관리하는 용량 예약에서 실행할 수 있습니다.
+ Amazon EC2 Auto Scaling
+ Amazon ECS
+ Amazon EKS
+ Amazon EMR
+ Amazon SageMaker AI
+ AWS Batch
+ AWS Elastic Beanstalk
+ AWS ParallelCluster
+ AWS Parallel Computing Service (AWS PCS)

**Topics**
+ [Amazon EC2 용량 예약 개념](cr-concepts.md)
+ [용량 예약, 예약 인스턴스 및 절감형 플랜의 차이점](#capacity-reservations-differences)
+ [지원되는 플랫폼](#capacity-reservations-platforms)
+ [할당량](#capacity-reservations-limits)
+ [제한 사항](#capacity-reservations-limitations)
+ [용량 예약 요금 및 결제](capacity-reservations-pricing-billing.md)
+ [용량 예약 생성](capacity-reservations-create.md)
+ [용량 예약 상태 보기](capacity-reservations-view.md)
+ [인스턴스를 기존 용량 예약으로 시작](capacity-reservations-launch.md)
+ [활성 용량 예약 수정](capacity-reservations-modify.md)
+ [인스턴스의 용량 예약 설정 수정](capacity-reservations-modify-instance.md)
+ [용량 예약 간 용량 이동](capacity-reservations-move.md)
+ [기존 용량 예약에서 용량 분할](capacity-reservations-split.md)
+ [용량 예약 취소](capacity-reservations-release.md)
+ [클러스터 배치 그룹에서 용량 예약 사용](cr-cpg.md)
+ [용량 예약 그룹](create-cr-group.md)
+ [로컬 영역의 용량 예약](capacity-reservations-localzones.md)
+ [Wavelength 영역의 용량 예약](capacity-reservations-wavelengthzones.md)
+ [AWS Outposts의 용량 예약](capacity-reservations-outposts.md)
+ [공유 용량 예약](capacity-reservation-sharing.md)
+ [용량 예약 플릿](cr-fleets.md)
+ [CloudWatch 지표를 사용하여 용량 예약 모니터링](capacity-reservation-cw-metrics.md)
+ [용량 예약 사용률 저하 모니터링](cr-eventbridge.md)
+ [장래 날짜 용량 예약의 상태 변경 모니터링](monitor-fcr-state.md)
+ [중단 가능한 용량 예약](interruptible-capacity-reservations.md)

# Amazon EC2 용량 예약 개념
<a name="cr-concepts"></a>

용량 예약에는 다음과 같은 주요 개념이 적용됩니다.

**Topics**
+ [시작 날짜 및 시간](#cr-start-date)
+ [종료 날짜 및 시간](#cr-end-date)
+ [약정 기간](#cr-commitment-duration)
+ [장래 날짜 용량 예약 평가](#cr-future-dated-assessment)
+ [용량 예약 속성](#cr-attributes)
+ [인스턴스 일치 기준](#cr-instance-eligibility)

## 시작 날짜 및 시간
<a name="cr-start-date"></a>

시작 날짜 및 시간은 용량 예약을 사용할 수 있게 되는 시점을 정의합니다. 용량 예약은 **즉시** 시작하거나 **장래 날짜**에 시작할 수 있습니다.
+ 용량 예약을 즉시 시작하도록 선택하면 용량 예약을 생성한 직후 예약 용량을 사용할 수 있게 되고 용량 예약이 활성 상태가 되는 즉시 요금 청구가 시작됩니다. 기간 약정을 체결할 필요는 없습니다. 필요에 따라 언제든지 용량 예약을 수정할 수 있으며 언제든지 취소하여 용량을 해제하고 요금이 발생하지 않도록 할 수 있습니다.
+ 장래 날짜에 용량 예약을 시작하도록 선택하는 경우 예약 용량이 필요한 *장래 날짜 및 시간*과 요청된 용량 예약이 프로비저닝된 후 계정에서 유지하기로 약정하는 최소 기간인 *약정 기간*을 지정합니다. 지정된 장래 날짜에 용량 예약을 사용할 수 있게 되고 용량 예약이 활성 상태가 되면 해당 시점에 요금 청구가 시작됩니다. 약정 기간은 계정에 용량 예약이 프로비저닝되는 즉시 시작됩니다. 이 기간 동안에는 인스턴스 수를 약정한 인스턴스 수 미만으로 줄이거나, 약정 기간 이전의 종료 날짜를 선택하거나, 용량 예약을 취소할 수 없습니다. 하지만 약정 기간이 경과한 후에는 자유롭게 어떤 식으로든 용량 예약을 수정하거나 취소하여 예약 용량을 해제하고 요금이 발생하지 않도록 할 수 있습니다.

## 종료 날짜 및 시간
<a name="cr-end-date"></a>

종료 날짜 및 시간은 용량 예약이 종료되고 예약 용량이 계정에서 해제되는 시점을 정의합니다. 특정 날짜 및 시간에 **자동으로 종료**되도록 용량 예약을 구성하거나, **수동으로 취소**할 때까지 무기한 활성 상태로 유지되도록 구성할 수 있습니다.

용량 예약이 자동으로 종료되도록 구성하면 용량 예약은 지정된 시간으로부터 1시간 이내에 만료됩니다. 예를 들어 `5/31/2019, 13:30:55`를 지정하면 용량 예약이 `5/31/2019` `13:30:55`\$1`14:30:55`에 만료됩니다.

예약이 종료되면 예약 용량이 계정에서 해제되고 더 이상 인스턴스를 용량 예약 대상으로 지정할 수 없습니다. 예약 용량으로 실행 중인 인스턴스가 중단되지 않은 상태로 계속 실행됩니다. 용량 예약 대상으로 지정된 인스턴스가 중지되는 경우 용량 예약 대상 지정 기본 설정을 제거하거나 다른 용량 예약 대상으로 지정되도록 구성할 때까지 해당 인스턴스를 다시 시작할 수 없습니다. 자세한 내용은 [인스턴스의 용량 예약 설정 수정](capacity-reservations-modify-instance.md) 섹션을 참조하세요.

## 약정 기간
<a name="cr-commitment-duration"></a>

약정 기간은 장래 날짜 용량 예약에만 적용됩니다.

약정 기간은 계정에서 장래 날짜 용량 예약을 프로비저닝 후 활성 상태로 유지하기로 약정하는 최소 기간입니다. 장래 날짜 용량 예약은 약정 기간보다 더 오래 유지할 수는 있지만 더 짧게 유지할 수는 없습니다. 약정 기간 동안에는 다음이 적용됩니다.
+ 약정 기간 중에는 용량 예약을 취소할 수 없습니다.
+ 인스턴스 수를 약정한 인스턴스 수 미만으로 줄일 수는 없지만 늘릴 수는 있습니다.
+ 약정 기간 내의 날짜나 시간에 자동으로 종료되도록 용량 예약을 구성할 수 없습니다. 약정 기간 중에 종료 날짜와 시간을 연장할 수 있습니다.

Amazon EC2는 사용자가 지정하는 약정 기간을 사용하여 요청을 지원할 수 있는지 여부를 평가합니다. 최소 약정 기간은 14일입니다. 요청을 평가하는 동안 Amazon EC2는 이보다 짧은 약정 기간을 지원할 수 있다고 결정할 수 있습니다. 이 경우 Amazon EC2는 더 짧은 약정 기간으로 장래 날짜 용량 예약 일정을 예약합니다. 즉, 사용자는 처음에 요청한 것보다 짧은 기간 동안 계정에서 용량 예약을 유지하기로 약정하는 것입니다.

## 장래 날짜 용량 예약 평가
<a name="cr-future-dated-assessment"></a>

장래 날짜 용량 예약을 요청하면 Amazon EC2는 요청을 평가하여 용량 가용성과 지정한 약정 기간에 따라 지원할 수 있는지 여부를 결정합니다. 평가는 일반적으로 5일 이내에 완료됩니다. Amazon EC2는 요청을 평가할 때 다음과 같은 여러 요소를 고려합니다.
+ 예상되는 용량 공급
+ 약정 기간
+ 시작 날짜와 비교하여 얼마나 일찍 용량 예약을 요청하는지 여부
+ 요청의 크기

5\$1120일 전에 장래 날짜 용량 예약을 요청할 수 있습니다. 요청 지원 역량을 개선하기 위해 미리 최소 56일(8주) 전에 요청하는 것이 좋습니다. 최소 약정 기간은 14일이고 최소 인스턴스 수는 vCPU 32개입니다.

요청이 평가되는 동안 용량 예약은 `assessing` 상태로 유지됩니다.

지원할 수 있는 요청인 경우 용량 예약이 `scheduled` 상태로 전환되고 요청된 날짜 및 시간에 제공되도록 예약됩니다. 용량 예약이 `scheduled` 상태에 있는 동안 총 인스턴스 수는 0으로 유지됩니다. 예약된 용량 예약은 요청된 날짜에 `active` 상태가 되고 사용할 수 있게 됩니다.

요청을 지원할 수 없는 경우 용량 예약이 `unsupported` 상태로 전환됩니다. 지원되지 않는 용량 예약은 제공되지 않습니다.

장래 날짜 용량 예약은 `assessing` 상태인 동안 취소할 수 있습니다.

자세한 내용은 [장래 날짜 용량 예약 생성](capacity-reservations-create.md#create-future-cr) 섹션을 참조하세요.

## 용량 예약 속성
<a name="cr-attributes"></a>

용량 예약을 생성할 때 다음 속성을 지정해야 합니다.
+ 가용 영역
+ 인스턴스 유형
+ 플랫폼(운영 체제 유형)
+ 테넌시(`default` 또는 `dedicated`)

이러한 속성과 일치하는 인스턴스만 용량 예약에서 시작하거나 실행할 수 있습니다.

## 인스턴스 일치 기준
<a name="cr-instance-eligibility"></a>

인스턴스 일치 기준 또는 인스턴스 자격에 따라 용량 예약에서 시작하고 실행할 수 있는 인스턴스가 결정됩니다. 용량 예약에는 다음 중 하나의 일치 기준이 있을 수 있습니다.
+ **Open** - 용량 예약은 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역)이 있는 모든 인스턴스에 자동으로 연결됩니다. 일치하는 속성이 있는 신규 및 기존 인스턴스는 추가 구성 없이 용량 예약에서 자동으로 실행됩니다.
+ **Targeted** - 용량 예약은 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역)이 있고 예약을 명시적으로 대상 지정하는 인스턴스만 허용합니다. 인스턴스가 예약 용량에서 시작되거나 실행되려면 구체적으로 용량 예약을 대상으로 지정해야 합니다. 이렇게 하면 예약 용량에서 실행할 수 있는 인스턴스를 명시적으로 제어할 수 있으며 의도하지 않은 예약 용량 사용을 방지할 수 있습니다.

장래 날짜 용량 예약을 요청할 때 대상 지정 일치 기준만 지정할 수 있습니다. 이렇게 하면 용량 예약이 제공하는 용량이 제공 시 실행 중인 인스턴스나 예약 용량에 증분 또는 추가됩니다. 계정에서 용량 예약이 활성화된 후 필요한 경우 인스턴스 일치 기준을 open으로 변경할 수 있습니다. 하지만 일치하는 모든 인스턴스가 용량 예약에서 자동으로 실행되므로 의도하지 않은 용량 사용량이 발생하고 요청된 전체 인스턴스 수 때문에 새 인스턴스를 시작하지 못할 수 있습니다.

## 용량 예약, 예약 인스턴스 및 절감형 플랜의 차이점
<a name="capacity-reservations-differences"></a>

다음 표에 용량 예약, 예약 인스턴스 및 절감형 플랜 간의 주요 차이점이 설명되어 있습니다.


|  | Capacity Reservations | 영역 예약 인스턴스 | 리전 예약 인스턴스 | 절감형 플랜 | 
| --- | --- | --- | --- | --- | 
| 용어 | 즉시 사용 용량 예약에는 약정이 필요하지 않습니다. 즉시 사용 용량 예약은 필요할 때마다 생성하거나 취소할 수 있습니다. 장래 날짜 용량 예약에서는 계정에서 용량을 유지하기로 약정하는 약정 기간을 지정합니다. 약정 기간이 경과한 후에는 언제든지 용량 예약을 취소할 수 있습니다.  | 고정 1년 또는 3년 약정 필요 | 
| 용량 혜택 | 특정 가용 영역에서 예약된 용량입니다. | 예약된 용량이 없습니다. | 
| 결제 할인 | 결제 할인이 제공되지 않습니다. † | 결제 할인을 제공합니다. | 
| 인스턴스 제한 | 리전별 온디맨드 인스턴스 한도가 적용됩니다. | 기본값은 가용 영역당 20입니다. 한도 증가를 요청할 수 있습니다. | 기본값은 리전당 20입니다. 한도 증가를 요청할 수 있습니다. | 제한 없음. | 

† 용량 예약을 절감형 플랜 또는 리전 예약 인스턴스와 결합하여 할인을 받을 수 있습니다.

자세한 정보는 다음을 참조하세요.
+ [Amazon EC2용 예약 인스턴스 개요](ec2-reserved-instances.md)
+ [절감형 플랜 사용 설명서](https://docs.aws.amazon.com/savingsplans/latest/userguide/)

## 지원되는 플랫폼
<a name="capacity-reservations-platforms"></a>

인스턴스와 일치하는지 확인하려면 올바른 플랫폼으로 용량 예약을 생성해야 합니다. 용량 예약은 `platform`에 대해 다음 값을 지원합니다.
+ Linux/UNIX
+ SQL Server Standard가 설치된 Linux
+ SQL Server Web이 설치된 Linux
+ SQL Server Enterprise가 설치된 Linux
+ SUSE Linux
+ Red Hat Enterprise Linux
+ SQL Server Standard가 설치된 RHEL
+ SQL Server Enterprise가 설치된 RHEL
+ SQL Server 웹이 설치된 RHEL
+ HA가 설치된 RHEL
+ HA 및 SQL Server Standard가 설치된 RHEL
+ HA 및 SQL Server Enterprise가 설치된 RHEL
+ Ubuntu Pro
+ Windows
+ SQL Server가 설치된 Windows
+ SQL Server Web이 설치된 Windows
+ SQL Server Standard가 설치된 Windows
+ SQL Server Enterprise가 설치된 Windows

인스턴스가 특정 용량 예약에서 실행되도록 하려면 용량 예약의 플랫폼이 인스턴스를 시작하는 데 사용된 AMI의 플랫폼과 일치해야 합니다. Linux AMI의 경우 AMI 플랫폼이 일반 값 **Linux/UNIX**를 사용하는지, 아니면 **SUSE Linux**와 같은 보다 구체적인 값을 사용하는지 확인하는 것이 중요합니다.

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

**AMI 플랫폼을 확인하려면**

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

1. 탐색 창에서 **AMI**를 선택합니다.

1. AMI를 선택합니다.

1. **세부 정보** 탭에서 **플랫폼 세부 정보**의 값을 기록해 둡니다.

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

**AMI 플랫폼을 확인하려면**  
[describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 명령을 사용하고 `PlatformDetails` 값을 확인합니다.

```
aws ec2 describe-images \
    --image-ids ami-0abcdef1234567890 \
    --query Images[*].PlatformDetails
```

다음은 예제 출력입니다.

```
[
    "Linux/UNIX"
]
```

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

**AMI 플랫폼을 확인하려면**  
[Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) cmdlet을 사용하고 `PlatformDetails` 값을 확인합니다.

```
Get-EC2Image `
    -ImageId ami-0abcdef1234567890 | `
    Select PlatformDetails
```

다음은 예제 출력입니다.

```
PlatformDetails
---------------
Linux/UNIX
```

------

## 할당량
<a name="capacity-reservations-limits"></a>

용량 예약이 가능한 인스턴스 수는 계정의 온디맨드 인스턴스 할당량을 기반으로 합니다. 이 할당량이 허용하는 인스턴스 수에서 이미 실행 중인 인스턴스 수를 차감한 인스턴스 수에 대해 용량을 예약할 수 있습니다.

`assessing`, `scheduled`, `pending`, `active`, `delayed` 상태의 용량 예약은 온디맨드 인스턴스 할당량에 포함됩니다.

## 제한 사항
<a name="capacity-reservations-limitations"></a>

용량 예약을 생성하기 전에 다음 제한 및 제약에 유의하세요.
+ 활성 및 미사용 용량 예약 수는 온디맨드 인스턴스 제한에 포함됩니다.
+ 용량 예약은 AWS 계정 간에 이전할 수 없습니다. 그러나 용량 예약은 다른 AWS 계정과 공유할 수 있습니다. 자세한 내용은 [공유 용량 예약](capacity-reservation-sharing.md) 섹션을 참조하세요.
+ 영역 예약 인스턴스 결제 할인은 용량 예약에 적용되지 않습니다.
+ 클러스터 배치 그룹에서 용량 예약을 생성할 수 있습니다. 분산형 및 파티션 배치 그룹은 지원되지 않습니다.
+ 용량 예약은 전용 호스트와 함께 사용할 수 없습니다. 용량 예약은 전용 인스턴스와 함께 사용할 수 없습니다.
+ [Windows 인스턴스] 용량 예약은 Bring Your Own License(BYOL)와 함께 사용할 수 없습니다.
+ [Red Hat 인스턴스] 용량 예약은 Bring Your Own License(BYOL)와 함께 사용할 수 없습니다.
+ 최대 절전 모드 인스턴스를 시작하려고 한 후에는 용량 예약에서 해당 인스턴스를 다시 시작할 수 있도록 보장하지 않습니다.
+ vCPU가 32개 이상인 인스턴스 수여야 장래 날짜 용량 예약을 요청할 수 있습니다. 예를 들어 `m5.xlarge` 인스턴스의 장래 날짜 용량 예약을 요청하는 경우 8개 이상의 인스턴스(*8 \$1 m5.xlarge = 32 vCPU*)를 요청해야 합니다.
+ 인스턴스 유형 C, I, M, R, T 시리즈만 장래 날짜 용량 예약을 요청할 수 있습니다.

# 용량 예약 요금 및 결제
<a name="capacity-reservations-pricing-billing"></a>

이 섹션의 주제에서는 용량 예약의 요금 및 결제 개요를 제공합니다.

**Topics**
+ [가격 책정](#capacity-reservations-pricing)
+ [결제](#capacity-reservations-billing)
+ [결제 할인](#capacity-reservations-discounts)
+ [청구서 보기](#capacity-reservations-viewing-bill)

## 가격 책정
<a name="capacity-reservations-pricing"></a>

예약 용량에서 인스턴스를 실행하는지 여부와 무관하게 동등한 온디맨드 요금이 용량 예약에 청구되며, 전용 인스턴스에 적용되는 리전별 추가 요금도 포함됩니다. 예약을 사용하지 않는 경우 Amazon EC2 청구서에 사용되지 않은 예약으로 표시됩니다. 예약의 특성과 일치하는 인스턴스를 실행하는 경우 인스턴스 요금만 지불하고 예약 요금은 지불하지 않습니다. 선불금 또는 추가 요금은 없습니다.

예를 들어, 20개 `m4.large` Linux 인스턴스에 대해 용량 예약을 생성하고 동일한 가용 영역에서 15개 `m4.large` Linux 인스턴스를 실행할 경우 예약의 15개 활성 인스턴스와 사용되지 않은 5개 인스턴스에 대해 요금이 부과됩니다.

절감형 플랜 및 리전 예약 인스턴스에 대한 결제 할인이 용량 예약에 적용됩니다. 자세한 내용은 [결제 할인](#capacity-reservations-discounts) 섹션을 참조하세요.

자세한 정보는 [Amazon EC2 요금](https://aws.amazon.com/ec2/pricing/)을 참조하세요.

## 결제
<a name="capacity-reservations-billing"></a>

결제는 계정에서 용량 예약이 프로비저닝되는 즉시 시작되며 용량 예약이 계정에 프로비저닝된 상태로 유지되는 동안 계속됩니다. 따라서 장래 날짜 용량 예약의 경우 요청된 장래 날짜에 계정에 용량 예약이 프로비저닝된 후에만 청구가 시작됩니다.

용량 예약은 초당 요금으로 청구됩니다. 다시 말해서 사용 시간이 한 시간 미만이라도 요금이 부과됩니다. 예를 들어 용량 예약이 `24`시간 `15`분 동안 계정에서 프로비저닝된 상태로 유지되는 경우 `24.25`시간이 예약 시간으로 청구됩니다.

다음 예는 용량 예약 요금 청구 방식을 보여줍니다. 용량 예약이 `m4.large` Linux 인스턴스 하나에 대해 생성되었으며, 사용 시간당 0.10 USD의 온디맨드 요율이 적용됩니다. 이 예에서는 용량 예약이 이 계정에 대해 다섯 시간 동안 프로비저닝된 상태입니다. 처음 한 시간 동안 용량 예약이 사용되지 않았으므로, 사용되지 않은 한 시간에 대해서는 `m4.large` 인스턴스 유형의 스탠다드 온디맨드 요율로 요금이 청구됩니다. 2\$15시간 동안은 `m4.large` 인스턴스에서 용량 예약이 사용됩니다. 이 시간 동안은 용량 예약에 대해 요금이 청구되지 않으며, 대신에 용량 예약을 사용하는 `m4.large` 인스턴스에 대해 이 계정에 요금이 청구됩니다. 여섯 번째 시간 동안은 용량 예약이 취소되었으므로 `m4.large` 인스턴스가 예약 용량 외부에서 일반적으로 실행됩니다. 해당 시간 동안은 `m4.large` 인스턴스 유형의 온디맨드 요율로 요금이 청구됩니다.

![\[용량 예약 결제 예\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/cr-billing-example.png)


## 결제 할인
<a name="capacity-reservations-discounts"></a>

절감형 플랜 및 리전 예약 인스턴스에 대한 청구 할인이 용량 예약에 적용됩니다. AWS는 이 할인을 속성이 일치하는 용량 예약에 자동으로 적용합니다. 용량 예약이 인스턴스에 의해 사용되는 경우 해당 인스턴스에 할인이 적용됩니다. 할인은 사용되지 않은 용량 예약을 적용하기 전에 인스턴스 사용량에 우선적으로 적용됩니다.

영역 예약 인스턴스에 대한 결제 할인은 용량 예약에 적용되지 않습니다.

자세한 정보는 다음을 참조하세요.
+ [Amazon EC2용 예약 인스턴스 개요](ec2-reserved-instances.md)
+ [절감형 플랜 사용 설명서](https://docs.aws.amazon.com/savingsplans/latest/userguide/)
+ [청구 및 구매 옵션](https://aws.amazon.com/ec2/faqs/#capacityreservations)

## 청구서 보기
<a name="capacity-reservations-viewing-bill"></a>

계정으로 청구되는 요금과 비용은 AWS 결제 및 비용 관리 콘솔에서 검토할 수 있습니다.
+ **대시보드**에는 계정에 대한 소비 요약이 표시됩니다.
+ **청구서** 페이지의 **세부 정보**에서 **Elastic Compute Cloud** 섹션과 리전을 확장하여 용량 예약에 대한 결제 정보를 가져옵니다.

요금을 온라인으로 확인하거나 CSV 파일을 다운로드할 수 있습니다. 자세한 내용은 [용량 예약 항목](https://docs.aws.amazon.com/cur/latest/userguide/monitor-ondemand-reservations.html#capacity-reservation-li)을 참조하세요.

# 용량 예약 생성
<a name="capacity-reservations-create"></a>

언제든지 용량 예약을 생성하여 특정 가용 영역에서 사용할 수 있는 컴퓨팅 용량을 확보할 수 있습니다. 용량 예약은 즉시 시작하거나 장래 날짜에 시작할 수 있습니다. 용량 예약이 `active` 상태가 되어야만 용량을 사용할 수 있습니다.

**참고**  
`open` 인스턴스 일치 기준으로 용량 예약을 생성하고 용량 예약이 활성화되는 시점에 일치하는 속성이 있는 인스턴스를 실행 중인 경우, 해당 인스턴스는 예약 용량에서 자동으로 실행됩니다. 이를 방지하려면 `targeted` 인스턴스 일치 기준을 사용하세요. 자세한 내용은 [인스턴스 일치 기준](cr-concepts.md#cr-instance-eligibility) 섹션을 참조하세요.

다음 중 하나에 해당하는 경우 용량 예약 생성 요청이 실패할 수 있습니다.
+ Amazon EC2에 용량이 충분하지 않아서 요청을 이행할 수 없습니다. 나중에 다시 시도하거나, 다른 가용 영역을 사용하거나, 요청을 줄여서 시도하세요. 애플리케이션이 인스턴스 유형 및 크기 면에서 가변적인 경우 다른 인스턴스 속성으로 생성해 봅니다.
+ 요청한 수량이 선택한 인스턴스 패밀리에 대한 온디맨드 인스턴스 제한을 초과합니다. 인스턴스 패밀리에 대한 온디맨드 인스턴스 제한을 늘리고 다시 시도하세요. 자세한 내용은 [온디맨드 인스턴스 할당량](ec2-on-demand-instances.md#ec2-on-demand-instances-limits) 섹션을 참조하세요.

**Topics**
+ [즉시 사용할 수 있는 용량 예약 생성](#create-immediate-cr)
+ [장래 날짜 용량 예약 생성](#create-future-cr)

## 즉시 사용할 수 있는 용량 예약 생성
<a name="create-immediate-cr"></a>

즉시 사용할 수 있는 용량 예약을 생성합니다.

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

**용량 예약을 생성하려면**

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

1. **용량 예약**을 선택한 후 **용량 예약 생성**을 선택합니다.

1. **인스턴스 세부 정보** 섹션에서 다음 설정을 구성합니다.

   1. **인스턴스 유형** - 용량을 예약할 인스턴스 유형입니다.

   1. **플랫폼** - 인스턴스에 사용할 운영 체제입니다. 자세한 내용은 [지원되는 플랫폼](ec2-capacity-reservations.md#capacity-reservations-platforms) 섹션을 참조하세요.

   1. **가용 영역** - 용량을 예약할 가용 영역입니다.

   1. **테넌시** - 예약 용량에 사용할 테넌시 유형입니다. 공유 하드웨어에서 용량을 예약하려면 기본값을 선택하고 계정 전용 하드웨어에서 용량을 예약하려면 전용을 선택합니다.

   1. (*선택 사항*) **배치 그룹 ARN** - 용량 예약을 생성할 클러스터 배치 그룹의 ARN입니다. 자세한 내용은 [클러스터 배치 그룹에서 용량 예약 사용](cr-cpg.md) 섹션을 참조하세요.

   1. **총 인스턴스 수** - 용량을 예약할 인스턴스 수입니다. 선택한 인스턴스 유형에 남은 온디맨드 인스턴스 할당량을 초과하는 수량을 지정하는 경우 요청이 실패합니다.

1. **예약 세부 정보** 섹션에서 다음 설정을 구성합니다.

   1. **용량 예약 시작** - **즉시**를 선택합니다.

   1. **용량 예약 종료** - 다음 옵션 중 하나를 선택합니다.
      + **수동** - 명시적으로 취소할 때까지 용량을 예약합니다.
      + **특정 시간** - 지정된 날짜 및 시간에 용량 예약을 자동으로 취소합니다.

   1. **인스턴스 자격** - 다음 옵션 중 하나를 선택합니다.
      + **open** - (기본값) 용량 예약은 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)이 있는 모든 인스턴스에 연결됩니다. 일치하는 속성이 있는 인스턴스를 시작할 경우 예약 용량으로 자동 배치됩니다.
      + **targeted** - 용량 예약은 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)이 있고 예약을 명시적으로 대상 지정하는 인스턴스만 허용합니다.

1. **생성(Create)**을 선택합니다.

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

**용량 예약을 생성하려면**  
[create-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-capacity-reservation.html) 명령을 사용합니다.

```
aws ec2 create-capacity-reservation \
    --availability-zone az_name \
    --instance-type instance_type \
    --instance-count number_of_instances \
    --instance-platform operating_system \
    --instance-match-criteria open|targeted
```

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

**용량 예약을 생성하려면**  
[Add-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2CapacityReservation.html) cmdlet을 사용합니다.

```
Add-EC2CapacityReservation `
    -AvailabilityZone az_name `
    -InstanceType instance_type `
    -InstanceCount number_of_instances `
    -InstancePlatform operating_system `
    -InstanceMatchCriterion open|targeted
```

------

## 장래 날짜 용량 예약 생성
<a name="create-future-cr"></a>

장래 날짜 및 시간에 예약 용량을 사용하려면 장래 날짜 용량 예약을 요청합니다.

장래 날짜 용량 예약 요청은 지원 가능 여부를 결정하기 위한 평가를 거칩니다. 자세한 내용은 [장래 날짜 용량 예약 평가](cr-concepts.md#cr-future-dated-assessment) 섹션을 참조하세요.

**고려 사항**
+ 인스턴스 유형 C, I, M, R, T 시리즈의 경우 장래 날짜 용량 예약을 요청할 수 있습니다.
+ vCPU가 32개 이상인 인스턴스 수여야 장래 날짜 용량 예약을 요청할 수 있습니다. 예를 들어 `m5.xlarge` 인스턴스의 장래 날짜 용량 예약을 요청하는 경우 8개 이상의 인스턴스를 위한 용량(*8 \$1 m5.xlarge = 32 vCPU*)을 요청해야 합니다.
+ 5\$1120일 전에 장래 날짜 용량 예약을 요청할 수 있습니다. 하지만 지원 가능성을 높이려면 최소 56일(8주) 전에 요청하는 것이 좋습니다.
+ 최소 약정 기간은 14일입니다.

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

**용량 예약을 생성하려면**

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

1. **용량 예약**을 선택한 후 **용량 예약 생성**을 선택합니다.

1. **인스턴스 세부 정보** 섹션에서 다음 설정을 구성합니다.

   1. **인스턴스 유형** - 용량을 예약할 인스턴스 유형입니다.

   1. **플랫폼** - 인스턴스에 사용할 운영 체제입니다. 자세한 내용은 [지원되는 플랫폼](ec2-capacity-reservations.md#capacity-reservations-platforms) 섹션을 참조하세요.

   1. **가용 영역** - 용량을 예약할 가용 영역입니다.

   1. **테넌시** - 예약 용량에 사용할 테넌시 유형입니다. 공유 하드웨어에서 용량을 예약하려면 기본값을 선택하고 계정 전용 하드웨어에서 용량을 예약하려면 전용을 선택합니다.

   1. **총 인스턴스 수** - 용량을 예약할 인스턴스 수입니다. 선택한 인스턴스 유형에 남은 온디맨드 인스턴스 할당량을 초과하는 수량을 지정하는 경우 요청이 실패합니다.

1. **예약 세부 정보** 섹션에서 다음 설정을 구성합니다.

   1. **용량 예약 시작** - **특정 시간**을 선택합니다.

   1. **시작 날짜** - 용량 예약을 사용해야 하는 날짜와 시간을 지정합니다. 자세한 내용은 [시작 날짜 및 시간](cr-concepts.md#cr-start-date) 섹션을 참조하세요.

   1. **약정 기간** - 용량 예약이 제공된 후 용량 예약을 유지하기로 약정하는 최소 기간을 지정합니다. 자세한 내용은 [약정 기간](cr-concepts.md#cr-commitment-duration) 섹션을 참조하세요.

   1. **용량 예약 종료** - 다음 옵션 중 하나를 선택합니다.
      + **취소할 때** - 명시적으로 취소할 때까지 용량을 예약합니다.
      + **특정 시간** - 지정된 날짜 및 시간에 용량 예약을 자동으로 취소합니다.

1. **생성(Create)**을 선택합니다.

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

**용량 예약을 생성하려면**  
[create-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-capacity-reservation.html) 명령을 사용합니다.

```
aws ec2 create-capacity-reservation \
    --availability-zone az_name \
    --instance-type instance_type \
    --instance-count number_of_instances \
    --instance-platform operating_system \
    --instance-match-criteria targeted \
    --delivery-preference incremental \
    --commitment-duration commitment_in_seconds \ 
    --start-date YYYY-MMDDThh:mm:ss.sssZ
```

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

**용량 예약을 생성하려면**  
[Add-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2CapacityReservation.html) cmdlet을 사용합니다.

```
Add-EC2CapacityReservation `
    -AvailabilityZone az_name `
    -InstanceType instance_type `
    -InstanceCount number_of_instances `
    -InstancePlatform operating_system `
    -InstanceMatchCriterion targeted `
    -DeliveryPreference incremental `
    -CommitmentDuration commitment_in_seconds `
    -StartDate  YYYY-MMDDThh:mm:ss.sssZ
```

------

# 용량 예약 상태 보기
<a name="capacity-reservations-view"></a>

Amazon EC2는 용량 예약 상태를 지속적으로 모니터링합니다.

Amazon EC2 API에서 따르는 [최종 일관성](https://docs.aws.amazon.com/ec2/latest/devguide/eventual-consistency.html) 모델로 인해 용량 예약 생성 후 용량 예약이 `active` 상태로 표시되려면 최대 5분이 걸릴 수 있습니다. 이 시간 동안 용량 예약은 `pending` 상태로 유지될 수 있습니다. 하지만 용량 예약이 이미 사용 가능할 수도 있으며, 이 경우 인스턴스를 용량 예약으로 시작하려는 시도가 성공합니다.

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

**용량 예약을 보는 방법**

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

1. 탐색 창에서 **용량 예약**을 선택합니다.

1. 용량 예약을 선택합니다.

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

**용량 예약을 설명하려면**  
[describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html) 명령을 사용합니다.

예를 들어, 다음 명령은 모두 용량 예약을 설명합니다.

```
aws ec2 describe-capacity-reservations
```

다음은 예제 출력입니다.

```
{
    "CapacityReservations": [
        {
            "CapacityReservationId": "cr-1234abcd56EXAMPLE",
            "EndDateType": "unlimited",
            "AvailabilityZone": "eu-west-1a",
            "InstanceMatchCriteria": "open",
            "Tags": [],
            "EphemeralStorage": false,
            "CreateDate": "2019-08-16T09:03:18.000Z",
            "AvailableInstanceCount": 1,
            "InstancePlatform": "Linux/UNIX",
            "TotalInstanceCount": 1,
            "State": "active",
            "Tenancy": "default",
            "EbsOptimized": true,
            "InstanceType": "a1.medium",
            "PlacementGroupArn": "arn:aws:ec2:us-east-1:123456789012:placement-group/MyPG"
        },
        {
            "CapacityReservationId": "cr-abcdEXAMPLE9876ef",
            "EndDateType": "unlimited",
            "AvailabilityZone": "eu-west-1a",
            "InstanceMatchCriteria": "open",
            "Tags": [],
            "EphemeralStorage": false,
            "CreateDate": "2019-08-07T11:34:19.000Z",
            "AvailableInstanceCount": 3,
            "InstancePlatform": "Linux/UNIX",
            "TotalInstanceCount": 3,
            "State": "cancelled",
            "Tenancy": "default",
            "EbsOptimized": true,
            "InstanceType": "m5.large"
        }
    ]
}
```

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

**용량 예약을 설명하려면**  
[Get-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityReservation.html) cmdlet을 사용합니다.

```
Get-EC2CapacityReservation `
    -CapacityReservationId cr-1234abcd56EXAMPLE
```

------

## 용량 예약 상태
<a name="capacity-reseration-states"></a>

용량 예약은 다음과 같은 상태가 가능합니다.


| State | 설명 | 
| --- | --- | 
| active |  - 용량을 사용할 수 있습니다. | 
| expired | 예약 요청에서 지정한 날짜 및 시간에 용량 예약이 자동으로 만료됩니다. 예약 용량을 더 이상 사용할 수 없습니다. | 
| cancelled | 용량 예약이 취소되었습니다. 예약 용량을 더 이상 사용할 수 없습니다. | 
| pending | 용량 예약 요청이 성공했지만 용량 프로비저닝이 여전히 대기 중입니다. | 
| failed | 용량 예약 요청이 실패했습니다. 잘못된 요청 파라미터, 용량 제약 조건 또는 인스턴스 제한 제약 조건이 요청 실패의 원인일 수 있습니다. 60분 동안 실패한 요청을 볼 수 있습니다. | 
| scheduled | (장래 날짜 용량 예약만 해당) 장래 날짜 용량 예약 요청이 승인되었으며 요청된 시작 날짜에 용량 예약이 제공될 예정입니다. | 
| assessing | (장래 날짜 용량 예약만 해당) Amazon EC2가 장래 날짜 용량 예약 요청을 평가하고 있습니다. 자세한 내용은 [장래 날짜 용량 예약 평가](cr-concepts.md#cr-future-dated-assessment) 섹션을 참조하세요. | 
| delayed | (장래 날짜 용량 예약만 해당) Amazon EC2에서 요청된 장래 날짜 용량 예약 프로비저닝이 지연되었습니다. Amazon EC2가 요청된 시작 날짜 및 시간까지 요청된 용량을 제공할 수 없습니다. | 
| unsupported | (장래 날짜 용량 예약만 해당) Amazon EC2가 용량 제약으로 인해 장래 날짜 용량 예약 요청을 지원할 수 없습니다. 지원되지 않는 요청을 30일 동안 볼 수 있습니다. 용량 예약이 제공되지 않습니다. | 

# 인스턴스를 기존 용량 예약으로 시작
<a name="capacity-reservations-launch"></a>

다음과 같은 용량 예약에서만 인스턴스를 시작할 수 있습니다.
+ 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)이 있는 용량 예약
+ 사용 가능한 용량이 충분한 용량 예약
+ 상태가 `active`인 용량 예약

인스턴스를 시작할 때 인스턴스를 임의 `open` 용량 예약, 특정 용량 예약 또는 용량 예약 그룹으로 시작할지 여부를 지정할 수 있습니다.

또는 일치하는 속성 및 가용 용량이 있는 `open` 용량 예약이 있더라도 용량 예약에서 실행되지 않도록 인스턴스를 구성할 수 있습니다.

인스턴스를 용량 예약으로 시작하면 시작된 인스턴스 수만큼 가용 용량이 감소됩니다. 예를 들어, 인스턴스 세 개를 시작할 경우 용량 예약의 가용 용량이 3만큼 감소됩니다.

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

**인스턴스를 기존 용량 예약으로 시작하려면**

1. 절차에 따라 [인스턴스를 시작](ec2-launch-instance-wizard.md)하되 다음 단계를 완료하여 배치 그룹 및 용량 예약 설정을 지정할 때까지 인스턴스를 시작하지 마세요.

1. **고급 세부 정보**를 열고 다음을 수행합니다.

   1. **배치 그룹**의 경우 인스턴스를 시작할 클러스터 배치 그룹을 선택합니다.

   1. **용량 예약(Capacity Reservation)**에서 용량 예약 구성에 따라 다음 옵션 중 하나를 선택합니다.
      + **없음** - 인스턴스가 용량 예약으로 시작되지 않도록 합니다. 인스턴스는 온디맨드 용량으로 실행됩니다.
      + **열기** - 일치하는 속성과, 선택한 인스턴스 수에 맞는 용량이 있는 용량 예약으로 인스턴스를 시작합니다. 충분한 용량이 있는 적절한 용량 예약이 없는 경우 인스턴스는 온디맨드 용량을 사용합니다.
      + **용량 예약 지정** - 선택한 용량 예약에서 인스턴스를 시작합니다. 선택한 용량 예약의 용량이 선택한 인스턴스 수에 맞게 충분하지 않으면 인스턴스가 시작되지 않습니다.
      + **용량 예약 리소스 그룹 지정** - 선택한 용량 예약 그룹에 일치하는 속성 및 가용 용량이 있는 용량 예약에서 인스턴스를 시작합니다. 선택한 그룹에 일치하는 속성 및 가용 용량이 있는 용량 예약이 없는 경우 인스턴스는 온디맨드 용량으로 시작됩니다.
      + **용량 예약만 지정** - 선택한 용량 예약에서 인스턴스를 시작합니다. 용량 예약 ID를 지정하지 않으면 인스턴스는 open 용량 예약에서 시작됩니다. 용량을 사용할 수 없는 경우 인스턴스 시작이 실패합니다.
      + **용량 예약 리소스 그룹만 지정** - 용량 예약 리소스 그룹의 용량 예약에서 인스턴스를 시작합니다. 용량 예약 리소스 그룹 ARN을 지정하지 않으면 인스턴스는 open 용량 예약에서 시작됩니다. 용량을 사용할 수 없는 경우 인스턴스 시작이 실패합니다.

1. **Summary**(요약) 패널에서 인스턴스 구성을 검토한 다음 **Launch instance**(인스턴스 시작)를 선택합니다.

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

**인스턴스를 기존 용량 예약으로 시작하려면**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용하고 `--capacity-reservation-specification` 옵션을 지정합니다.

다음 예제는 일치하는 속성 및 가용 용량이 있는 열려 있는 용량 예약으로 인스턴스를 시작합니다.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --subnet-id subnet-0abcdef1234567890 \
    --capacity-reservation-specification CapacityReservationPreference=open
```

다음 예제는 `targeted` 용량 예약으로 인스턴스를 시작합니다.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --subnet-id subnet-0abcdef1234567890 \
    --capacity-reservation-specification \
        CapacityReservationTarget={CapacityReservationId=cr-1234abcd56EXAMPLE}
```

다음 예제는 지정된 용량 예약 그룹으로 인스턴스를 시작합니다.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --subnet-id subnet-0abcdef1234567890 \
    --capacity-reservation-specification \
        CapacityReservationTarget={CapacityReservationResourceGroupArn=arn:aws:resource-groups:us-west-2:123456789012:group/my-cr-group}
```

다음 예제는 용량 예약으로만 인스턴스를 시작합니다. 용량 예약 ID가 지정되지 않았으므로 인스턴스는 일치하는 속성 및 사용 가능한 용량이 있는 임의의 열려 있는 용량 예약에서 시작됩니다.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --subnet-id subnet-0abcdef1234567890 \
    --capacity-reservation-specification \
        CapacityReservationPreference=capacity-reservations-only
```

다음 예제는 특정 용량 예약으로만 인스턴스를 시작합니다. 지정된 용량 예약에서 용량을 사용할 수 없는 경우 인스턴스 시작이 실패합니다.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --subnet-id subnet-0abcdef1234567890 \
    --capacity-reservation-specification \
        CapacityReservationPreference=capacity-reservations-only \
        CapacityReservationTarget={CapacityReservationId=cr-1234abcd56EXAMPLE}
```

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

**인스턴스를 기존 용량 예약으로 시작하려면**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet을 사용합니다.

다음 예제는 일치하는 속성 및 가용 용량이 있는 열려 있는 용량 예약으로 인스턴스를 시작합니다.

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType t2.micro `
    -KeyName "my-key-pair" `
    -SubnetId subnet-0abcdef1234567890 `
    -CapacityReservationSpecification_CapacityReservationPreference "open"
```

다음 예제는 `targeted` 용량 예약으로 인스턴스를 시작합니다.

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType t2.micro `
    -KeyName "my-key-pair" `
    -SubnetId subnet-0abcdef1234567890 `
    -CapacityReservationTarget_CapacityReservationId cr-1234abcd56EXAMPLE
```

다음 예제는 지정된 용량 예약 그룹으로 인스턴스를 시작합니다.

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType t2.micro `
    -KeyName "my-key-pair" `
    -SubnetId subnet-0abcdef1234567890 `
    -CapacityReservationTarget_CapacityReservationResourceGroupArn `
        "arn:aws:resource-groups:us-west-2:123456789012:group/my-cr-group"
```

다음 예제는 용량 예약으로만 인스턴스를 시작합니다. 용량 예약 ID가 지정되지 않았으므로 인스턴스는 일치하는 속성 및 사용 가능한 용량이 있는 임의의 열려 있는 용량 예약에서 시작됩니다.

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType t2.micro `
    -KeyName "my-key-pair" `
    -SubnetId subnet-0abcdef1234567890 `
    -CapacityReservationSpecification_CapacityReservationPreference "capacity-reservations-only"
```

다음 예제는 특정 용량 예약으로만 인스턴스를 시작합니다. 지정된 용량 예약에서 용량을 사용할 수 없는 경우 인스턴스 시작이 실패합니다.

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType t2.micro `
    -KeyName "my-key-pair" `
    -SubnetId subnet-0abcdef1234567890 `
    -CapacityReservationSpecification_CapacityReservationPreference "capacity-reservations-only" `
    -CapacityReservationTarget_CapacityReservationId cr-1234abcd56EXAMPLE
```

------

# 활성 용량 예약 수정
<a name="capacity-reservations-modify"></a>

용량이 필요한 워크로드에 기존 용량 예약이 적합하지 않은 경우 인스턴스 수량, 인스턴스 자격(`open` 또는 `targeted`), 종료 시간(`At specific time` 또는 `Manually`)을 수정할 수 있습니다. 선택한 인스턴스 유형에 대해 남은 온디맨드 인스턴스 제한을 초과하는 새 인스턴스 수량을 지정하는 경우 업데이트가 실패합니다.

허용되는 수정은 용량 예약의 상태에 따라 달라집니다.
+ `assessing` 또는 `scheduled` 상태 - 태그만 수정할 수 있습니다.
+ `pending` 상태 - 어떤 식으로도 용량 예약을 수정할 수 없습니다.
+ `active` 상태이지만 여전히 약정 기간 내 - 인스턴스 수를 약정된 인스턴스 수 미만으로 줄이거나 약정된 기간 이전의 종료 날짜를 설정할 수 없습니다. 다른 모든 수정은 허용됩니다.
+ 약정 기간이 없거나 약정 기간이 경과한 `active` 상태 - 모든 수정이 허용됩니다.
+ `expired`, `cancelled`, `unsupported` 또는 `failed` 상태 - 어떤 식으로도 용량 예약을 수정할 수 없습니다.

**고려 사항**
+ 생성 후에는 인스턴스 유형, 플랫폼, 가용 영역 또는 테넌시를 변경할 수 없습니다. 이러한 속성을 수정해야 하는 경우에는 예약을 취소하고 나서 필요한 속성으로 예약을 다시 생성하는 것이 좋습니다.
+ `targeted`에서 `open`으로 인스턴스 자격을 변경하여 기존 용량 예약을 수정하는 경우, 용량 예약의 속성과 일치하고 `CapacityReservationPreference` 파라미터가 `open`으로 설정되어 있으며 아직 용량 예약에서 실행되지 않은 실행 중인 인스턴스는 자동으로 수정된 용량 예약을 사용합니다.
+ 인스턴스 자격을 변경하려면 용량 예약이 완전히 유휴 상태여야 합니다(사용량 0). 예약 내에서 인스턴스가 실행 중일 때는 Amazon EC2에서 인스턴스 자격을 수정할 수 없기 때문입니다.

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

**용량 예약을 수정하려면**

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

1. **용량 예약**을 선택한 후, 수정할 용량 예약을 선택하고 나서 **편집**을 선택합니다.

1. 필요에 따라 **총 용량**, **용량 예약 종료** 또는 **인스턴스 자격** 옵션을 수정하고 **저장**을 선택합니다.

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

**용량 예약을 수정하려면**  
[modify-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-capacity-reservation.html) 명령을 사용합니다. 다음 예제는 지정된 용량 예약을 수정하여 8개의 인스턴스에 대한 용량을 예약합니다.

```
aws ec2 modify-capacity-reservation \
    --capacity-reservation-id cr-1234567890abcdef0 \
    --instance-count 8
```

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

**용량 예약을 수정하려면**  
[Edit-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2CapacityReservation.html) cmdlet을 사용합니다. 다음 예제는 지정된 용량 예약을 수정하여 8개의 인스턴스에 대한 용량을 예약합니다.

```
Edit-EC2CapacityReservation `
    -CapacityReservationId cr-1234567890abcdef0 `
    -InstanceCount 8
```

------

# 인스턴스의 용량 예약 설정 수정
<a name="capacity-reservations-modify-instance"></a>

중지된 인스턴트에 대한 다음 용량 예약 설정은 다음과 같이 언제든지 수정할 수 있습니다.
+ 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)과 사용 가능한 용량이 일치하는 용량 예약에서 시작하세요.
+ 특정 용량 예약에서 인스턴스를 시작합니다.
+ 용량 예약 그룹에 일치하는 속성 및 가용 용량이 있는 용량 예약에서 시작합니다.
+ 인스턴스가 용량 예약에서 시작되지 않도록 합니다.

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

**인스턴스 용량 예약 설정을 수정하려면**

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

1. **인스턴스**를 선택한 후 수정할 인스턴스를 선택합니다. 인스턴스가 아직 중지되지 않은 경우 해당 인스턴스를 중지합니다.

1. **작업**, **인스턴스 설정**, **용량 예약 설정 수정**을 선택합니다.

1. **용량 예약**에서 다음 옵션 중 하나를 선택합니다.
   + **열기** - 일치하는 속성과, 선택한 인스턴스 수에 맞는 용량이 있는 용량 예약으로 인스턴스를 시작합니다. 충분한 용량이 있는 적절한 용량 예약이 없는 경우 인스턴스는 온디맨드 용량을 사용합니다.
   + **없음** - 인스턴스가 용량 예약으로 시작되지 않도록 합니다. 인스턴스는 온디맨드 용량으로 실행됩니다.
   + **용량 예약 지정** - 선택한 용량 예약에서 인스턴스를 시작합니다. 선택한 용량 예약의 용량이 선택한 인스턴스 수에 맞게 충분하지 않으면 인스턴스가 시작되지 않습니다.
   + **용량 예약 그룹 지정** - 선택한 용량 예약 그룹에 일치하는 속성 및 가용 용량이 있는 용량 예약에서 인스턴스를 시작합니다. 선택한 그룹에 일치하는 속성 및 가용 용량이 있는 용량 예약이 없는 경우 인스턴스는 온디맨드 용량으로 시작됩니다.
   + **용량 예약만 지정** - 선택한 용량 예약에서 인스턴스를 시작합니다. 용량 예약 ID를 지정하지 않으면 인스턴스는 open 용량 예약에서 시작됩니다. 용량을 사용할 수 없는 경우 인스턴스 시작이 실패합니다.
   + **용량 예약 리소스 그룹만 지정** - 용량 예약 리소스 그룹의 용량 예약에서 인스턴스를 시작합니다. 용량 예약 리소스 그룹 ARN을 지정하지 않으면 인스턴스는 open 용량 예약에서 시작됩니다. 용량을 사용할 수 없는 경우 인스턴스 시작이 실패합니다.

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

**인스턴스 용량 예약 설정을 수정하려면**  
[modify-instance-capacity-reservation-attributes](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-capacity-reservation-attributes.html) 명령을 사용합니다.

다음 예제는 용량 예약 기본 설정을 `none`으로 변경합니다.

```
aws ec2 modify-instance-capacity-reservation-attributes \
    --instance-id i-1234567890abcdef0 \
    --capacity-reservation-specification CapacityReservationPreference=none
```

다음 예제는 대상을 특정 용량 예약으로 변경합니다.

```
aws ec2 modify-instance-capacity-reservation-attributes \
    --instance-id i-1234567890abcdef0 \
    --capacity-reservation-specification \
    CapacityReservationTarget={CapacityReservationId=cr-1234567890abcdef0}
```

다음 예제는 대상을 특정 용량 예약 그룹으로 지정합니다.

```
aws ec2 modify-instance-capacity-reservation-attributes \
    --instance-id i-1234567890abcdef0 \
    --capacity-reservation-specification \
        CapacityReservationTarget={CapacityReservationResourceGroupArn=arn:aws:resource-groups:us-west-2:123456789012:group/my-cr-group}
```

다음 예제는 용량 예약 기본 설정을 `capacity-reservation-only`으로 변경합니다. 용량 예약이 지정되지 않았으므로 인스턴스는 일치하는 속성 및 사용 가능한 용량이 있는 임의의 열려 있는 용량 예약에서 시작됩니다.

```
aws ec2 modify-instance-capacity-reservation-attributes \
    --instance-id i-1234567890abcdef0 \
    --capacity-reservation-specification CapacityReservationPreference=capacity-reservation-only
```

다음 예제는 용량 예약 기본 설정을 `capacity-reservation-only`로 변경하고 대상을 특정 용량 예약으로 변경합니다. 지정된 용량 예약에서 용량을 사용할 수 없는 경우 인스턴스 시작이 실패합니다.

```
aws ec2 modify-instance-capacity-reservation-attributes \
    --instance-id i-1234567890abcdef0 \
    --capacity-reservation-specification \
        CapacityReservationPreference=capacity-reservation-only \
        CapacityReservationTarget={CapacityReservationId=cr-1234567890abcdef0}
```

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

**인스턴스 용량 예약 설정을 수정하려면**  
[Edit-EC2InstanceCapacityReservationAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceCapacityReservationAttribute.html) cmdlet을 사용합니다.

다음 예제는 용량 예약 기본 설정을 `none`으로 변경합니다.

```
Edit-EC2InstanceCapacityReservationAttribute `
    -InstanceId i-1234567890abcdef0 `
    -CapacityReservationSpecification_CapacityReservationPreference "none"
```

다음 예제는 대상을 특정 용량 예약으로 변경합니다.

```
Edit-EC2InstanceCapacityReservationAttribute `
    -InstanceId i-1234567890abcdef0 `
    -CapacityReservationTarget_CapacityReservationId cr-1234567890abcdef0
```

다음 예제는 대상을 특정 용량 예약 그룹으로 지정합니다.

```
Edit-EC2InstanceCapacityReservationAttribute `
    -InstanceId i-1234567890abcdef0 `
    -CapacityReservationTarget_CapacityReservationResourceGroupArn `
        "arn:aws:resource-groups:us-west-2:123456789012:group/my-cr-group"
```

다음 예제는 용량 예약 기본 설정을 `capacity-reservation-only`으로 변경합니다. 용량 예약이 지정되지 않았으므로 인스턴스는 일치하는 속성 및 사용 가능한 용량이 있는 임의의 열려 있는 용량 예약에서 시작됩니다.

```
Edit-EC2InstanceCapacityReservationAttribute `
    -InstanceId i-1234567890abcdef0 `
    -CapacityReservationSpecification_CapacityReservationPreference "capacity-reservation-only"
```

다음 예제는 용량 예약 기본 설정을 `capacity-reservation-only`로 변경하고 대상을 특정 용량 예약으로 변경합니다. 지정된 용량 예약에서 용량을 사용할 수 없는 경우 인스턴스 시작이 실패합니다.

```
Edit-EC2InstanceCapacityReservationAttribute `
    -InstanceId i-1234567890abcdef0 `
    -CapacityReservationSpecification_CapacityReservationPreference "capacity-reservation-only" `
    -CapacityReservationTarget_CapacityReservationId cr-1234567890abcdef0
```

------

# 용량 예약 간 용량 이동
<a name="capacity-reservations-move"></a>

한 용량 예약에서 다른 용량 예약으로 용량을 이동하여 필요에 따라 예약된 컴퓨팅 리소스를 재분배할 수 있습니다. 예를 들어 사용량이 늘어나면서 용량 예약에 추가 용량이 필요하고 다른 용량 예약에 가용 용량이 있는 경우, 두 예약 간에 용량을 재할당할 수 있습니다.

## 용량 이동을 위한 전제 조건
<a name="capacity-reservations-move-prereq"></a>

두 용량 예약은 다음 요구 사항을 전제 조건으로 충족해야 합니다.
+ 두 예약 모두 활성 상태여야 합니다.
+ 두 예약 모두 사용자 AWS 계정의 소유여야 합니다. 다른 AWS 계정이 소유한 예약 간에는 용량을 이동할 수 없습니다.
+ 두 예약 모두 다음이 동일해야 합니다.
  + 인스턴스 유형
  + 플랫폼
  + 가용 영역
  + Tenancy
  + 배치 그룹
  + 종료 시간

대상 용량 예약 인스턴스 자격(`open` 또는 `targeted`)과 태그가 원본 예약과 일치할 필요는 없습니다. 원본 예약의 용량은 줄어들고 대상 예약의 용량은 증가했다는 점을 제외하고 두 예약의 구성은 동일하게 유지됩니다.

이동할 인스턴스의 양을 지정할 때 기본적으로 사용 가능한 용량이 먼저 이동되고, 그 다음으로 실행 중인 적격 인스턴스(예약에서 사용된 용량)가 이동됩니다. 예를 들어 사용된 인스턴스 5개와 사용 가능한 인스턴스 3개가 있는 예약에서 인스턴스 4개를 이동하면 사용 가능한 인스턴스 3개와 사용된 인스턴스 1개가 이동합니다.

**참고**  
사용 가능한 용량보다 큰 **이동할 수량**을 지정하여 예약에서 사용된 용량을 이동하면 **용량 예약 사양**이 `open`인 시작된 인스턴스만 이동됩니다.

## 고려 사항
<a name="capacity-reservations-move-considerations"></a>

한 예약에서 다른 예약으로 용량을 이동할 때 다음 고려 사항이 적용됩니다.
+ 사용된 용량은 동일한 계정 집합과 공유되는 `open` 인스턴스 자격 요건을 가진 용량 예약 간에만 이동할 수 있습니다.
+ 사용된 용량을 이동하면 적격 인스턴스가 무작위로 선택됩니다. 실행 중인 어떤 인스턴스가 이동되는지 지정할 수는 없습니다. 이동 수량을 충족할 충분한 수의 적격 인스턴스를 찾지 못하면 이동 작업이 실패합니다.
+ 원본 예약에서 모든 용량을 이동하면 용량 예약이 자동으로 취소됩니다.
+ **장래 날짜 용량 예약** - 약정 기간 동안 장래 날짜 용량 예약의 용량을 이동할 수 없습니다.

**참고**  
용량 블록에서 용량을 이동하는 것은 지원되지 않습니다.

## 용량 이동
<a name="capacity-reservations-move-procedure"></a>

용량을 소스 용량 예약에서 대상 용량 예약으로 이동할 수 있습니다.

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

**용량을 이동하려면**

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

1. 왼쪽 탐색 창에서 **용량 예약**을 선택합니다.

1. 이동할 용량이 있는 온디맨드 용량 예약 ID를 선택합니다.

1. **작업**, **용량 관리**에서 **이동**을 선택합니다.

1. **용량 이동** 페이지의 **대상 용량 예약** 아래 목록에서 예약을 선택합니다.

1. **이동할 수량**에서 슬라이더를 사용하거나 원본 용량 예약에서 대상 용량 예약으로 이동할 인스턴스 수를 입력합니다.

1. 요약을 검토하고 준비가 되면 **이동**을 선택합니다.

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

**용량을 이동하려면**  
[move-capacity-reservation-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/move-capacity-reservation-instances.html) 명령을 사용합니다. 다음 예제는 10개의 인스턴스를 지정된 소스 용량 예약에서 지정된 대상 용량 예약으로 이동합니다.

```
aws ec2 move-capacity-reservation-instances \
    --source-capacity-reservation-id cr-1234567890abcdef0 \
    --destination-capacity-reservation-id cr-021345abcdef56789 \
    --instance-count 10
```

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

**용량을 이동하려면**  
[Move-EC2CapacityReservationInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Move-EC2CapacityReservationInstance.html) cmdlet을 사용합니다. 다음 예제는 10개의 인스턴스를 지정된 소스 용량 예약에서 지정된 대상 용량 예약으로 이동합니다.

```
Move-EC2CapacityReservationInstance `
    -SourceCapacityReservationId cr-1234567890abcdef0 `
    -DestinationCapacityReservationId cr-021345abcdef56789 `
    -InstanceCount 10
```

------

# 기존 용량 예약에서 용량 분할
<a name="capacity-reservations-split"></a>

기존 용량 예약에서 용량을 분할하여 새 용량 예약을 생성할 수 있습니다. 용량을 분할하면 원래 예약의 일부를 특정 워크로드에 할당하거나 다른 AWS 계정와 공유할 수 있습니다. 예를 들어 용량 예약을 다른 계정과 부분적으로 공유하려면 용량 중 일부를 분할하여 더 작은 크기의 용량 예약을 생성합니다. 그러면 [AWS Resource Access Manager](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html)를 사용하여 더 작은 크기의 용량 예약을 다른 계정과 공유할 수 있습니다.

기존 용량 예약에서 용량을 분할하면 새 용량 예약이 자동으로 생성됩니다. 분할된 인스턴스 수로 인해 총 용량이 감소하는 것을 제외하고 기존 용량 예약은 변경되지 않습니다. 기존 용량 예약에서 실행 중인 인스턴스는 영향을 받지 않습니다. 기존 예약을 하나의 새 용량 예약으로만 분할할 수 있습니다.

새 용량 예약은 태그를 제외하고 기존 용량 예약과 동일한 구성을 갖습니다. 기본적으로 새 용량 예약에는 태그가 없습니다. 분할 작업 중 새 태그를 지정할 수 있습니다. 필요한 경우 새 용량 예약을 생성한 후 수정할 수도 있습니다.

분할할 인스턴스의 양을 지정할 때 기본적으로 사용 가능한 용량이 먼저 분할되고, 그 다음으로 자격 있는 실행 중인 인스턴스(예약에서 사용된 용량)가 분할됩니다. 예를 들어 사용된 인스턴스 5개와 사용 가능한 인스턴스 3개가 있는 용량 예약에서 인스턴스 4개를 분할하면 사용 가능한 인스턴스 3개와 사용된 인스턴스 1개가 새 예약으로 분할됩니다.

## 용량 분할을 위한 전제 조건
<a name="capacity-reservations-split-prereq"></a>

용량 예약은 다음 요구 사항을 전제 조건으로 충족해야 합니다.
+ 원본 예약이 활성 상태여야 합니다.
+ 원본 예약이 사용자 AWS 계정의 소유여야 합니다.

**참고**  
사용 가능한 용량보다 큰 **분할할 수량**을 지정하여 예약에서 사용된 용량을 분할하면 **용량 예약 사양**이 `open`인 시작된 인스턴스만 분할됩니다.

## 고려 사항
<a name="capacity-reservations-split-considerations"></a>

한 예약에서 새 예약으로 용량을 분할할 때 다음 고려 사항이 적용됩니다.
+ 사용된 용량은 어떤 계정과도 공유되지 않는 ‘open’ 인스턴스 자격이 있는 용량 예약인 경우에만 분할할 수 있습니다.
+ 사용된 용량을 분할하면 적격 인스턴스가 무작위로 선택됩니다. 실행 중인 어떤 인스턴스가 분할되는지는 지정할 수 없습니다. 분할 수량을 충족할 충분한 수의 적격 인스턴스를 찾지 못하면 분할 작업이 실패합니다.
+ 기존 예약에서 분할할 수 있는 최대 인스턴스 수는 예약 크기에서 1을 뺀 값입니다. 예를 들어 예약의 총 용량이 인스턴스 5개인 경우 최대 4개의 인스턴스를 새 예약으로 분할할 수 있습니다.
+ **장래 날짜 용량 예약** - 약정 기간 동안 장래 날짜 용량 예약의 용량을 분할할 수 없습니다.
+ **리소스 그룹** - 기존 용량 예약이 리소스 그룹에 속하는 경우 새 용량 예약이 리소스 그룹에 자동으로 추가되지 않습니다. 필요한 경우 새 용량 예약을 생성한 후 리소스 그룹에 추가할 수 있습니다.
+ **공유** - 기존 용량 예약을 소비자 계정과 공유하는 경우 새 용량 예약이 소비자 계정과 자동으로 공유되지 않습니다. 필요한 경우 새 용량 예약을 생성한 후 공유할 수 있습니다.
+ **클러스터 배치 그룹** - 기존 용량 예약이 클러스터 배치 그룹의 일부인 경우 동일한 클러스터 배치 그룹에 새 용량 예약이 생성됩니다.

**참고**  
용량 블록에서 용량을 분할하는 것은 지원되지 않습니다.

## 태그를 사용하여 용량 예약 분할을 위한 액세스 제어
<a name="capacity-reservations-split-permissions"></a>

태그를 사용하여 Amazon EC2 리소스에 대한 액세스를 제어할 수 있습니다. 여기에는 기존 용량 예약에서 용량을 분할하여 새 용량 예약을 생성하는 것도 포함됩니다. 자세한 내용은 *IAM 사용 설명서*의 [태그를 사용하여 AWS 리소스에 대한 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)를 참조하세요.

태그를 사용하여 용량 예약 분할에 대한 액세스를 제어하려면 IAM 정책이 원본 용량 예약과 새로 생성된 용량 예약 모두에 대해 평가되므로 정책 문에 리소스 태그와 요청 태그를 모두 지정해야 합니다. 다음 예제 정책에는 원본 용량 예약에 대한 `Owner=ExampleDepartment1` 태그가 있는 `ec2:ResourceTag` 조건 키와 새로 생성된 용량 예약에 대한 `stack=production` 태그가 있는 `ec2:RequestTag` 조건 키가 포함되어 있습니다.

```
{
  "Statement": [
    {
      "Sid": "AllowSourceCapacityReservation",
      "Effect": "Allow",
      "Action": "ec2:CreateCapacityReservationBySplitting",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:capacity-reservation/cr-1234567890abcdef0",
      "Condition": {
        "StringEquals": {
          "ec2:ResourceTag/Owner": "ExampleDepartment1"
        }
      }
    },
    {
      "Sid": "AllowNewlyCreatedCapacityReservation",
      "Effect": "Allow",
      "Action": ["ec2:CreateCapacityReservationBySplitting", "ec2:CreateTags"],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:capacity-reservation/*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/stack": "production"
        }
      }
    }
  ]
}
```

## 용량 분할
<a name="capacity-reservations-split-procedures"></a>

기존 용량 예약에서 용량을 분할하여 새 용량 예약을 생성할 수 있습니다.

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

**용량을 분할하려면**

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

1. 왼쪽 탐색 창에서 **용량 예약**을 선택합니다.

1. 분할할 용량이 있는 온디맨드 용량 예약 ID를 선택합니다.

1. **작업**, **용량 관리**에서 **분할**을 선택합니다.

1. **용량 예약 분할** 페이지의 **분할할 양**에서 슬라이더를 사용하거나 현재 예약에서 분할할 인스턴스 수를 입력합니다.

1. (선택 사항) 새 용량 예약에 대한 태그를 추가합니다.

1. 요약을 검토하고 준비가 되면 **분할**을 선택합니다.

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

**용량을 분할하려면**  
`create-capacity-reservation-by-splitting` 명령을 사용합니다. 다음 예제는 지정된 용량 예약에서 10개의 인스턴스를 분할하여 새 용량 예약을 생성합니다.

```
aws ec2 create-capacity-reservation-by-splitting \
    --source-capacity-reservation-id cr-1234567890abdef0 \
    --instance-count 10
```

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

**용량을 분할하려면**  
[New-EC2CapacityReservationBySplitting](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2CapacityReservationBySplitting.html) cmdlet을 사용합니다. 다음 예제는 지정된 용량 예약에서 10개의 인스턴스를 분할하여 새 용량 예약을 생성합니다.

```
New-EC2CapacityReservationBySplitting `
    -SourceCapacityReservationId cr-1234567890abdef0 `
    -InstanceCount 10
```

------

# 용량 예약 취소
<a name="capacity-reservations-release"></a>

다음 상태 중 하나인 용량 예약은 취소할 수 있습니다.
+ `assessing`
+ `active`이고 약정 기간이 없거나 약정 기간이 경과한 용량 예약. 약정 기간 중에는 장래 날짜 용량 예약을 취소할 수 없습니다.

**참고**  
용량 블록은 수정하거나 취소할 수 없습니다. 자세한 내용은 [ML용 용량 블록](ec2-capacity-blocks.md) 섹션을 참조하세요.

장래 날짜 용량 예약이 `delayed` 상태가 되면 약정 기간이 면제되며, `active` 상태가 되는 즉시 취소할 수 있습니다.

용량 예약을 취소할 경우 해당 용량이 즉시 해지되고 더 이상 사용 용량으로 예약되지 않습니다.

인스턴스를 실행 중인 용량 예약과 빈 용량 예약을 취소할 수 있습니다. 인스턴스를 실행 중인 용량 예약을 취소할 경우 인스턴스가 일반적으로 표준 온디맨드 인스턴스 요율이나 할인된 요율(일치하는 절감형 플랜 또는 리전 예약 인스턴스가 있는 경우)로 용량 예약 외부에서 계속 정상적으로 실행됩니다.

용량 예약을 취소한 후에는 해당 용량 예약으로 지정된 인스턴스를 더 이상 시작할 수 없습니다. 다른 용량 예약으로 지정되거나, 일치하는 속성 및 충분한 용량이 있는 '열린' 용량 예약으로 시작하거나, 용량 예약으로 시작하지 않도록 이러한 인스턴스를 수정합니다. 자세한 내용은 [인스턴스의 용량 예약 설정 수정](capacity-reservations-modify-instance.md) 섹션을 참조하세요.

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

**용량 예약을 취소하려면**

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

1. **용량 예약**을 선택하고 취소할 용량 예약을 선택합니다.

1. **예약 취소**, **예약 취소**를 선택합니다.

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

**용량 예약을 취소하려면**  
[cancel-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-capacity-reservation.html) 명령을 사용합니다.

```
aws ec2 cancel-capacity-reservation \
    --capacity-reservation-id cr-1234567890abcdef0
```

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

**용량 예약을 취소하려면**  
[Remove-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2CapacityReservation.html) cmdlet을 사용합니다.

```
Remove-EC2CapacityReservation `
    -CapacityReservationId cr-1234567890abcdef0
```

------

# 클러스터 배치 그룹에서 용량 예약 사용
<a name="cr-cpg"></a>

클러스터 배치 그룹에서 용량 예약을 생성하여 워크로드에 대한 Amazon EC2 컴퓨팅 용량을 예약할 수 있습니다. 클러스터 배치 그룹은 짧은 네트워크 대기 시간과 높은 네트워크 처리량이라는 이점을 제공합니다.

클러스터 배치 그룹에서 용량 예약을 생성하면 필요할 때 필요한 만큼 클러스터 배치 그룹의 컴퓨팅 용량에 액세스할 수 있습니다. 이는 컴퓨팅 크기 조정이 필요한 고성능(HPC) 워크로드를 위한 용량을 예약하는 데 이상적입니다. 이를 통해 필요할 때 다시 확장할 수 있도록 용량을 사용할 수 있는 상태로 유지하면서 클러스터를 축소할 수 있습니다.

클러스터 배치 그룹에서 용량 예약을 생성한 다음 다른 AWS 계정과 공유할 수 있습니다. 자세한 내용은 [클러스터 배치 그룹에서 용량 예약 공유](#cpg-cr-sharing) 섹션을 참조하세요.

**Topics**
+ [제한 사항](#cr-cpg-limitations)
+ [클러스터 배치 그룹의 용량 예약 작업](#work-with-crs-cpgs)
+ [클러스터 배치 그룹에서 용량 예약 공유](#cpg-cr-sharing)

## 제한 사항
<a name="cr-cpg-limitations"></a>

클러스터 배치 그룹에서 용량 예약을 생성할 때 다음 사항에 유의하세요.
+ 기존의 용량 예약이 배치 그룹에 없으면 용량 예약을 수정하여 배치 그룹의 용량을 예약할 수 없습니다. 배치 그룹에서 용량을 예약하려면 배치 그룹에서 용량 예약을 생성해야 합니다.
+ 배치 그룹에서 용량 예약을 생성한 후에는 배치 그룹 외부에서 용량을 예약하도록 수정할 수 없습니다.
+ 배치 그룹에서 기존 용량 예약을 수정하거나 배치 그룹에서 추가 용량 예약을 생성하여 배치 그룹에서 예약 용량을 늘릴 수 있습니다. 그러나 용량 부족 오류가 발생할 가능성이 높아집니다.
+ 본인이 소유한 클러스터 배치 그룹에서만 용량 예약을 공유할 수 있습니다. 본인이 소유하지 않은 클러스터 배치 그룹에서는 용량 예약을 공유할 수 없습니다.
+ `active` 용량 예약이 있는 클러스터 배치 그룹은 삭제할 수 없습니다. 클러스터 배치 그룹의 모든 용량 예약을 취소해야 클러스터 배치 그룹을 삭제할 수 있습니다.

## 클러스터 배치 그룹의 용량 예약 작업
<a name="work-with-crs-cpgs"></a>

클러스터 배치 그룹과 함께 용량 예약 사용을 시작하려면 다음 단계를 수행하세요.

**참고**  
기존 클러스터 배치 그룹에서 용량 예약을 생성하려면 1단계를 건너뜁니다. 그런 다음 2단계와 3단계에서 기존 클러스터 배치 그룹의 ARN을 지정합니다.

**Topics**
+ [1단계: (*조건부*) 용량 예약에 사용할 클러스터 배치 그룹 생성](#create-cpg)
+ [2단계: 클러스터 배치 그룹에서 용량 예약 생성](#create-cr-in-cpg)
+ [3단계: 클러스터 배치 그룹의 용량 예약으로 인스턴스 시작](#launch-instance-into-cpg)

### 1단계: (*조건부*) 용량 예약에 사용할 클러스터 배치 그룹 생성
<a name="create-cpg"></a>

새 클러스터 배치 그룹을 생성해야 하는 경우에만 이 단계를 수행합니다. 기존 클러스터 배치 그룹을 사용하려면 이 단계를 건너뛰고 2단계와 3단계에서 해당 클러스터 배치 그룹의 ARN을 사용합니다.

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

**클러스터 배치 그룹을 생성하려면 다음을 수행하세요.**

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

1. 탐색 창에서 **배치 그룹(Placement Groups)**과 **배치 그룹 생성(Create placement group)**을 차례로 선택합니다.

1. **이름(Name)**에 배치 그룹을 설명하는 이름을 지정합니다.

1. **배치 전략(Placement strategy)**에서 **클러스터(Cluster)**를 선택합니다.

1. **그룹 생성**을 선택합니다.

1. **배치 그룹** 표의 **그룹 ARN** 열에 생성한 클러스터 배치 그룹의 ARN을 기록해 둡니다. 이 정보는 다음 단계에 필요합니다.

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

**클러스터 배치 그룹을 생성하려면 다음을 수행하세요.**  
[create-placement-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-placement-group.html) 명령을 사용합니다.

```
aws ec2 create-placement-group \
    --group-name MyPG \
    --strategy cluster
```

다음 단계에 필요하므로 출력에 반환된 배치 그룹 ARN을 기록해 둡니다.

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

**클러스터 배치 그룹을 생성하려면 다음을 수행하세요.**  
[New-EC2PlacementGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2PlacementGroup.html) cmdlet을 사용합니다.

```
New-EC2PlacementGroup `
    -GroupName my-placement-group `
    -Strategy "cluster"
```

다음 단계에 필요하므로 출력에 반환된 배치 그룹 ARN을 기록해 둡니다.

------

### 2단계: 클러스터 배치 그룹에서 용량 예약 생성
<a name="create-cr-in-cpg"></a>

용량 예약을 생성하는 것과 동일한 방식으로 클러스터 배치 그룹에서 용량 예약을 생성합니다. 그러나 용량 예약을 생성할 클러스터 배치 그룹의 ARN도 지정해야 합니다.

**고려 사항**
+ 지정된 클러스터 배치 그룹은 `available` 상태여야 합니다. 클러스터 배치 그룹이 `pending`, `deleting` 또는 `deleted` 상태인 경우 요청이 실패합니다.
+ 용량 예약과 클러스터 배치 그룹은 동일한 가용 영역에 있어야 합니다. 용량 예약 생성 요청이 클러스터 배치 그룹의 가용 영역과 다른 가용 영역을 지정하면 요청이 실패합니다.
+ 클러스터 배치 그룹에서 지원하는 인스턴스 유형에 대해서만 용량 예약을 생성할 수 있습니다. 지원되지 않는 인스턴스를 지정하면 요청이 실패합니다.
+ 클러스터 배치 그룹에서 `open` 용량 예약을 생성하고 일치하는 속성(배치 그룹 ARN, 인스턴스 유형, 가용 영역, 플랫폼 및 테넌시)이 있는 실행 중인 기존 인스턴스가 있는 경우 해당 인스턴스는 용량 예약에서 자동으로 실행됩니다.
+ 다음 중 하나에 해당하는 경우 용량 예약 생성 요청이 실패할 수 있습니다.
  + Amazon EC2에 용량이 충분하지 않아서 요청을 이행할 수 없습니다. 나중에 다시 시도하거나, 다른 가용 영역을 사용하거나, 용량을 줄여서 시도하세요. 애플리케이션이 인스턴스 유형 및 크기 면에서 유연한 경우 다른 인스턴스 속성으로 사용해 봅니다.
  + 요청한 수량이 선택한 인스턴스 패밀리에 대한 온디맨드 인스턴스 제한을 초과합니다. 인스턴스 패밀리에 대한 온디맨드 인스턴스 제한을 늘리고 다시 시도하세요. 자세한 내용은 [온디맨드 인스턴스 할당량](ec2-on-demand-instances.md#ec2-on-demand-instances-limits) 섹션을 참조하세요.

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

**용량 예약을 생성하려면**

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

1. **용량 예약**을 선택한 후 **용량 예약 생성**을 선택합니다.

1. **용량 예약 생성** 페이지에서 필요에 따라 인스턴스 유형, 플랫폼, 가용 영역, 테넌시, 수량 및 종료 날짜를 지정합니다.

1. **배치 그룹**에서 용량 예약을 생성할 클러스터 배치 그룹의 ARN을 선택합니다.

1. **생성(Create)**을 선택합니다.

자세한 내용은 [용량 예약 생성](capacity-reservations-create.md) 섹션을 참조하세요.

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

**용량 예약을 생성하려면**  
[create-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-capacity-reservation.html) 명령을 사용합니다. `--placement-group-arn`에 대해 용량 예약을 생성할 클러스터 배치 그룹의 ARN을 지정합니다.

```
aws ec2 create-capacity-reservation \
    --instance-type instance_type \
    --instance-platform platform \
    --availability-zone-id az_id \
    --instance-count quantity \
    --placement-group-arn "placement_group_arn"
```

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

**용량 예약을 생성하려면**  
[Add-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2CapacityReservation.html) cmdlet을 사용합니다. `-PlacementGroupArn`에 대해 용량 예약을 생성할 클러스터 배치 그룹의 ARN을 지정합니다.

```
Add-EC2CapacityReservation `
    -InstanceType instance_type `
    -InstancePlatform platform `
    -AvailabilityZoneId az_id `
    -InstanceCount quantity `
    -PlacementGroupArn "placement_group_arn"
```

------

### 3단계: 클러스터 배치 그룹의 용량 예약으로 인스턴스 시작
<a name="launch-instance-into-cpg"></a>

다음 옵션 중 하나를 사용하여 클러스터 배치 그룹의 용량 예약으로 인스턴스를 시작할 수 있습니다.
+ *인스턴스를 시작할 클러스터 배치 그룹의 ARN 지정* - 클러스터 배치 그룹의 ARN을 제공하면 Amazon EC2가 해당 클러스터 배치 그룹에서 인스턴스를 시작합니다. 다음 방법 중 하나를 사용할 수 있습니다.
  + *`open` 지정* - 인스턴스 시작 요청에서 용량 예약을 지정할 필요가 없습니다. 인스턴스에 지정한 배치 그룹의 용량 예약과 일치하는 속성(배치 그룹 ARN, 인스턴스 유형, 가용 영역, 플랫폼 및 테넌시)이 있는 경우 인스턴스가 용량 예약에서 자동으로 실행됩니다.
  + *용량 예약 지정* - 용량 예약이 대상 인스턴스 시작만 허용하는 경우 요청에 클러스터 배치 그룹과 함께 목표 용량 예약을 지정해야 합니다.
  + *용량 예약 그룹 지정* - 자세한 내용은 [용량 예약 그룹이 포함된 클러스터 배치 그룹에서 용량 예약 사용](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cpg-odcr-crg.html)을 참조하세요.
+ *용량 예약 그룹만 지정* - 자세한 내용은 [용량 예약 그룹이 포함된 클러스터 배치 그룹에서 용량 예약 사용](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cpg-odcr-crg.html)을 참조하세요.
+ *용량 예약만 지정* - 클러스터 배치 그룹의 용량 예약으로 인스턴스를 시작할 수 있습니다.
**참고**  
용량 예약만 지정하거나 용량 예약 그룹만 지정하여 인스턴스를 시작하면 인스턴스는 클러스터 배치 그룹에 생성된 용량 예약으로 시작되지만 인스턴스는 클러스터 배치 그룹에 직접 연결되지 않습니다.

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

**인스턴스를 기존 용량 예약으로 시작하려면**

1. 절차에 따라 [인스턴스를 시작](ec2-launch-instance-wizard.md)하되 다음 단계를 완료하여 배치 그룹 및 용량 예약 설정을 지정할 때까지 인스턴스를 시작하지 마세요.

1. **고급 세부 정보**를 열고 다음을 수행합니다.

   1. **배치 그룹**의 경우 인스턴스를 시작할 클러스터 배치 그룹을 선택합니다.

   1. **용량 예약(Capacity Reservation)**에서 용량 예약 구성에 따라 다음 옵션 중 하나를 선택합니다.
      + **열림** - 일치하는 속성과 충분한 용량이 있는 클러스터 배치 그룹의 `open` 용량 예약으로 인스턴스를 시작합니다.
      + **ID별 대상** - 대상 인스턴스 시작만 허용하는 용량 예약으로 인스턴스를 시작합니다.
      + **그룹별 대상 지정** - 선택한 용량 예약 그룹에서 일치하는 속성 및 가용 용량이 있는 용량 예약으로 인스턴스를 시작합니다.

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) 명령을 사용합니다. 특정 용량 예약 또는 용량 예약 그룹을 대상으로 지정해야 하는 경우 `--capacity-reservation-specification` 파라미터를 지정합니다. `--placement`에 대해 `GroupName` 파라미터를 지정한 다음 이전 단계에서 생성한 배치 그룹의 이름을 지정합니다.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --count quantity \
    --instance-type instance_type \
    --key-name key_pair_name \
    --subnet-id subnet-0abcdef1234567890 \
    --capacity-reservation-specification CapacityReservationTarget={CapacityReservationId=capacity_reservation_id} \
    --placement "GroupName=cluster_placement_group_name"
```

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

**인스턴스를 기존 용량 예약으로 시작하려면**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet을 사용합니다. `-Placement`에 대해 `GroupName` 파라미터를 지정한 다음 이전 단계에서 생성한 배치 그룹의 이름을 지정합니다.

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType instance_type `
    -KeyName key_pair_name `
    -SubnetId subnet-0abcdef1234567890 `
    -CapacityReservationTarget_CapacityReservationId capacity_reservation_id `
    -Placement_GroupName cluster_placement_group_name
```

------

## 클러스터 배치 그룹에서 용량 예약 공유
<a name="cpg-cr-sharing"></a>

용량 예약만 공유하거나 용량 예약과 용량 예약이 생성된 클러스터 배치 그룹을 모두 공유하여 클러스터 배치 그룹에서 용량 예약을 공유할 수 있습니다.

용량 예약만 공유하면 소비자 계정에 해당 용량 예약에 대한 액세스 권한만 부여할 수 있습니다. 소비자 계정은 용량 예약이 생성된 클러스터 배치 그룹에 대한 가시성이나 액세스 권한이 없습니다. 이를 통해 소비자 계정 액세스를 세밀하게 제어할 수 있습니다. 소비자 계정은 ARN을 포함하여 클러스터 배치 그룹에 대한 정보를 볼 수 없습니다.

클러스터 배치 그룹과 용량 예약을 공유하면 소비자 계정이 클러스터 배치 그룹을 보고 액세스할 수 있습니다. 인스턴스를 시작하고 인스턴스에서 자체 용량 예약을 생성할 수 있습니다.

자세한 정보는 다음 리소스를 참조하세요.
+ [클러스터 배치 그룹의 용량 예약으로 인스턴스 시작](#launch-instance-into-cpg)
+ [공유 용량 예약](capacity-reservation-sharing.md)
+ [공유된 배치 그룹](share-placement-group.md)

# 용량 예약 그룹
<a name="create-cr-group"></a>

AWS Resource Groups를 사용하여 *리소스 그룹*이라고 하는 용량 예약의 논리적 모음을 생성할 수 있습니다. 리소스 그룹은 모두 동일한 AWS 리전에 있는 AWS 리소스의 논리적 그룹입니다. Resource Groups에 대한 자세한 내용은 *AWS Resource Groups 사용 설명서*의 [리소스 그룹이란 무엇입니까?](https://docs.aws.amazon.com/ARG/latest/userguide/)를 참조하세요.

내 계정에서 내가 소유하고 있는 용량 예약, 그리고 다른 AWS 계정에서 나와 공유한 용량 예약을 단일 리소스 그룹에 포함할 수 있습니다. 또한 서로 다른 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)이 있는 용량 예약을 단일 리소스 그룹에 포함할 수도 있습니다.

용량 예약에 대한 리소스 그룹을 생성할 때 인스턴스를 개별 용량 예약 대신 용량 예약의 그룹으로 지정할 수 있습니다. 용량 예약 그룹을 대상으로 하는 인스턴스는 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)과 사용 가능한 용량이 있는 그룹의 모든 용량 예약과 일치합니다. 그룹에 일치하는 속성 및 가용 용량이 있는 용량 예약이 없는 경우 인스턴스는 온디맨드 용량을 사용하여 실행됩니다. 이후 단계에서 대상 지정 그룹에 일치하는 용량 예약이 추가되면 인스턴스가 예약 용량과 자동으로 일치되고 해당 예약 용량으로 이동합니다.

그룹에서 용량 예약의 의도하지 않은 사용을 방지하려면 명시적으로 용량 예약을 지정하는 인스턴스만 허용하도록 그룹에서 용량 예약을 구성합니다. 이렇게 하려면 Amazon EC2 콘솔을 사용하여 용량 예약을 생성할 때 **인스턴스 자격**을 **이 예약을 지정하는 인스턴스만**으로 설정합니다. AWS CLI를 사용하는 경우 용량 예약을 생성할 때 `--instance-match-criteria targeted`를 지정합니다. 이렇게 하면 그룹 또는 그룹의 용량 예약을 명시적으로 지정하는 인스턴스만 그룹에서 실행할 수 있습니다.

실행 중인 인스턴스가 있을 때 그룹의 용량 예약이 취소되거나 만료되는 경우 인스턴스는 일치하는 속성 및 가용 용량이 있는 그룹에서 다른 용량 예약 인스턴스로 자동으로 이동됩니다. 일치하는 속성 및 가용 용량이 있는 그룹에 남은 용량 예약이 없는 경우 인스턴스는 온디맨드 용량으로 실행됩니다. 이후 단계에서 대상 지정 그룹에 일치하는 용량 예약이 추가되면 인스턴스가 예약 용량으로 자동으로 이동합니다.

**Topics**
+ [그룹 생성](create-group.md)
+ [그룹에 용량 예약 추가](add-to-group.md)
+ [그룹에서 용량 예약 제거](remove-from-group.md)
+ [그룹 삭제](delete-group.md)
+ [용량 예약 그룹이 포함된 클러스터 배치 그룹에서 용량 예약 사용](using-cpg-odcr-crg.md)

# 용량 예약 그룹 생성
<a name="create-group"></a>

다음 예제를 사용하여 다음과 같은 요청 파라미터로 용량 예약에 대한 리소스 그룹을 생성할 수 있습니다.
+ `AWS::EC2::CapacityReservationPool` - 리소스 그룹이 인스턴스 시작 대상으로 지정될 수 있도록 합니다.
+ `allowed-resource-types`가 `AWS::EC2::CapacityReservation`으로 설정된 `AWS::ResourceGroups::Generic` - 리소스 그룹이 용량 예약만 허용하도록 합니다.

그룹을 생성한 후 그룹에 [용량 예약을 추가](add-to-group.md)할 수 있습니다.

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

**용량 예약의 그룹을 생성하려면**  
[create-group](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/create-group.html) AWS CLI 명령을 사용합니다.

```
aws resource-groups create-group \
    --name MyCRGroup \
    --configuration \
        '{"Type": "AWS::EC2::CapacityReservationPool"}' \
        '{"Type": "AWS::ResourceGroups::Generic", "Parameters": [{"Name": "allowed-resource-types", "Values": ["AWS::EC2::CapacityReservation"]}]}'
```

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

**용량 예약의 그룹을 생성하려면**  
[New-RGGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-RGGroup.html) cmdlet을 사용합니다.

```
New-RGGroup `
    -Name MyCRGroup `
    -Configuration `
        @{"Type"="AWS::EC2::CapacityReserationPool"} `
        @{"Type"="AWS::ResourceGroups::Generic"; "Parameters"=@{"allowed-resource-types"=@{"Values"="AWS::EC2::CapacityReservations"}}}
```

------

# 그룹에 용량 예약 추가
<a name="add-to-group"></a>

공유된 용량 예약을 그룹에 추가한 후 해당 용량 예약이 공유되지 않을 경우, 해당 용량 예약이 그룹에서 자동으로 제거됩니다.

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

**그룹에 용량 예약을 추가하려면**  
[group-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/group-resources.html) 명령을 사용합니다.

다음 예제는 2개의 용량 예약을 지정된 그룹에 추가합니다.

```
aws resource-groups group-resources \
    --group MyCRGroup \
    --resource-arns \
        arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1 \
        arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890
```

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

**그룹에 용량 예약을 추가하려면**  
[Add-RGResource](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-RGResource.html) cmdlet을 사용합니다.

다음 예제는 2개의 용량 예약을 지정된 그룹에 추가합니다.

```
Add-RGResource `
    -Group MyCRGroup `
    -ResourceArn `
        "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1", `
        "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890"
```

------

# 그룹에서 용량 예약 제거
<a name="remove-from-group"></a>

다음 예제를 사용하여 그룹에서 용량 예약을 제거할 수 있습니다.

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

**그룹에서 용량 예약을 제거하려면**  
[ungroup-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/ungroup-resources.html) 명령을 사용합니다.

다음 예제는 지정된 그룹에서 2개의 용량 예약을 제거합니다.

```
aws resource-groups ungroup-resources \
    --group MyCRGroup \
    --resource-arns \
        arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-0e154d26a16094dd \
        arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890
```

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

**그룹에서 용량 예약을 제거하려면**  
[Remove-RGResource](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-RGResource.html) cmdlet을 사용합니다.

다음 예제는 지정된 그룹에서 2개의 용량 예약을 제거합니다.

```
Remove-RGResource `
    -Group MyCRGroup `
    -ResourceArn `
        "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-0e154d26a16094dd", `
        "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890"
```

------

# 용량 예약 그룹 삭제
<a name="delete-group"></a>

다음 예제를 사용하여 용량 예약 그룹을 삭제할 수 있습니다.

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

**그룹을 삭제하려면**  
[delete-group](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/delete-group.html) 명령을 사용합니다.

```
aws resource-groups delete-group --group MyCRGroup
```

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

**그룹을 삭제하려면**  
[Remove-RGGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-RGGroup.html) cmdlet을 사용합니다.

```
Remove-RGGroup -GroupName MyCRGroup
```

------

# 용량 예약 그룹이 포함된 클러스터 배치 그룹에서 용량 예약 사용
<a name="using-cpg-odcr-crg"></a>

Amazon EC2는 용량 예약 그룹이 포함된 클러스터 배치 그룹에서 용량 예약을 사용할 수 있는 다양한 시작 방법을 제공합니다. 워크로드 요구 사항에 따라 용량 예약 그룹을 대상으로 지정할 때 다음 방법 중 하나를 선택할 수 있습니다.
+ *클러스터 배치 그룹 및 용량 예약 그룹의 ARN 지정* - 이 옵션은 선택한 용량 예약 그룹과 일치하는 속성 및 가용 용량이 있는 사용 가능한 용량 예약을 사용합니다. 선택한 그룹에 일치하는 속성 및 가용 용량이 있는 용량 예약이 없는 경우 인스턴스는 온디맨드 용량으로 시작됩니다.
**참고**  
인스턴스를 시작할 때 이 옵션을 사용하면 인스턴스가 지정된 클러스터 배치 그룹에 배치됩니다.
+ *용량 예약 그룹만 지정* - 이 옵션은 용량 예약 그룹만 지정하여 용량 예약 그룹 내에서 사용 가능한 모든 용량을 사용합니다. 인스턴스를 시작하는 동안 용량은 다음 순서로 사용됩니다.
  + 클러스터 배치 그룹과 연결되지 않은 용량 예약.
  + 용량 예약 그룹 내 클러스터 배치 그룹의 용량 예약.
  + 그룹과 일치하는 속성 및 가용 용량이 있는 용량 예약이 없는 경우 인스턴스는 온디맨드 용량을 사용해 실행되며 어떤 클러스터 배치 그룹에도 배치되지 않습니다.
**참고**  
용량 예약 그룹만 지정하여 인스턴스를 시작하면 인스턴스는 클러스터 배치 그룹에 생성된 용량 예약으로 시작되지만 인스턴스는 클러스터 배치 그룹에 직접 연결되지 않습니다.

# 로컬 영역의 용량 예약
<a name="capacity-reservations-localzones"></a>

로컬 영역은 사용자와 지리적으로 가까운 AWS 리전의 확장입니다. 로컬 영역에서 생성된 리소스는 지연 시간이 매우 짧은 통신으로 로컬 사용자에게 제공될 수 있습니다. 자세한 내용은 [AWS 로컬 영역](https://aws.amazon.com/about-aws/global-infrastructure/localzones/)을 참조하세요.

로컬 영역에 새 서브넷을 생성하여 VPC를 상위 AWS 리전에서 로컬 영역으로 확장할 수 있습니다. 로컬 영역에 서브넷을 생성하면 VPC도 해당 로컬 영역으로 확장됩니다. 로컬 영역의 서브넷은 VPC의 다른 서브넷과 동일하게 작동합니다.

로컬 영역을 사용하면 사용자와 가까운 여러 위치에 용량 예약을 배치할 수 있습니다. 일반 가용 영역에서 용량 예약을 생성하고 사용하는 것과 같은 방식으로 로컬 영역에서 용량 예약을 생성하고 사용합니다. 동일한 기능 및 인스턴스 일치 동작이 적용됩니다. 로컬 영역에서 지원되는 요금 모델에 대한 자세한 내용은 [AWS 로컬 영역 FAQ](https://aws.amazon.com/about-aws/global-infrastructure/localzones/faqs/)를 참조하세요.

**고려 사항**  
로컬 영역에서는 용량 예약 그룹을 사용할 수 없습니다.

**로컬 영역에서 용량 예약을 사용하려면**

1. AWS 계정에서 사용할 로컬 영역을 사용하도록 설정합니다. 자세한 내용은 *AWS 로컬 영역 사용 설명서*의 [AWS 로컬 영역 시작하기](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html)를 참조하세요.

1. 로컬 영역에 용량 예약을 생성합니다. [**가용 영역(Availability Zone)**]에서 로컬 영역을 선택합니다. 로컬 영역은 AWS 리전 코드 뒤에 위치를 나타내는 식별자를 붙여 표시됩니다(예: `us-west-2-lax-1a`). 자세한 내용은 [용량 예약 생성](capacity-reservations-create.md) 섹션을 참조하세요.

1. 로컬 영역에서 서브넷을 만듭니다. [**가용 영역(Availability Zone)**]에서 로컬 영역을 선택합니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC에서 서브넷 만들기](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html)를 참조하세요.

1. 인스턴스 시작. [**서브넷(Subnet)**]에서 로컬 영역의 서브넷(예: `subnet-123abc | us-west-2-lax-1a`)을 선택하고, **용량 예약**에서 로컬 영역에서 생성한 용량 예약에 필요한 사양(`open` 또는 ID로 지정)을 선택합니다. 자세한 내용은 [인스턴스를 기존 용량 예약으로 시작](capacity-reservations-launch.md) 섹션을 참조하세요.

# Wavelength 영역의 용량 예약
<a name="capacity-reservations-wavelengthzones"></a>

*AWS Wavelength*을(를) 사용하면 개발자는 모바일 디바이스 및 최종 사용자에게 매우 짧은 지연 시간을 제공하는 애플리케이션을 빌드할 수 있습니다. Wavelength는 표준 AWS 컴퓨팅 및 스토리지 서비스를 통신 사업자의 5G 네트워크 엣지에 배포합니다. Amazon Virtual Private Cloud(VPC)를 하나 이상의 Wavelength 영역으로 확장할 수 있습니다. 그런 다음 Amazon EC2 인스턴스와 같은 AWS 리소스를 사용하여 리전의 AWS 서비스에 대한 극도로 짧은 대기 시간 및 연결을 필요로 하는 애플리케이션을 실행할 수 있습니다. 자세한 내용은 [AWS Wavelength Zone](https://aws.amazon.com//wavelength/)을 참조하세요.

온디맨드 용량 예약을 생성할 때 Wavelength 영역을 선택하고 Wavelength 영역에 연결된 서브넷을 지정하여 Wavelength 영역의 용량 예약으로 인스턴스를 시작할 수 있습니다. Wavelength 영역은 AWS 리전 코드 뒤에 위치를 나타내는 식별자를 붙여 표시됩니다(예: `us-east-1-wl1-bos-wlz-1`).

Wavelength 영역은 일부 리전에서 사용할 수 없습니다. Wavelength 영역을 지원하는 리전에 대한 자세한 내용은 *AWS Wavelength 개발자 가이드*의 [사용 가능한 Wavelength 영역](https://docs.aws.amazon.com/wavelength/latest/developerguide/wavelength-quotas.html)을 참조하세요.

**고려 사항**  
Wavelength 영역에서는 용량 예약 그룹을 사용할 수 없습니다.

**Wavelength 영역에서 용량 예약을 사용하려면**

1. AWS 계정에서 사용할 Wavelength 영역을 사용하도록 설정합니다. 자세한 정보는 *AWS Wavelength개발자 가이드*에서 [AWS Wavelength 시작하기](https://docs.aws.amazon.com/wavelength/latest/developerguide/get-started-wavelength.html)를 참조하세요.

1. Wavelength 영역에 용량 예약을 생성합니다. [**가용 영역(Availability Zone)**]에서 Wavelength를 선택합니다. Wavelength는 AWS 리전 코드 뒤에 위치를 나타내는 식별자를 붙여 표시됩니다(예: `us-east-1-wl1-bos-wlz-1`). 자세한 내용은 [용량 예약 생성](capacity-reservations-create.md) 섹션을 참조하세요.

1. Wavelength 영역에서 서브넷을 생성합니다. [**가용 영역(Availability Zone)**]에서 Wavelength 영역을 선택합니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC에서 서브넷 만들기](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html)를 참조하세요.

1. 인스턴스 시작. [**서브넷(Subnet)**]에서 Wavelength 영역의 서브넷(예: `subnet-123abc | us-east-1-wl1-bos-wlz-1`)을 선택하고, **용량 예약**에서 Wavelength에서 생성한 용량 예약에 필요한 사양(`open` 또는 ID로 지정)을 선택합니다. 자세한 내용은 [인스턴스를 기존 용량 예약으로 시작](capacity-reservations-launch.md) 섹션을 참조하세요.

# AWS Outposts의 용량 예약
<a name="capacity-reservations-outposts"></a>

AWS Outposts은(는) AWS 인프라, 서비스, API 및 도구를 고객 온프레미스로 확장하는 완전관리형 서비스입니다. AWS 관리형 인프라에 대한 로컬 액세스를 제공하는 AWS Outposts을(를) 통해 고객은 AWS 리전에서 사용하는 것과 동일한 프로그래밍 인터페이스를 사용해 온프레미스에서 애플리케이션을 구축하고 실행할 수 있으며, 짧은 지연 시간과 로컬 데이터 처리가 필요한 경우에 로컬 컴퓨팅 및 스토리지 리소스를 사용할 수 있습니다.

Outpost는 고객 사이트에 배포된 AWS 컴퓨팅 및 스토리지 용량 풀입니다. AWS는 이 용량을 AWS 리전의 일부로 운영, 모니터링 및 관리합니다.

계정에 생성한 Outpost에서 용량 예약을 생성할 수 있습니다. 이렇게 하면 사이트의 Outpost에서 컴퓨팅 용량을 예약할 수 있습니다. 일반 가용 영역에서 용량 예약을 생성하고 사용하는 것과 같은 방식으로 Outpost에서 용량 예약을 생성하고 사용합니다. 동일한 기능 및 인스턴스 일치 동작이 적용됩니다.

또한 AWS Resource Access Manager를 사용하여 Outpost의 용량 예약을 조직 내의 다른 AWS 계정과 공유할 수 있습니다. 용량 예약 공유에 대한 자세한 내용은 [공유 용량 예약](capacity-reservation-sharing.md) 섹션을 참조하세요.

**사전 조건**  
사이트에 Outpost가 설치되어 있어야 합니다. 자세한 내용은 *AWS Outposts 사용 설명서*에서 [Outposts 생성 및 Outposts 용량 주문](https://docs.aws.amazon.com/outposts/latest/userguide/order-outpost-capacity.html)을 참조하세요.

**고려 사항**
+ Outpost에서는 용량 예약 그룹을 사용할 수 없습니다.

**Outpost에서 용량 예약을 사용하려면**

1. Outposts에서 서브넷을 생성합니다. 자세한 내용은 *AWS Outposts 사용 설명서*에서 [서브넷 생성](https://docs.aws.amazon.com/outposts/latest/userguide/launch-instance.html#create-subnet)을 참조하세요.

1. Outpost에서 용량 예약을 생성합니다.

   1. AWS Outposts 콘솔([https://console.aws.amazon.com/outposts/](https://console.aws.amazon.com/outposts/home))을 엽니다.

   1. 탐색 창에서 [**Outposts**]를 선택한 다음 [**작업(Actions)**], [**용량 예약 생성(Create Capacity Reservation)**]을 차례로 선택합니다.

   1. 필요에 따라 용량 예약을 구성한 다음 [**생성(Create)**]을 선택합니다. 자세한 내용은 [용량 예약 생성](capacity-reservations-create.md) 섹션을 참조하세요.
**참고**  
**인스턴스 유형(Instance Type)** 드롭다운 목록에는 선택한 Outpost에서 지원하는 인스턴스 유형만 나열되고, **가용 영역(Availability Zone)** 드롭다운에는 선택한 Outpost가 연결된 가용 영역만 나열됩니다.

1. 인스턴스를 용량 예약으로 시작 **서브넷(Subnet)**에서 1단계에서 생성한 서브넷을 선택하고, **용량 예약(Capacity Reservation)**에서 2단계에서 생성한 용량 예약을 선택합니다. 자세한 내용은 *AWS Outposts 사용 설명서*에서 [Outpost에서 인스턴스 시작](https://docs.aws.amazon.com/outposts/latest/userguide/launch-instance.html#launch-instances)을 참조하세요.

# 공유 용량 예약
<a name="capacity-reservation-sharing"></a>

용량 예약 공유를 통해 용량 예약 소유자는 예약 용량을 다른 AWS 계정이나 AWS 조직 내에서 공유할 수 있습니다. 이를 통해 용량 예약을 중앙 집중식으로 생성 및 관리하고 예약된 용량을 여러 AWS 계정 또는 AWS 조직 내에서 공유할 수 있습니다.

이 모델에서 용량 예약(소유자)를 소유한 AWS 계정은 다른 AWS 계정(소비자)과 이를 공유합니다. 소비자는 자신의 계정에서 자신이 소유한 용량 예약에서 인스턴스를 시작하는 동일한 방식으로 인스턴스를 용량 예약에서 시작할 수 있습니다. 용량 예약 소유자는 용량 예약 및 해당 위치에서 시작한 인스턴스를 관리해야 합니다. 소유자는 공유한 용량 예약로 소비자가 시작한 인스턴스를 수정할 수 없습니다. 소비자는 공유된 용량 예약 위치에서 시작한 인스턴스를 관리해야 합니다. 소비자는 다른 소비자 또는 용량 예약 소유자가 소유한 인스턴스를 보거나 수정할 수 없습니다.

용량 예약 소유자는 다음과 용량 예약을 공유할 수 있습니다.
+ AWS 조직 내부 또는 외부의 특정 AWS 계정
+ AWS 조직 내부의 조직 단위
+ 전체 AWS 조직

## 용량 예약 공유를 위한 사전 조건
<a name="sharing-cr-prereq"></a>
+ 용량 예약을 공유하려면 AWS 계정에서 소유하고 있어야 합니다. 나와 공유된 용량 예약을 공유할 수 없습니다.
+ 공유 테넌시 인스턴스에 대해서만 용량 예약을 공유할 수 있습니다. 전용 테넌시 인스턴스에 대해 용량 예약을 공유할 수 없습니다.
+ 새 AWS 계정 또는 결제 기록이 제한적인 AWS 계정에는 용량 예약 공유가 제공되지 않습니다.
+ AWS 조직 또는 AWS 조직의 조직 단위와 용량 예약을 공유하려면 AWS Organizations를 통해 공유를 사용하도록 설정해야 합니다. 자세한 내용은 *AWS RAM 사용 설명서*에서 [AWS Organizations를 사용하여 공유 사용](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html)을 참조하세요.
+  `active` 또는 `scheduled` 상태에서 용량 예약을 공유할 수 있습니다. `assessing` 또는 `unsupported`과(와) 같은 다른 [상태](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-capacity-block.html)에서는 용량 예약을 공유할 수 없습니다.

## 관련 서비스
<a name="cr-sharing-related"></a>

용량 예약 공유는 AWS Resource Access Manager(AWS RAM)와 통합됩니다. AWS RAM은 모든 AWS 계정 또는 AWS Organizations를 통해 AWS 리소스를 공유하도록 해주는 서비스입니다. AWS RAM을 사용하여 *리소스 공유*로 생성한 사용자 소유 리소스를 공유할 수 있습니다. 리소스 공유는 공유할 리소스와 공유 대상 소비자를 지정합니다. 소비자는 개인 AWS 계정 또는 조직 단위 또는 AWS Organizations의 전체 조직일 수 있습니다.

AWS RAM에 대한 자세한 내용은 *[AWS RAM 사용 설명서](https://docs.aws.amazon.com/ram/latest/userguide/)*를 참조하세요.

## 여러 가용 영역에서 공유
<a name="cr-sharing-azs"></a>

리전의 가용 영역에 걸쳐 리소스가 배포될 수 있도록 각 계정의 이름에 가용 영역을 독립적으로 매핑합니다. 이로 인해 계정 전체에서 가용 영역 이름의 차이가 발생할 수 있습니다. 예를 들어 AWS 계정의 `us-east-1a` 가용 영역은 다른 AWS 계정에 대한 `us-east-1a`로 위치가 동일하지 않을 수 있습니다.

계정과 관련된 용량 예약 상대의 위치를 확인하려면 *가용 영역 ID(AZ ID)*를 사용해야 합니다. AZ ID는 모든 AWS 계정의 가용 영역에 대한 고유하고 일관된 식별자입니다. 예를 들어, `use1-az1`은 `us-east-1` 리전의 AZ ID이고, 모든 AWS 계정에서 위치가 동일합니다.

**계정의 가용 영역에 대한 AZ ID 보려면**

1. [https://console.aws.amazon.com/ram/homeAWS RAM에서 ](https://console.aws.amazon.com/ram/home) 콘솔을 엽니다.

1. 현재 리전의 AZ ID는 화면의 오른쪽에 있는 **사용자 AZ ID** 패널에 표시됩니다.

# 용량 예약 공유
<a name="sharing-cr"></a>

자신이 소유한 용량 예약을 다른 AWS 계정과 공유하면 예약된 용량으로 인스턴스를 시작할 수 있습니다. 열린 용량 예약을 공유하는 경우 의도하지 않은 용량 예약 사용으로 이어질 수 있으므로 다음 사항을 명심하세요.
+ 소비자가 용량 예약의 속성과 일치하는 인스턴스를 실행하고 `CapacityReservationPreference` 파라미터를 `open`으로 설정하고 예약된 용량에서 아직 실행하지 않는 경우, 공유된 용량 예약을 자동으로 사용합니다.
+ 소비자가 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)이 있고 `CapacityReservationPreference` 파라미터가 `open`으로 설정된 인스턴스를 시작하면 자동으로 공유 용량 예약으로 시작됩니다.

용량 예약을 공유하려면 리소스 공유에 추가해야 합니다. 리소스 공유는 여러 AWS 계정에서 리소스를 공유할 수 있게 해주는 AWS RAM 리소스입니다. 리소스 공유는 공유할 리소스와 공유 대상 소비자를 지정합니다. Amazon EC2 콘솔을 사용하여 용량 예약을 공유하면 기존 리소스 공유에 추가합니다. 새 리소스 공유에 용량 예약을 추가하려면 [AWS RAM 콘솔](https://console.aws.amazon.com/ram)을 사용하여 리소스 공유를 생성해야 합니다.

AWS Organizations의 조직에 속해 있고 조직 내에서 공유를 사용하는 경우, [공유 사전 조건](capacity-reservation-sharing.md#sharing-cr-prereq)을 충족한다면 공유 용량 예약에 대한 액세스 권한이 조직의 소비자에게 부여됩니다. 용량 예약을 외부 계정과 공유하는 경우, 소비자는 리소스 공유에 가입하라는 초대장을 받고 초대를 수락한 후 공유 용량 예약에 대한 액세스 권한을 얻을 수 있습니다.

**중요**  
사용자와 공유되는 용량 예약으로 인스턴스를 시작하기 전에, 콘솔에서 확인하거나 [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html) AWS CLI 명령을 사용하여 공유된 용량 예약에 액세스할 수 있는지 확인하세요. 콘솔에서 공유 용량 예약을 확인하거나 AWS CLI를 사용하여 설명할 수 있는 경우에 사용할 수 있으며, 인스턴스를 시작할 수 있습니다. 용량 예약으로 인스턴스를 시작하려고 할 때 공유 실패로 인해 액세스할 수 없는 경우, 인스턴스는 온디맨드 용량으로 시작됩니다.

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

**Amazon EC2 콘솔을 사용하여 소유하고 있는 용량 예약을 공유하려면**

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

1. 탐색 창에서 **용량 예약**를 선택합니다.

1. 공유할 용량 예약을 선택하고 **작업**, **공유 예약**을 선택하십시오.

1. 용량 예약을 추가할 리소스 공유를 선택하고 **용량 예약 공유**를 선택하십시오.

   소비자가 공유 용량 예약에 액세스하려면 몇 분이 걸릴 수 있습니다.

**AWS RAM 콘솔을 사용하여 소유하고 있는 용량 예약을 공유하려면**  
AWS RAM 사용 설명서에서 [리소스 공유 생성](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create)을 참조하세요.**

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

**소유하고 있는 용량 예약을 공유하는 방법**  
[create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) 명령을 사용합니다.

```
aws ram create-resource-share \
    --name my-resource-share \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE
```

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

**소유하고 있는 용량 예약을 공유하는 방법**  
[New-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/New-RAMResourceShare.html) cmdlet을 사용합니다.

```
New-RAMResourceShare `
    -Name my-resource-share `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE"
```

------

# 용량 예약 공유 중지
<a name="unsharing-cr"></a>

용량 예약 소유자는 언제든지 용량 예약의 공유를 중지할 수 있습니다. 다음 규칙이 적용됩니다.
+ 공유가 중지될 때 공유 용량으로 실행 중인 소비자 소유의 인스턴스는 예약된 용량 밖에서 정상적으로 계속 실행되며 용량은 Amazon EC2 용량 가용성에 따라 용량 예약로 복원됩니다.
+ 용량 예약이 공유된 사용자는 더 이상 예약된 용량에 새로운 인스턴스를 시작할 수 없습니다.

소유하고 있는 용량 예약의 공유를 중지하려면 리소스 공유에서 제거해야 합니다.

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

**Amazon EC2 콘솔을 사용하여 소유하고 있는 용량 예약의 공유를 중지하려면**

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

1. 탐색 창에서 **용량 예약**를 선택합니다.

1. 용량 예약을 선택하고 **공유(Sharing)** 탭을 선택합니다.

1. **공유** 탭에는 용량 예약이 추가된 리소스 공유가 나열됩니다. 용량 예약을 제거할 리소스 공유를 선택하고 **리소스 공유에서 제거**를 선택하십시오.

**AWS RAM 콘솔을 사용하여 소유하고 있는 용량 예약의 공유를 중지하려면**  
*AWS RAM 사용 설명서*에서 [리소스 공유 업데이트](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-update)를 참조하세요.

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

**소유하고 있는 용량 예약 공유를 중지하는 방법**  
[disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) 명령을 사용합니다.

```
aws ram disassociate-resource-share \
    --resource-share-arn arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE \
	--resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE
```

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

**소유하고 있는 용량 예약 공유를 중지하는 방법**  
[Disconnect-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/Disconnect-RAMResourceShare.html) cmdlet을 사용합니다.

```
Disconnect-RAMResourceShare `
    -ResourceShareArn "arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE" `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE"
```

------

# 공유 Amazon EC2 용량 예약에 대한 결제 할당
<a name="assign-billing"></a>

기본적으로 용량 예약이 공유되면 소유자에게는 용량 예약에서 실행 중인 인스턴스와 용량 예약에서 사용 가능한 용량(**미사용 용량이라고도 함)에 대해 요금이 결제되고, 소비자는 공유 용량 예약에서 실행 중인 인스턴스에 대해서만 요금이 결제됩니다.

필요한 경우 용량 예약 소유자는 용량 예약에서 사용 가능한 모든 용량의 결제를 용량 예약이 공유되는 계정 중 하나에 할당할 수 있습니다. 결제가 다른 계정에 할당되면 해당 계정은 용량 예약에서 사용 가능한 용량의 *결제 소유자*가 됩니다. 그 시점부터 용량 예약에서 사용 가능한 용량에 대한 요금은 소유자의 계정이 아닌 할당된 계정으로 청구됩니다. 용량 예약 소유자와 용량 예약이 공유된 계정에는 용량 예약에서 실행 중인 인스턴스에 대한 요금이 계속 결제됩니다.

**중요**  
 용량 예약 소유자는 여전히 리소스 소유자이며 용량 예약을 관리할 책임이 있습니다. 결제가 할당된 계정에는 추가 권한이 부여되지 않으며 어떤 방식으로도 용량 예약을 취소, 수정 또는 공유할 수 없습니다.

**Topics**
+ [작동 방식](#how-billing-ownership-works)
+ [고려 사항](#billing-ownership-considerations)
+ [결제 할당](request-billing-transfer.md)
+ [결제 할당 요청 보기](view-billing-transfers.md)
+ [결제 수락 또는 거부](accept-decline-billing-transfer.md)
+ [요청 취소 또는 철회](cancel-billing-transfer.md)
+ [요청 모니터링](billing-ownership-events.md)

## 작동 방식
<a name="how-billing-ownership-works"></a>

용량 예약 소유자만 공유 용량 예약의 청구를 다른 계정에 할당할 수 있습니다. 결제는 용량 예약이 공유되고 용량 예약 소유자와 동일한 AWS Organizations 결제자 계정으로 통합된 계정에만 할당할 수 있습니다.

용량 예약의 사용 가능한 용량을 다른 계정에 청구하려면 용량 예약 소유자가 필요한 계정으로 요청을 시작해야 합니다. 지정된 계정에서 요청을 수신하며 12시간 이내에 요청을 수락하거나 거부해야 합니다.
+ **수락**하면 용량 예약에서 사용 가능한 용량(**미사용 용량이라고도 함)에 대한 **결제 소유자가 됩니다. 그 시점부터는 용량 예약에서 사용 가능한 용량에 대한 요금이 소유자의 계정이 아닌 해당 계정으로 청구됩니다. 수락한 후에는 용량 예약 소유자만 할당된 계정에서 청구를 취소할 수 있습니다.
+ **거부**하는 경우 용량 예약 소유자는 용량 예약의 사용 가능한 용량에 대한 청구 소유자로 남습니다. 용량 예약에서 사용 가능한 용량에 대한 요금은 소유자의 계정으로 계속 청구됩니다.
+ 12시간 이내에 요청을 **수락하거나 거부**하지 않으면 예약이 만료되고 용량 예약의 사용 가능한 용량에 대한 요금이 소유자의 계정으로 계속 청구됩니다.

청구가 다른 계정에 할당된 기간 동안에는 소유자의 CUR 대신 할당된 계정의 비용 및 사용량 보고서(CUR)에 `Reservation` 및 `UnusedBox` 항목이 표시됩니다.

다음 테이블에는 다른 계정에 청구가 할당되기 **전**에 용량 예약 소유자 및 소비자 계정에 대한 CUR에 표시되는 항목이 나와 있습니다.


| Account | 결제가 할당되기 전의 CUR 항목 | 
| --- | --- | 
| 용량 예약 소유자 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/assign-billing.html)  | 
| 용량 예약이 공유되는 소비자 계정 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/assign-billing.html)  | 

다음 테이블에는 다른 계정에 청구가 할당된 **후**에 용량 예약 소유자 및 소비자 계정에 대한 CUR에 표시되는 항목이 나와 있습니다.


| Account | 결제가 할당된 후의 CUR 항목 | 
| --- | --- | 
| 용량 예약 소유자 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/assign-billing.html)  | 
| 결제가 할당된 소비자 계정 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/assign-billing.html)  | 
| 용량 예약이 공유되는 다른 소비자 계정 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/assign-billing.html)  | 

**참고**  
\$1 용량 예약에 실행 중인 인스턴스가 있는 경우에만 계정의 CUR에 `BoxUsage` 항목이 표시됩니다. CUR 항목에 대한 자세한 내용은 [용량 예약 모니터링](https://docs.aws.amazon.com/cur/latest/userguide/monitor-ondemand-reservations.html)을 참조하세요.
CUR의 용량 예약 ARN을 사용하여 용량 예약을 소유한 사람을 확인합니다. ARN에 AWS 계정 ID가 포함되어 있는 경우 사용자는 용량 예약 소유자입니다. 그렇게 하지 않으면 용량 예약은 다른 계정에서 소유하지만 사용자에게 결제가 할당됩니다.
소유자가 용량 예약에 할당하는 비용 할당 태그는 소비자 계정의 CUR에 표시되지 않습니다. 비용 할당 태그는 용량 예약 소유자의 CUR에만 표시됩니다.

## 고려 사항
<a name="billing-ownership-considerations"></a>

공유 용량 예약의 결제를 할당할 때는 다음 사항에 유의하세요.
+ 부분 또는 분할 결제 할당을 할 수 없습니다. 용량 예약의 사용 가능한 모든 용량에 대한 결제는 한 번에 하나의 계정에 할당할 수 있습니다.
+ 용량 예약의 사용 가능한 용량은 시간이 지남에 따라 변경될 수 있습니다. 이렇게 하면 할당된 계정의 결제에 영향을 미칩니다. 예를 들어 용량 예약 소유자가 용량 예약의 크기를 늘리거나 다른 소비자 계정이 용량 예약에서 실행 중인 인스턴스를 중지하거나 종료하면 사용 가능한 용량이 증가할 수 있습니다.
+ 결제는 동일한 AWS Organizations 결제자 계정으로 통합된 소비자 계정에만 할당할 수 있습니다. 조직에서 퇴사하거나 용량 예약이 더 이상 공유되지 않는 경우 소비자 계정에서 결제가 자동으로 취소됩니다.
+ 용량 예약 소유자만 요청이 수락된 후 보류 중인 결제 할당 요청을 취소하고 할당된 계정에서 결제를 취소할 수 있습니다.

# 공유 EC2 용량 예약의 결제를 다른 계정에 할당
<a name="request-billing-transfer"></a>

공유 용량 예약의 사용 가능한 용량을 다른 계정에 청구하려면 용량 예약 소유자가 필요한 계정으로 요청을 시작해야 합니다. Amazon EC2 콘솔에서는 이 요청을 **이전 요청이라고 합니다.

용량 예약 소유자는 다음과 같은 경우에만 용량 예약의 사용 가능한 용량에 대한 결제를 계정에 할당할 수 있습니다.
+ 용량 예약은 이미 해당 계정과 공유되어 있습니다.
+ 계정은 용량 예약 소유자와 동일한 AWS Organizations 결제자 계정으로 통합됩니다.

결제는 요청을 수락한 경우에만 지정된 계정에 할당됩니다.

용량 예약 소유자가 요청을 시작하면 요청된 계정으로 Amazon EventBridge 이벤트가 전송됩니다. 자세한 내용은 [공유 용량 예약에 대한 결제 할당 요청 모니터링](billing-ownership-events.md) 섹션을 참조하세요.

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

**공유 용량 예약의 결제를 할당하려면**

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

1. 탐색 패널에서 **용량 예약**을 선택한 다음 공유 용량 예약을 선택합니다.

1. **사용 가능한 용량 결제** 섹션에서 **결제 할당**을 선택합니다.

1. **결제 할당** 화면에서 결제를 할당할 소비자 계정을 선택한 다음 **요청**을 선택합니다.

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

**공유 용량 예약의 결제를 할당하려면**  
[associate-capacity-reservation-billing-owner](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-capacity-reservation-billing-owner.html) 명령을 사용합니다. `--capacity-reservation-id`의 경우 공유 용량 예약의 ID를 지정합니다. `--unused-reservation-billing-owner-id`의 경우 결제를 할당할 AWS 계정의 ID를 지정합니다.

```
aws ec2 associate-capacity-reservation-billing-owner \
    --capacity-reservation-id cr-01234567890abcdef \
    --unused-reservation-billing-owner-id 123456789012
```

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

**공유 용량 예약의 결제를 할당하려면**  
[Register-EC2CapacityReservationBillingOwner](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2CapacityReservationBillingOwner.html) cmdlet을 사용합니다. `-CapacityReservationId`의 경우 공유 용량 예약의 ID를 지정합니다. `-UnusedReservationBillingOwnerId`의 경우 결제를 할당할 AWS 계정의 ID를 지정합니다.

```
Register-EC2CapacityReservationBillingOwner `
    -CapacityReservationId cr-01234567890abcdef `
    -UnusedReservationBillingOwnerId 123456789012
```

------

# 공유 EC2 용량 예약에 대한 결제 할당 요청 보기
<a name="view-billing-transfers"></a>

용량 예약 소유자는 자신이 시작한 가장 최근의 결제 할당 요청만 볼 수 있습니다. 또한 소비자 계정에서는 자신에게 전송된 가장 최근의 결제 할당 요청만 볼 수 있습니다.

`cancelled`, `expired` 또는 `revoked` 상태로 전환된 후 24시간 동안 요청을 볼 수 있습니다. 24시간이 경과하면 더 이상 볼 수 없습니다.

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

**(용량 예약 소유자) 사용자가 시작한 요청을 보려면**

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

1. 탐색 패널에서 **용량 예약**을 선택한 다음 요청을 보려는 공유 용량 예약을 선택합니다.

1. **사용 가능한 용량 결제** 섹션에는 최신 요청과 현재 상태가 표시됩니다.

**(소비자 계정) 사용자에게 전송된 요청 대상**

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

1. 탐색 패널에서 **용량 예약**을 선택합니다.

1. 보류 중인 요청이 있는 경우 화면 상단에 **보류 중인 결제 할당 요청** 배너가 표시됩니다. 배너가 표시되지 않으면 보류 중인 요청이 없는 것입니다.

   요청을 보려면 배너에서 **요청 검토**를 선택합니다.

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

**(용량 예약 소유자) 사용자가 시작한 요청을 보려면**  
[describe-capacity-reservation-billing-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservation-billing-requests.html) 명령을 사용합니다.

```
aws ec2 describe-capacity-reservation-billing-requests \
    --role odcr-owner
```

**(소비자 계정) 사용자에게 전송된 요청을 보려면**  
[describe-capacity-reservation-billing-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservation-billing-requests.html) 명령을 사용합니다.

```
aws ec2 describe-capacity-reservation-billing-requests \
    --role unused-reservation-billing-owner
```

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

**(용량 예약 소유자) 사용자가 시작한 요청을 보려면**  
[Get-EC2CapacityReservationBillingRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityReservationBillingRequest.html) cmdlet을 사용합니다.

```
Get-EC2CapacityReservationBillingRequest `
    -Role odcr-owner
```

**(소비자 계정) 사용자에게 전송된 요청을 보려면**  
[Get-EC2CapacityReservationBillingRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityReservationBillingRequest.html) cmdlet을 사용합니다.

```
Get-EC2CapacityReservationBillingRequest `
    -Role unused-reservation-billing-owner
```

------

요청은 다음 상태 중 하나일 수 있습니다.


| State | 설명 | 
| --- | --- | 
| pending | 요청이 수락되거나 거부되지 않았지만 아직 만료되지 않았습니다. | 
| accepted | 지정된 계정에서 요청을 수락했습니다. 용량 예약의 사용 가능한 용량에 대한 결제는 소비자 계정에 할당됩니다. | 
| rejected | 소비자 계정에서 요청을 거부했습니다. | 
| cancelled | 요청이 pending 상태인 동안 용량 예약 소유자에 의해 요청이 취소되었습니다. | 
| revoked | 다음 사유 중 하나로 인해 소비자 계정에서 청구가 취소되었습니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/view-billing-transfers.html)  | 
| expired | 소비자 계정에서 12시간 이내에 요청을 수락하거나 거부하지 않아 요청이 만료되었습니다. | 

# 공유 EC2 용량 예약의 결제 수락 또는 거부
<a name="accept-decline-billing-transfer"></a>

사용자와 공유되는 용량 예약에 대한 결제 할당 요청을 받은 경우 이를 수락하거나 거부할 수 있습니다. 요청은 수락되거나 거부될 때까지 `pending` 상태로 유지됩니다.

요청을 수락하면 `accepted` 상태가 되고 그 시점부터 해당 용량 예약의 사용 가능한 용량 또는 **미사용 용량에 대한 결제가 계정에 할당됩니다. 요청을 수락한 후에는 용량 예약 소유자만 계정에서 결제를 취소할 수 있습니다.

요청을 거부하면 `rejected` 상태가 되고 용량 예약의 사용 가능한 용량에 대한 결제는 용량 예약 소유자에게 할당됩니다.

요청이 12시간 이내에 수락되지 않거나 거부되면 요청은 만료됩니다. 요청이 만료되면 용량 예약의 미사용 용량에 대한 결제는 용량 예약 소유자에게 계속 할당됩니다.

요청이 수락되거나 거부되면 용량 예약 소유자의 계정으로 Amazon EventBridge 이벤트가 전송됩니다. 요청이 만료되면 용량 예약 소유자와 소비자 계정으로 Amazon EventBridge 이벤트가 전송됩니다. 자세한 내용은 [공유 용량 예약에 대한 결제 할당 요청 모니터링](billing-ownership-events.md) 섹션을 참조하세요.

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

**요청을 수락 또는 거부하려면**

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

1. 탐색 패널에서 **용량 예약**을 선택합니다.

1. 보류 중인 요청이 있는 경우 화면 상단에 **보류 중인 결제 할당 요청** 배너가 표시됩니다. 배너가 표시되지 않으면 보류 중인 요청이 없는 것입니다.

   요청을 보려면 배너에서 **요청 검토**를 선택합니다.

1. 수락하거나 거부할 요청을 선택한 다음 **수락** 또는 **거부**를 선택합니다.

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

**요청을 수락하려면**  
[accept-capacity-reservation-billing-ownership](https://docs.aws.amazon.com/cli/latest/reference/ec2/accept-capacity-reservation-billing-ownership.html) 명령을 사용합니다. `--capacity-reservation-id`의 경우 요청을 수락할 용량 예약의 ID를 지정합니다.

```
aws ec2 accept-capacity-reservation-billing-ownership \
    --capacity-reservation-id cr-01234567890abcdef
```

**요청을 거부하려면**  
[reject-capacity-reservation-billing-ownership](https://docs.aws.amazon.com/cli/latest/reference/ec2/reject-capacity-reservation-billing-ownership.html) 명령을 사용합니다. `--capacity-reservation-id`의 요청을 거부할 용량 예약의 ID를 지정합니다.

```
aws ec2 reject-capacity-reservation-billing-ownership \
    --capacity-reservation-id cr-01234567890abcdef
```

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

**요청을 수락하려면**  
[Approve-EC2CapacityReservationBillingOwnership](https://docs.aws.amazon.com/powershell/latest/reference/items/Approve-EC2CapacityReservationBillingOwnership.html) cmdlet을 사용합니다.

```
Approve-EC2CapacityReservationBillingOwnership `
    -CapacityReservationId cr-01234567890abcdef
```

**요청을 거부하려면**  
[Deny-EC2CapacityReservationBillingOwnership](https://docs.aws.amazon.com/powershell/latest/reference/items/Deny-EC2CapacityReservationBillingOwnership.html) cmdlet을 사용합니다.

```
Deny-EC2CapacityReservationBillingOwnership `
    -CapacityReservationId cr-01234567890abcdef
```

------

# 공유 EC2 용량 예약에 대한 결제 할당 요청 취소 또는 철회
<a name="cancel-billing-transfer"></a>

용량 예약 소유자만 `pending` 결제 할당 요청을 취소할 수 있습니다. 보류 중인 요청이 취소되면 `cancelled` 상태가 되고 용량 예약의 사용 가능 용량 또는 **미사용 용량에 대한 결제는 용량 예약 소유자에게 계속 할당됩니다.

요청이 `accepted`된 이후에는 용량 예약 소유자만 할당된 계정에서 결제를 취소할 수 있습니다. 결제가 취소되면 요청은 `revoked` 상태가 되고 용량 예약의 사용 가능한 용량에 대한 결제가 용량 예약 소유자에게 다시 할당됩니다.

요청이 취소되거나 취소되면 용량 예약 소유자 및 지정된 소비자 계정으로 Amazon EventBridge 이벤트가 전송됩니다. 자세한 내용은 [공유 용량 예약에 대한 결제 할당 요청 모니터링](billing-ownership-events.md) 섹션을 참조하세요.

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

**요청을 취소하거나 철회하려면**

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

1. 탐색 패널에서 수용 인원 예약을 선택한 다음 요청을 취소하거나 철회할 **용량 예약**을 선택합니다.

1. **사용 가능한 용량 결제** 섹션에서 요청의 현재 상태에 따라 **이전 취소** 또는 **이전 철회**를 선택합니다.

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

**요청을 취소하거나 철회하려면**  
[disassociate-capacity-reservation-billing-owner](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-capacity-reservation-billing-owner.html) 명령을 사용합니다. `--unused-reservation-billing-owner-id`의 경우 요청이 전송된 AWS 계정의 ID를 지정합니다.

```
aws ec2 disassociate-capacity-reservation-billing-owner \
    --capacity-reservation-id cr-01234567890abcdef \
    --unused-reservation-billing-owner-id 123456789012
```

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

**요청을 취소하거나 철회하려면**  
[Unregister-EC2CapacityReservationBillingOwner](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2CapacityReservationBillingOwner.html) cmdlet을 사용합니다. `-UnusedReservationBillingOwnerId`의 경우 요청이 전송된 AWS 계정의 ID를 지정합니다.

```
Unregister-EC2CapacityReservationBillingOwner `
    -CapacityReservationId cr-01234567890abcdef `
    -UnusedReservationBillingOwnerId 123456789012
```

------

# 공유 용량 예약에 대한 결제 할당 요청 모니터링
<a name="billing-ownership-events"></a>

Amazon EC2는 결제 할당 요청 상태가 변경될 때 Amazon EventBridge 이벤트를 전송합니다.
+ 요청이 `accepted` \$1 `rejected` \$1 `expired` \$1 `revoked` 상태가 되면 이벤트가 용량 예약 소유자에게 전송됩니다.
+ 요청이 `pending` \$1 `expired` \$1 `cancelled` \$1 `revoked` 상태가 되면 이벤트가 요청된 소비자 계정으로 전송됩니다.

Amazon EventBridge에 대한 자세한 내용은 [Amazon EventBridge 사용 설명서](https://docs.aws.amazon.com/eventbridge/latest/userguide/)를 참조하세요.

다음은 Amazon EventBridge 이벤트 패턴입니다.

```
{
   "version":"0",
   "id":"12345678-1234-1234-1234-123456789012",
   "detail-type":"On-Demand Capacity Reservation Billing Ownership Request pending|accepted|rejected|cancelled|revoked|expired",
   "source":"aws.ec2",
   "account":"account_id",
   "time":"state_change_timestamp",
   "region":"region",
   "resources":[
      "arn:aws:ec2:region:cr_owner_account_id:capacity-reservation/cr_id"
   ],
   "detail":{
      "capacity-reservation-id":"cr_id",
      "updateTime":timestamp,
      "ownerAccountId":"cr_owner_account_id",
      "unusedReservationChargesOwnerID":"consumer_account_id",
      "status":"pending|accepted|rejected|cancelled|revoked|expired",
      "statusMessage":"message
   }
}
```

다음은 소비자 계정(`111111111111`)이 공유 용량 예약(`cr-01234567890abcdef`)에 대한 청구 할당 요청을 수락할 때 용량 예약 소유자(`222222222222`)에게 전송되는 이벤트 예제입니다.

```
{
   "version":"0",
   "id":"12345678-1234-1234-1234-123456789012",
   "detail-type":"On-Demand Capacity Reservation Billing Ownership Request accepted",
   "source":"aws.ec2",
   "account":"222222222222",
   "time":"2024-09-01Thh:59:59Z",
   "region":"us-east-1",
   "resources":[
      "arn:aws:ec2:us-east-1:222222222222:capacity-reservation/cr-01234567890abcdef"
   ],
   "detail":{
      "capacity-reservation-id":"cr-01234567890abcdef",
      "updateTime":"2024-08-01Thh:59:59Z",
      "ownerAccountId":"222222222222",
      "unusedReservationChargesOwnerID":"111111111111",
      "status":"accepted",
      "statusMessage":"billing transfer status message"
   }
}
```

## 공유된 용량 예약 권한
<a name="shared-cr-perms"></a>

### 소유자에 대한 권한
<a name="shared-cr-perms-owner"></a>

소유자는 공유 용량 예약을 관리하고 취소하는 일을 담당합니다. 소유자는 다른 계정이 소유한 공유 용량 예약에서 실행 중인 인스턴스를 수정할 수 없습니다. 소유자는 용량 예약 공유로 실행되는 인스턴스를 관리해야 합니다.

### 소비자에 대한 권한
<a name="shared-cr-perms-consumer"></a>

소비자는 공유 용량 예약을 실행하는 인스턴스를 관리해야 합니다. 소비자는 어떤 식으로든 공유 용량 예약을 수정할 수 없으며 다른 소비자 또는 용량 예약 소유자가 소유한 인스턴스를 보거나 수정할 수 없습니다. 소비자는 공유된 예약에서 총 용량과 사용 가능한 용량만 확인할 수 있습니다.

## 결제 및 측정
<a name="shared-cr-billing"></a>

용량 예약 공유에 대한 추가 비용은 없습니다.

기본적으로 용량 예약 소유자에게는 용량 예약 내에서 실행하는 인스턴스와 사용하지 않은 예약 용량에 대한 요금이 결제되며 소비자에게는 공유 용량 예약 내에서 실행하는 인스턴스에 대한 요금이 결제됩니다. 그러나 공유 용량 예약의 사용 가능한 용량에 대한 결제를 특정 소비자 계정에 할당할 수 있습니다. 자세한 내용은 [공유 Amazon EC2 용량 예약에 대한 결제 할당](assign-billing.md) 섹션을 참조하세요.

용량 예약 소유자가 다른 지급인 계정에 속해 있고 용량 예약이 리전 예약 인스턴스 또는 절감형 플랜의 적용을 받는 경우 용량 예약 소유자에게 리전 예약 인스턴스 또는 절감형 플랜에 대한 요금이 계속 청구됩니다. 이러한 경우 용량 예약 소유자는 리전 예약 인스턴스 또는 절감형 플랜에 대해 비용을 지불하고 소비자에게는 공유 용량 예약에서 실행되는 인스턴스에 대한 요금이 청구됩니다.

## 인스턴스 제한
<a name="shared-cr-limits"></a>

모든 용량 예약 사용량은 용량 예약 소유자의 온디맨드 인스턴스 한도에 포함됩니다. 여기에는 다음이 포함됩니다.
+ 미사용 예약 용량
+ 용량 예약 소유자가 소유한 인스턴스 별 사용량
+ 소비자가 소유한 인스턴스 별 사용량

소비자가 공유하는 용량으로 시작된 인스턴스는 용량 예약 소유자의 온디맨드 인스턴스 한도에 포함됩니다. 소비자의 인스턴스 제한은 자신의 온디맨드 인스턴스 제한과 액세스할 수 있는 공유 용량 예약에서 사용 가능한 용량의 합계입니다.

# 용량 예약 플릿
<a name="cr-fleets"></a>

*온디맨드 용량 예약 플릿은* 용량 예약의 그룹입니다.

용량 예약 플릿 요청에는 용량 예약 플릿을 시작하는 데 필요한 모든 구성 정보가 포함됩니다. 단일 요청을 사용하여 지정한 목표 용량까지 여러 인스턴스 유형에 걸쳐 워크로드에 사용할 대량의 Amazon EC2 용량을 예약할 수 있습니다.

용량 예약 플릿을 생성한 후 용량 예약 플릿을 수정하거나 취소하여 플릿의 용량 예약을 총괄적으로 관리할 수 있습니다.

**Topics**
+ [용량 예약 플릿 작동 방식](#cr-how-it-works)
+ [고려 사항](#considerations)
+ [가격 책정](#pricing)
+ [개념 및 계획](crfleet-concepts.md)
+ [생성](create-crfleet.md)
+ [Modify](modify-crfleet.md)
+ [취소](cancel-crfleet.md)
+ [구성의 예](crfleet-example-configs.md)
+ [서비스 연결 역할 사용](using-service-linked-roles.md)

## 용량 예약 플릿 작동 방식
<a name="cr-how-it-works"></a>

용량 예약 플릿을 생성할 때 플릿은 플릿 요청에 지정한 총 목표 용량을 충족하는 개별 용량 예약을 생성하려고 시도합니다.

플릿이 용량을 예약하는 인스턴스 수는 지정하는 [*총 목표 용량*](crfleet-concepts.md#target-capacity)과 [*인스턴스 유형 가중치*](crfleet-concepts.md#instance-weight)에 따라 달라집니다. 용량을 예약하는 인스턴스 유형은 사용하는 [*할당 전략*](crfleet-concepts.md#allocation-strategy)과 [*인스턴스 유형 우선순위*](crfleet-concepts.md#instance-priority)에 따라 달라집니다.

플릿이 생성될 때 용량이 부족하여 총 목표 용량을 즉시 충족할 수 없는 경우 플릿은 요청된 용량을 예약할 때까지 비동기로 용량 예약을 시도합니다.

플릿이 총 목표 용량에 도달하면 해당 용량을 유지하려고 시도합니다. 플릿의 용량 예약이 취소되면 플릿은 플릿 구성에 따라 하나 이상의 용량 예약을 자동으로 생성하여 손실된 용량을 대체하고 총 목표 용량을 유지합니다.

플릿의 용량 예약은 개별적으로 관리할 수 없습니다. 플릿을 수정하여 총체적으로 관리해야 합니다. 플릿을 수정하면 플릿의 용량 예약이 변경 사항을 반영하도록 자동으로 업데이트됩니다.

현재 용량 예약 플릿은 `open` 인스턴스 일치 기준을 지원하며, 플릿에서 시작된 모든 용량 예약은 이 인스턴스 일치 기준을 자동으로 사용합니다. 이 기준을 사용하면 일치하는 속성(인스턴스 유형, 플랫폼, 가용 영역, 테넌시)이 있는 새 인스턴스와 기존 인스턴스가 플릿에서 생성한 용량 예약에서 자동으로 실행됩니다. 용량 예약 플릿은 대상 인스턴스 일치 기준을 지원하지 않습니다.

## 고려 사항
<a name="considerations"></a>

용량 예약 플릿으로 작업할 때는 다음 사항에 유의하세요.
+ 용량 예약 플릿은 AWS CLI 및 AWS API를 사용하여 생성하고 수정하고 보고 취소할 수 있습니다.
+ 플릿의 용량 예약은 개별적으로 관리할 수 없습니다. 플릿을 수정하거나 취소하여 총체적으로 관리해야 합니다.
+ 용량 예약 플릿은 여러 리전에 걸쳐 있을 수 없습니다.
+ 용량 예약 플릿은 여러 가용 영역에 걸쳐 있을 수 없습니다.
+ 용량 예약 플릿에 의해 생성된 용량 예약에는 자동으로 다음 AWS 생성 태그가 태깅됩니다.
  + 키 - `aws:ec2-capacity-reservation-fleet`
  + 값 - `fleet_id`

  이 태그를 사용하여 용량 예약 플릿에 의해 생성된 용량 예약을 식별할 수 있습니다.

## 가격 책정
<a name="pricing"></a>

용량 예약 플릿을 사용하는 데 따른 추가 비용은 없습니다. 용량 예약 플릿에 의해 생성된 개별 용량 예약에 대한 요금이 청구됩니다. 용량 예약의 요금 청구에 대한 자세한 내용은 [용량 예약 요금 및 결제](capacity-reservations-pricing-billing.md) 섹션을 참조하세요.

# 용량 예약 플릿 개념 및 계획
<a name="crfleet-concepts"></a>

다음 정보는 용량 예약 플릿을 계획하는 방법을 설명하고 총 목표 용량, 할당 전략, 인스턴스 유형 가중치, 인스턴스 유형 우선순위를 포함한 용량 예약 플릿 개념을 설명합니다.

**Topics**
+ [용량 예약 플릿 계획](#plan-cr-fleet)
+ [총 목표 용량](#target-capacity)
+ [할당 전략](#allocation-strategy)
+ [인스턴스 유형 가중치](#instance-weight)
+ [인스턴스 유형 우선순위](#instance-priority)

## 용량 예약 플릿 계획
<a name="plan-cr-fleet"></a>

용량 예약 플릿을 계획할 때 다음을 수행하는 것이 좋습니다.

1. 워크로드에 필요한 컴퓨팅 용량을 결정합니다.

1. 사용하려는 인스턴스 유형 및 가용 영역을 결정합니다.

1. 요구 사항 및 기본 설정에 따라 각 인스턴스 유형에 우선순위를 할당합니다. 자세한 내용은 [인스턴스 유형 우선순위](#instance-priority) 섹션을 참조하세요.

1. 워크로드에 적합한 용량 가중치 시스템을 만듭니다. 각 인스턴스 유형에 가중치를 할당하고 총 목표 용량을 결정합니다. 자세한 내용은 [인스턴스 유형 가중치](#instance-weight) 및 [총 목표 용량](#target-capacity) 섹션을 참조하세요.

1. 용량 예약이 무기한 필요한지 아니면 특정 기간 동안만 필요한지 결정합니다.

## 총 목표 용량
<a name="target-capacity"></a>

*총 목표 용량*은 용량 예약 플릿이 예약하는 총 컴퓨팅 용량을 정의합니다. 총 목표 용량은 용량 예약 플릿을 생성할 때 지정합니다. 플릿이 생성되고 나면, Amazon EC2가 용량 예약을 자동으로 생성하여 총 목표 용량까지 용량을 예약합니다.

용량 예약 플릿이 용량을 예약하는 인스턴스 수는 총 목표 용량과 용량 예약 플릿의 각 인스턴스 유형에 대해 지정하는 *인스턴스 유형 가중치*(`total target capacity`//`instance type weight`==`number of instances`)에 따라 결정됩니다.

워크로드에 의미 있는 단위를 기준으로 총 목표 용량을 할당할 수 있습니다. 예를 들어 워크로드에 특정 수의 vCPU가 필요한 경우 필요한 vCPU 수를 기준으로 총 목표 용량을 할당할 수 있습니다. 워크로드에 `2048`개의 vCPU가 필요한 경우, 총 목표 용량을 `2048`로 지정한 다음 플릿의 인스턴스 유형이 제공하는 vCPU 수에 따라 인스턴스 유형 가중치를 할당합니다. 예시는 [인스턴스 유형 가중치](#instance-weight)에서 확인하세요.

## 할당 전략
<a name="allocation-strategy"></a>

용량 예약 플릿의 할당 전략에 따라 용량 예약 플릿 구성의 인스턴스 유형 사양에서 예약 용량 요청을 이행하는 방법이 결정됩니다.

현재는 `prioritized` 할당 전략만 지원됩니다. 이 전략을 통해 용량 예약 플릿은 용량 예약 플릿 구성의 각 인스턴스 유형 사양에 지정한 우선순위를 사용하여 용량 예약을 생성합니다. 우선순위 값이 낮을수록 사용 우선순위가 높음을 나타냅니다. 예를 들어 다음과 같은 인스턴스 유형 및 우선순위를 사용하는 용량 예약 플릿을 생성한다고 가정해 보겠습니다.
+ `m4.16xlarge` - 우선순위 = 1
+ `m5.16xlarge` - 우선순위 = 3
+ `m5.24xlarge` - 우선순위 = 2

플릿은 먼저 `m4.16xlarge`의 용량 예약을 생성하려고 시도합니다. Amazon EC2의 `m4.16xlarge` 용량이 부족한 경우, 플릿은 `m5.24xlarge`의 용량 예약을 생성하려고 시도합니다. Amazon EC2의 `m5.24xlarge` 용량이 부족한 경우, 플릿은 `m5.16xlarge`의 용량 예약을 생성합니다.

## 인스턴스 유형 가중치
<a name="instance-weight"></a>

*인스턴스 유형 가중치*는 용량 예약 플릿의 각 인스턴스 유형에 할당하는 가중치입니다. 이 가중치는 특정 인스턴스 유형의 각 인스턴스가 플릿의 *총 목표 용량*에서 차지하는 용량 단위 수를 결정합니다.

워크로드에 의미 있는 단위를 기준으로 가중치를 할당할 수 있습니다. 예를 들어 워크로드에 특정 수의 vCPU가 필요한 경우 용량 예약 플릿의 각 인스턴스 유형에서 제공하는 vCPU 수를 기준으로 가중치를 할당할 수 있습니다. 이 경우 `m4.16xlarge` 및 `m5.24xlarge` 인스턴스를 사용하여 용량 예약 플릿을 생성한다면, 다음과 같이 각 인스턴스의 vCPU 수에 해당하는 가중치를 할당합니다.
+ `m4.16xlarge` — `64`개의 vCPU, 가중치 = `64`단위
+ `m5.24xlarge` — `96`개의 vCPU, 가중치 = `96`단위

인스턴스 유형 가중치에 따라 용량 예약 플릿이 용량을 예약하는 인스턴스의 수가 결정됩니다. 예를 들어 총 목표 용량이 `384`단위이고 앞의 예와 동일한 인스턴스 유형과 가중치를 사용하는 용량 예약 플릿의 경우, `6`개의 `m4.16xlarge` 인스턴스(총 대상 용량 384/인스턴스 유형 64개 가중치=인스턴스 6개) 또는 `4`개의 `m5.24xlarge` 인스턴스(384/96 = 4) 용량을 예약할 수 있습니다.

인스턴스 유형 가중치를 할당하지 않거나 가중치가 `1`인 인스턴스 유형 가중치를 할당할 경우, 총 목표 용량은 온전히 인스턴스 수를 기준으로 합니다. 예를 들어 총 목표 용량이 `384`단위이고 앞의 예와 동일한 인스턴스 유형을 사용하지만 가중치를 생략하거나 두 인스턴스 유형 모두의 가중치를 `1`로 지정한 용량 예약 플릿의 경우, 플릿은 `384` `m4.16xlarge` 인스턴스 또는 `384` `m5.24xlarge` 인스턴스 중 하나의 용량을 예약할 수 있습니다.

## 인스턴스 유형 우선순위
<a name="instance-priority"></a>

*인스턴스 유형 우선순위*는 플릿의 인스턴스 유형에 할당하는 값입니다. 우선순위는 플릿에 지정된 인스턴스 유형 중 플릿이 우선적으로 사용해야 할 인스턴스 유형을 결정하는 데 사용됩니다.

우선순위 값이 낮을수록 사용 우선순위가 높음을 나타냅니다.

# 용량 예약 플릿 생성
<a name="create-crfleet"></a>

용량 예약 플릿을 생성하면, 지정된 총 목표 용량까지 플릿 요청에 지정된 인스턴스 유형의 용량 예약이 자동으로 생성됩니다. 용량 예약 플릿이 용량을 예약하는 인스턴스 수는 요청에 지정하는 총 목표 용량 및 인스턴스 유형 가중치에 따라 달라집니다. 자세한 내용은 [인스턴스 유형 가중치](crfleet-concepts.md#instance-weight) 및 [총 목표 용량](crfleet-concepts.md#target-capacity) 섹션을 참조하세요.

플릿을 생성할 때 사용할 인스턴스 유형과 각 인스턴스 유형의 우선순위를 지정해야 합니다. 자세한 내용은 [할당 전략](crfleet-concepts.md#allocation-strategy) 및 [인스턴스 유형 우선순위](crfleet-concepts.md#instance-priority) 섹션을 참조하세요.

**참고**  
용량 예약 플릿을 처음 생성할 때 계정에 **AWSServiceRoleForEC2CapacityReservationFleet** 서비스 연결 역할이 자동으로 생성됩니다. 자세한 내용은 [용량 예약 플릿에 서비스 연결 역할 사용EC2 용량 관리자의 서비스 연결 역할 사용](using-service-linked-roles.md) 섹션을 참조하세요.

현재 용량 예약 플릿은 `open` 인스턴스 일치 기준만 지원합니다.

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

**용량 예약 플릿을 생성하려면**  
[create-capacity-reservation-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-capacity-reservation-fleet.html) 명령을 사용합니다.

```
aws ec2 create-capacity-reservation-fleet \
    --total-target-capacity 24 \
    --allocation-strategy prioritized \
    --instance-match-criteria open \
    --tenancy default \
    --end-date 2021-12-31T23:59:59.000Z \
    --instance-type-specifications file://instanceTypeSpecification.json
```

다음은 `instanceTypeSpecification.json`의 내용입니다.

```
[
  {
    "InstanceType": "m5.xlarge",
    "InstancePlatform": "Linux/UNIX",
    "Weight": 3.0,
    "AvailabilityZone":"us-east-1a",
    "EbsOptimized": true,
    "Priority" : 1
  }
]
```

다음은 예제 출력입니다.

```
{
    "Status": "submitted", 
    "TotalFulfilledCapacity": 0.0, 
    "CapacityReservationFleetId": "crf-abcdef01234567890", 
    "TotalTargetCapacity": 24
}
```

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

**용량 예약 플릿 생성**  
[New-EC2CapacityReservationFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2CapacityReservationFleet.html) cmdlet을 사용합니다.

```
New-EC2CapacityReservationFleet `
    -TotalTargetCapacity 24 `
    -AllocationStrategy "prioritized" `
    -InstanceMatchCriterion "open" `
    -Tenancy "default" `
    -EndDate 2021-12-31T23:59:59.000Z `
    -InstanceTypeSpecification $specification
```

사양은 다음과 같이 정의됩니다.

```
$specification = New-Object Amazon.EC2.Model.ReservationFleetInstanceSpecification
$specification.InstanceType = "m5.xlarge"
$specification.InstancePlatform = "Linux/UNIX"
$specification.Weight = 3.0
$specification.AvailabilityZone = "us-east-1a"
$specification.EbsOptimized = $true
$specification.Priority = 1
```

------

# 용량 예약 플릿 수정
<a name="modify-crfleet"></a>

용량 예약 플릿의 총 목표 용량과 날짜를 언제든지 수정할 수 있습니다. 용량 예약 플릿의 총 목표 용량을 수정하면 플릿이 자동으로 새 용량 예약을 생성하거나, 새 총 목표 용량을 충족하도록 플릿의 기존 용량 예약을 수정 또는 취소합니다. 플릿의 종료 날짜를 수정하면 모든 개별 용량 예약의 종료 날짜가 그에 따라 업데이트됩니다.

**고려 사항**
+ 플릿을 수정하고 나면 그 상태가 `modifying`으로 전환됩니다. `modifying` 상태인 동안에는 플릿에 대해 추가 수정을 시도할 수 없습니다.
+ 용량 예약 플릿에 사용되는 테넌시, 가용 영역, 인스턴스 유형, 인스턴스 플랫폼, 우선순위 또는 가중치는 수정할 수 없습니다. 이러한 파라미터를 변경해야 하는 경우 기존 플릿을 취소하고 필요한 파라미터가 적용된 새 플릿을 생성해야 할 수 있습니다.
+ `--end-date`와 `--remove-end-date`를 같은 명령에 지정할 수는 없습니다.

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

**용량 예약 플릿을 수정하려면**  
[modify-capacity-reservation-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-capacity-reservation-fleet.html) 명령을 사용합니다.

**예제 1: 총 목표 용량 수정**

```
aws ec2 modify-capacity-reservation-fleet \
    --capacity-reservation-fleet-id crf-01234567890abcedf \
    --total-target-capacity 160
```

**예제 2: 종료 날짜 수정**

```
aws ec2 modify-capacity-reservation-fleet \
    --capacity-reservation-fleet-id crf-01234567890abcedf \
    --end-date 2021-07-04T23:59:59.000Z
```

**예제 3: 종료 날짜 제거**

```
aws ec2 modify-capacity-reservation-fleet \
    --capacity-reservation-fleet-id crf-01234567890abcedf \
    --remove-end-date
```

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

**용량 예약 플릿을 수정하려면**  
[Edit-EC2CapacityReservationFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2CapacityReservationFleet.html) cmdlet을 사용합니다.

**예제 1: 총 목표 용량 수정**

```
Edit-EC2CapacityReservationFleet `
    -CapacityReservationFleetId crf-01234567890abcedf `
    -TotalTargetCapacity 160
```

**예제 2: 종료 날짜 수정**

```
Edit-EC2CapacityReservationFleet `
    -CapacityReservationFleetId crf-01234567890abcedf `
    -EndDate 2021-07-04T23:59:59.000Z
```

**예제 3: 종료 날짜 제거**

```
Edit-EC2CapacityReservationFleet `
    -CapacityReservationFleetId crf-01234567890abcedf `
    -RemoveEndDate
```

------

# 용량 예약 플릿 취소
<a name="cancel-crfleet"></a>

용량 예약 플릿과 플릿에 의해 예약된 용량이 더 이상 필요하지 않은 경우 취소할 수 있습니다. 플릿을 취소하면 상태가 `cancelled`로 바뀌고 더 이상 새 용량 예약을 생성할 수 없습니다. 또한 플릿의 모든 개별 용량 예약이 취소됩니다. 이전에 예약 용량에서 실행 중이었던 인스턴스는 공유 용량에서 계속 정상적으로 실행됩니다.

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

**용량 예약 플릿 취소**  
[cancel-capacity-reservation-fleets](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-capacity-reservation-fleets.html) 명령을 사용합니다.

```
aws ec2 cancel-capacity-reservation-fleets \
    --capacity-reservation-fleet-ids crf-abcdef01234567890
```

다음은 예제 출력입니다.

```
{
    "SuccessfulFleetCancellations": [
        {
            "CurrentFleetState": "cancelling", 
            "PreviousFleetState": "active", 
            "CapacityReservationFleetId": "crf-abcdef01234567890"
        }
    ], 
    "FailedFleetCancellations": []
}
```

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

**용량 예약 플릿 취소**  
[Stop-EC2CapacityReservationFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2CapacityReservationFleet.html) cmdlet을 사용합니다.

```
Stop-EC2CapacityReservationFleet `
    -CapacityReservationFleetId crf-abcdef01234567890
```

------

# 용량 예약 플릿 구성 예
<a name="crfleet-example-configs"></a>

다음 예에서는 `m5.4xlarge`와 `m5.12xlarge`의 두 가지 인스턴스 유형을 사용하는 용량 예약 플릿을 생성합니다.

지정된 인스턴스 유형에서 제공하는 vCPU 수에 따라 가중치 시스템을 사용합니다. 총 목표 용량은 vCPU `480`개입니다. `m5.4xlarge`는 16개의 vCPU를 제공하며 가중치 `16`이 할당되고, `m5.12xlarge`는 48개의 vCPU 제공하며 가중치 `48`이 할당됩니다. 이 가중치 시스템은 30개의 `m5.4xlarge` 인스턴스(480/16=30) 또는 10개의 `m5.12xlarge` 인스턴스(480/48=10) 용량을 예약하는 용량 예약 플릿을 구성합니다.

이 플릿은 `m5.12xlarge` 용량을 우선으로 하고(우선순위 `1` 할당), `m5.4xlarge`에는 더 낮은 우선순위 `2`를 할당하도록 구성됩니다. 따라서 플릿이 `m5.12xlarge` 용량 예약을 먼저 시도하고 Amazon EC2에 `m5.12xlarge` 용량이 부족한 경우에만 `m5.4xlarge` 용량 예약을 시도합니다.

이 플릿은`Windows` 인스턴스의 용량을 예약하며 `October 31, 2021` `23:59:59`(UTC)에 예약이 자동으로 만료됩니다.

```
aws ec2 create-capacity-reservation-fleet \
    --total-target-capacity 480 \
    --allocation-strategy prioritized \
    --instance-match-criteria open \
    --tenancy default \
    --end-date 2021-10-31T23:59:59.000Z \
    --instance-type-specifications file://instanceTypeSpecification.json
```

다음은 `instanceTypeSpecification.json`의 내용입니다.

```
[
    {             
        "InstanceType": "m5.4xlarge",                        
        "InstancePlatform":"Windows",            
        "Weight": 16,
        "AvailabilityZone":"us-east-1a",        
        "EbsOptimized": true,            
        "Priority" : 2
    },
    {             
        "InstanceType": "m5.12xlarge",                        
        "InstancePlatform":"Windows",            
        "Weight": 48,
        "AvailabilityZone":"us-east-1a",        
        "EbsOptimized": true,            
        "Priority" : 1
    }
]
```

# 용량 예약 플릿에 서비스 연결 역할 사용
<a name="using-service-linked-roles"></a>

온디맨드 용량 예약 플릿은 AWS Identity and Access Management(IAM)[ 서비스 연결 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts)을 사용합니다. 서비스 연결 역할은용량 예약 플릿에 직접 연결된 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 용량 예약 플릿에서 사전 정의하며 서비스에서 다른 AWS 서비스를 자동으로 호출하기 위해 필요한 모든 권한을 포함합니다.

서비스 연결 역할을 사용하면 필요한 권한을 수동으로 추가할 필요가 없으므로용량 예약 플릿을 더 쉽게 설정할 수 있습니다. 용량 예약 플릿에서 서비스 연결 역할의 권한을 정의하므로 다르게 정의되지 않은 한, 용량 예약 플릿만 해당 역할을 수임할 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며 이 권한 정책은 다른 IAM 엔터티에 연결할 수 없습니다.

먼저 관련 리소스를 삭제한 후에만 서비스 연결 역할을 삭제할 수 있습니다. 이렇게 하면 리소스에 대한 액세스 권한을 부주의로 삭제할 수 없기 때문에 용량 예약 플릿 리소스가 보호됩니다.

## 용량 예약 플릿의 서비스 연결 역할 권한
<a name="slr-permissions"></a>

용량 예약 플릿은 **AWSServiceRoleForEC2CapacityReservationFleet**이라는 서비스 연결 역할을 사용하여 사용자를 대신해 용량 예약 플릿에서 용량 예약을 생성, 설명, 수정 및 취소합니다.

AWSServiceRoleForEC2CapacityReservationFleet 서비스 연결 역할은 역할을 수임하기 위해 다음 엔터티를 신뢰합니다.
+ `capacity-reservation-fleet.amazonaws.com`

이 역할에서는 `AWSEC2CapacityReservationFleetRolePolicy` AWS 관리형 정책을 사용합니다. 자세한 내용은 [AWS 관리형 정책: AWSEC2CapacityReservationFleetRolePolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSEC2CapacityReservationFleetRolePolicy) 섹션을 참조하세요.

IAM 엔터티(사용자, 그룹, 역할 등)가 서비스 연결 역할을 생성하고 편집하거나 삭제할 수 있도록 권한을 구성할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html#service-linked-role-permissions)을 참조하세요.

## 용량 예약 플릿의 서비스 연결 역할 생성
<a name="create-slr"></a>

서비스 연결 역할은 수동으로 생성할 필요가 없습니다. `create-capacity-reservation-fleet` AWS CLI 명령 또는 `CreateCapacityReservationFleet` API를 사용하여 용량 예약 플릿을 생성할 경우 서비스 연결 역할이 자동으로 생성됩니다.

이 서비스 연결 역할을 삭제했다가 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다. 용량 예약 플릿을 생성할 때, 용량 예약 플릿이 서비스 연결 역할을 다시 생성합니다.

## 용량 예약 플릿의 서비스 연결 역할 편집
<a name="edit-slr"></a>

용량 예약 플릿에서는 AWSServiceRoleForEC2CapacityReservationFleet 서비스 연결 역할을 편집할 수 없습니다. 서비스 연결 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 설명 편집](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-service-linked-role.html#edit-service-linked-role-iam-console)을 참조하세요.

## 용량 예약 플릿의 서비스 연결 역할 삭제
<a name="delete-slr"></a>

서비스 연결 역할이 필요한 기능 또는 서비스가 더 이상 필요 없는 경우에는 해당 역할을 삭제하는 것이 좋습니다. 따라서 적극적으로 모니터링하거나 유지하지 않는 미사용 엔터티가 없도록 합니다. 단, 서비스 연결 역할에 대한 리소스를 먼저 삭제해야 수동으로 삭제할 수 있습니다.

**참고**  
리소스를 삭제하려 할 때 용량 예약 플릿 서비스가 역할을 사용 중이면 삭제에 실패할 수 있습니다. 이 문제가 발생하면 몇 분 기다렸다가 작업을 다시 시도하세요.

**AWSServiceRoleForEC2CapacityReservationFleet 서비스 연결 역할을 삭제하려면**

1. `delete-capacity-reservation-fleet` AWS CLI 명령 또는 `DeleteCapacityReservationFleet` API를 사용하여 계정에서 용량 예약 플릿을 삭제합니다.

1. IAM 콘솔, AWS CLI 또는 AWS API를 사용하여 AWSServiceRoleForEC2CapacityReservationFleet 서비스 연결 역할을 삭제합니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html#id_roles_manage_delete_slr)를 참조하세요.

## 용량 예약 플릿 서비스 연결 역할을 지원하는 리전
<a name="slr-regions"></a>

용량 예약 플릿에서는 서비스를 사용할 수 있는 모든 리전에서 서비스 연결 역할 사용을 지원합니다. 자세한 내용은 [AWS 리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/ec2-service.html#ec2_region) 섹션을 참조하세요.

# CloudWatch 지표를 사용하여 용량 예약 모니터링
<a name="capacity-reservation-cw-metrics"></a>

CloudWatch 지표를 사용하면 사용량 임계값이 충족될 때 알림을 보내도록 CloudWatch 경보를 설정하여 용량 예약을 효율적으로 모니터링하고 사용하지 않은 용량을 식별할 수 있습니다. 이를 통해 일정한 용량 예약 볼륨을 유지하고 더 높은 수준의 사용률을 달성할 수 있습니다.

용량 예약은 5분마다 CloudWatch로 지표 데이터를 전송합니다. 5분 미만 동안 활성 상태인 용량 예약에는 지표가 지원되지 않습니다.

CloudWatch 콘솔에서 지표를 보는 방법에 대한 자세한 내용은 [Amazon CloudWatch 지표 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)을 참조하세요. 경보 생성에 대한 자세한 내용은 [Amazon CloudWatch 경보 생성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)을 참조하세요.

**Topics**
+ [용량 예약 사용량 지표](#capacity-reservation-usage-metrics)
+ [용량 예약 지표 차원](#capacity-reservation-dimensions)
+ [용량 예약의 CloudWatch 지표 보기](#viewing-capacity-reservation-metrics)

## 용량 예약 사용량 지표
<a name="capacity-reservation-usage-metrics"></a>

`AWS/EC2CapacityReservations` 네임스페이스에는 예약에 대해 지정한 임계값 내에서 온디맨드 용량을 모니터링하고 유지 관리하는 데 사용할 수 있는 다음과 같은 사용량 지표가 포함됩니다.


| 측정치 | 설명 | 
| --- | --- | 
|  UsedInstanceCount |  현재 사용 중인 인스턴스 수입니다. 단위: 수  | 
|  AvailableInstanceCount  |  사용 가능한 인스턴스 수입니다. 단위: 수  | 
|  TotalInstanceCount  |  예약한 총 인스턴스 수입니다. 단위: 수  | 
|  InstanceUtilization  |  현재 사용 중인 예약 용량 인스턴스의 비율입니다. 단위: 백분율  | 

## 용량 예약 지표 차원
<a name="capacity-reservation-dimensions"></a>

다음 차원을 사용하여 선택한 리전 및 계정 내에서 이전 표에 나열된 지표를 구체화할 수 있습니다.


|  차원  |  설명  | 
| --- | --- | 
|  (차원 없음)  |  이 차원은 모든 용량 예약에 대해 지정된 지표를 필터링합니다.  | 
|  CapacityReservationId  |  이 차원은 식별된 용량 예약에 대해 지정된 지표를 필터링합니다.  | 
|  InstanceType  |  이 차원은 식별된 인스턴스 유형에 대해 지정된 지표를 필터링합니다.  | 
|  AvailabilityZone  |  이 차원은 식별된 가용 영역에 대해 지정된 지표를 필터링합니다.  | 
|  InstanceMatchCriteria  |  이 차원은 식별된 인스턴스 일치 기준(`open` 또는 `targeted`)에 대해 지정된 지표를 필터링합니다.  | 
|  InstancePlatform  |  이 차원은 식별된 플랫폼에 대해 지정된 지표 데이터를 필터링합니다.  | 
|  Tenancy  |  이 차원은 식별된 테넌시에 대해 지정된 지표를 필터링합니다.  | 

## 용량 예약의 CloudWatch 지표 보기
<a name="viewing-capacity-reservation-metrics"></a>

지표는 먼저 서비스 네임스페이스별로 그룹화된 다음, 각 네임스페이스 내에서 지원되는 차원별로 그룹화됩니다. 다음 절차에 따라 용량 예약에 대한 지표를 볼 수 있습니다.

**CloudWatch 콘솔을 사용하여 용량 예약 지표를 보려면**

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

1. 필요한 경우 리전을 변경합니다. 탐색 모음에서 용량 예약이 상주하는 리전을 선택합니다. 자세한 설명은 [리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html)를 참조하십시오.

1. 탐색 창에서 **지표(Metrics)**를 선택합니다.

1. **모든 지표**에 대해 **EC2 용량 예약**을 선택합니다.

1. **모든 용량 예약에서**, **용량 예약 기준**, **인스턴스 유형 기준**, **가용 영역 기준**, **플랫폼 기준**, **인스턴스 일치 기준**, **테넌시 기준**과 같은 이전 지표 차원 중에서 선택합니다. 그러면 지표는 각각 `CapacityReservationId`, `InstanceType`, `AvailabilityZone`, `Platform`, `InstanceMatchCriteria`, `Tenancy`를 기준으로 그룹화됩니다.

1. 지표를 정렬하려면 열 머리글을 사용합니다. 지표를 그래프로 표시하려면 지표 옆에 있는 확인란을 선택합니다.

**AWS CLI를 사용하여 용량 예약 지표를 보는 방법**  
다음 [list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) 명령을 사용합니다.

```
aws cloudwatch list-metrics --namespace "AWS/EC2CapacityReservations"
```

# 용량 예약 사용률 저하 모니터링
<a name="cr-eventbridge"></a>

다음을 사용하여 용량 예약 사용률 저하를 모니터링할 수 있습니다.

**Topics**
+ [Amazon EventBridge 이벤트](#cr-underutilization-events)
+ [이메일 및 AWS Health 대시보드 알림](#monitor-cr-utilization)

## Amazon EventBridge 이벤트
<a name="cr-underutilization-events"></a>

계정의 용량 예약의 사용량이 일정 기간 동안 20% 미만이면 AWS Health가 Amazon EventBridge로 이벤트를 전송합니다. EventBridge에서는 이러한 이벤트에 대한 응답으로 프로그래밍 작업을 트리거하는 규칙을 설정할 수 있습니다. 예를 들어 7일 동안 사용률이 20% 미만인 용량 예약을 자동으로 취소하는 규칙을 생성할 수 있습니다.

EventBridge의 이벤트는 JSON 객체로 표현됩니다. 이 이벤트에 고유한 필드는 JSON 객체의 "세부 정보" 섹션에 포함되어 있습니다. "이벤트" 필드에는 이벤트 이름이 포함됩니다. "결과" 필드에는 이벤트를 트리거한 작업의 완료 상태가 포함됩니다. 자세한 내용은 *Amazon EventBridge 사용 설명서*의 [Amazon EventBridge 이벤트 패턴](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)을 참조하세요.

자세한 내용은 [Amazon EventBridge 사용 설명서](https://docs.aws.amazon.com/eventbridge/latest/userguide/)를 참조하세요.

이 기능은 AWS GovCloud (US)에서 지원되지 않습니다.

### 이벤트
<a name="cr-eventbridge-events"></a>

용량 예약의 용량 사용량이 20% 미만이면 AWS Health가 다음 이벤트를 전송합니다.
+ `AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION`

  다음은 새로 생성된 용량 예약의 용량 사용량이 24시간 동안 20% 미만일 경우 생성되는 이벤트의 예입니다.

  ```
  {
      "version": "0",
      "id": "b3e00086-f271-12a1-a36c-55e8ddaa130a",
      "detail-type": "AWS Health Event",
      "source": "aws.health",
      "account": "123456789012",
      "time": "2023-03-10T12:03:38Z",
      "region": "ap-south-1",
      "resources": [
          "cr-01234567890abcdef"
      ],
      "detail": {
          "eventArn": "arn:aws:health:ap-south-1::event/EC2/AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION/AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION_cr-01234567890abcdef-6211-4d50-9286-0c9fbc243f04",
          "service": "EC2",
          "eventTypeCode": "AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION",
          "eventTypeCategory": "accountNotification",
          "startTime": "Fri, 10 Mar 2023 12:03:38 GMT",
          "endTime": "Fri, 10 Mar 2023 12:03:38 GMT",
          "eventDescription": [
              {
                  "language": "en_US",
                  "latestDescription": "A description of the event will be provided here"
              }
          ],
          "affectedEntities": [
              {
                  "entityValue": "cr-01234567890abcdef"
              }
          ]
      }
      }
  ```
+ `AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION_SUMMARY`

  다음은 새로 생성된 용량 예약 중 하나 이상의 용량 사용량이 7일 동안 20% 미만일 경우 생성되는 이벤트의 예입니다.

  ```
  { 
      "version": "0", "id":"7439d42b-3c7f-ad50-6a88-25e2a70977e2", 
      "detail-type": "AWS Health Event", 
      "source": "aws.health", 
      "account": "123456789012", 
      "time": "2023-03-07T06:06:01Z", 
      "region": "us-east-1", 
      "resources": [ 
          "cr-01234567890abcdef | us-east-1b | t3.medium | Linux/UNIX | 0.0%", 
          "cr-09876543210fedcba | us-east-1a | t3.medium | Linux/UNIX | 0.0%" 
      ], 
      "detail": { 
          "eventArn": "arn:aws:health:us-east-1::event/EC2/AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION_SUMMARY/AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION_SUMMARY_726c1732-d6f6-4037-b9b8-bec3c2d3ba65", 
          "service": "EC2", 
          "eventTypeCode": "AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION_SUMMARY", 
          "eventTypeCategory": "accountNotification", 
          "startTime": "Tue, 7 Mar 2023 06:06:01 GMT", 
          "endTime": "Tue, 7 Mar 2023 06:06:01 GMT", 
          "eventDescription": [
              { 
                  "language": "en_US", 
                  "latestDescription": "A description of the event will be provided here" 
              }
          ], 
          "affectedEntities": [
              { 
                  "entityValue": "cr-01234567890abcdef | us-east-1b | t3.medium | Linux/UNIX | 0.0%" 
              }, 
              { 
                  "entityValue": "cr-09876543210fedcba | us-east-1a | t3.medium | Linux/UNIX | 0.0%" 
              }
          ]
      }
  }
  ```

### EventBridge 규칙 생성
<a name="cr-eventbridge-use"></a>

용량 예약 사용률이 20% 미만으로 떨어질 경우 이메일 알림을 받으려면 Amazon SNS 주제를 생성한 다음 `AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION` 이벤트에 대한 EventBridge 규칙을 생성합니다.

**Amazon SNS 주제를 생성하려면**

1. [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)에서 Amazon SNS 콘솔을 엽니다.

1. 탐색 창에서 **토픽**을 선택한 다음, **토픽 생성**을 선택합니다.

1. **유형**에서 **표준**을 선택합니다.

1. **이름**에 새 주제의 이름을 입력합니다.

1. **주제 생성**을 선택합니다.

1. **구독 생성**을 선택합니다.

1. **프로토콜**에서 **이메일**을 선택한 다음 **엔드포인트**에 알림을 받는 데 사용할 이메일 주소를 입력합니다.

1. **구독 생성**을 선택합니다.

1. 위에 입력한 이메일 주소로 `AWS Notification - Subscription Confirmation`(이)라는 제목의 이메일 메시지를 받게 됩니다. 지시에 따라 구독을 확인합니다.

**EventBridge 규칙을 만들려면**

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

1. 탐색 창에서 **규칙(Rules)**을 선택한 후 **규칙 생성(Create rule)**을 선택합니다.

1. **이름**에 새 규칙의 이름을 입력합니다.

1. **규칙 유형(Rule type)**에서 **이벤트 패턴이 있는 규칙(Rule with an event pattern)**을 생성합니다.

1. **다음**을 선택합니다.

1. **이벤트 패턴**에서 다음을 수행합니다.

   1. **이벤트 소스**에서 **AWS 서비스**를 선택합니다.

   1. **AWS 서비스**에서 **AWS Health**를 선택합니다.

   1. **이벤트 유형**에서 **EC2 ODCR 사용률 부족 알림**을 선택합니다.

1. **다음**을 선택합니다.

1. **대상 1**에서 다음을 수행합니다.

   1. **대상 유형**에서 **AWS서비스**를 선택합니다.

   1. **대상 선택**에서 **SNS 주제**를 선택합니다.

   1. **주제**에서 앞서 생성한 주제를 선택합니다.

1. **다음**을 선택한 후 **다음**을 다시 한번 선택합니다.

1. **규칙 생성**을 선택합니다.

## 이메일 및 AWS Health 대시보드 알림
<a name="monitor-cr-utilization"></a>

계정에서 용량 예약의 용량 사용률이 20% 미만으로 떨어지면 AWS Health가 다음 이메일과 Health Dashboard 알림을 보냅니다.
+ 새로 생성된 각 용량 예약 중 지난 24시간 동안 사용률이 20% 미만인 각 용량 예약에 대한 개별 알림.
+ 지난 7일 동안 사용률이 20% 미만인 모든 용량 예약에 대한 요약 알림.

이메일 알림과 Health Dashboard 알림은 용량 예약을 소유한 AWS 계정에 연결된 이메일 주소로 전송됩니다. 이 알림에는 다음 정보가 포함됩니다.
+ 용량 예약의 ID입니다.
+ 용량 예약의 가용 영역.
+ 용량 예약의 평균 사용률.
+ 용량 예약의 인스턴스 유형 및 플랫폼(운영 체제).

또한 계정에서 용량 예약의 용량 사용률이 24시간과 7일 동안 20% 미만이면 AWS Health가 EventBridge로 이벤트를 전송합니다. EventBridge를 사용하면, 이메일 알림을 전송하거나 AWS Lambda 함수를 트리거하는 등의 자동 작업을 이러한 이벤트에 대한 응답으로 설정하는 규칙을 만들 수 있습니다. 자세한 내용은 [용량 예약 사용률 저하 모니터링](#cr-eventbridge) 섹션을 참조하세요.

# 장래 날짜 용량 예약의 상태 변경 모니터링
<a name="monitor-fcr-state"></a>

Amazon EC2는 장래 날짜 용량 예약의 상태가 변경될 때 Amazon EventBridge로 이벤트를 전송합니다.

다음은 이 이벤트의 예입니다. 이 예제에서는 장래 날짜 용량 예약이 `scheduled` 상태로 전환되었습니다. `detail-type` 필드에 강조 표시된 상태를 기록해 둡니다.

```
{
   "version":"0",
   "id":"12345678-1234-1234-1234-123456789012",
   "detail-type":"EC2 Capacity Reservation Scheduled",
   "source":"aws.ec2",
   "account":"123456789012",
   "time":"yyyy-mm-ddThh:mm:ssZ",
   "region":"us-east-1",
   "resources":[
      "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdefg"
   ],
   "detail":{
      "capacity-reservation-id":"cr-1234567890abcdefg",
      "state":"scheduled"
   }
}
```

`detail-type` 필터에 사용할 수 있는 값은 다음과 같습니다.
+ `Scheduled`
+ `Active`
+ `Delayed`
+ `Unsupported`
+ `Failed`
+ `Expired`

이러한 상태에 대한 자세한 내용은 [용량 예약 상태 보기](capacity-reservations-view.md) 섹션을 참조하세요.

이러한 이벤트를 모니터링한 다음 특정 작업이 발생할 때 트리거하는 Amazon EventBridge 이벤트를 생성할 수 있습니다. 자세한 내용은 [Amazon EventBridge에서 이벤트에 반응하는 규칙 생성](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)을 참조하세요.

모든 상태 변경 이벤트를 모니터링하는 규칙을 생성할 때 다음 이벤트 패턴을 사용할 수 있습니다.

```
{
  "source": ["aws.ec2"],
  "detail-type": [{
    "prefix": "EC2 Capacity Reservation"
  }]
}
```

특정 상태 변경만 모니터링하는 규칙을 생성할 때 다음 이벤트 패턴을 사용할 수 있습니다.

```
{
  "source": ["aws.ec2"],
  "detail-type": [{
    "prefix": "EC2 Capacity Reservation state"
  }]
}
```

예를 들어 다음 이벤트 패턴은 장래 날짜 용량 예약이 `active` 상태가 될 때 전송되는 이벤트를 모니터링합니다.

```
{
  "source": ["aws.ec2"],
  "detail-type": [{
    "prefix": "EC2 Capacity Reservation Active"
  }]
}
```

# 중단 가능한 용량 예약
<a name="interruptible-capacity-reservations"></a>

중단 가능한 용량 예약은 계정 내 다른 워크로드에서 미사용 용량을 일시적으로 사용할 수 있도록 하며, 필요할 때 용량을 회수할 수 있는 제어를 제공합니다. 용량을 회수하면 중단 가능한 예약 내에서 실행 중인 모든 인스턴스가 종료됩니다. 중단 가능한 예약을 생성한 후 AWS Resource Access Manager(RAM)를 사용하여 추가 AWS 계정이나 AWS 조직과 공유할 수 있습니다.

비수기, 배포 간 또는 워크로드 스케일 다운 시 예약된 용량이 사용되지 않을 때 중단 가능 용량 예약을 사용하세요. 다른 팀이 이 용량을 사용할 수 있으면 중단 가능한 용량 예약을 생성하여 제공할 수 있으며, 중요한 워크로드에 용량이 다시 필요할 때 회수할 수 있습니다.

중단 가능한 용량 예약은 다음 중 하나로 사용할 수 있습니다.
+ **용량 소유자** – 소스 용량 예약을 소유하고 있으며, 다른 팀과 미사용 용량을 공유하면서 필요할 때 회수할 수 있도록 중단 가능한 용량 예약을 생성합니다.
+ **용량 소비자** – 공유된 중단 가능한 예약에 인스턴스를 시작하며, 소유자가 용량을 회수하는 경우 해당 인스턴스가 종료될 수 있음을 인지합니다.

**Topics**
+ [작동 방식](#how-interruptible-cr-works)
+ [결제](#interruptible-cr-billing)
+ [고려 사항](#interruptible-cr-considerations)
+ [용량 소유자를 위한 중단 가능한 용량 예약](capacity-owner-procedures.md)
+ [용량 소비자를 위한 중단 가능한 용량 예약](capacity-consumer-procedures.md)
+ [EventBridge 및 CloudTrail을 사용한 중단 가능한 용량 예약 모니터링](monitor-interruptible-cr.md)

## 작동 방식
<a name="how-interruptible-cr-works"></a>

미사용 용량을 다른 팀에 제공하려면, 소스 예약에서 공유하고 싶은 미사용 인스턴스 수를 지정하여 중단 가능한 예약을 생성하세요. 중단 가능한 예약을 생성하면 해당 인스턴스가 소스 예약에서 계정 내 새 중단 가능한 예약으로 전송됩니다.

소스 예약과 중단 가능한 용량 예약 간의 연관성을 유지합니다. 따라서 용량을 회수하면 실행 중인 소비자 인스턴스가 종료되고 용량이 원래 소스 예약으로 복원됩니다.

주요 기능:
+ 미사용 용량을 일시적으로 제공하면서 회수 제어 유지
+ 언제든지 용량 회수 가능. 자세한 내용은 [회수 프로세스 및 추적](capacity-owner-procedures.md#reclamation-process) 섹션을 참조하세요.
+ AWS Resource Access Manager(RAM)를 사용하여 추가 계정 또는 AWS 조직과 공유

## 결제
<a name="interruptible-cr-billing"></a>

중단 가능한 예약을 생성하면 독립적인 새 예약으로 요금이 청구됩니다. 이렇게 하면 결제가 분리됩니다.
+ 소스 예약: 총 용량에서 할당된 용량을 뺀 것에 대해 요금이 청구됩니다.
+ 중단 가능한 예약: 할당된 용량에 대해 요금이 청구됩니다.

온디맨드 용량 예약 결제에 대한 자세한 내용은 [용량 예약 요금 및 결제](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-pricing-billing.html)를 참조하세요.

## 고려 사항
<a name="interruptible-cr-considerations"></a>

중단 가능한 용량 예약을 사용하기 전에 용량 소유자와 소비자에게 적용되는 다음 제한 및 요구 사항을 검토하세요.

### 용량 소유자
<a name="capacity-owner-considerations"></a>
+ 중단 가능한 용량 예약을 직접 수정하거나 취소할 수 없습니다. 편집하려면 소스 용량 예약에서 할당된 용량을 업데이트하세요.
+ 중단 가능한 예약에 대해서는 보기, 시작, 태그 지정, 공유, 결제 지정만 가능합니다.
+ 소스 용량 예약당 하나의 중단 가능한 할당만 생성할 수 있습니다.

### 용량 소비자
<a name="capacity-consumer-considerations"></a>
+ 중단 가능한 용량 예약은 기본적으로 대상 지정 용량 예약이므로 인스턴스 시작 시 이를 대상으로 지정해야 합니다.
+ 중단 가능한 용량 예약을 용량 예약 그룹에 추가할 수 없습니다.
+ 중단 가능한 용량 예약은 중단될 수 있는 애플리케이션에만 사용하는 것이 좋습니다.
+ 소유자가 용량을 회수하면 인스턴스가 종료되며 온디맨드 또는 스팟으로 대체되지 않습니다. 자세한 내용은 [중단 처리 방식](capacity-consumer-procedures.md#interruption-experience) 섹션을 참조하세요.

# 용량 소유자를 위한 중단 가능한 용량 예약
<a name="capacity-owner-procedures"></a>

용량 소유자는 소스 용량 예약을 소유하고 있으며 필요 시 다시 회수할 수 있는 제어 권한을 유지한 채 다른 팀과 미사용 용량을 공유하기 위해 중단 가능한 용량 예약을 생성하는 계정을 의미합니다.

이 섹션에서는 용량 소유자인 경우 중단 가능한 용량 예약을 생성, 수정, 회수 및 추적하는 방법을 다룹니다.​

**Topics**
+ [중단 가능한 용량 예약 생성](#creating-interruptible-cr)
+ [중단 가능한 용량 예약 보기](#view-interruptible-cr)
+ [중단 가능한 용량 예약 수정](#modify-interruptible-cr)
+ [회수 프로세스 및 추적](#reclamation-process)
+ [중단 가능한 예약 공유](#sharing-interruptible-reservations)

## 중단 가능한 용량 예약 생성
<a name="creating-interruptible-cr"></a>

소스 예약의 미사용 용량을 다른 워크로드에 제공하면서 나중에 필요할 때 해당 용량을 회수할 수 있도록 중단 가능한 용량 예약을 생성합니다.

### 사전 조건
<a name="interruptible-cr-prerequisites"></a>

중단 가능한 할당을 생성하기 전에 소스 온디맨드 용량 예약이 다음 요구 사항을 충족하는지 확인해야 합니다.
+ 용량 예약은 활성 상태여야 하며 종료 날짜가 설정되어 있지 않아야 합니다. 보류 중이거나, 만료되었거나, 취소되었거나, 종료 날짜가 예약된 용량 예약에서는 할당을 생성할 수 없습니다.
+ 용량 예약에 할당 가능한 용량이 있어야 합니다. 사용 가능한 인스턴스(미사용 용량이라고도 함)만 할당할 수 있습니다.
+ 소스 용량 예약당 하나의 중단 가능한 할당만 생성할 수 있습니다. 이미 할당이 존재하는 경우, 새 할당을 생성하기 전에 해당 할당을 수정하거나 취소해야 합니다.
+ 한 번에 최대 1,000개의 인스턴스를 중단 가능한 용량 예약에 할당할 수 있습니다.

콘솔 또는 AWS CLI를 사용하여 중단 가능한 용량 예약을 생성할 수 있습니다.

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

**중단 가능한 용량 예약을 생성하려면**

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

1. **용량 예약**을 선택합니다.

1. 용량 예약을 선택합니다.

1. **작업**을 선택한 다음, **중단 가능한 할당 생성**을 선택합니다.

1. **할당할 인스턴스 수**에 할당할 인스턴스 개수를 입력합니다.

1. (선택 사항) 태그를 추가합니다.

1. **중단 가능한 용량 할당 생성**을 선택합니다.

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

**중단 가능한 용량 예약을 생성하려면**  
[create-interruptible-capacity-reservation-allocation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-interruptible-capacity-reservation-allocation.html) 명령을 사용합니다.

```
aws ec2 create-interruptible-capacity-reservation-allocation \
    --capacity-reservation-id cr-1234567890abcdef0 \
    --instance-count 10
```

------

## 중단 가능한 용량 예약 보기
<a name="view-interruptible-cr"></a>

중단 가능한 용량 예약을 생성한 후에는 계정 전체 또는 특정 리소스 기준으로 해당 중단 가능한 예약을 확인할 수 있습니다.

### 계정 내 모든 중단 가능한 용량 예약 보기
<a name="view-all-interruptible-cr"></a>

다음 절차에 따라 계정에 있는 중단 가능한 용량 예약을 확인할 수 있습니다.

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

**계정에서 중단 가능한 용량 예약을 보려면**

1. 콘솔에서 용량 예약 페이지로 이동합니다.

1. 유형 열에서 **중단 가능**으로 표시된 예약을 찾습니다.

1. 세부 정보를 확인하려면 해당 중단 가능한 예약을 선택합니다.

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

**계정에서 중단 가능한 용량 예약을 보려면**

```
aws ec2 describe-capacity-reservations \
    --capacity-reservation-id cr-interruptible-id \
    --filters Name=interruptible,Values=true
```

------

### 특정 소스에서 생성된 중단 가능한 용량 예약 보기
<a name="view-interruptible-cr-from-source"></a>

다음 절차에 따라 특정 소스 용량 예약에서 생성된 중단 가능한 용량 예약을 확인할 수 있습니다.

```
aws ec2 describe-capacity-reservations \
    --capacity-reservation-id cr-source-id
```

응답에는 중단 가능한 용량 예약 ID와 할당 세부 정보를 포함하는 `interruptibleCapacityAllocations` 객체가 포함됩니다. 응답 구조에 대한 자세한 내용은 *Amazon EC2 API 참조*의 [InterruptibleCapacityAllocation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InterruptibleCapacityAllocation.html)을 참조하세요.

## 중단 가능한 용량 예약 수정
<a name="modify-interruptible-cr"></a>

다음 절차에 따라 중단 가능한 용량 예약을 편집하거나 취소할 수 있습니다.

**참고**  
할당을 줄이는 경우, 먼저 사용 가능한 인스턴스를 회수한 다음 실행 중인 인스턴스를 회수하여 요청된 개수에 도달할 때까지 조정합니다. 그 개수를 전부 사용 가능한 인스턴스로 충족할 수 있는 경우에는 인스턴스 종료는 발생하지 않습니다. 할당된 인스턴스 수에 대한 모든 수정은 중단 가능한 용량 예약에서 직접 실행하는 것이 아니라, 소스 용량 예약을 통해 실행됩니다.
한 번에 수정할 수 있는 중단 가능한 용량 예약의 인스턴스 수는 최대 1,000개입니다(증가하거나 감소함).

### 중단 가능한 용량 예약 편집
<a name="edit-interruptible-allocation"></a>

다음 절차에 따라 중단 가능한 용량 예약을 편집할 수 있습니다.

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

1. 소스 용량 예약 세부 정보 페이지에서 **작업**을 선택합니다. 그런 다음 **중단 가능한 용량 예약 편집**을 선택합니다.

1. **할당할 인스턴스**에 새 인스턴스 개수를 입력합니다.
   + 공유할 용량 추가
   + 소스 용량 예약으로 용량 회수

1. **업데이트**를 선택합니다.

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

```
aws ec2 update-interruptible-capacity-reservation-allocation \
    --capacity-reservation-id cr-1234567890abcdef0 \
    --target-instance-count 80
```

------

### 중단 가능한 용량 예약 취소
<a name="cancel-interruptible-allocation"></a>

다음 절차에 따라 할당을 영구적으로 제거하고 모든 용량을 반환할 수 있습니다.

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

1. 소스 용량 예약 세부 정보 페이지에서 중단 가능한 용량 할당 세부 정보로 이동합니다.

1. **중단 가능한 할당 편집**을 선택합니다.

1. 인스턴스 수에 **0**을 입력합니다.

1. **업데이트**를 선택합니다.

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

```
aws ec2 update-interruptible-capacity-reservation-allocation \
--capacity-reservation-id cr-1234567890abcdef0 \
--target-instance-count 0
```

------

## 회수 프로세스 및 추적
<a name="reclamation-process"></a>

용량을 회수하는 경우:
+ 실행 중인 인스턴스는 EventBridge 이벤트를 통해 2분의 중단 경고를 받게 됩니다.
+ 알림 기간이 종료되면, 회수된 용량에 포함된 실행 중인 인스턴스는 종료 중 상태로 전환된 후 종료됩니다.
+ 종료되면, 회수된 인스턴스는 즉시 사용할 수 있도록 소스 용량 예약에서 사용 가능 상태가 됩니다.
+ 할당 상태는 회수가 완료되면 **업데이트 중**에서 **활성**으로 변경됩니다.

전체 회수 과정은 인스턴스 유형과 종료 시간에 따라 몇 분 정도 소요될 수 있습니다. 프로세스가 완료되었을 때 수신하는 EventBridge 알림에 대한 자세한 내용은 [회수 완료](monitor-interruptible-cr.md#reclamation-completion)를 참조하세요.

### 회수 상태 추적
<a name="track-reclamation-status"></a>

다음과 같이 소스 용량 예약을 설명하여 회수 진행 상황을 모니터링할 수 있습니다.

```
aws ec2 describe-capacity-reservations \
--capacity-reservation-id cr-1234567890abcdef0
```

응답에는 `interruptibleCapacityAllocation` 객체 내에 다음 필드가 표시됩니다.
+ `instance-count`: 현재 할당된 인스턴스 수
+ `target-instance-count`: 회수 후 요청된 인스턴스 수
+ `status`: 회수 중에는 **업데이트 중**, 완료되면 **활성**

## 중단 가능한 예약 공유
<a name="sharing-interruptible-reservations"></a>

AWS Resource Access Manager(RAM)를 사용하여 AWS 조직 내에서만 중단 가능한 예약을 공유할 수 있습니다.

고려 사항:
+ 소비자 계정이 조직을 탈퇴하면, 해당 계정에 공유된 중단 가능한 예약은 자동으로 공유 해제됩니다.
+ 공유 해제된 예약에서 실행 중이던 모든 인스턴스는 결국 종료됩니다.
+ 그 외 모든 공유 기능은 표준 용량 예약과 동일하게 작동합니다.

전체 공유 절차에 대해서는 [용량 예약 공유](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservation-sharing.html)를 참조하세요.

# 용량 소비자를 위한 중단 가능한 용량 예약
<a name="capacity-consumer-procedures"></a>

용량 소비자는 공유된 중단 가능한 용량 예약에 인스턴스를 시작하는 계정을 의미하며, 소유자가 용량을 회수하는 경우 해당 인스턴스가 종료될 수 있음을 인지하고 있어야 합니다.

이 섹션에서는 용량 소비자인 사용자가 중단 가능한 용량 예약에 인스턴스를 시작하는 방법과 소유자가 용량을 회수할 때 발생하는 사항에 대해 설명합니다.

**Topics**
+ [중단 가능한 용량 예약 보기](#view-interruptible-cr-consumer)
+ [중단 가능한 예약으로 인스턴스 시작](#launch-instances-interruptible)
+ [중단 처리 방식](#interruption-experience)

## 중단 가능한 용량 예약 보기
<a name="view-interruptible-cr-consumer"></a>

다음 절차에 따라 중단 가능한 용량 예약을 확인할 수 있습니다.

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

**계정에서 중단 가능한 용량 예약을 보려면**

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

1. **용량 예약**을 선택합니다.

1. **유형** 열에서 **중단 가능**으로 표시된 예약을 찾습니다.

1. 인스턴스 시작 시 사용할 수 있도록 해당 예약 ID를 기록해 둡니다.

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

**계정에서 중단 가능한 모든 용량 예약을 찾으려면**  
[describe-capacity-reservations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-capacity-reservations.html) 명령을 사용합니다.

```
aws ec2 describe-capacity-reservations \
--filters Name=state,Values=active
```

응답에서 `Interruptible` 값이 `true`로 설정된 예약을 확인합니다.

**중단 가능한 예약만 필터링하려면**  
다음 명령을 사용합니다.

```
aws ec2 describe-capacity-reservations \
--capacity-reservation-ids cr-example123 \
--query 'CapacityReservations[?Interruptible==`true`]'
```

------

**참고**  
중단 가능한 용량 예약은 기본적으로 대상 지정 용량 예약입니다. 따라서 인스턴스를 시작할 때 해당 예약을 명시적으로 대상으로 지정해야 합니다. 열린 용량 예약과 달리, 중단 가능한 예약은 일치하는 인스턴스를 자동으로 커버하지 않습니다. 인스턴스 시작 시 반드시 예약 ID를 명시적으로 지정해야 합니다.

## 중단 가능한 예약으로 인스턴스 시작
<a name="launch-instances-interruptible"></a>

다음 절차에 따라 계정 내 중단 가능한 용량 예약에 Amazon EC2 인스턴스를 시작할 수 있습니다.

**참고**  
중단 가능한 용량 예약은 중단될 수 있는 애플리케이션에만 사용하는 것이 좋습니다.

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

**중단 가능한 용량 예약으로 인스턴스를 시작하려면**

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

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

1. 인스턴스 설정을 구성합니다.

1. 용량 예약의 **고급 세부 정보**에서 **활성 예약에서 중단 가능한 인스턴스 시작**을 선택합니다.

1. 중단 가능한 예약 ID와 새 인스턴스 구매 옵션을 선택합니다.

1. **인스턴스 시작**을 선택합니다.

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

```
aws ec2 run-instances \
--instance-type m5.large \
--count 2 \
--image-id ami-12345678 \
--instance-market-options '{
    "MarketType": "interruptible-capacity-reservation"
}' \
--capacity-reservation-specification '{
    "CapacityReservationTarget": {
        "CapacityReservationId": "cr-abcdef1234567890"
    }   
}'
```

------

### Auto Scaling 그룹을 사용하여 인스턴스 시작
<a name="launch-with-asg"></a>

시작 템플릿을 사용하는 Auto Scaling 그룹을 통해서도 중단 가능한 예약에 인스턴스를 시작할 수 있습니다. 시작 템플릿에서 중단 가능한 마켓 유형과 예약 ID를 구성한 후, 해당 템플릿을 사용하여 Auto Scaling 그룹을 생성합니다. 자세한 내용은 [ EC2 Auto Scaling을 사용한 중단 가능한 용량 예약](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-interruptible-capacity-reservations.html)을 참조하세요.

## 중단 처리 방식
<a name="interruption-experience"></a>

소유자가 용량을 회수하면, 인스턴스 종료 2분 전에 중단 알림을 받게 됩니다. 이 경고는 EventBridge 이벤트를 통해 전달되며, 다음 작업을 수행할 시간을 제공합니다.
+ 작업 저장 또는 애플리케이션 체크포인트 생성
+ 프로세스 종료
+ 인스턴스 종료 준비

EventBridge 이벤트에는 종료될 인스턴스와 정확한 종료 시간이 포함됩니다. 자세한 내용은 [인스턴스 중단 경고](monitor-interruptible-cr.md#instance-interruption-warning) 섹션을 참조하세요.

# EventBridge 및 CloudTrail을 사용한 중단 가능한 용량 예약 모니터링
<a name="monitor-interruptible-cr"></a>

중단 가능한 용량 예약은 용량 변경 사항을 모니터링하고 이에 대응할 수 있도록 EventBridge 알림과 CloudTrail 이벤트를 전송합니다.

**Topics**
+ [EventBridge 알림](#eventbridge-notifications)
+ [CloudTrail 이벤트](#cloudtrail-events)

## EventBridge 알림
<a name="eventbridge-notifications"></a>

EventBridge 알림은 두 가지 유형으로 제공됩니다. EventBridge 알림 설정 방법에 대한 자세한 내용은 [Amazon EventBridge 규칙 생성](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)을 참조하세요.

### 인스턴스 중단 경고
<a name="instance-interruption-warning"></a>

중단 가능한 예약에서 인스턴스를 실행 중인 경우, 인스턴스가 종료되기 2분 전에 해당 알림을 받게 됩니다.

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Capacity Reservation Instance Interruption Warning",
    "source": "aws.ec2",
    "account": "[instance owner Account ID]",
    "time": "[Current time in yyyy-mm-ddThh:mm:ssZ]",
    "resources": "[instance arn]",
    "region": "[region]",
    "detail": {
        "instance-id": "[instance-id]",
        "instance-action": "terminate",
        "instance-termination-time": "yyyy-mm-ddThh:mm:ssZ",
        "azId": "[availability-zone-id]"
    }
}
```

### 회수 완료
<a name="reclamation-completion"></a>

소스 용량 예약을 소유한 경우, 용량 회수가 완료되었을 때 해당 알림을 받게 됩니다.

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Interruptible Capacity Reservation Allocation Reclamation Completed",
    "source": "aws.ec2",
    "account": "[source Capacity Reservation Owner Account ID]",
    "time": "[Current time in yyyy-mm-ddThh:mm:ssZ]",
    "region": "us-east-1",
    "resources": ["source_cr_arn"],
    "detail": {
        "sourceCapacityReservationId": "string",
        "instanceType": "string",
        "availabilityZoneId": "string",
        "TotalInstanceCount": "current total count in the source",
        "ReclaimedInstanceCount": "count of instances added to the source",
        "targetInstanceCount": "number"
    }
}
```

## CloudTrail 이벤트
<a name="cloudtrail-events"></a>

CloudTrail은 중단 가능한 용량 예약과 관련하여 다음 이벤트를 기록합니다.
+ `InterruptibleCapacityReservationCreated` - 중단 가능한 할당을 생성할 때
+ `InterruptibleCapacityReservationAllocationUpdated` - 할당을 수정할 때
+ `InterruptibleCapacityReservationCancelled` - 할당을 취소할 때
+ `CapacityReservationModified` - 할당을 위해 소스 용량 예약을 수정할 때
+ `InterruptibleCapacityReservationInstancesTerminated` - 회수 과정에서 인스턴스를 종료할 때

# ML용 용량 블록
<a name="ec2-capacity-blocks"></a>

ML용 용량 블록을 사용하면 향후 날짜에 GPU 기반 가속 컴퓨팅 인스턴스를 예약하여 단기간의 기계 학습(ML) 워크로드를 지원할 수 있습니다. 용량 블록 내부에서 실행되는 인스턴스는 지연 시간이 짧은 페타비트 규모의 비차단 네트워킹을 위해 [Amazon EC2 UltraClusters](https://aws.amazon.com/ec2/ultraclusters/) 내부에 자동으로 서로 가깝게 배치됩니다.

용량 블록을 사용하여 Amazon EC2 UltraServers의 용량을 예약할 수도 있습니다. UltraServers는 지연 시간이 짧은 고대역폭 액셀러레이터 인터커넥트 내에서 여러 Amazon EC2 인스턴스를 연결합니다. UltraServers를 사용하여 훈련, 미세 조정, 추론에서 가장 많은 컴퓨팅 및 메모리 집약적인 AI/ML 워크로드를 처리할 수 있습니다. 자세한 내용은 [Amazon EC2 UltraServers](https://aws.amazon.com/ec2/ultraservers/)를 참조하세요.

용량 블록을 사용하면 미래 날짜에 GPU 인스턴스 용량을 사용할 수 있는 시점을 확인하고, 가장 적합한 시간에 시작하도록 용량 블록을 예약할 수 있습니다. 용량 블록을 예약하면 필요한 시간에 해당하는 비용만 결제하면서 GPU 인스턴스의 용량 보증을 예측할 수 있습니다. 한 번에 며칠 또는 몇 주 동안 ML 워크로드를 지원하는 GPU가 필요하고 GPU 인스턴스를 사용하지 않는 동안에는 예약을 결제하지 않으려는 경우에 용량 블록을 사용하는 것이 좋습니다.

다음은 용량 블록의 몇 가지 일반적인 사용 사례입니다.
+ **ML 모델 훈련 및 미세 조정** – 예약한 GPU 인스턴스에 중단 없이 액세스하여 ML 모델 훈련 및 미세 조정을 완료합니다.
+ **ML 실험 및 프로토타입** – GPU 인스턴스가 단기간 필요한 실험을 실행하고 프로토타입을 구축합니다.

용량 블록은 일부 AWS 리전의 일부 인스턴스 유형에 사용할 수 있습니다. 자세한 내용은 [지원되는 인스턴스 유형 및 리전](#capacity-blocks-prerequisites) 섹션을 참조하세요.

예약 시작 시간을 향후 최대 8주로 설정하여 용량 블록을 예약할 수 있습니다. 각 용량 블록에는 최대 64개의 인스턴스가 있을 수 있으며, 용량 블록 전체에 최대 256개의 인스턴스가 있을 수 있습니다.

**Topics**
+ [지원되는 인스턴스 유형 및 리전](#capacity-blocks-prerequisites)
+ [지원하는 플랫폼](#capacity-blocks-platforms)
+ [고려 사항](#capacity-blocks-considerations)
+ [관련 리소스](#capacity-blocks-related-resources)
+ [Amazon EC2 용량 블록의 작동 방식](capacity-blocks-how.md)
+ [용량 블록 요금 및 결제](capacity-blocks-pricing-billing.md)
+ [용량 블록 찾기 및 구매](capacity-blocks-purchase.md)
+ [용량 블록을 사용하여 인스턴스 시작](capacity-blocks-launch.md)
+ [용량 블록 보기](capacity-blocks-view.md)
+ [용량 블록 연장](capacity-blocks-extend.md)
+ [용량 블록 공유](capacity-blocks-share.md)
+ [UltraServer 용량 블록에 대한 리소스 그룹 생성](cb-group.md)
+ [EventBridge를 사용한 용량 블록 모니터링](capacity-blocks-monitor.md)
+ [AWS CloudTrail로 용량 블록 API 직접 호출 로깅](capacity-blocks-logging-using-cloudtrail.md)

## 지원되는 인스턴스 유형 및 리전
<a name="capacity-blocks-prerequisites"></a>

인스턴스와 UltraServer 용량 블록은 다음 인스턴스 유형과 AWS 리전에서 사용할 수 있습니다.

**참고**  
64개 인스턴스의 용량 블록 크기는 모든 AWS 리전의 모든 인스턴스 유형에 대해 지원되지 않습니다.

### 인스턴스 용량 블록
<a name="capacity-blocks-instance-prerequisites"></a>
+ **`p6-b300.48xlarge`**
  + 미국 서부(오리건) - `us-west-2`
+ **`p6-b200.48xlarge`**
  + 미국 동부(버지니아 북부) - `us-east-1`
  + 미국 동부(오하이오) - `us-east-2`
  + 미국 서부(오리건) - `us-west-2`
+ **`p5.4xlarge`**
  + 미국 동부(버지니아 북부) - `us-east-1`
  + 미국 동부(오하이오) - `us-east-2`
  + 미국 서부(오리건) - `us-west-2`
  + 유럽(런던) – `eu-west-2`
  + 아시아 태평양(뭄바이) – `ap-south-1`
  + 아시아 태평양(도쿄) - `ap-northeast-1`
  + 아시아 태평양(시드니) – `ap-southeast-2`
  + 남아메리카(상파울루) – `sa-east-1`
+ **`p5.48xlarge`**
  + 미국 동부(버지니아 북부) - `us-east-1`
  + 미국 동부(오하이오) - `us-east-2`
  + 미국 서부(캘리포니아 북부) - `us-west-1`
  + 미국 서부(오리건) - `us-west-2`
  + 유럽(스톡홀름) – `eu-north-1`
  + 유럽(런던) – `eu-west-2`
  + 남아메리카(상파울루) – `sa-east-1`
  + 아시아 태평양(도쿄) - `ap-northeast-1`
  + 아시아 태평양(뭄바이) – `ap-south-1`
  + 아시아 태평양(시드니) – `ap-southeast-2`
  + 아시아 태평양(자카르타) - `ap-southeast-3`
  + 미국 동부(애틀랜타) 로컬 영역 - `us-east-1-atl-2a`
+ **`p5e.48xlarge`**
  + 미국 동부(버지니아 북부) - `us-east-1`
  + 미국 동부(오하이오) - `us-east-2`
  + 미국 서부(캘리포니아 북부) - `us-west-1`
  + 미국 서부(오리건) - `us-west-2`
  + 유럽(스톡홀름) – `eu-north-1`
  + 유럽(런던) – `eu-west-2`
  + 유럽(스페인) – `eu-south-2`
  + 남아메리카(상파울루) – `sa-east-1`
  + 아시아 태평양(도쿄) - `ap-northeast-1`
  + 아시아 태평양(서울) – `ap-northeast-2`
  + 아시아 태평양(뭄바이) – `ap-south-1`
  + 아시아 태평양(자카르타) - `ap-southeast-3`
  + 미국 서부(피닉스) 로컬 영역 - `us-west-2-phx-2a`
+ **`p4d.24xlarge`**
  + 미국 동부(버지니아 북부) - `us-east-1`
  + 미국 동부(오하이오) - `us-east-2`
  + 미국 서부(오리건) - `us-west-2`
+ **`p4de.24xlarge`**
  + 미국 동부(버지니아 북부) - `us-east-1`
  + 미국 서부(오레곤) - `us-west-2`
+ **`trn1.32xlarge`**
  + 미국 동부(버지니아 북부) - `us-east-1`
  + 미국 동부(오하이오) - `us-east-2`
  + 미국 서부(캘리포니아 북부) - `us-west-1`
  + 미국 서부(오리건) - `us-west-2`
  + 유럽(스톡홀름) – `eu-north-1`
  + 아시아 태평양(뭄바이) – `ap-south-1`
  + 아시아 태평양(시드니) – `ap-southeast-2`
  + 아시아 태평양(멜버른) – `ap-southeast-4`
+ **`trn2.3xlarge `**
  + 아시아 태평양(멜버른) – `ap-southeast-4`
  + 남아메리카(상파울루) – `sa-east-1`
+ **`trn2.48xlarge`**
  + 미국 동부(오하이오) - `us-east-2`

### UltraServer 용량 블록
<a name="capacity-blocks-ultraserver-prerequisites"></a>
+ **`Trn2`**
  + 미국 동부(오하이오) - `us-east-2`
+ **`P6e-GB200`**
  + 미국 동부(댈러스) 로컬 영역 - `us-east-1-dfw-2a`

## 지원하는 플랫폼
<a name="capacity-blocks-platforms"></a>

ML용 용량 블록에서는 현재 기본 테넌시만 있는 인스턴스 및 UltraServers를 지원합니다. AWS Management Console을 사용하여 용량 블록을 구매하는 경우 기본 플랫폼 옵션은 Linux/UNIX입니다. AWS Command Line Interface(AWS CLI) 또는 AWS SDK를 사용하여 용량 블록을 구매하는 경우 다음과 같은 플랫폼 옵션을 사용할 수 있습니다.
+ Linux/Unix
+ Red Hat Enterprise Linux
+ HA가 설치된 RHEL
+ SUSE Linux
+ Ubuntu Pro

## 고려 사항
<a name="capacity-blocks-considerations"></a>

용량 블록을 사용하기 전에 다음 세부 정보와 제한 사항을 고려하세요.
+ AWS는 UltraServer 용량 블록에 영향을 미치는 장애를 감지하면 사용자에게 알리지만 일반적으로 용량 블록에서 인스턴스를 종료하는 작업은 수행하지 않습니다. 이는 의도하지 않은 워크로드 중단을 최소화하기 위한 것입니다. 이 알림을 받은 후 UltraServer 용량 블록을 그대로 계속 사용하거나 용량 블록의 모든 인스턴스를 종료하고 AWS 지원 사례를 제출하여 문제 해결을 요청할 수 있습니다. 지원 사례가 접수된 후 문제 해결이 완료되면 알림을 받게 되며 UltraServer 용량 블록에서 인스턴스를 다시 시작할 수 있습니다.
+ `P6e-GB200` UltraServer 용량 블록의 경우 용량 블록 종료 시간 최소 60분 전에 인스턴스를 종료해야 합니다.
+  로컬 영역에서 용량 블록을 구매하고 사용하려면 해당 로컬 영역에 옵트인해야 합니다.
+ 각 용량 블록에는 최대 64개의 인스턴스가 있을 수 있으며, 용량 블록 전체에 최대 256개의 인스턴스가 있을 수 있습니다.
+ 30분 이내에 시작할 수 있는 용량 블록 상품을 설명할 수 있습니다.
+ 용량 블록은 협정 세계시(UTC) 오전 11:30에 종료됩니다.
+ 용량 블록에서 실행 중인 인스턴스의 종료 프로세스는 예약 마지막 날의 협정 세계시(UTC) 오전 11:00에 시작됩니다.
+ 용량 블록은 시작 시간을 기준으로 향후 8주까지 예약할 수 있습니다.
+ 용량 블록 취소는 허용되지 않습니다.
+ UltraServer 용량 블록은 AWS 계정 간 또는 AWS 조직 내에서 공유할 수 없습니다.
+ 용량 블록은 [이동](capacity-reservations-move.md)하거나 [분할](capacity-reservations-split.md)할 수 없습니다.
+ UltraServer 용량 블록만 리소스 그룹에 사용할 수 있습니다. 인스턴스 용량 블록은 리소스 그룹에 사용할 수 없습니다. 자세한 내용은 [UltraServer 용량 블록에 대한 리소스 그룹 생성](cb-group.md) 섹션을 참조하세요.
+ AWS 조직의 계정 전체에서 용량 블록에 예약할 수 있는 특정 날짜의 총 인스턴스 수는 256개를 초과할 수 없습니다.
+ 용량 블록을 사용하려면 인스턴스에서 구체적인 예약 ID를 대상으로 지정해야 합니다.
+ 용량 블록의 인스턴스는 온디맨드 인스턴스 한도 계산에 포함되지 않습니다.
+ 사용자 지정 AMI를 사용하는 P5 인스턴스의 경우 [EFA에 필요한 소프트웨어 및 구성](gpu-instances-started.md)이 있는지 확인합니다.
+ Amazon EKS 관리형 노드 그룹의 경우 [Amazon EC2 Capacity Blocks for ML이 포함된 관리형 노드 그룹 생성](https://docs.aws.amazon.com/eks/latest/userguide/capacity-blocks-mng.html)을 참조하세요. Amazon EKS 자체 관리형 노드 그룹의 경우 [자체 관리형 노드가 포함된 ML용 용량 블록 사용](https://docs.aws.amazon.com/eks/latest/userguide/capacity-blocks.html)을 참조하세요.

## 관련 리소스
<a name="capacity-blocks-related-resources"></a>

용량 블록 생성 후 용량 블록을 사용하여 다음 작업을 수행할 수 있습니다.
+ 용량 블록으로 인스턴스 시작 자세한 내용은 [용량 블록을 사용하여 인스턴스 시작](capacity-blocks-launch.md) 섹션을 참조하세요.
+ Amazon EC2 Auto Scaling 그룹을 생성합니다. 자세한 내용은 *Amazon EC2 Auto Scaling 사용 설명서*의 [Use Capacity Blocks for machine learning workloads](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-template-capacity-blocks.html)를 참조하세요.
**참고**  
Amazon EC2 Auto Scaling 또는 Amazon EKS를 사용하는 경우 용량 블록 예약을 시작할 때 규모 조정을 실행하도록 예약할 수 있습니다. 예약 규모 조정 기능을 통해 AWS에서는 자동으로 재시도를 처리하므로 일시적 실패를 처리하기 위한 재시도 로직 구현을 걱정하지 않아도 됩니다.
+  AWS Parallel Computing Service로 ML 워크플로를 개선합니다. 자세한 내용은 [Capacity Blocks support for AWS Parallel Computing Service](https://aws.amazon.com/blogs/hpc/announcing-capacity-blocks-support-for-aws-parallel-computing-service/)를 참조하세요.
+ AWS ParallelCluster를 통해 ML 워크플로를 개선합니다. 자세한 내용은 [Enhancing ML workflows with AWS ParallelCluster and Amazon EC2 Capacity Blocks for ML](https://aws.amazon.com/blogs/hpc/enhancing-ml-workflows-with-aws-parallelcluster-and-amazon-ec2-capacity-blocks-for-ml/)을 참조하세요.

 AWS Parallel Computing Service에 대한 자세한 내용은 [AWS Parallel Computing Service란 무엇입니까?](https://docs.aws.amazon.com/pcs/latest/userguide/what-is-service.html)를 참조하세요.

 AWS ParallelCluster에 대한 자세한 정보는 [AWS ParallelCluster란 무엇입니까?](https://docs.aws.amazon.com/parallelcluster/latest/ug/what-is-aws-parallelcluster.html)​를 참조하세요.

# Amazon EC2 용량 블록의 작동 방식
<a name="capacity-blocks-how"></a>

다음 사양으로 용량 블록을 예약할 수 있습니다.
+ 최대 8주 전에 시작 시간 예약
+ 예약 기간을 1일부터 14일까지 또는 7일의 배수로 설정할 수 있으며(예: 21일, 28일) 최대 182일까지 가능
+ 용량 블록당 인스턴스 최대 64개 구성
+ 여러 용량 블록에서 인스턴스 최대 256개 구성

Amazon EC2 UltraServers의 경우 각 UltraServer는 한 용량 블록에 해당합니다. 단일 요청을 통해 여러 UltraServers를 요청할 수 있습니다.

 용량 블록을 사용하여 `p6-b200`, `p5`, `p5e`, `p5en`, `p4d`, `p4de`, `trn1`, `trn2` 인스턴스를 예약할 수 있습니다. `P6e-GB200` 및 `Trn2`(미리 보기) 용량 블록을 통해 UltraServer 유형을 구매할 수 있습니다.

용량 블록을 예약하려면 필요한 인스턴스 유형 또는 UltraServer 유형, 인스턴스 수 또는 UltraServers 수, 시간, 가장 이른 시작 날짜, 가장 늦은 종료 날짜 등 필요한 용량부터 지정합니다. 그러면 사양에 알맞게 제공되는 사용 가능한 용량 블록을 확인할 수 있습니다. 용량 블록 상품에는 시작 시간, 가용 영역, 예약 가격과 같은 세부 정보가 포함됩니다. 용량 블록 상품의 가격은 상품이 제공되는 당시에 사용 가능한 공급과 수요에 따라 다릅니다. 용량 블록 예약 후에는 가격이 변경되지 않습니다. 자세한 내용은 [용량 블록 요금 및 결제](capacity-blocks-pricing-billing.md) 섹션을 참조하세요.

용량 블록 상품을 구매하면 선택한 날짜 및 인스턴스 수에 대한 예약이 생성됩니다. 용량 블록 예약이 시작되면 시작 요청에 예약 ID를 지정하여 인스턴스 시작을 대상으로 지정할 수 있습니다.

예약한 모든 인스턴스는 용량 블록 종료 시간 30분 전(인스턴스 유형의 경우) 또는 60분 전(UltraServer 유형의 경우)까지 사용할 수 있습니다. 용량 블록 예약이 30분(인스턴스 유형의 경우) 또는 60분(UltraServer 유형의 경우) 남았을 때, 용량 블록에서 실행 중인 모든 인스턴스가 종료되기 시작합니다. 30분은 다음 고객에게 용량 블록을 제공하기 전에 인스턴스를 정리하는 데 사용됩니다. 종료 프로세스가 시작되기 10분 전에 EventBridge를 통해 이벤트가 발생합니다. 자세한 내용은 [EventBridge를 사용한 용량 블록 모니터링](capacity-blocks-monitor.md) 섹션을 참조하세요.

# 용량 블록 요금 및 결제
<a name="capacity-blocks-pricing-billing"></a>

Amazon EC2 Capacity Blocks for ML을 사용하면 예약한 만큼만 비용을 지불합니다. 용량 블록 가격은 구매 당시 용량 블록에 사용 가능한 공급 및 수요에 따라 다릅니다. 용량 블록 상품을 예약하기 전에 가격을 볼 수 있습니다. 용량 블록 가격은 예약 시 선불로 청구됩니다. 다양한 날짜의 용량 블록을 검색하면 사용 가능한 가장 저렴한 용량 블록 상품이 표시됩니다. 용량 블록을 예약한 후에는 가격이 변경되지 않습니다.

용량 블록을 사용하는 경우 인스턴스 실행 시 사용하는 운영 체제의 비용을 지불해야 합니다. 운영 체제 가격에 대한 자세한 내용은 [Amazon EC2 Capacity Blocks for ML Pricing](https://aws.amazon.com/ec2/capacityblocks/pricing/)을 참조하세요.

## 결제
<a name="capacity-blocks-billing"></a>

용량 블록 상품 가격은 선불로 청구됩니다. 용량 블록 구매 후 5분\$112시간 내에 AWS 계정에 요금이 청구됩니다. 결제가 처리되는 동안에는 용량 블록 예약 리소스가 `payment-pending` 상태로 유지됩니다. 블록 시작 시간 최소 5분 전 또는 12시간 이내(둘 중 먼저 도래하는 시점)에 결제를 처리할 수 없는 경우 용량 블록이 해제되고 예약 상태가 `payment-failed`로 변경됩니다.

결제가 처리되면 용량 블록 리소스 상태가 `payment-pending`에서 `scheduled`로 변경됩니다. 일회성 선결제 금액이 반영된 인보이스가 수신됩니다. 인보이스를 통해서 용량 블록 예약 ID와 결제한 금액을 연결할 수 있습니다.

용량 블록 예약이 시작되면 예약에서 인스턴스가 실행되는 동안 사용하는 운영 체제만을 기준으로 요금이 청구됩니다. AWS Cost and Usage Report에서 월 사용량에 대한 연간 청구서의 사용량 및 관련 요금을 확인할 수 있습니다.

**참고**  
절감형 플랜과 예약 인스턴스 할인은 용량 블록에 적용되지 않습니다.

**청구서 보기**  
AWS 결제 및 비용 관리 콘솔에서 청구서를 볼 수 있습니다. 용량 블록 선결제 금액은 예약을 구매한 달에 표시됩니다.

예약이 시작되면 청구서의 별도 줄에 블록 예약 사용 및 미사용 시간이 표시됩니다. 이러한 항목을 사용하여 예약에서 사용된 시간을 확인할 수 있습니다. 프리미엄 운영 체제를 사용하는 경우 사용한 시간에 대한 사용 요금만 행에 표시됩니다. 자세한 내용은 [용량 블록 요금 및 결제](#capacity-blocks-pricing-billing) 섹션을 참조하세요. 미사용 시간에 대한 추가 요금은 없습니다.

자세한 내용은 *AWS 결제 및 비용 관리 사용 설명서*에서 [결제 보기](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/getting-viewing-bill.html)를 참조하세요.

예약을 구매한 달과 다른 달에 용량 블록이 시작되면 선결제 금액과 예약 사용량이 별도의 청구 월 아래에 표시됩니다. AWS Cost and Usage Report에서는 사용량을 해당 선결제 가격과 연결할 수 있도록 용량 블록 예약 ID는 선결제 요금의 **reservation/ReservationARN** 항목에 나열되고 **lineitem/ResourceID**는 연간 청구서에 나열됩니다.

# 용량 블록 찾기 및 구매
<a name="capacity-blocks-purchase"></a>

용량 블록을 예약하려면 먼저 필요성과 일치하는 용량을 사용할 수 있는 시간 블록을 찾아야 합니다. 예약할 수 있는 용량 블록을 찾으려면 다음과 같은 사항을 지정합니다.
+ 필요한 인스턴스 수
+ 인스턴스가 필요한 기간
+ 예약이 필요한 날짜 범위

사용 가능한 용량 블록 상품을 검색하려면 예약 기간과 인스턴스 수를 지정합니다. **1일 단위로 최대 14일 및 7일 단위로 182일까지** 예약 기간을 지정해야 합니다. 각 용량 블록에는 최대 64개의 인스턴스가 있을 수 있으며, 용량 블록 전체에 최대 256개의 인스턴스가 있을 수 있습니다.

사양과 일치하는 용량 블록을 요청하면 최대 6개의 사용 가능한 블록의 세부 정보가 제공됩니다. 모든 용량 블록은 오전 11시 30분 UTC에 종료되므로 같은 날 시작하는 블록의 기간은 원하는 기간과 가장 가깝게 일치합니다. 어떤 블록의 기간은 원하는 기간보다 약간 짧고, 어떤 블록의 기간은 원하는 기간보다 약간 깁니다.

상품 세부 정보에는 예약 시작 시간, 예약 가용 영역 및 예약 가격이 포함됩니다. 자세한 내용은 [용량 블록 요금 및 결제](capacity-blocks-pricing-billing.md) 섹션을 참조하세요.

표시된 용량 블록 상품을 구매하거나 검색 기준을 수정하여 사용 가능한 다른 옵션을 확인할 수 있습니다. 상품에 미리 정의된 만료 시간이 없지만 선착순으로만 상품이 제공됩니다.

용량 블록 상품을 구매하면 용량 블록이 예약되었다는 것이 확인되는 응답이 즉시 표시됩니다. 확인 후에는 예약 유형이 `capacity-block`이며 `start-date`가 구매한 상품의 시작 시간으로 설정된 새 용량 예약이 계정에 표시됩니다. 용량 블록 예약은 `payment-pending` 상태로 생성됩니다. 선결제 금액이 처리되면 예약 상태가 `scheduled`로 변경됩니다. 자세한 내용은 [결제](capacity-blocks-pricing-billing.md#capacity-blocks-billing) 섹션을 참조하세요.

**참고**  
 로컬 영역에서 용량 블록을 구매하고 사용하려면 해당 로컬 영역에 옵트인해야 합니다.

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

**용량 블록을 찾고 구매하려면**

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

1. 화면 상단의 탐색 모음에서 AWS 리전을 선택합니다. 이 선택은 64개 인스턴스의 용량 블록 크기는 모든 리전의 모든 인스턴스 유형에 대해 지원되지 않기 때문에 중요합니다.

1. 탐색 창에서 **용량 예약**, **용량 블록 생성**을 선택합니다.

1. **용량 블록 유형**에서 **인스턴스** 또는 **UltraServers**를 선택합니다.

1. **용량 속성**에서 용량 블록 검색 파라미터를 정의할 수 있습니다. 기본적으로 플랫폼은 Linux입니다. 다른 운영 체제를 선택하려면 AWS CLI를 사용합니다. 자세한 내용은 [지원하는 플랫폼](ec2-capacity-blocks.md#capacity-blocks-platforms) 섹션을 참조하세요.

1. **총 용량**(인스턴스의 경우) 또는 **UltraServer 수**(UltraServers의 경우)에서 예약하려는 인스턴스 또는 UltraServers 수를 지정합니다.

1. **기간**에서 예약이 필요한 일수 또는 주 수를 입력합니다.

1. **용량 블록을 검색할 날짜 범위**에서 예약을 시작할 가장 빠른 날짜를 입력합니다.

1. **용량 블록 찾기**를 선택합니다.

1. 사양을 충족하는 용량 블록을 사용할 수 있으면 **권장 용량 블록** 아래에 상품이 표시됩니다. 사양을 충족하는 상품이 여러 가지라면 가장 빠른 용량 블록 상품이 표시됩니다. 다른 용량 블록 상품을 보려면 검색 입력 내용을 조정하고 **용량 블록 찾기**를 다시 선택합니다.

1. 구매하려는 용량 블록 상품을 찾으면 **다음**을 선택합니다.

1. (선택 사항) **태그 추가** 페이지에서 **새 태그 추가**를 선택합니다.

1. **검토 및 구매** 페이지에 시작 및 종료 날짜, 기간, 총 인스턴스 수, 가격이 나열됩니다.
**참고**  
용량 블록을 예약한 후에는 취소할 수 없습니다.

1. **용량 블록 구매** 팝업 창에서 confirm(확인)이라고 입력한 다음에 **구매**를 선택합니다.

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

**인스턴스 용량 블록을 찾으려면**  
[describe-capacity-block-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-block-offerings.html) 명령을 사용합니다.

다음 예제는 인스턴스 용량 블록을 찾습니다.

```
aws ec2 describe-capacity-block-offerings \
--instance-type p5.48xlarge \
--instance-count 16 \
--start-date-range 2023-08-14T00:00:00Z \
--end-date-range 2023-10-22-T00:00:00Z \
--capacity-duration-hours 48 \
--all-availability-zones
```

다음 예제는 UltraServer 용량 블록을 찾습니다.

```
aws ec2 describe-capacity-block-offerings \
--ultraserver-type u-p6e-gb200x72 \
--ultraserver-count 1 \
--start-date-range 2023-08-14T00:00:00Z \
--end-date-range 2023-10-22-T00:00:00Z \
--capacity-duration-hours 48
```

**용량 블록을 구매하려면**  
이전 예제의 출력에서 얻은 용량 블록의 상품 ID와 함께 [purchase-capacity-block](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-capacity-block.html) 명령을 사용합니다.

```
aws ec2 purchase-capacity-block \
--capacity-block-offering-id cb-0123456789abcdefg \
--instance-platform Linux/UNIX
```

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

**용량 블록을 찾으려면**  
[Get-EC2CapacityBlockOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityBlockOffering.html) cmdlet을 사용합니다.

다음 예제는 인스턴스 용량 블록을 찾습니다.

```
Get-EC2CapacityBlockOffering `
-InstanceType p5.48xlarge `
-InstanceCount 16 `
-CapacityDurationHour 48 `
-StartDateRange 2023-08-14T00:00:00Z `
-EndDateRange 2023-10-22-T00:00:00Z `
-AllAvailabilityZones $true
```

다음 예제는 UltraServer 용량 블록을 찾습니다.

```
Get-EC2CapacityBlockOffering `
-UltraserverType u-p6e-gb200x72 `
-UltraserverCount  1 `
-CapacityDurationHour 48 `   
-StartDateRange 2023-08-14T00:00:00Z `
-EndDateRange 2023-10-22-T00:00:00Z
```

**용량 블록을 구매하려면**  
이전 예제의 출력에서 얻은 용량 블록의 상품 ID와 함께 [New-EC2EC2CapacityBlock](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2EC2CapacityBlock.html) cmdlet을 사용합니다.

```
New-EC2EC2CapacityBlock `
-CapacityBlockOfferingId cb-0123456789abcdefg `
-InstancePlatform Linux/UNIX
```

------

# 용량 블록을 사용하여 인스턴스 시작
<a name="capacity-blocks-launch"></a>

용량 블록을 사용하려면 인스턴스를 시작할 때 용량 블록 예약 ID를 지정해야 합니다. 인스턴스를 용량 예약으로 내보내면 시작된 인스턴스 수만큼 사용 가능한 용량이 감소합니다. 예를 들어, 구매한 인스턴스 용량이 8개 인스턴스이고 4개 인스턴스를 시작하면 사용 가용한 용량이 4만큼 감소합니다.

예약이 종료되기 전에 용량 블록에서 실행 중인 인스턴스를 종료하면 그 자리에서 새 인스턴스를 시작할 수 있습니다. 용량 블록에서 인스턴스를 중지하거나 종료하는 경우 다른 인스턴스를 시작하여 바꿀 수 있으려면 인스턴스를 정리하는 데 몇 분 정도 걸립니다. 이 시간에는 인스턴스가 중지 또는 `shutting-down` 상태로 됩니다. 이 프로세스가 완료되면 인스턴스 상태가 `stopped` 또는 `terminated`로 변경됩니다. 그러면 용량 블록의 사용 가능한 용량이 업데이트되어 사용 가능한 다른 인스턴스가 표시됩니다.

**요구 사항**
+ 용량 블록이 있는 가용 영역과 다른 가용 영역의 서브넷에서 인스턴스를 시작할 수 없습니다.
+ 용량 블록의 플랫폼과 다른 플랫폼의 AMI를 사용하여 인스턴스를 시작할 수 없습니다.
+  로컬 영역에서 용량 블록을 사용하려면 해당 로컬 영역에 옵트인해야 합니다.

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

**용량 블록으로 인스턴스를 시작하려면**

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

1. 화면 상단의 탐색 모음에서 용량 블록 예약의 리전을 선택합니다.

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

1. [인스턴스 시작](ec2-launch-instance-wizard.md) 절차를 따릅니다.

1. **고급 세부 정보**를 펼쳐 **구매 옵션**에서 **용량 블록**을 선택합니다. 그런 다음, 다음 중 하나를 수행하세요.
   + 인스턴스를 특정 용량 블록으로 시작하려면 **용량 예약**에서 **용량 예약 지정**을 선택한 다음 용량 블록을 선택합니다.
   + (*UltraServers만 해당*) UltraServer 용량 블록 리소스 그룹으로 인스턴스를 시작하려면 **용량 예약**에서 **용량 예약 리소스 그룹 지정**을 선택한 다음 리소스 그룹을 선택합니다.

1. **인스턴스 시작**을 선택합니다.

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

**사용하여 인스턴스를 용량 블록으로 내보내려면**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 `instance-market-options MarketType` 옵션과 함께 사용합니다.

다음 예제는 특정 용량 블록으로 인스턴스를 시작합니다.

```
aws ec2 run-instances \
--image-id ami-0abcdef1234567890 \
--count 1 \
--instance-type p5.48xlarge \
--key-name my-key-pair \
--subnet-id subnet-0abcdef1234567890 \
--instance-market-options MarketType='capacity-block' \
--capacity-reservation-specification CapacityReservationTarget={CapacityReservationId=capacity_block_id}
```

다음 예제는 UltraServer 용량 블럭 리소스 그룹으로 인스턴스를 시작합니다.

```
aws ec2 run-instances \
--image-id ami-0abcdef1234567890 \
--count 1 \
--instance-type p6e-gb200.36xlarge \
--key-name my-key-pair \
--subnet-id subnet-0abcdef1234567890 \
--instance-market-options MarketType='capacity-block' \
--capacity-reservation-specification CapacityReservationTarget={CapacityReservationResourceGroupArn=resource_group_arn}
```

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

**용량 블록으로 인스턴스를 시작하려면**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet을 아래 정의된 `-InstanceMarketOption` 옵션과 함께 사용합니다.

```
$marketoption = New-Object Amazon.EC2.Model.InstanceMarketOptionsRequest
$marketoption.MarketType = "capacity-block"
```

다음 예제는 특정 용량 블록으로 인스턴스를 시작합니다.

```
New-EC2Instance `
-ImageId ami-0abcdef1234567890 `
-InstanceType p5.48xlarge `
-KeyName "my-key-pair" `
-SubnetId subnet-0abcdef1234567890 `
-InstanceMarketOptions $marketoption `
-CapacityReservationTarget_CapacityReservationId capacity_block_id
```

다음 예제는 UltraServer 용량 블럭 리소스 그룹으로 인스턴스를 시작합니다.

```
New-EC2Instance `
-ImageId ami-0abcdef1234567890 `
-InstanceType p6e-gb200.36xlarge `
-KeyName "my-key-pair" `
-SubnetId subnet-0abcdef1234567890 `
-InstanceMarketOptions $marketoption `
-CapacityReservationTarget_CapacityReservationResourceGroupArn "resource_group_arn"
```

------

**관련 리소스**
+ 용량 블록을 대상으로 하는 시작 템플릿을 생성하려면 [Amazon EC2 시작 템플릿에 인스턴스 시작 파라미터 저장](ec2-launch-templates.md) 섹션을 참조하세요.
+ EC2 Fleet을 사용하여 인스턴스를 용량 블록으로 시작하려면 [튜토리얼: 인스턴스를 용량 블록으로 시작하도록 EC2 플릿을 구성](ec2-fleet-launch-instances-capacity-blocks-walkthrough.md) 섹션을 참조하세요.
+ 용량 블록이 포함된 EKS 관리형 노드 그룹을 설정하려면 **Amazon EKS 사용 설명서**의 [ML용 용량 블록이 포함된 관리형 노드 그룹 생성](https://docs.aws.amazon.com/eks/latest/userguide/capacity-blocks-mng.html)을 참조하세요.
+ 용량 블록을 사용하여 AWS ParallelCluster를 설정하려면 [AWS ParallelCluster 기반 ML](https://catalog.workshops.aws/ml-on-aws-parallelcluster/en-US)을 참조하세요.

# 용량 블록 보기
<a name="capacity-blocks-view"></a>

용량 블록 예약 후 AWS 계정에서 용량 블록 예약을 볼 수 있습니다. `start-date`와 `end-date`를 보며 언제 예약이 시작하고 종료되는지 확인할 수 있습니다. 용량 블록 예약이 시작되기 전에는 사용 가능한 용량이 0으로 표시됩니다. 태그 키 `aws:ec2capacityreservation:incrementalRequestedQuantity`의 태그 값을 통해 용량 블록에서 사용할 수 있는 인스턴스 수를 확인할 수 있습니다.

용량 블록 예약이 시작되면 예약 상태가 `scheduled`에서 `active`로 변경됩니다. Amazon EventBridge를 통해 이벤트가 발생하여 용량 블록을 사용할 수 있다고 알려줍니다. 자세한 내용은 [EventBridge를 사용한 용량 블록 모니터링](capacity-blocks-monitor.md) 섹션을 참조하세요.

용량 블록에는 다음과 같은 상태가 있습니다.
+ `payment-pending` – 선결제 금액이 아직 처리되지 않았습니다.
+ `payment-failed` – 12시간 기간 안에 결제를 처리하지 못했습니다. 용량 블록이 해제되었습니다.
+ `scheduled` – 결제는 처리되었고 용량 블록 예약은 아직 시작되지 않았습니다.
+ `active` – 예약 용량을 사용할 수 없습니다.
+ `expired` - 용량 블록 예약이 예약 요청 시 지정한 날짜 및 시간에 자동으로 만료되었습니다. 예약 용량을 더 이상 사용할 수 없습니다.

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

**용량 블록을 보는 방법**

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

1. 탐색 창에서 **용량 예약**을 선택합니다.

1. **용량 예약 개요** 페이지에서 모든 용량 예약 리소스에 대한 세부 정보가 있는 리소스 테이블을 참조할 수 있습니다. 용량 블록 예약을 찾으려면 **용량 예약 ID** 위의 드롭다운 목록에서 **용량 블록**을 선택합니다. 테이블에서 시작 및 종료 날짜, 기간, 상태와 같은 용량 블록에 대한 정보를 확인할 수 있습니다.

1. 용량 블록에 대해 자세히 알아보려면 보려는 용량 블록의 예약 ID를 선택합니다. **용량 예약 세부 정보** 페이지에 예약의 모든 속성과 용량 블록에서 사용 중이며 사용 가능한 인스턴스 수가 표시됩니다.
**참고**  
용량 블록 예약이 시작되기 전에는 사용 가능한 용량이 0으로 표시됩니다. 태그 키 `aws:ec2capacityreservation:incrementalRequestedQuantity`의 다음 태그 값을 사용하여 용량 블록 예약이 시작될 때 사용할 수 있는 인스턴스 수를 확인할 수 있습니다.

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

**용량 블록을 보는 방법**  
기본적으로 [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html) 명령을 사용하면 온디맨드 용량 예약과 용량 블록 예약이 모두 나열됩니다. 용량 블록 예약만 보려면 `capacity-block` 유형의 예약을 필터링합니다.

```
aws ec2 describe-capacity-reservations \
    --filters Name=reservation-type,Values=capacity-block
```

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

**용량 블록을 보는 방법**  
[Get-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityReservation.html) cmdlet을 사용합니다. 기본적으로 온디맨드 용량 예약과 용량 블록 예약이 모두 나열됩니다. 용량 블록 예약만 보려면 `capacity-block` 유형의 예약을 필터링합니다.

```
Get-EC2CapacityReservation `
    -Filter @{Name="reservation-type"; Values="capacity-block"}
```

------

# 용량 블록 연장
<a name="capacity-blocks-extend"></a>

용량 블록을 사용하면 워크로드를 위한 컴퓨팅 용량을 예약하여 가용성과 일관성을 보장할 수 있습니다. 변화하는 요구 사항을 수용하기 위해 필요에 따라 기존 용량 블록의 기간을 연장할 수 있습니다.

용량 블록을 연장하려면 용량 블록이 `active` 또는 `scheduled` 상태여야 하며, `payment-pending`인 연장이 없어야 합니다. 용량 블록 기간이 만료되기 전에 최소 1시간 또는 최대 56일까지 연장을 요청할 수 있습니다. 용량 블록을 1일 증분 단위로 최대 총 14일, 7일 증분 단위로 최대 총 182일(26주)만큼 연장할 수 있습니다. 용량 블록을 연장하면 종료 날짜가 업데이트되어 인스턴스가 중단 없이 계속 실행될 수 있습니다.
+ 용량 블록에 적용할 수 있는 연장 횟수에는 제한이 없습니다.
+ 블록을 연장한 후에도 용량 예약 ID는 동일하게 유지됩니다.
+ 용량 블록을 지원할 수 있는 충분한 용량이 있는 경우에만 용량 블록을 연장할 수 있으며, 연장은 보장되지 않습니다.

## 결제
<a name="capacity-blocks-extend-billing"></a>

용량 블록 상품 가격은 선불로 청구됩니다. 청구서가 지불될 때까지 연장은 `payment-pending` 상태를 유지합니다. 12시간 내 또는 용량 블록이 종료되기 최대 35분 전(둘 중 먼저 도래하는 시점)에 결제를 처리할 수 없는 경우 연장이 성공하지 못하고 상태가 `payment-failed`로 변경됩니다. 용량 블록 예약은 `active`로 유지되며 원래 종료 날짜에 종료됩니다.

결제가 성공적으로 처리되면 용량 블록 연장 상태가 `payment-succeeded`로 변경되고 용량 블록 예약의 종료 날짜가 새 종료 날짜로 업데이트됩니다. 연장의 세부 정보는 콘솔의 **용량 블록 연장 세부 정보** 섹션에서 또는 [describe-capacity-block-extension-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-block-extension-history.html) 명령을 사용하여 볼 수 있습니다.

## 용량 블록 연장
<a name="capacity-blocks-extend-procedure"></a>

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

**용량 블록을 연장하려면**

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

1. 탐색 창에서 **용량 예약**을 선택합니다.

1. **용량 예약 개요** 페이지에서 모든 용량 예약 리소스에 대한 세부 정보가 있는 리소스 테이블을 볼 수 있습니다. 연장하려는 용량 블록의 예약 ID를 선택합니다.

1. **작업** 드롭다운 메뉴에서 **용량 블록 연장**을 선택합니다.

1. **기간**에서 예약을 연장해야 하는 일수 또는 주 수를 입력합니다.

1. **용량 블록 찾기**를 선택합니다.

1. 사양을 충족하는 용량 블록을 사용할 수 있으면 **권장 용량 블록** 아래에 상품이 표시됩니다. 다른 용량 블록 상품을 보려면 검색 입력 내용을 조정하고 **용량 블록 찾기**를 다시 선택합니다.

1. 구매하려는 용량 블록 상품을 찾으면 **연장**을 선택합니다.

1. **용량 블록 연장** 팝업 창에서 *confirm*을 입력한 다음 **연장**을 선택합니다.

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

**용량 블록 연장을 찾는 방법**  
[describe-capacity-block-extension-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-block-extension-offerings.html) 명령을 사용합니다. 다음 예제는 지정된 예약에 대한 48시간 용량 블록 연장을 검색합니다.

```
aws ec2 describe-capacity-block-extension-offerings \
    --capacity-reservation-id cr-1234567890abcdefg \
    --capacity-block-extension-duration-hours 48
```

**용량 블록을 연장하려면**  
[purchase-capacity-block-extension](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-capacity-block-extension.html) 명령을 사용합니다. 이전 예제의 출력에서 얻은 확장 상품 ID를 지정합니다.

```
aws ec2 purchase-capacity-block-extension \
    --capacity-block-extension-offering-id cbe-0123456789abcdefg \
    --capacity-reservation-id cr-1234567890abcdefg
```

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

**용량 블록 연장을 찾는 방법**  
[Get-EC2CapacityBlockExtensionOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityBlockExtensionOffering.html) cmdlet을 사용합니다. 다음 예제는 지정된 예약에 대한 48시간 용량 블록 연장을 검색합니다.

```
Get-EC2CapacityBlockExtensionOffering `
    -CapacityReservationId cr-1234567890abcdefg `
    -CapacityBlockExtensionDurationHour 48
```

**용량 블록을 연장하려면**  
[Invoke-EC2CapacityBlockExtension](https://docs.aws.amazon.com/powershell/latest/reference/items/Invoke-EC2CapacityBlockExtension.html) cmdlet을 사용합니다. 이전 예제의 출력에서 얻은 확장 상품 ID를 지정합니다.

```
Invoke-EC2CapacityBlockExtension `
    -CapacityBlockExtensionOfferingId cbe-0123456789abcdefg `
    -CapacityReservationId cr-1234567890abcdefg
```

------

# 용량 블록 공유
<a name="capacity-blocks-share"></a>

 용량 블록 공유를 사용하면 용량 블록 소유자가 Amazon EC2 용량 블록을 AWS 조직 내의 다른 AWS 계정과 공유할 수 있습니다. 이를 통해 다양한 팀과 프로젝트에서 예약된 GPU 용량의 사용률을 극대화하여 용량 블록을 효율적으로 사용할 수 있습니다.

 용량 블록(소유자)를 소유한 AWS 계정은 다른 AWS 계정(소비자)과 이를 공유할 수 있습니다. 소유자는 조직 내 특정 AWS 계정, AWS 조직 내 조직 단위 AWS 또는 전체 AWS 조직과 용량 블록을 공유할 수 있습니다. 소비자는 자신이 소유한 용량 블록에서 인스턴스를 시작하는 것과 동일한 방식으로 자신에게 공유된 용량 블록에서도 인스턴스를 시작할 수 있습니다.

## 용량 블록 공유의 사전 조건
<a name="capacity-blocks-share-prereq"></a>

용량 블록을 공유하려면 먼저 다음 조건을 충족해야 합니다.
+ **용량 블록을 소유해야 합니다** - 공유된 용량 블록은 공유할 수 없습니다.
+  **용량 블록 상태는 활성 또는 예약 상태여야 합니다** - `expired` 또는 `payment-pending`과(와) 같은 다른 [상태](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-capacity-block.html)에 있는 용량 블록은 공유할 수 없습니다.
+ **AWS 조직 내에서만 공유** - 소유자는 AWS 조직 내 특정 AWS 계정, AWS 조직 내 조직 단위 또는 전체 AWS 조직과 용량 블록을 공유할 수 있습니다.
+  **UltraServer 용량 블록이 지원되지 않음** - Amazon EC2 UltraServers에 대한 용량 블록을 공유할 수 없습니다.
+ **계정의 자격** - 결제 내역이 제한된 새 AWS 계정 또는 AWS 계정에서는 용량 블록 공유를 사용할 수 없습니다.

## 관련 서비스
<a name="capacity-blocks-share-related"></a>

용량 블록 공유는 AWS Resource Access Manager(AWS RAM)와 통합됩니다. AWS RAM은 모든 AWS 계정 또는 AWS Organizations를 통해 AWS 리소스를 공유하도록 해주는 서비스입니다. AWS RAM을 사용하여 *리소스 공유*로 생성한 사용자 소유 리소스를 공유할 수 있습니다. 리소스 공유는 공유할 리소스와 공유 대상 소비자를 지정합니다. 소비자는 개인 AWS 계정 또는 조직 단위 또는 AWS Organizations의 전체 조직일 수 있습니다.

AWS RAM에 대한 자세한 내용은 *[AWS RAM 사용 설명서](https://docs.aws.amazon.com/ram/latest/userguide/)*를 참조하세요.

## 공유 용량 블록 권한
<a name="capacity-blocks-share-permissions"></a>

### 소유자에 대한 권한
<a name="capacity-blocks-share-permissions-owner"></a>

 용량 블록 소유자는 용량 블록(예: 확장, 공유) 및 해당 블록에서 시작하는 인스턴스를 관리할 책임이 있습니다. 소유자는 공유한 용량 블록으로 소비자가 시작한 인스턴스를 수정할 수 없습니다.

### 소비자에 대한 권한
<a name="capacity-blocks-share-permissions-consumer"></a>

 소비자는 공유 용량에서 인스턴스를 시작할 수 있으며 해당 인스턴스를 관리할 책임이 있습니다. 소비자는 다른 소비자 또는 용량 블록 소유자가 소유한 인스턴스를 보거나 수정할 수 없습니다. 또한 소비자는 공유된 용량 블록에서 총 용량과 사용 가능한 용량만 확인할 수 있습니다.

## 용량 블록 공유
<a name="capacity-blocks-sharing"></a>

용량 블록을 공유하려면 리소스 공유에 추가해야 합니다. 리소스 공유는 AWS 계정 전반에서 리소스를 공유할 수 있게 해주는 AWS RAM 리소스입니다.

전체 AWS 조직과 공유되는 리소스 공유에 용량 블록을 추가한 경우 조직의 소비자에게 공유 용량 블록에 대한 액세스 권한이 부여됩니다.

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

**Amazon EC2 콘솔을 사용하여 소유하고 있는 용량 블록을 공유하려면 다음을 수행하세요.**

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

1. 탐색 창에서 **용량 예약**을 선택합니다.

1. 공유할 용량 블록을 선택하고 **작업, 예약 공유**를 선택합니다.

1. 용량 블록을 추가할 리소스 공유를 선택하고 **용량 예약 공유**를 선택합니다.

   소비자가 공유 용량 블록에 액세스하려면 몇 분이 걸릴 수 있습니다.

**새 리소스 공유에 용량 블록을 추가하려면 다음을 수행하세요.**  
먼저 AWS RAM 콘솔을 사용하여 리소스 공유를 생성해야 합니다. 자세한 내용은 *AWS RAM 사용 설명서*의 [리소스 공유 생성](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create)을 참조하세요.

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

**소유하고 있는 용량 블록을 공유하는 방법**  
 [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) 명령과 [associate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/associate-resource-share.html) 명령을 사용합니다.

```
aws ram create-resource-share \
    --name my-resource-share \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE
```

```
aws ram associate-resource-share \
    --resource-share-arn arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE
```

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

**소유하고 있는 용량 블록을 공유하는 방법**  
 [New-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/New-RAMResourceShare.html) 및 [Connect-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/Connect-RAMResourceShare.html) cmdlets를 사용합니다.

```
New-RAMResourceShare `
    -Name my-resource-share `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE"
```

```
Connect-RAMResourceShare `
    -ResourceShareArn "arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE" `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE"
```

------

 용량 블록은 소유권 상태에 관계없이 모든 계정에 대해 **선착순으로** 작동합니다. 용량 블록을 공유할 때 소비자가 소유자보다 먼저 인스턴스를 시작하는 경우 해당 인스턴스는 소비자가 인스턴스를 종료하거나 용량 블록이 만료되기 30분 전까지 용량을 차지합니다.

## 용량 블록 공유 중지
<a name="capacity-blocks-unsharing"></a>

 블록 만료 날짜 30분 전까지 언제든지 용량 블록 공유를 중지할 수 있습니다.

**공유를 중지하면 어떻게 되나요?**
+ 소비자는 더 이상 공유되지 않은 용량 블록에서 새 인스턴스를 시작할 수 없습니다.
+ 소비자가 종료하지 않는 한 실행 중인 인스턴스는 용량 블록 만료 날짜 30분 전까지 계속 실행됩니다.

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

**Amazon EC2 콘솔을 사용하여 소유하고 있는 용량 블록의 공유를 중지하려면 다음을 수행하세요.**

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

1. 탐색 창에서 **용량 예약**을 선택합니다.

1. 용량 블록을 선택하고 **공유** 탭을 선택합니다.

1.  **공유** 탭에는 용량 블록이 추가된 리소스 공유가 나열됩니다. 용량 블록을 제거할 리소스 공유를 선택합니다.

1. **리소스 공유에서 제거**를 선택합니다.

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

**소유하고 있는 용량 블록 공유를 중지하는 방법**  
[disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) 명령을 사용합니다.

```
aws ram disassociate-resource-share \
    --resource-share-arn arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE
```

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

**소유하고 있는 용량 블록 공유를 중지하는 방법**  
[Disconnect-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/Disconnect-RAMResourceShare.html) cmdlet을 사용합니다.

```
Disconnect-RAMResourceShare `
    -ResourceShareArn "arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE" `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE"
```

------

## 공유 용량 블록 사용량 모니터링
<a name="capacity-blocks-shared-monitor-usage"></a>

용량 블록 소유자는 공유 용량 블록을 사용하는 계정을 모니터링하고 계정당 인스턴스 사용량을 추적할 수 있습니다.

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

**용량 블록의 사용량을 모니터링하려면**  
[get-capacity-reservation-usage](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-capacity-reservation-usage.html) 명령을 사용합니다.

```
aws ec2 get-capacity-reservation-usage \
    --capacity-reservation-id cr-1234abcd56EXAMPLE
```

**이 API를 통해 소유자는 다음을 수행할 수 있습니다.**
+ 현재 용량 블록을 사용 중인 계정을 확인합니다.
+ 각 계정이 실행 중인 인스턴스 수를 확인합니다.

------

## 인스턴스 종료 공지
<a name="capacity-blocks-shared-instance-termination-notices"></a>

 용량 블록에서 실행 중인 인스턴스가 있는 소유자 및 소비자 계정은 용량 블록 예약이 종료되기 40분 전에 EventBridge 이벤트를 수신하여 예약에서 실행 중인 모든 인스턴스가 10분 후에 종료되기 시작함을 나타냅니다. 자세한 내용은 [EventBridge를 사용한 용량 블록 모니터링](capacity-blocks-monitor.md) 섹션을 참조하세요.

## 용량 블록 확장
<a name="capacity-blocks-shared-extend"></a>

용량 블록은 공유되는 동안 확장할 수 있습니다. 소유자 계정만 공유 용량 블록을 확장할 수 있습니다.

 용량 블록이 확장되면 소유자 또는 소비자가 시작한 실행 중인 인스턴스가 자동으로 새 만료 날짜를 상속하며, 소비자는 인스턴스 중단 없이 새 만료 날짜까지 공유 용량을 계속 사용할 수 있습니다.

## 요금 및 결제
<a name="capacity-blocks-shared-pricing-billing"></a>

 소유자가 용량 블록을 구매할 때 공유하고 선결제하는 용량 블록에 대한 요금이 소유자에게 청구됩니다. 소유자는 용량 블록에서 실행되는 인스턴스에 대한 운영 체제 요금도 지불합니다.

 소비자는 공유 용량 블록에서 실행되는 인스턴스에 대한 운영 체제 요금만 청구됩니다. 용량 블록 예약 자체에 대해서는 소비자에게 요금이 부과되지 않습니다.

# UltraServer 용량 블록에 대한 리소스 그룹 생성
<a name="cb-group"></a>

AWS Resource Groups를 사용하여 UltraServer 용량 블록의 논리적 컬렉션을 생성할 수 있습니다. 리소스 그룹을 생성한 후 계정에서 소유한 UltraServer 용량 블록을 추가할 수 있습니다. UltraServer 용량 블록을 추가한 후 개별 용량 블록 대신 리소스 그룹에 인스턴스 시작을 대상으로 지정할 수 있습니다. 리소스 그룹을 대상으로 하는 인스턴스는 일치하는 속성과 사용 가능한 용량이 있는 그룹의 UltraServer 용량 블록과 일치합니다. 리소스 그룹에 일치하는 속성 및 가용 용량이 있는 UltraServer 용량 블록이 없는 경우 인스턴스 시작이 실패합니다.

인스턴스를 실행하는 동안 UltraServer 용량 블록이 리소스 그룹에서 제거되면 해당 인스턴스는 용량 블록에서 계속 실행됩니다. 인스턴스를 실행하는 동안 그룹의 UltraServer 용량 블록이 종료되면 인스턴스가 종료됩니다.

리소스 그룹에 인스턴스 용량 블록을 추가할 수 없습니다.

UltraServer 용량 블록에 대한 리소스 그룹을 생성하려면 다음 방법 중 하나를 사용합니다.

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

**UltraServer 용량 블록에 대한 리소스 그룹을 생성하려면**  
[create-group](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/create-group.html) AWS CLI 명령을 사용하고 `--configuration`에 대해 다음을 지정합니다.

```
{
  "Configuration": [
    {
      "Type": "AWS::EC2::CapacityReservationPool",
      "Parameters": [
        {
          "Name": "instance-type",
          "Values": [
            "instance_type"
          ]
        },
        {
          "Name": "reservation-type",
          "Values": [
            "capacity-block"
          ]
        }
      ]
    },
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::CapacityReservation"
          ]
        }
      ]
    }
  ]
}
```

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

**UltraServer 용량 블록에 대한 리소스 그룹을 생성하려면**  
[New-RGGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-RGGroup.html) cmdlet을 사용합니다. `-Configuration`에 대해서는 다음을 지정합니다.

```
{
  "Configuration": [
    {
      "Type": "AWS::EC2::CapacityReservationPool",
      "Parameters": [
        {
          "Name": "instance-type",
          "Values": [
            "instance_type"
          ]
        },
        {
          "Name": "reservation-type",
          "Values": [
            "capacity-block"
          ]
        }
      ]
    },
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::CapacityReservation"
          ]
        }
      ]
    }
  ]
}
```

------

UltraServer 용량 블록에 대한 리소스 그룹을 생성한 후 다음 방법 중 하나를 사용하여 기존 UltraServer 용량 블록을 추가합니다.

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

**리소스 그룹에 UltraServer 용량 블록을 추가하려면**  
[group-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/group-resources.html) 명령을 사용합니다. `--group`에 대해서는 생성한 리소스 그룹의 이름을 지정합니다. `--resource-arns`에 대해서는 추가할 UltraServer 용량 블록의 ARNs을 지정합니다.

```
aws resource-groups group-resources \
--group MyCRGroup \
--resource-arns CapacityReservationArn
```

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

**리소스 그룹에 UltraServer 용량 블록을 추가하려면**  
[Add-RGResource](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-RGResource.html) cmdlet을 사용합니다. `-Group`에 대해서는 생성한 리소스 그룹의 이름을 지정합니다. `-ResourceArn `에 대해서는 추가할 UltraServer 용량 블록의 ARNs을 지정합니다.

다음 예제는 2개의 용량 예약을 지정된 그룹에 추가합니다.

```
Add-RGResource `
-Group MyCRGroup `
-ResourceArn CapacityReservationArn
```

------

# EventBridge를 사용한 용량 블록 모니터링
<a name="capacity-blocks-monitor"></a>

용량 블록 예약이 시작되면 용량을 사용할 준비가 되었다는 이벤트가 EventBridge를 통해 Amazon EC2에서 발생합니다. 용량 블록 예약 종료 40분 전에 예약에서 실행 중인 모든 인스턴스가 10분 후에 종료되기 시작한다는 다른 EventBridge 이벤트가 수신됩니다. EventBridge 이벤트에 자세한 내용은 [Amazon EventBridge Events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)를 참조하세요.

용량 블록에 발생하는 이벤트의 이벤트 구조는 다음과 같습니다.

**용량 블록 전송됨**  
다음 예에서는 용량 블록 전송됨의 이벤트를 보여줍니다.

```
{
  "customer_event_id": "[Capacity Reservation Id]-delivered",
  "detail_type": "Capacity Block Reservation Delivered",
  "source": "aws.ec2",
  "account": "[Customer Account ID]",
  "time": "[Current time]",
  "resources": [
    "[ODCR ARN]"
  ],
  "detail": {
    "capacity-reservation-id": "[ODCR ID]",
    "end-date": "[ODCR End Date]"
  }
}
```

**용량 블록 만료 경고**  
다음 예에서는 용량 블록 만료 경고의 이벤트를 보여줍니다.

```
{
  "customer_event_id": "[Capacity Reservation Id]-approaching-expiry",
  "detail_type": "Capacity Block Reservation Expiration Warning",
  "source": "aws.ec2",
  "account": "[Customer Account ID]",
  "time": "[Current time]",
  "resources": [
    "[ODCR ARN]"
  ],
  "detail": {
    "capacity-reservation-id": "[ODCR ID]",
    "end-date": "[ODCR End Date]"
  }
}
```

**용량 예약 인스턴스 중단 경고**  
다음 예제에서는 EC2 용량 예약 인스턴스 중단 경고 이벤트를 보여줍니다.

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail_type": "EC2 Capacity Reservation Instance Interruption Warning",
    "source": "aws.ec2",
    "account": "[Customer Account ID]",
    "time": "[Current time]",
    "region": "[Region]",
    "resources": [
        "[Instance ARN]"
    ],
    "detail": {
        "instance-id": "[Instance ID]",
        "instance-action": "terminate",
        "instance-termination-time": "[Current time]",
        "availability-zone-id": "[Availability Zone ID]",
        "instance-lifecycle": "capacity-block"
    }
}
```

# AWS CloudTrail로 용량 블록 API 직접 호출 로깅
<a name="capacity-blocks-logging-using-cloudtrail"></a>

용량 블록은 용량 블록에서 사용자, 역할 또는 서비스를 통해 수행된 작업의 레코드를 제공하는 AWS 서비스인 AWS CloudTrail과 통합되어 있습니다. CloudTrail에서는 용량 블록에 대한 API 직접 호출을 이벤트로 캡처합니다. 캡처되는 직접 호출에는 용량 블록 콘솔로부터의 호출과 용량 블록 API 작업에 대한 코드 직접 호출이 포함됩니다. 추적을 생성하면 용량 블록 이벤트를 포함한 CloudTrail 이벤트를 지속적으로 Amazon S3 버킷에 전송할 수 있습니다. 추적을 구성하지 않은 경우에도 **이벤트 기록**에서 CloudTrail 콘솔의 최신 이벤트를 볼 수 있습니다. CloudTrail에서 수집된 정보를 사용하여 용량 블록에 적용된 요청, 요청이 적용된 IP 주소, 요청을 적용한 사람, 요청이 수행된 시간 및 추가 세부 정보를 결정할 수 있습니다.

CloudTrail에 대한 자세한 내용은 [AWS CloudTrail 사용 설명서](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)를 참조하세요.

## CloudTrail의 용량 블록 정보
<a name="capacity-blocks-info-in-cloudtrail"></a>

CloudTrail은 계정 생성 시 AWS 계정에서 사용되도록 설정됩니다. 용량 블록에서 활동이 발생하면 해당 활동이 **이벤트 기록**의 다른 AWS 서비스 이벤트와 함께 CloudTrail 이벤트에 기록됩니다. AWS 계정에서 최신 이벤트를 확인, 검색 및 다운로드할 수 있습니다. 자세한 내용은 [CloudTrail 이벤트 기록을 사용하여 이벤트 보기](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)를 참조하세요.

용량 블록 이벤트를 포함한 이벤트를 AWS 계정에 지속적으로 기록하려면 추적을 생성합니다. CloudTrail은 *추적*을 사용하여 Amazon S3 버킷으로 로그 파일을 전송할 수 있습니다. 콘솔에서 트레일을 생성하면 기본적으로 모든 AWS 리전에 트레일이 적용됩니다. 추적은 AWS 파티션에 있는 모든 리전의 이벤트를 로깅하고 지정된 Amazon S3 버킷으로 로그 파일을 전송합니다. 추가적으로, CloudTrail 로그에서 수집된 이벤트 데이터를 추가 분석 및 처리하도록 다른 AWS 서비스를 구성할 수 있습니다. 자세한 내용은 다음 자료를 참조하세요.
+ [추적 생성 개요](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 지원 서비스 및 통합](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [CloudTrail에 대한 Amazon SNS 알림 구성](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [여러 리전에서 CloudTrail 로그 파일 받기](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) 및 [여러 계정에서 CloudTrail 로그 파일 받기](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

모든 용량 블록 작업은 CloudTrail을 통해 로깅되고 Amazon EC2 API 참조로 문서화됩니다. 예를 들어, `CapacityBlockScheduled` 직접 호출 및 `CapacityBlockActive` 작업을 통해 CloudTrail 로그 파일에 항목이 생성됩니다.

모든 이벤트 또는 로그 항목에는 요청을 생성했던 사용자에 관한 정보가 포함됩니다. ID 정보를 이용하면 다음을 쉽게 판단할 수 있습니다.
+ 요청을 루트로 했는지 아니면 AWS Identity and Access Management(IAM) 사용자 자격 증명으로 했는지 여부입니다.
+ 역할 또는 페더레이션 사용자에 대한 임시 자격 증명을 사용하여 요청이 생성되었는지 여부.
+ 다른 AWS 서비스에서 요청했는지.

자세한 내용은 [CloudTrail userIdentity 요소](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)를 참조하세요.

## 용량 블록 로그 파일 이해
<a name="understanding-service-name-entries"></a>

트레일이란 지정한 S3 버킷에 이벤트를 로그 파일로 입력할 수 있게 하는 구성입니다. CloudTrail 로그 파일에는 하나 이상의 로그 항목이 포함될 수 있습니다. 이벤트는 모든 소스로부터의 단일 요청을 나타내며 요청 작업, 작업 날짜와 시간, 요청 파라미터 등에 대한 정보가 들어 있습니다. CloudTrail 로그 파일은 퍼블릭 API 직접 호출의 주문 스택 트레이스가 아니므로 특정 순서로 표시되지 않습니다.

다음 예에서는 다음에 대한 CloudTrail 로그 항목을 보여줍니다.
+ [TerminateCapacityBlocksInstances](#understanding-capacity-blocks-entries-terminatecapacityblockinstances)
+ [CapacityBlockPaymentFailed](#understanding-capacity-blocks-entries-capacityblockpaymentfailed)
+ [CapacityBlockScheduled](#understanding-capacity-blocks-entries-capacityblockscheduled)
+ [CapacityBlockActive](#understanding-capacity-blocks-entries-capacityblockactive)
+ [CapacityBlockFailed](#understanding-capacity-blocks-entries-capacityblockfailed)
+ [CapacityBlockExpired](#understanding-capacity-blocks-entries-capacityblockexpired)

**참고**  
데이터 프라이버시의 예에서 일부 필드가 수정되었습니다.

### TerminateCapacityBlocksInstances
<a name="understanding-capacity-blocks-entries-terminatecapacityblockinstances"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "TerminateCapacityBlockInstances",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "accountId": "123456789012",
      "type": "AWS::EC2::Instance",
      "ARN": "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"
    }
    {
      "accountId": "123456789012",
      "type": "AWS::EC2::Instance",
      "ARN": "arn:aws:ec2:us-east-1:123456789012:instance/i-0598c7d356eba48d7"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      }
}
```

### CapacityBlockPaymentFailed
<a name="understanding-capacity-blocks-entries-capacityblockpaymentfailed"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockPaymentFailed",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "payment-failed"
      }
}
```

### CapacityBlockScheduled
<a name="understanding-capacity-blocks-entries-capacityblockscheduled"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockScheduled",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "scheduled"
      }
}
```

### CapacityBlockActive
<a name="understanding-capacity-blocks-entries-capacityblockactive"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockActive",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "active"
      }
 }
```

### CapacityBlockFailed
<a name="understanding-capacity-blocks-entries-capacityblockfailed"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockFailed",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "failed"
      }
 }
```

### CapacityBlockExpired
<a name="understanding-capacity-blocks-entries-capacityblockexpired"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockExpired",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "expired"
      }
 }
```