

# 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` - 회수 과정에서 인스턴스를 종료할 때