

# Amazon EC2 の請求および購入オプション
<a name="instance-purchasing-options"></a>

以下のオプションを使用して、Amazon EC2 のコストを最適化できます。
+ **[オンデマンドインスタンス](ec2-on-demand-instances.md)** – 起動したインスタンスに対して秒単位でお支払いいただきます。
+ **[Savings Plans](https://docs.aws.amazon.com/savingsplans/latest/userguide/what-is-savings-plans.html)** – 1〜3 年の期間、1 時間 あたり USD 単位で一定の使用量を契約することにより、Amazon EC2 にかかるコストを削減します。
+ **[リザーブドインスタンス](ec2-reserved-instances.md)** – 1～3 年の期間、インスタンスタイプとリージョンを含むインスタンス設定を維持する契約により、Amazon EC2 にかかるコストを削減します。
+ **[スポットインスタンス](using-spot-instances.md)** – 未使用の EC2 インスタンスをリクエストすることで、Amazon EC2にかかるコストを大幅に削減できます。
+ **[専用ホスト](dedicated-hosts-overview.md)** – インスタンスの実行のみを目的とした物理ホストに対してお支払いいただきます。ソケット単位、コア単位、または VM 単位で、ご使用中のソフトウェアライセンスを持ち込むことでコストを削減できます。
+ **[ハードウェア専有インスタンス](dedicated-instance.md)** – シングルテナントハードウェアで実行されるインスタンスに対して、時間単位でお支払いいただきます。
+ **[キャパシティー予約](capacity-reservation-overview.md)** – 特定のアベイラビリティーゾーンの EC2 インスタンスのキャパシティを予約できます。

特定のインスタンス設定を確約できないものの、使用量を確約できる場合はSavings Plans を購入するとオンデマンドインスタンスのコストを削減できます。キャパシティ予約が必要な場合は特定のアベイラビリティーゾーンのリザーブドインスタンスまたはキャパシティ予約を購入します。キャパシティブロックを使用すると GPU インスタンスのクラスターを予約できます。スポットインスタンス はアプリケーションを実行するタイミングに柔軟性がある場合や、アプリケーションを中断できる場合に費用効率の高い選択肢です。専用ホスト または Dedicated Instances (ハードウェア専有インスタンス) を使用すると、サーバーにバインドされた既存のソフトウェアライセンスを使用することにより、コンプライアンス要件に対応しながらコストを削減できます。

詳細に[ついてはAmazon EC2 ](https://aws.amazon.com/ec2/pricing/)の料[Amazon EC2 マネージドインスタンス](amazon-ec2-managed-instances.md) 金表を参照してください。

# Amazon EC2 のオンデマンドインスタンスの購入
<a name="ec2-on-demand-instances"></a>

オンデマンドインスタンスでは長期契約は必要なく、料金はコンピューティング性能に対して秒単位で発生します。そのインスタンスライフサイクルを完全に制御でき、いつ起動、停止、休止、開始、再起動、または終了するかを決定できます。

オンデマンドインスタンス を購入するときに要求される長期的なコミットメントはありません。ご利用の オンデマンドインスタンス が `running` 状態になっている秒数 (最低 60 秒) に対してのみお支払いいただきます。オンデマンドインスタンス が実行される秒数あたりの料金は固定で、[Amazon EC2 の料金、オンデマンド料金ページ](https://aws.amazon.com/ec2/pricing/on-demand/)に記載されています。

短期間、不規則なワークロードがあり中断できないアプリケーションには、オンデマンドインスタンス の使用をお勧めします。

オンデマンドインスタンスで料金を大幅に削減するには、[AWS Savings Plans](https://aws.amazon.com/savingsplans/)、[スポットインスタンス](using-spot-instances.md)、または [Amazon EC2 のリザーブドインスタンスの概要](ec2-reserved-instances.md) を使用してください。

**Contents**
+ [

## オンデマンドインスタンスクォータ
](#ec2-on-demand-instances-limits)
  + [

### オンデマンドインスタンス のクォータと使用量のモニタリング
](#monitoring-on-demand-limits)
  + [

### クォータ引き上げをリクエストする
](#vcpu-limits-request-increase)
+ [

## オンデマンドインスタンスの料金を照会する
](#query-aws-price-list)

## オンデマンドインスタンスクォータ
<a name="ec2-on-demand-instances-limits"></a>

各リージョンごとに、AWS アカウント ごとに実行中のオンデマンド インスタンスの数に対するクォータがあります。オンデマンドインスタンスのクォータは、インスタンスタイプに関係なく、実行中のオンデマンドインスタンスで使用している仮想中央演算装置 (vCPU) の数で管理されます。各クォータタイプは、1 つ以上のインスタンスファミリーに対し、最大の vCPU 数を指定しています。

アカウントには、オンデマンドインスタンスの次のクォータが含まれます。状態が保留中、停止中、停止済み、休止済みのインスタンスは、オンデマンドインスタンスのクォータにはカウントされません。キャパシティ予約は、未使用であっても、オンデマンドインスタンスのクォータにカウントされます。


| 名前 | デフォルト | 引き上げ可能 | 
| --- | --- | --- | 
| オンデマンド DL インスタンスの実行 | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-6E869C2A) | 
| オンデマンド F インスタンスの実行 | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-74FC7D96) | 
| オンデマンド G および VT インスタンスの実行 | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-DB2E81BA) | 
| オンデマンドオール HPC インスタンスの実行 | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-F7808C92) | 
| オンデマンドハイメモリインスタンスの実行 | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-43DA4232) | 
| オンデマンド Inf インスタンスの実行 | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1945791B) | 
| オンデマンド P インスタンスの実行 | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-417A185B) | 
| オンデマンド標準 (A、C、D、H、I、M、R、T、Z) インスタンスの実行 | 5 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) | 
| オンデマンド Trn インスタンスの実行 | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-2C3B7624) | 
| オンデマンド X インスタンスの実行 | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-7295265B) | 

さまざまなインスタンスファミリー、世代、およびサイズについては、「[Amazon EC2 インスタンスタイプガイド](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html)」を参照してください。

vCPU の数が自分のアカウントでのクォータを超えていない限り、変化するアプリケーションのニーズに合わせて、任意の組み合わせでインスタンスタイプを起動できます。例えば、256 vCPU のクォータがあるスタンダードインスタンスでは、32 個の `m5.2xlarge` インスタンス (32 x 8 vCPU) または 16 個の `c5.4xlarge` インスタンス (16 x 16 vCPU) を起動できます。詳細については、[EC2 オンデマンドインスタンス の制限](https://aws.amazon.com/ec2/faqs/#EC2_On-Demand_Instance_limits)を参照してください。

**Topics**
+ [

### オンデマンドインスタンス のクォータと使用量のモニタリング
](#monitoring-on-demand-limits)
+ [

### クォータ引き上げをリクエストする
](#vcpu-limits-request-increase)

### オンデマンドインスタンス のクォータと使用量のモニタリング
<a name="monitoring-on-demand-limits"></a>

次の方法を使用して、各リージョンのオンデマンド インスタンス クォータを表示および管理できます。

**Service Quotas コンソールを使用して現在のクォータを表示するには**

1. Service Quotas コンソール ([https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/)) を開きます。

1. ナビゲーションバーから、リージョンを選択します。

1. フィルターフィールドに、**On-Demand** と入力します。

1. **[適用されたクォータ値]** 列には、アカウントの各オンデマンドインスタンスのクォータタイプの vCPU の最大数が表示されます。

**AWS Trusted Advisor コンソールを使用して現在のクォータを表示するには**  
AWS Trusted Advisor コンソールの[サービスの制限ページ](https://console.aws.amazon.com/trustedadvisor/home?#/category/service-limits)を開きます。

**CloudWatch アラームを設定するには**  
Amazon CloudWatch のメトリクス統合では、クォータに対して EC2 の使用量をモニタリングできます。クォータに近づいたときに警告を発するようにアラームを設定することもできます。詳細については、「[Service Quotas](https://docs.aws.amazon.com/servicequotas/latest/userguide/configure-cloudwatch.html)」ユーザーガイドのサービスクォータと Amazon CloudWatch アラームを参照してください。

### クォータ引き上げをリクエストする
<a name="vcpu-limits-request-increase"></a>

オンデマンドインスタンスの上限は、使用量に基づき Amazon EC2 によって自動的に引き上げられますが、必要であればクォータの引き上げをリクエストすることも可能です。例えば、現在のクォータで許可されているよりも多くのインスタンスを起動する場合は、前のセクション「[Amazon EC2 の Service Quotas](ec2-resource-limits.md)」に記載されている Service Quotas コンソールで説明したように、 を使用してクォータの増加を要求できます。

## オンデマンドインスタンスの料金を照会する
<a name="query-aws-price-list"></a>

Price List Service API または AWS Price List API を使用して、オンデマンドインスタンス の料金を照会できます。詳細については、[AWSユーザーガイド](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html)の*AWS Billing Price List API の使用*を参照してください。

# Amazon EC2 のリザーブドインスタンスの概要
<a name="ec2-reserved-instances"></a>

**重要**  
リザーブドインスタンスよりも Savings Plans をお勧めします。節約プランはリザーブドインスタンスと同様に、AWS コンピューティングコストを節約し、低価格 (オンデマンド料金から最大 72% オフ) を実現する最も簡単で柔軟な方法です。ただし、Savings Plans はリザーブドインスタンスとは異なります。リザーブドインスタンスでは特定のインスタンス構成にコミットしますが、Savings Plans ではニーズに最も合ったインスタンス構成を柔軟に使用できます。Savings Plans を使用する場合は1 時間 につき USD 単位で一定の使用量を守ることになります。詳細については[AWS Savings Plans ユーザーガイド](https://docs.aws.amazon.com/savingsplans/latest/userguide/)をご参照ください。

オンデマンドインスタンスの料金と比較して、リザーブドインスタンスでは Amazon EC2 の料金を大幅に節約することができます。リザーブドインスタンスは物理インスタンスではありませんが、請求の割引はアカウントでのオンデマンドインスタンスの使用に適用されます。請求割引のメリットを得るにはこれらのオンデマンドインスタンスはインスタンスタイプやリージョンなどの特定の属性に一致する必要があります。

**Topics**
+ [

## リザーブドインスタンスのシナリオ例
](#ri-example-scenario)
+ [

## リザーブドインスタンス 料金を決定するキー変数
](#ri-key-pricing-variables)
+ [

# リージョンおよびゾーン リザーブドインスタンス (スコープ)
](reserved-instances-scope.md)
+ [

# リザーブドインスタンス のタイプ (提供しているクラス)
](reserved-instances-types.md)
+ [

# リザーブドインスタンスの割引はどのように適用されるか
](apply_ri.md)
+ [

# お使いの リザーブドインスタンス の使用
](using-reserved-instances.md)
+ [

# リザーブドインスタンスの課金の仕組み
](concepts-reserved-instances-application.md)
+ [

# Amazon EC2 のリザーブドインスタンスを購入する
](ri-market-concepts-buying.md)
+ [

# リザーブドインスタンスマーケットプレイスで Amazon EC2 のリザーブドインスタンスを販売する
](ri-market-general.md)
+ [

# リザーブドインスタンス の変更
](ri-modifying.md)
+ [

# コンバーティブルリザーブドインスタンス の交換
](ri-convertible-exchange.md)
+ [

# リザーブドインスタンスのクォータ
](ri-limits.md)

## リザーブドインスタンスのシナリオ例
<a name="ri-example-scenario"></a>

次の図に、リザーブドインスタンスの購入と使用の基本的なシナリオを示します。

![\[リザーブドインスタンスの購入。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ri-basics.png)


このシナリオでは現在オンデマンドレートを支払っているアカウントの オンデマンドインスタンス (T2) を実行しています。実行しているインスタンスの属性を一致する リザーブドインスタンス を購入すると、料金上の利点が即時適用されます。次に、C4 インスタンスに リザーブドインスタンス を購入します。この リザーブドインスタンス に属性が一致するアカウントで実行しているインスタンスはありません。この最終ステップではC4 リザーブドインスタンス の属性と一致するインスタンスを起動すると、料金上の利点が独自適用されます。

## リザーブドインスタンス 料金を決定するキー変数
<a name="ri-key-pricing-variables"></a>

リザーブドインスタンス 料金は次のキー変数によって決まります。

### インスタンスの属性
<a name="ri-pricing-variable-instance-attributes"></a>

リザーブドインスタンス にはその料金を決める 4 つのインスタンス属性があります。
+ **インスタンスタイプ**: 例えば、`m4.large`。これはインスタンスファミリー (`m4` など) とインスタンスサイズ (`large` など) で構成されます。
+ **リージョン**: リザーブドインスタンスが購入されているリージョン。
+ **テナンシー**: インスタンスが共有 (デフォルト) または単一のテナンシー (専用) のハードウェアで実行されるかについて。詳細については[Amazon EC2 ハードウェア専有インスタンス](dedicated-instance.md)を参照してください。
+ **プラットフォーム**: オペレーティング システム。例えば、Windows や Linux/Unix。詳細については[プラットフォームの選択](ri-market-concepts-buying.md#ri-choosing-platform)を参照してください。

### コミットメント期間
<a name="ri-pricing-variable-term-commitment"></a>

1 年あるいは 3 年のコミットメントで リザーブドインスタンス を購入することができます。3 年のコミットメントには大幅な割引が提供されます。
+ **1 年**: 1 年は 31536000 秒 (365 日) として定義されます。
+ **3 年**: 3 年は 94608000 秒 (1095 日) として定義されます。

リザーブドインスタンス は自動的に更新されません。有効期限が切れても、引き続き EC2 インスタンスを使用できますが、オンデマンド価格が課金されます。上記の例ではT2 および C4 インスタンスを対象とする リザーブドインスタンス の期限が切れた場合、インスタンスが終了するまでオンデマンドレートの支払いに戻るか、あるいはインスタンスの属性に一致する新しい リザーブドインスタンス を購入します。

**重要**  
リザーブドインスタンス を購入した後で購入をキャンセルすることはできません。ただし、ユーザーのニーズが変更した場合、リザーブドインスタンス を[変更](ri-modifying.md)、[交換](ri-convertible-exchange.md)、[売却](ri-market-general.md)できる場合もあります。

### 支払いオプション
<a name="ri-payment-options"></a>

リザーブドインスタンス では次の支払いオプションが用意されています。
+ **すべて前払い**: 期間の開始時に全額が支払われ、使用時間数に関係なく、残りの期間にその他のコストや追加時間課金は生じません。
+ **一部前払い**: 料金の一部を前払いする必要があり、期間内の残りの時間はリザーブドインスタンス が使用されたどうかにかかわらず、割引された時間料金で請求されます。
+ **前払いなし**: リザーブドインスタンス が使用されたどうかにかかわらず、期間内のすべての時間は割引時間料金での請求となります。前払い料金は必要ではありません。
**注記**  
前払いなしの リザーブドインスタンス は予約の全期間について毎月支払いを行う契約義務に基づいています。そのため、前払いなしの リザーブドインスタンス を購入するには請求履歴に問題がないことが必須となります。

一般的にはリザーブドインスタンス の前払い額を高く設定するほど、より多くの費用を節約できます。また、Reserved Instance Marketplace ではサードパーティーの販売者が提供する、より安価で期間の短いリザーブドインスタンス を見つけることもできます。詳細については[リザーブドインスタンスマーケットプレイスで Amazon EC2 のリザーブドインスタンスを販売する](ri-market-general.md)を参照してください。

### 提供クラス
<a name="ri-pricing-variable-offering-class"></a>

コンピューティングに変更が必要な場合、提供クラスによって、リザーブドインスタンス を変更または交換することができます。
+ **スタンダード**: 最大の割引を提供しますが、変更のみを行うことができます。スタンダード リザーブドインスタンス は交換できません。
+ **コンバーティブル**: スタンダード リザーブドインスタンス より少ない割引ですが、異なるインスタンス属性を使用する別のコンバーティブル リザーブドインスタンス と交換できます。コンバーティブル リザーブドインスタンス は変更することもできます。

詳細については[リザーブドインスタンス のタイプ (提供しているクラス)](reserved-instances-types.md)を参照してください。

**重要**  
リザーブドインスタンス を購入した後で購入をキャンセルすることはできません。ただし、ユーザーのニーズが変更した場合、リザーブドインスタンス を[変更](ri-modifying.md)、[交換](ri-convertible-exchange.md)、[売却](ri-market-general.md)できる場合もあります。

詳細については[Amazon EC2 リザーブドインスタンスの料金表ページ](https://aws.amazon.com/ec2/pricing/reserved-instances/pricing/)を参照してください。

# リージョンおよびゾーン リザーブドインスタンス (スコープ)
<a name="reserved-instances-scope"></a>

リザーブドインスタンス の購入時に リザーブドインスタンス のスコープを決定します。スコープはリージョンあるいはゾーンのいずれかになります。
+ **リージョナル**: リージョン用に リザーブドインスタンス を購入する場合、これは*リージョナル* リザーブドインスタンス と呼ばれます。
+ **ゾーン**: 特定のアベイラビリティーゾーン用に リザーブドインスタンス を購入する場合、これはゾーンリザーブドインスタンス と呼ばれます。

範囲は料金には影響しません。リージョンまたはゾーンごとの リザーブドインスタンス に同じ料金を支払います。リザーブドインスタンス の料金の詳細については[リザーブドインスタンス 料金を決定するキー変数](ec2-reserved-instances.md#ri-key-pricing-variables)と[Amazon EC2 リザーブドインスタンスの料金](https://aws.amazon.com/ec2/pricing/reserved-instances/pricing/)を参照してください。

リザーブドインスタンスのスコープを指定する方法の詳細については「[RI の属性](https://aws.amazon.com/ec2/pricing/reserved-instances/#riattributes)」、特に「**アベイラビリティーゾーン**」の箇条書きを参照してください。

## リージョンとゾーンの リザーブドインスタンス の違い
<a name="reserved-instances-regional-zonal-differences"></a>

次のテーブルではリージョン リザーブドインスタンス とゾーン リザーブドインスタンス の主な違いをいくつか示しています。


|  | リージョン リザーブドインスタンス | ゾーン リザーブドインスタンス | 
| --- | --- | --- | 
|  キャパシティーを予約する機能  |  リージョンの リザーブドインスタンス ではキャパシティーは予約*されません*。  |  ゾーンの リザーブドインスタンス では指定されたアベイラビリティーゾーンでキャパシティーが予約されます。  | 
|  アベイラビリティーゾーンの柔軟性  |  指定するリージョン内のすべてのアベイラビリティーゾーンにおけるインスタンスの使用に対して、リザーブドインスタンス 割引が適用されます。  |  アベイラビリティーゾーンの柔軟性なし — リザーブドインスタンス 割引は指定したアベイラビリティー―ゾーン内のみのインスタンスの使用に対して適用されます。  | 
|  インスタンスサイズの柔軟性  |  インスタンスファミリー内のインスタンスの使用に対して、サイズを問わず、リザーブドインスタンス 割引が適用されます。 Amazon Linux/Unix リザーブドインスタンス のデフォルトテナンシーのみでサポートされます。詳細については[正規化係数によって決定されたインスタンスサイズの柔軟性](apply_ri.md#ri-normalization-factor)を参照してください。 |  インスタンスサイズの柔軟性なし — リザーブドインスタンス 割引は指定されたインスタンスタイプとサイズにおけるインスタンスの使用に対してのみ適用されます。  | 
|  購入をキューに入れる  |  リージョンリザーブドインスタンスの購入をキューに入れることができます。  |  ゾーンリザーブドインスタンスの購入をキューに入れることはできません。  | 

詳細な説明と例については[リザーブドインスタンスの割引はどのように適用されるか](apply_ri.md)を参照してください。

# リザーブドインスタンス のタイプ (提供しているクラス)
<a name="reserved-instances-types"></a>

リザーブドインスタンス の提供クラスはスタンダードまたはコンバーチブルのいずれかです。スタンダード リザーブドインスタンス はコンバーチブル リザーブドインスタンス よりも大幅な割引が受けられますが、スタンダード リザーブドインスタンス を交換することはできません。コンバーティブル リザーブドインスタンス は交換できます。スタンダードおよびコンバーティブルのリザーブドインスタンスは変更可能です。

リザーブドインスタンス の設定は期間内の 1 つのインスタンスタイプ、プラットフォーム、スコープ、およびテナンシーで構成されています。コンピューティングに変更が必要な場合はリザーブドインスタンス を変更または交換できる可能性があります。

## スタンダードとコンバーティブル リザーブドインスタンス の違い
<a name="offering-class-differences"></a>

以下に、スタンダードとコンバーティブル リザーブドインスタンス の違いを示します。


|  | スタンダード リザーブドインスタンス | Convertible Reserved Instance | 
| --- | --- | --- | 
| リザーブドインスタンス の変更 | 一部の属性は変更できます。詳細については[リザーブドインスタンス の変更](ri-modifying.md)を参照してください。 | 一部の属性は変更できます。詳細については[リザーブドインスタンス の変更](ri-modifying.md)を参照してください。 | 
| リザーブドインスタンスの交換 | 交換できません。 | 期間内で、インスタンスファミリー、インスタンスタイプ、プラットフォーム、スコープやテナンシーなどの新しい属性の別の コンバーティブルリザーブドインスタンス に交換することができます。詳細については[コンバーティブルリザーブドインスタンス の交換](ri-convertible-exchange.md)を参照してください。 | 
| Reserved Instance Marketplace での販売 | Reserved Instance Marketplace で販売可能です。 | Reserved Instance Marketplace では販売できません。 | 
| リザーブドインスタンスの Marketplace での購入 | Reserved Instance Marketplace で購入可能です。 | Reserved Instance Marketplace では購入できません。 | 

# リザーブドインスタンスの割引はどのように適用されるか
<a name="apply_ri"></a>

リザーブドインスタンスは物理インスタンスではありませんが、請求の割引はアカウントでのオンデマンドインスタンスの実行に適用されます。請求割引のメリットを得るにはオンデマンドインスタンスはリザーブドインスタンスの特定の仕様に一致する必要があります。

リザーブドインスタンスを購入し、リザーブドインスタンスの仕様に一致するオンデマンドインスタンスが既に実行されている場合、請求割引は直ちに自動的に適用されます。インスタンスを再起動する必要はありません。使用可能な実行中のオンデマンドインスタンスが存在しない場合、リザーブドインスタンスと同じ仕様でオンデマンドインスタンスを起動します。詳細については[お使いの リザーブドインスタンス の使用](using-reserved-instances.md)を参照してください。

リザーブドインスタンスの提供クラス (スタンダードまたはコンバーティブル) は請求割引の適用には影響しません。

**Topics**
+ [

## ゾーン リザーブドインスタンス がどのように適用されるか
](#apply-zonal-ri)
+ [

## リージョンリザーブドインスタンスがどのように適用されるか
](#apply-regional-ri)
+ [

## インスタンスサイズの柔軟性
](#ri-instance-size-flexibility)
+ [

## リザーブドインスタンス の適用例
](#ri-usage-examples)

## ゾーン リザーブドインスタンス がどのように適用されるか
<a name="apply-zonal-ri"></a>

特定のアベイラビリティーゾーンで容量を予約するために購入されるリザーブドインスタンスはゾーンリザーブドインスタンスと呼ばれます。
+ リザーブドインスタンスの割引はそのアベイラビリティーゾーンに一致したインスタンスの使用に適用されます。
+ 実行中のインスタンスの属性 (テナンシー、プラットフォーム、アベイラビリティーゾーン、インスタンスタイプ、およびインスタンスサイズ) はリザーブドインスタンス の属性と一致する必要があります。

例えば、us-east-1a のアベイラビリティーゾーンで、デフォルトテナンシーの `c4.xlarge` Linux/Unix スタンダード リザーブドインスタンス を 2 つ購入すると、us-east-1a のアベイラビリティーゾーンで実行している 2 つまでのデフォルトテナンシーの `c4.xlarge` Linux/Unix インスタンスで リザーブドインスタンス 割引を利用できます。

## リージョンリザーブドインスタンスがどのように適用されるか
<a name="apply-regional-ri"></a>

リージョン用に購入されるリザーブドインスタンスはリージョンリザーブドインスタンスと呼ばれ、アベイラビリティーゾーンとインスタンスサイズの柔軟性を提供します。
+ このリージョン内のすべてのアベイラビリティーゾーンにおけるインスタンスの使用に対して、リザーブドインスタンス 割引が適用されます。
+ リザーブドインスタンスの割引はサイズに関係なく、インスタンスファミリー内のインスタンスの使用に適用されます。これは「[インスタンスサイズの柔軟性](#ri-instance-size-flexibility)」と呼ばれます。

## インスタンスサイズの柔軟性
<a name="ri-instance-size-flexibility"></a>

インスタンスサイズの柔軟性により、[ファミリー](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html)が同一のインスタンスを使用した場合、リザーブドインスタンス割引が適用されます。リザーブドインスタンスはインスタンスファミリー内の最もサイズの小さいインスタンスからサイズの大きいインスタンスへ、正規化係数に基づいて適用されます。リザーブドインスタンス割引の適用例については「[シナリオ 2: 正規化係数を使用した 1 つのアカウントのリザーブドインスタンス](#ri-usage-ex2)」を参照してください。

### 制限事項
<a name="ri-instance-size-flexibility-limitations"></a>
+ **サポート:** インスタンスサイズの柔軟性はリージョナルリザーブドインスタンスでのみサポートされています。
+ **未サポート:** 次のリザーブドインスタンスではインスタンスサイズの柔軟性はサポートされていません。
  + 特定のアベイラビリティーゾーン (ゾーンリザーブドインスタンス) 用に購入されたリザーブドインスタンス
  + G4ad、G4dn、G5、G5g、G6、G6e、G6f、Gr6、Gr6f、hpc7a、P5、Inf1、Inf2、u7i-6tb、および u7i-8tb インスタンス用のリザーブドインスタンス
  + リザーブドインスタンス for Windows Server、Windows Server with SQL Standard、Windows Server with SQL Server Enterprise、Windows Server with SQL Server Web、RHEL、SUSE Linux Enterprise Server
  + 専有テナントを使用する リザーブドインスタンス

### 正規化係数によって決定されたインスタンスサイズの柔軟性
<a name="ri-normalization-factor"></a>

インスタンスサイズの柔軟性はインスタンスサイズの正規化係数によって決定されます。割引はリージョン内のアベイラビリティーゾーンで、予約したインスタンスサイズによって、同じインスタンスファミリーで実行中のインスタンスに完全または部分的に適用されます。一致する必要がある属性はインスタンスファミリー、テナンシー、プラットフォームのみです。

次の表はインスタンスファミリー内のさまざまなサイズおよび対応する正規化係数の一覧です。このスケールを使用して、リザーブドインスタンス の割引料金をインスタンスファミリーの正規化された使用に適用します。


| インスタンスサイズ | 正規化係数 | 
| --- | --- | 
| nano | 0.25 | 
| micro | 0.5 | 
| small | 1 | 
| medium | 2 | 
| large | 4 | 
| xlarge | 8 | 
| 2xlarge | 16 | 
| 3xlarge | 24 | 
| 4xlarge | 32 | 
| 6xlarge | 48 | 
| 8xlarge | 64 | 
| 9xlarge | 72 | 
| 10xlarge | 80 | 
| 12xlarge | 96 | 
| 16xlarge | 128 | 
| 18xlarge | 144 | 
| 24xlarge | 192 | 
| 32xlarge | 256 | 
| 48xlarge | 384 | 
| 56xlarge | 448 | 
| 112xlarge | 896 | 

例えば、`t2.medium` インスタンスには 2 の正規化係数があります。US East (N. Virginia) で `t2.medium` デフォルトテナンシー Amazon Linux/Unix リザーブドインスタンス を購入し、このリージョンのアカウントで 2 つの `t2.small` インスタンスを実行している場合、料金上の利点はどちらのインスタンスにも完全に適用されます。

![\[リージョナルリザーブドインスタンスの適用\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ri-instance-flex-full.png)


またはUS East (N. Virginia) リージョンのアカウントで実行している 1 つの `t2.large` インスタンスがある場合、料金上の利点はこのインスタンスの使用の 50% に適用されます。

![\[リージョナルリザーブドインスタンスの適用\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ri-instance-flex-partial.png)


正規化係数はリザーブドインスタンス の変更時にも適用されます。詳細については[リザーブドインスタンス の変更](ri-modifying.md)を参照してください。

#### ベアメタルインスタンスの正規化係数
<a name="ri-normalization-factor-bare-metal"></a>

また、インスタンスサイズの柔軟性はインスタンスファミリー内のベアメタルインスタンスにも適用されます。ベアメタルインスタンスで共有するテナントを使用したリージョンの Amazon Linux/Unix リザーブドインスタンス がある場合、同じインスタンスファミリー内で リザーブドインスタンス 割引の特典を受けることができます。逆の場合も同様です。同じファミリー内のインスタンスでベアメタルインスタンスとしてテナントを共有している、リージョン Amazon Linux/Unix リザーブドインスタンス がある場合、ベアメタルインスタンスで リザーブドインスタンス 割引の特典を受けることができます。

`metal` インスタンスサイズには単一の正規化係数がありません。ベアメタルインスタンスの正規化係数は同じインスタンスファミリー内の同等な仮想インスタンスサイズと同じです。例えば、1 つの `i3.metal` インスタンスには `i3.16xlarge` インスタンスと同じ正規化係数があります。


| インスタンスサイズ | 正規化係数 | 
| --- | --- | 
| a1.metal | 32 | 
|  m5zn.metal \$1 x2iezn.metal z1d.metal  | 96 | 
|  c6g.metal \$1 c6gd.metal \$1 i3.metal \$1 m6g.metal \$1 m6gd.metal \$1 r6g.metal \$1 r6gd.metal \$1 x2gd.metal  | 128 | 
| c5n.metal | 144 | 
|  c5.metal \$1 c5d.metal \$1 i3en.metal \$1 m5.metal \$1 m5d.metal \$1 m5dn.metal \$1 m5n.metal \$1 r5.metal \$1 r5b.metal \$1 r5d.metal \$1 r5dn.metal \$1 r5n.metal  | 192 | 
|  c6i.metal \$1 c6id.metal \$1 m6i.metal \$1 m6id.metal \$1 r6d.metal \$1 r6id.metal  | 256 | 
|  u-18tb1.metal \$1 u-24tb1.metal  | 448 | 
|  u-6tb1.metal \$1 u-9tb1.metal \$1 u-12tb1.metal  | 896 | 

例えば、1 つの `i3.metal` インスタンスには 128 の正規化係数があります。US East (N. Virginia) で `i3.metal` デフォルトテナンシー Amazon Linux/Unix リザーブドインスタンス を購入した場合、料金上のメリットは次のようになります。
+ そのリージョン内のアカウントで実行している 1 つの `i3.16xlarge` がある場合、料金上のメリットは `i3.16xlarge` インスタンス全体に適用されます (`i3.16xlarge` 正規化係数 = 128)。
+ あるいはそのリージョン内のアカウントで実行している 2 つの `i3.8xlarge` がある場合、料金上のメリットは両方の `i3.8xlarge` インスタンス全体に適用されます (`i3.8xlarge` 正規化係数 = 64)。
+ あるいはそのリージョン内のアカウントで実行している 4 つの `i3.4xlarge` がある場合、料金上のメリットは 4 つの `i3.4xlarge` インスタンス全体に適用されます (`i3.4xlarge` 正規化係数 = 32)。

逆の場合も同様です。例えば、US East (N. Virginia) で 2 つの `i3.8xlarge` デフォルトテナンシー Amazon Linux/Unix リザーブドインスタンス を購入し、そのリージョンで実行している 1 つの `i3.metal` インスタンスがある場合、料金上のメリットは `i3.metal` インスタンス全体に適用されます。

## リザーブドインスタンス の適用例
<a name="ri-usage-examples"></a>

**Topics**
+ [

### シナリオ 1: 単一アカウントの リザーブドインスタンス
](#ri-usage-ex1)
+ [

### シナリオ 2: 正規化係数を使用した 1 つのアカウントのリザーブドインスタンス
](#ri-usage-ex2)
+ [

### シナリオ 3: 連結アカウントのリージョンリザーブドインスタンス
](#ri-usage-ex3)
+ [

### シナリオ 4: 連結アカウントのゾーンリザーブドインスタンス
](#ri-usage-ex4)

### シナリオ 1: 単一アカウントの リザーブドインスタンス
<a name="ri-usage-ex1"></a>

アカウント A で以下の オンデマンドインスタンス を実行しているとします。
+ us-east-1a アベイラビリティーゾーンで 4 つのデフォルトテナンシーの `m3.large` Linux インスタンス
+ us-east-1b アベイラビリティーゾーンで 2 つのデフォルトテナンシーの `m4.xlarge` Amazon Linux インスタンス
+ us-east-1c アベイラビリティーゾーンで 1 つのデフォルトテナンシーの `c4.xlarge` Amazon Linux インスタンス

アカウント A で以下の リザーブドインスタンス を購入するとします。
+ us-east-1a アベイラビリティーゾーンで 4 つのデフォルトテナンシーの `m3.large` Linux リザーブドインスタンス (キャパシティーの予約あり)
+ us-east-1 リージョンで 4 つのデフォルトテナンシーの `m4.large` Amazon Linux リザーブドインスタンス
+ us-east-1 リージョンで 1 つのデフォルトテナンシーの `c4.large` Amazon Linux リザーブドインスタンス

リザーブドインスタンス の利点は以下のように適用されます。
+ 4 つの `m3.large` ゾーン リザーブドインスタンス の割引とキャパシティーの予約は属性 (インスタンスサイズ、リージョン、プラットフォーム、テナンシー) が一致する 4 つの `m3.large` インスタンスによって使用されます。
+ `m4.large` リージョン リザーブドインスタンス はデフォルトテナンシーの Amazon Linux リザーブドインスタンス であるため、アベイラビリティーゾーンおよびインスタンスサイズの柔軟性を提供します。

  1 つの `m4.large` は4 つの正規化された単位/時間に相当します。

  4 つの `m4.large` リージョン リザーブドインスタンス を購入したので、合計で 16 の正規化された単位/時間 (4x4) に相当します。アカウント A で実行している 2 つの `m4.xlarge` インスタンスは16 の正規化された単位/時間 (2x8) に相当します。この場合、4 つの `m4.large` リージョナルリザーブドインスタンスによって、2 つの `m4.xlarge` インスタンスの使用に対する全面的な請求のメリットが提供されます。
+ us-east-1 の `c4.large` リージョン リザーブドインスタンス はデフォルトテナンシーのリージョンの Amazon Linux リザーブドインスタンス であるため、アベイラビリティーゾーンおよびインスタンスサイズの柔軟性を提供し、`c4.xlarge` インスタンスに適用されます。`c4.large` インスタンスは 4 つの正規化された単位/時間に相当し、`c4.xlarge` インスタンスは 8 つの正規化された単位/時間に相当します。

  この場合、`c4.large` リージョン リザーブドインスタンス は`c4.xlarge` の使用の一部に対してメリットを提供します。これはこの `c4.large` リザーブドインスタンス は 4 つの正規化された単位/時間に相当しますが、`c4.xlarge` インスタンスは 8 つの正規化された単位/時間を必要とするためです。したがって、`c4.large` リザーブドインスタンス の請求割引は`c4.xlarge` の使用の 50% に適用されます。`c4.xlarge` の残りの使用はオンデマンド価格で課金されます。

### シナリオ 2: 正規化係数を使用した 1 つのアカウントのリザーブドインスタンス
<a name="ri-usage-ex2"></a>

アカウント A で以下の オンデマンドインスタンス を実行しているとします。
+ us-east-1a アベイラビリティーゾーンで 2 つのデフォルトテナンシーの `m3.xlarge` Amazon Linux インスタンス
+ us-east-1b アベイラビリティーゾーンで 2 つのデフォルトテナンシーの `m3.large` Amazon Linux インスタンス

アカウント A で以下のリザーブドインスタンスを購入するとします。
+ us-east-1 リージョンで 1 つのデフォルトテナンシーの `m3.2xlarge` Amazon Linux リザーブドインスタンス

リザーブドインスタンス の利点は以下のように適用されます。
+ us-east-1 の `m3.2xlarge` リージョンリザーブドインスタンスはデフォルトテナンシーのリージョンの Amazon Linux リザーブドインスタンスであるため、アベイラビリティーゾーンおよびインスタンスサイズの柔軟性を提供します。これは最初に `m3.large` インスタンスに適用され、次に `m3.xlarge` インスタンスに適用されます (インスタンスファミリー内の最もサイズの小さいインスタンスからサイズの大きいインスタンスへ、正規化係数に基づいて適用されるため)。

  1 つの `m3.large` インスタンスは4 つの正規化された単位/時間に相当します。

  1 つの `m3.xlarge` インスタンスは8 つの正規化された単位/時間に相当します。

  1 つの `m3.2xlarge` インスタンスは16 の正規化された単位/時間に相当します。

  この利点は次のように適用されます。

  `m3.2xlarge` リージョナルリザーブドインスタンスは2 つの `m3.large` の使用に最大の利点をもたらします。これらのインスタンスは8 つの正規化された単位/時間に相当するためです。これにより、`m3.xlarge` インスタンスに適用される 8 つの正規化された単位/時間が残ります。

  残りの 8 つの正規化された単位/時間により、`m3.2xlarge` リージョナルリザーブドインスタンスは1 つの `m3.xlarge` の使用に最大の利点をもたらします。各 `m3.xlarge` インスタンスは8 つの正規化された単位/時間に相当するためです。`m3.xlarge` の残りの使用はオンデマンド価格で課金されます。

### シナリオ 3: 連結アカウントのリージョンリザーブドインスタンス
<a name="ri-usage-ex3"></a>

リザーブドインスタンス は最初に購入アカウント内の使用に適用され、次に組織内の他のアカウントの該当する使用に適用されます。詳細については[リザーブドインスタンス および一括請求 (コンソリデーティッドビリング)](concepts-reserved-instances-application.md#concepts-reserved-instances-billing)を参照してください。サイズの柔軟性を提供するリージョン リザーブドインスタンス の場合、インスタンスファミリー内のインスタンスサイズに関係なく、利点がインスタンスに適用されます。

アカウント A (購入しているアカウント) で以下の オンデマンドインスタンス を実行しているとします。
+ us-east-1a アベイラビリティーゾーンで 2 つのデフォルトテナンシーの `m4.xlarge` Linux インスタンス
+ us-east-1b アベイラビリティーゾーンで 1 つのデフォルトテナンシーの `m4.2xlarge` Linux インスタンス
+ us-east-1a アベイラビリティーゾーンで 2 つのデフォルトテナンシーの `c4.xlarge` Linux インスタンス
+ us-east-1b アベイラビリティーゾーンで 1 つのデフォルトテナンシーの `c4.2xlarge` Linux インスタンス

別のお客様はアカウント B— (連結アカウント) で以下の オンデマンドインスタンス を実行しています。
+ us-east-1a アベイラビリティーゾーンで 2 つのデフォルトテナンシーの `m4.xlarge` Linux インスタンス

アカウント A で以下のリージョン リザーブドインスタンス を購入するとします。
+ us-east-1 リージョンで 4 つのデフォルトテナンシーの `m4.xlarge` Linux リザーブドインスタンス
+ us-east-1 リージョンで 2 つのデフォルトテナンシーの `c4.xlarge` Linux リザーブドインスタンス

リージョンリザーブドインスタンスの利点は以下のように適用されます。
+ 4 つの `m4.xlarge` リザーブドインスタンス の割引はアカウント A の 2 つの `m4.xlarge` インスタンスと 1 つの `m4.2xlarge` インスタンスによって使用されます。3 つのインスタンスすべてにおいて、属性 (インスタンスファミリー、リージョン、プラットフォーム、テナンシー) が一致しています。アカウント B (リンクされたアカウント) に リザーブドインスタンス にも一致する 2 つの `m4.xlarge` がある場合でも、この割引は購入したアカウント (アカウント A) 内のインスタンスにまず適用されます。この リザーブドインスタンス はリージョン リザーブドインスタンス であるため、キャパシティの予約はありません。
+ `c4.xlarge` リザーブドインスタンス インスタンスよりもインスタンスサイズが小さいため、2 つの `c4.xlarge` リザーブドインスタンスの割引は2 つの `c4.2xlarge` インスタンスに適用されます。この リザーブドインスタンス はリージョン リザーブドインスタンス であるため、キャパシティの予約はありません。

### シナリオ 4: 連結アカウントのゾーンリザーブドインスタンス
<a name="ri-usage-ex4"></a>

通常、アカウントで所有されている リザーブドインスタンス が、そのアカウントでの使用に最初に適用されます。ただし、組織の他のアカウントに特定のアベイラビリティーゾーン (ゾーン リザーブドインスタンス) の未使用の リザーブドインスタンス がある場合はこれらがアカウントで所有されているリージョン リザーブドインスタンス より先に適用されます。これはリザーブドインスタンス の使用率を最大限に高めて請求額を下げるための処置です。請求の目的では組織内のすべてのアカウントが 1 つのアカウントとして扱われます。次の例が、この説明に役立つ場合があります。

アカウント A (購入しているアカウント) で以下の オンデマンドインスタンス を実行しているとします。
+ us-east-1a アベイラビリティーゾーンで 1 つのデフォルトテナンシーの `m4.xlarge` Linux インスタンス

お客様は別の連結アカウント B で以下の オンデマンドインスタンス を実行しています。
+ us-east-1b アベイラビリティーゾーンで 1 つのデフォルトテナンシーの `m4.xlarge` Linux インスタンス

アカウント A で以下のリージョン リザーブドインスタンス を購入するとします。
+ us-east-1 リージョンで 1 つのデフォルトテナンシーの `m4.xlarge` Linux リザーブドインスタンス

ユーザーが連結アカウント C で以下のゾーン リザーブドインスタンス も購入するとします。
+ us-east-1a アベイラビリティーゾーンで 1 つのデフォルトテナンシーの `m4.xlarge` Linux リザーブドインスタンス

リザーブドインスタンス の利点は以下のように適用されます。
+ アカウント C で所有されている `m4.xlarge` ゾーン リザーブドインスタンス の割引はアカウント A の `m4.xlarge` の使用に適用されます。
+ アカウント A で所有されている `m4.xlarge` リージョン リザーブドインスタンス の割引はアカウント B の `m4.xlarge` の使用に適用されます。
+ アカウント A で所有されているリージョン リザーブドインスタンス は最初にアカウント A での使用に適用されます。アカウント C で所有されているゾーン リザーブドインスタンス は使用されず、アカウント B での使用はオンデマンド価格で課金されます。

詳細については「AWS Cost and Usage Report」の「[Understanding your reservations](https://docs.aws.amazon.com/cur/latest/userguide/understanding-ri.html)」を参照してください。

**注記**  
ゾーンリザーブドインスタンスは所有アカウントにのみ容量を予約し、他の AWS アカウント と共有することはできません。他の AWS アカウント と容量を共有する必要がある場合は[EC2 オンデマンドキャパシティ予約を使用してコンピューティングキャパシティを予約](ec2-capacity-reservations.md) を使用してください。

# お使いの リザーブドインスタンス の使用
<a name="using-reserved-instances"></a>

リザーブドインスタンス は仕様の一致する実行中の オンデマンドインスタンス に自動的に適用されます。リザーブドインスタンス の仕様と一致する実行中の オンデマンドインスタンス が存在しない場合、必要な仕様が搭載されるインスタンスを起動するまで、リザーブドインスタンス は未使用となります。

リザーブドインスタンスの料金上の利点を利用するためにオンデマンドインスタンスを起動する場合はオンデマンドインスタンスの設定時に以下の情報を指定してください。

**プラットフォーム**  
リザーブドインスタンス のプラットフォーム (製品の説明) と一致するAmazon マシンイメージ (AMI) を指定する必要があります。例えば、`Linux/UNIX` をリザーブドインスタンスに指定する場合、Amazon Linux AMI または Ubuntu AMI からインスタンスを起動できます。

**インスタンスタイプ**  
ゾーンリザーブドインスタンスを購入した場合はリザーブドインスタンスと同じインスタンスタイプを指定する必要があります (例: `t3.large`)。詳細については[ゾーン リザーブドインスタンス がどのように適用されるか](apply_ri.md#apply-zonal-ri)を参照してください。  
リージョンリザーブドインスタンスを購入した場合はリザーブドインスタンスのインスタンスタイプと同じインスタンスファミリーからインスタンスタイプを指定する必要があります。例えば、`t3.xlarge` を指定した場合、リザーブドインスタンスの場合はT3 ファミリーからインスタンスを起動する必要がありますが、任意のサイズ (例: `t3.medium`) を指定できます。詳細については[リージョンリザーブドインスタンスがどのように適用されるか](apply_ri.md#apply-regional-ri)を参照してください。

**アベイラビリティーゾーン**  
特定のアベイラビリティーゾーンにゾーンごとの リザーブドインスタンス を購入する場合、同じアベイラビリティーゾーンでインスタンスを起動する必要があります。  
リージョン リザーブドインスタンスを購入した場合、リザーブドインスタンスに指定したリージョンの任意のアベイラビリティーゾーンにインスタンスを起動することができます。

**テナンシー**  
インスタンスのテナンシー (`dedicated` や `shared`) はリザーブドインスタンス のテナンシーが一致する必要があります。詳細については[Amazon EC2 ハードウェア専有インスタンス](dedicated-instance.md)を参照してください。

実行しているオンデマンドインスタンスにどのようにリザーブドインスタンスが適用されるかについての例は[リザーブドインスタンスの割引はどのように適用されるか](apply_ri.md)を参照してください。詳細については[Amazon EC2 リザーブドインスタンスが想定通りに AWS 請求書に反映されないのはなぜですか？](https://repost.aws/knowledge-center/reserved-instance-applying-why)を参照してください。

リザーブドインスタンス割引を使用するオンデマンドインスタンスを起動するにはさまざまな方法を使用できます。様々な起動方法の詳細については[Amazon EC2 インスタンスの起動](LaunchingAndUsingInstances.md)を参照してください。Amazon EC2 Auto Scaling を使用してインスタンスを起動できます。詳細については[Amazon EC2 Auto Scaling ユーザーガイド](https://docs.aws.amazon.com/autoscaling/ec2/userguide/)を参照してください。

# リザーブドインスタンスの課金の仕組み
<a name="concepts-reserved-instances-application"></a>

すべての リザーブドインスタンス の料金はオンデマンドインスタンスの料金から割引された額になります。リザーブドインスタンス では実際の使用に関係なく、全期間の料金をお支払いいただきます。リザーブドインスタンス に特定された[支払いオプション](ec2-reserved-instances.md#ri-payment-options)によって、リザーブドインスタンス の支払い方法を前払い、一部前払い、月ごとから選択できます。

リザーブドインスタンス 期間が終了すると、EC2 インスタンスの使用についてオンデマンド価格が課金されます。リザーブドインスタンス の購入を最大 3 年先までキューに入れることができます。これにより、サービスを切れ目なく利用できます。詳細については「[購入をキューに入れる](ri-market-concepts-buying.md#ri-queued-purchase)」を参照してください。

AWS 無料利用枠 は新しい AWS アカウント でご利用いただけます。AWS 無料利用枠 を使用して Amazon EC2 インスタンスを実行している場合、購入したリザーブドインスタンスは標準の料金で課金されます。詳細については[AWS 無料利用枠](https://aws.amazon.com/free/) を参照してください。

**Topics**
+ [

## 使用料の請求
](#hourly-billing)
+ [

## 請求の表示
](#ri-market-buyer-billing)
+ [

## リザーブドインスタンス および一括請求 (コンソリデーティッドビリング)
](#concepts-reserved-instances-billing)
+ [

## リザーブドインスタンス 割引料金範囲
](#reserved-instances-discounts)

## 使用料の請求
<a name="hourly-billing"></a>

リザーブドインスタンス は選択した期間内の 1 時間ごとに請求されます。インスタンスが実行中であるかどうかは関係しません。各時間は標準の 24 時間の時計の正時 (毎時ゼロ分ゼロ秒) に開始します。例えば、1:00:00～1:59:59 が 1 時間です。インスタンスステータスの詳細については[Amazon EC2 インスタンスの状態変更](ec2-instance-lifecycle.md)を参照してください。

リザーブドインスタンス の料金上の特典は秒単位課金で実行中のインスタンスに適用されます。秒単位の請求はオープンソースの Linux ディストリビューション (Amazon Linux、Ubuntu など) を使用するインスタンスで使用できます。時間単位の請求はLinux の商用ディストリビューション (Red Hat Enterprise Linux、SUSE Linux Enterprise Server など) で使用できます。

リザーブドインスタンス の料金上の利点は1 時間当たり最大 3600 秒 (1 時間) のインスタンス使用に適用できます。複数のインスタンスを同時に実行できますが、リザーブドインスタンス 割引の特典を受けることができるのは 1 時間あたり合計 3600 秒までです。インスタンスの使用が 1 時間あたり 3600 秒を超えると、オンデマンドレートで課金されます。

例えば、1 つの `m4.xlarge` リザーブドインスタンス を購入し、4 つの `m4.xlarge` インスタンスを 1 時間同時に実行する場合、1 つのインスタンスには リザーブドインスタンス の 1 時間分の使用料が、他の 3 つのインスタンスにはオンデマンドの 3 時間分の使用料が課金されます。

一方、1 つの `m4.xlarge` リザーブドインスタンス を購入し、4 つの `m4.xlarge` インスタンスを同じ 1 時間内にそれぞれ 15 分 (900 秒) ずつ実行した場合、インスタンスの合計実行時間は 1 時間となり、リザーブドインスタンス の使用料が 1 時間分課金されるだけで、オンデマンドの使用料は課金されません。

![\[同じ時間内に 4 つの m4.xlarge インスタンスがそれぞれ 15 分間稼働しています。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ri-per-second-billing.png)


複数の対象インスタンスが同時に実行されている場合、リザーブドインスタンスの課金特典は1 時間に最大 3600 秒まで、すべてのインスタンスに同時に適用され、その後、オンデマンド料金が適用されます。

![\[複数のインスタンスが同時に実行され、リザーブドインスタンスの料金が請求されます。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ri-per-second-billing-concurrent.png)


[Billing and Cost Management](https://console.aws.amazon.com/billing) コンソール上の [**Cost Explorer**] はオンデマンドインスタンス の実行に対する節約を分析することができます。[リザーブドインスタンス についてのよくある質問](https://aws.amazon.com/ec2/faqs/#reserved-instances)には表示価格の計算例があります。

AWS アカウントを解約すると、リソースのオンデマンド課金は停止します。ただし、アカウントに リザーブドインスタンス がある場合にはその期限が切れるまで続けて課金されます。

## 請求の表示
<a name="ri-market-buyer-billing"></a>

[AWS Billing and Cost Management](https://console.aws.amazon.com/billing) コンソールで、アカウントへの請求および料金を確認できます。
+ [**ダッシュボード**] にはアカウント利用料の概要が表示されます。
+ [**請求書**] ページの [**明細**] で、[**Elastic Compute Cloud**] セクションと リザーブドインスタンス の請求情報を取得するリージョンを展開します。

請求額をオンラインで表示することも、CSV ファイルとしてダウンロードすることもできます。

また、AWS のコストと使用状況レポートを使用して、リザーブドインスタンスの使用を追跡することも可能です。詳細については[の Understanding your reservations](https://docs.aws.amazon.com/cur/latest/userguide/understanding-ri.html).を参照してください。

## リザーブドインスタンス および一括請求 (コンソリデーティッドビリング)
<a name="concepts-reserved-instances-billing"></a>

購入アカウントが、1 つの一括請求の支払いアカウントに請求される一連のアカウントの一部である場合、リザーブドインスタンス の料金面でのメリットを広範囲に利用できます。すべてのメンバーアカウントのインスタンス使用量が月次で支払人アカウントに集約されます。さまざまな役割を持つチームやグループがある企業にとっては特に便利です。したがって、請求書の計算には通常の リザーブドインスタンス のロジックが適用されます。詳細については[AWS Organizations の一括請求](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/consolidated-billing.html)を参照してください。

リザーブドインスタンス を購入したアカウントを解約した場合、そのリザーブドインスタンス が期限切れになるまで、支払いアカウントに対する請求が継続されます。アカウントは解約から 90 日後に完全に削除され、メンバーアカウントにはリザーブドインスタンスによる割引料金が適用されなくなります。

**注記**  
ゾーンリザーブドインスタンスは所有アカウントにのみ容量を予約し、他の AWS アカウント と共有することはできません。他の AWS アカウント と容量を共有する必要がある場合は[EC2 オンデマンドキャパシティ予約を使用してコンピューティングキャパシティを予約](ec2-capacity-reservations.md) を使用してください。

## リザーブドインスタンス 割引料金範囲
<a name="reserved-instances-discounts"></a>

割引料金範囲が適用されると、そのアカウントは以降、その範囲レベル内で行われる リザーブドインスタンス 購入の前払い料金およびインスタンス使用料に対して、自動的に割引を受けます。割引を受けるためにはリージョンの リザーブドインスタンス の表示価格が 500,000 USD 以上である必要があります。

以下のルールが適用されます。
+ 料金範囲およびそれに関連する割引はAmazon EC2 スタンダード リザーブドインスタンス の購入にのみ適用されます。
+ 料金範囲はSQL Server Standard、SQL Server Web、および SQL Server Enterprise を使用する Windows 用の リザーブドインスタンス には適用されません。
+ 料金階層は、SQL Server を使用する Linux のリザーブドインスタンスには適用されません。
+ 料金範囲の割引はAWS での購入にのみ適用されます。これはサードパーティーの リザーブドインスタンス の購入には適用されません。
+ 料金範囲割引は現在、コンバーティブルリザーブドインスタンス の購入には適用されません。

**Topics**
+ [

### リザーブドインスタンス 料金割引の計算
](#pricing-discounts)
+ [

### 割引範囲での購入
](#buying-discount-tier)
+ [

### 購入料金範囲
](#crossing-pricing-tiers)
+ [

### 料金範囲の一括請求
](#consolidating-billing)

### リザーブドインスタンス 料金割引の計算
<a name="pricing-discounts"></a>

リージョンのすべての リザーブドインスタンス の合計表示価格を計算することによって、アカウントの料金範囲を決定できます。各予約の時間当たりの定期料金を期間の合計時間数に掛けて、購入時の割引されていない前払い料金 (固定料金とも呼ばれる) を加算します。表示価格は割引前料金 (一般料金) に基づいているため、従量制割引の適用を受けた場合または リザーブドインスタンス を購入した後の値下げ分は反映されません。

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

例えば、1 年間の一部前払い `t2.small` リザーブドインスタンス の場合、前払い料金は 60.00 ドル、時間料金は 0.007 ドルと仮定します。これにより、表示価格は 121.32 ドルとなります。

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

**Amazon EC2 コンソールを使用して リザーブドインスタンス の固定料金を表示するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Reserved Instances**] を選択してください。

1. **[前払い料金]** 列を表示するには右上にある設定 (![\[Settings icon.\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/settings-icon.png)) をクリックし、**[前払い料金]** をオンにして **[確認]** をクリックしてください。

**リザーブドインスタンス の固定料金をコマンドラインを使用して表示するには**
+ [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) (AWS CLI)
+  [Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) (AWS Tools for Windows PowerShell)

### 割引範囲での購入
<a name="buying-discount-tier"></a>

リザーブドインスタンス を購入すると、割引料金範囲に該当する部分のリザーブドインスタンスに対応する割引があれば、Amazon EC2 によって自動的に適用されます。特に何かを行う必要はなく、どの Amazon EC2 ツールを使用しても リザーブドインスタンス を購入できます。詳細については[Amazon EC2 のリザーブドインスタンスを購入する](ri-market-concepts-buying.md)を参照してください。

リージョンでのアクティブな リザーブドインスタンス の表示価格が割引料金範囲に該当した場合、そのリージョンでの リザーブドインスタンス は以降、すべての購入が割引料金で課金されます。リージョンの リザーブドインスタンス の 1 回の購入でしきい値を超える場合はそのご購入分のうち、割引範囲のしきい値を超える部分が割引になります。購入プロセス中に作成された一時的な リザーブドインスタンス ID の詳細については[購入料金範囲](#crossing-pricing-tiers)を参照してください。

表示価格が割引範囲の金額を下回った場合は (一部の リザーブドインスタンス の有効期限が切れた場合など)、以降、そのリージョンで購入される リザーブドインスタンス には割引が適用されません。ただし、もともと割引料金範囲で購入された リザーブドインスタンス に対しては引き続き割引が適用されます。

リザーブドインスタンス を購入すると、次の 4 つのいずれかの状況になります。
+ **割引なし** — 1 つのリージョンでのリザーブドインスタンスの購入が、まだ割引しきい値より下である。
+ **一部割引** — 1 つのリージョンでのリザーブドインスタンスの購入により、最初の割引範囲のしきい値を超える。割引なしが 1 つ以上の予約に適用され、割引料金が残りの予約に適用されます。
+ **完全割引** — リージョン内の購入全体が 1 つの割引範囲に完全に含まれ、適切に割引されます。
+ **2 つの割引料金** — 1 つのリージョンでのリザーブドインスタンスの購入が、下の割引範囲から上の割引範囲まで及ぶ。2 つの異なる料金が課金されます。1 つ以上の予約により低い割引率が適用され、残りの予約により高い割引率が適用されます。

### 購入料金範囲
<a name="crossing-pricing-tiers"></a>

割引料金範囲に到達した場合、その購入に対して複数のエントリが表示されます。通常の料金が課金される部分と、割引料金が適用されて課金される部分です。

リザーブドインスタンス サービスによって複数の リザーブドインスタンス ID が生成されます。これは割引が適用されない範囲と割引範囲、または複数の割引範囲に購入がまたがるためです。範囲内の予約のセットにはそれぞれ ID があります。この結果、購入 CLI コマンドまたは API アクションによって返される ID は新しい リザーブドインスタンス の実際の ID とは異なるものになります。

### 料金範囲の一括請求
<a name="consolidating-billing"></a>

一括請求アカウントはリージョン内のメンバーアカウントの表示価格を集計します。一括請求アカウントのすべてのアクティブな リザーブドインスタンス の表示価格が割引料金範囲に達すると、以降 (その一括請求アカウントの表示価格が割引価格範囲のしきい値を超えている限り)、一括請求アカウント内のアカウントで購入された リザーブドインスタンス には割引が適用されます。詳細については「[リザーブドインスタンス および一括請求 (コンソリデーティッドビリング)](#concepts-reserved-instances-billing)」を参照してください。

# Amazon EC2 のリザーブドインスタンスを購入する
<a name="ri-market-concepts-buying"></a>

Amazon EC2 のリザーブドインスタンスを購入するにはAmazon EC2 コンソール、コマンドラインツール、SDK を使用して、AWS とサードパーティー販売者からのリザーブドインスタンス製品を検索できます。その際、希望するものと完全に一致するものが見つかるまで、検索パラメータを調整してください。

購入する リザーブドインスタンス を検索する際、提供タイプの費用の見積もりが表示されます。購入手続きに進むと、AWS は自動的に購入価格に上限価格を指定します。リザーブドインスタンス の合計コストが、指定した金額を超えることはありません。

何らかの理由により料金が上がったり変更された場合、購入は完了しません。サードパーティー販売者のリザーブドインスタンスを Amazon EC2 リザーブドインスタンスマーケットプレイスから購入する際に、自分が選択したものと類似しているが前払い料金がより安い製品が存在する場合、AWS はその製品をその安い前払い料金で販売します。

購入を承認する前に、購入を検討している リザーブドインスタンス の詳細を点検して、すべてのパラメータが正しいことを確認してください。リザーブドインスタンス を購入した後は (販売者が Reserved Instance Marketplace のサードパーティーであっても、AWS であったとしても) その購入をキャンセルすることはできません。将来の日付での購入をキューに入れることができ、スケジュールされた時間の前であればキューに入れた購入をキャンセルすることができます。

購入後のリザーブドインスタンスを修正するにはユーザーに、アベイラビリティーゾーンを記述する機能などの適切な許可が付与されていることを確認します。詳細については「[例: リザーブドインスタンス の操作](ExamplePolicies_EC2.md#iam-example-reservedinstances)」(API) または「[例: リザーブドインスタンス の操作](iam-policies-ec2-console.md#ex-reservedinstances)」(コンソール) を参照してください。

**Topics**
+ [

## プラットフォームの選択
](#ri-choosing-platform)
+ [

## 購入をキューに入れる
](#ri-queued-purchase)
+ [

## スタンダード リザーブドインスタンス の購入
](#ri-buying-standard)
+ [

## コンバーティブルリザーブドインスタンス の購入
](#ri-buying-convertible)
+ [

## Reserved Instance Marketplace からの購入
](#ri-market-buying-guide)
+ [

## キューに入れた購入のキャンセル
](#cancel-queued-purchase)
+ [

## リザーブドインスタンス の更新
](#renew-ri)

## プラットフォームの選択
<a name="ri-choosing-platform"></a>

Amazon EC2 はリザーブドインスタンスで次のプラットフォームをサポートしています。
+ Linux/UNIX
+ Linux with SQL Server Standard
+ Linux with SQL Server Web
+ Linux with SQL Server Enterprise
+ SUSE Linux
+ Red Hat Enterprise Linux
+ Red Hat Enterprise Linux with HA
+ Windows
+ Windows with SQL Server Standard
+ Windows with SQL Server Web
+ Windows with SQL Server Enterprise

**考慮事項**
+ **Red Hat Enterprise Linux**、**SUSE Linux**、または **Ubuntu Pro** の既存のサブスクリプション (BYOS) を持ち込む場合は、**Linux/Unix** プラットフォーム用のサービスを選択する必要があります。
+ リザーブドインスタンスは、**macOS** または Ubuntu Pro (EC2 サブスクリプションを含む、つまり BYOS ではない) を実行しているインスタンスではサポートされていません。オンデマンドインスタンスの料金で節約するには、macOS および Ubuntu Pro (EC2 サブスクリプションを含む) インスタンスと Savings Plans の併用をお勧めします。詳細については、「[Savings Plans ユーザーガイド](https://docs.aws.amazon.com/savingsplans/latest/userguide/what-is-savings-plans.html)」を参照してください。

インスタンスが特定のリザーブドインスタンスで実行されるようにするには、リザーブドインスタンスのプラットフォームが、インスタンスの起動に使用される AMI のプラットフォームと一致している必要があります。Linux AMI の場合は、AMI プラットフォームが一般値の **[Linux/UNIX]** を使用しているか、**[SUSE Linux]** などのより具体的な値を使用しているかを確認することが重要です。

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

**AMI プラットフォームを確認するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**AMI**] を選択してください。

1. AMI を選択します。

1. **[詳細]** タブで、**[プラットフォームの詳細]** の値をメモします。

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

**AMI プラットフォームを確認するには**  
[describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) コマンドを使用して `PlatformDetails` の値を確認します。

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

以下は出力の例です。

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

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

**AMI プラットフォームを確認するには**  
[Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) コマンドレットを使用して、`PlatformDetails` の値を確認します。

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

以下は出力の例です。

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

------

## 購入をキューに入れる
<a name="ri-queued-purchase"></a>

デフォルトではリザーブドインスタンス を購入すると、すぐに購入が行われます。別の方法として、将来の日時の購入予約をキューに入れることができます。例えば、既存の リザーブドインスタンス が期限切れになる頃の購入予約をキューに入れることができます。これにより、サービスを切れ目なく利用できます。

リザーブドインスタンス の購入予約をキューに入れる場合、リージョンは指定できますが、ゾーンを指定した リザーブドインスタンス の購入予約や、他の販売者からの リザーブドインスタンス の購入予約を行うことはできません。購入予約は 3 年先までキューに入れることができます。予約した日時に、デフォルトの支払い方法を使用して購入が実行されます。支払いが正常に行われると、支払い特典が適用されます。

Amazon EC2 コンソールでキューに入れた購入の日付を設定でき、その購入はこの日付の 00:00 UTC までキューに入った状態になります。キューに入っている購入に対して別の時間を指定するにはAWS SDK またはコマンドラインツールを使用します。

キューに入れた購入予約は Amazon EC2 コンソールで確認できます。キューに入れた購入予約のステータスは [**queued**] になります。キューに入れた購入予約は予約日の前にいつでもキャンセルできます。詳細については[キューに入れた購入のキャンセル](#cancel-queued-purchase)を参照してください。

## スタンダード リザーブドインスタンス の購入
<a name="ri-buying-standard"></a>

スタンダード リザーブドインスタンス を特定のアベイラビリティーゾーンで購入し、キャパシティーの予約ができます。またはキャパシティの予約を見送り、リージョンのスタンダード リザーブドインスタンス を購入することもできます。

購入の完了後、リザーブドインスタンス の仕様と一致するインスタンスをすでに実行している場合は支払い特典が即座に適用されます。インスタンスを再起動する必要はありません。適切な実行中のインスタンスが存在しない場合、インスタンスを起動して、リザーブドインスタンスに指定した条件と正確に一致していることを確認します。詳細については、「[お使いの リザーブドインスタンス の使用](using-reserved-instances.md)」を参照してください。

実行しているインスタンスにどのように リザーブドインスタンス が適用されるかについての例は[リザーブドインスタンスの割引はどのように適用されるか](apply_ri.md)を参照してください。

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

**スタンダードリザーブドインスタンスを購入するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**リザーブドインスタンス]** を選択し、[**リザーブドインスタンス の購入**] を選択してください。

1. [**提供クラス**] で [**標準**] を選択し、標準 リザーブドインスタンス を表示します。

1. キャパシティーの予約を購入するには購入画面の右上で、 [**キャパシティ予約のある提供タイプのみ表示**] をオンにします。この設定をオンにすると、**[アベイラビリティーゾーン]** フィールドが表示されます。

   リージョンの リザーブドインスタンス を購入するにはこの設定をオフにします。この設定をオフにすると、**[アベイラビリティーゾーン]** フィールドが消えます。

1. 必要に応じて他の設定を選択してから、[**検索**] をクリックしてください。

1. 購入する リザーブドインスタンス ごとに、希望する数量を入力して、[**カートに入れる**] を選択してください。

   Reserved Instance Marketplace からスタンダードリザーブドインスタンスを購入するには検索結果の [**販売者**] 列から、[**サードパーティ**] を見つけます。[**期間**] 列には標準以外の期間が表示されます。詳細については[Reserved Instance Marketplace からの購入](#ri-market-buying-guide)を参照してください。

1. 選択した リザーブドインスタンス の概要を確認するには[**カートを見る**] を選択してください。

1. [**注文日**] が [ **Now (今すぐ注文)**] になっている場合は[**すべて注文**] をクリックすれば即時購入が完了します。購入予約をキューに入れるには[**Now**] を選択して日付を選択してください。カート内の有効なサービスごとに別の日付を選択できます。購入は選択した日付の 00:00 UTC までキューに入れられます。

1. 注文を確定するには[**すべて注文**] をクリックしてください。

   注文時に、選択したインスタンスと同等でより安価なインスタンスがある場合、AWS はより安価なインスタンスを販売します。

1. [**閉じる**] を選択してください。

   注文のステータスは [**State**] 列に表示されます。注文が確定されると、[**State**] の値が [`Payment-pending`] から [`Active`] に変わります。リザーブドインスタンス が `Active` となっていれば、使用準備が完了しています｡

   ステータスが `Retired` になると、AWS は支払いを受領していない場合があります。

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

**スタンダードリザーブドインスタンス を購入するには**

1. [describe-reserved-instances-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-offerings.html) コマンドを使用して、利用できる リザーブドインスタンス を見つけます。スタンダードリザーブドインスタンスのみを返すには `standard` を `--offering-class` オプションに指定します。追加の条件を適用して、結果を絞り込むことができます。例えば、`Linux/UNIX` のデフォルトテナンシーのリージョナル `t2.large` リザーブドインスタンスを 1 年間の期間だけで購入するには、次のコマンドを使用します。

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

   Reserved Instance Marketplace からのみの リザーブドインスタンス を探すには`marketplace` フィルターを使用します。期間が 1 年間 あるいは 3 年間より短い場合があるため、リクエストに期間は指定しません。

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

   ニーズに合う リザーブドインスタンス が見つかったら、提供 ID を書き留めます。次に例を示します。

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

1. [purchase-reserved-instances-offering](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-reserved-instances-offering.html) コマンドを使用して、リザーブドインスタンス を購入します。前のステップで取得した リザーブドインスタンス 提供 ID を指定し、予約するインスタンスの数を指定する必要があります。

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

   デフォルトでは購入は即座に実行されます。別の方法として、購入予約をキューに入れるには次のオプションを前の呼び出しに追加します。

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

1. [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) コマンドを使用して、購入したリザーブドインスタンスのステータスを確認します。

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

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

**スタンダードリザーブドインスタンス を購入するには**

1. [Get-EC2ReservedInstancesOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesOffering.html) コマンドレットを使用して、使用可能なリザーブドインスタンスを見つけます。スタンダード リザーブドインスタンス のみを返すには`standard` を `-OfferingClass` パラメータに指定します。追加の条件を適用して、結果を絞り込むことができます。例えば、`Linux/UNIX` のデフォルトテナンシーのリージョナル `t2.large` リザーブドインスタンスを 1 年間の期間だけで購入するには、次のコマンドを使用します。

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

   Reserved Instance Marketplace からのみの リザーブドインスタンス を探すには`marketplace` フィルターを使用します。期間が 1 年間 あるいは 3 年間より短い場合があるため、リクエストに期間は指定しません。

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

   ニーズに合う リザーブドインスタンス が見つかったら、提供 ID を書き留めます。例えば、次のようになります。

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

1. [New-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ReservedInstance.html) コマンドレットを使用して、リザーブドインスタンスを購入します。前のステップで取得した リザーブドインスタンス 提供 ID を指定し、予約するインスタンスの数を指定する必要があります。

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

   デフォルトでは購入は即座に実行されます。別の方法として、購入予約をキューに入れるには次のパラメータを前の呼び出しに追加します。

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

1. [Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) コマンドレットを使用して、リザーブドインスタンスのステータスを取得します。

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

------

## コンバーティブルリザーブドインスタンス の購入
<a name="ri-buying-convertible"></a>

コンバーティブルリザーブドインスタンス を特定のアベイラビリティーゾーンで購入し、キャパシティーの予約ができます。またはキャパシティの予約を見送り、リージョン コンバーティブルリザーブドインスタンス を購入することもできます。

リザーブドインスタンス の仕様と一致するインスタンスをすでに実行している場合、料金上の利点は即時適用されます。インスタンスを再起動する必要はありません。適切な実行中のインスタンスが存在しない場合、インスタンスを起動して、リザーブドインスタンス に指定した条件と一致していることを確認します。詳細については[お使いの リザーブドインスタンス の使用](using-reserved-instances.md)を参照してください。

実行しているインスタンスにどのように リザーブドインスタンス が適用されるかについての例は[リザーブドインスタンスの割引はどのように適用されるか](apply_ri.md)を参照してください。

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

**コンバーティブルリザーブドインスタンスを購入するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**リザーブドインスタンス**] を選択し、[**リザーブドインスタンス の購入**] を選択してください。

1. [**提供クラス**] で [**コンバーティブル**] を選択し、コンバーティブルリザーブドインスタンス を表示します。

1. キャパシティーの予約を購入するには購入画面の右上で、 [**キャパシティ予約のある提供タイプのみ表示**] をオンにします。この設定をオンにすると、**[アベイラビリティーゾーン]** フィールドが表示されます。

   リージョンの リザーブドインスタンス を購入するにはこの設定をオフにします。この設定をオフにすると、**[アベイラビリティーゾーン]** フィールドが消えます。

1. 必要に応じて他の設定を選択してから、[**Search**] を選択してください。

1. 購入する コンバーティブルリザーブドインスタンス ごとに数量を入力して、[**カートに入れる**] を選択してください。

1. 選択内容の概要を表示するには[**カートを見る**] を選択してください。

1. [**注文日**] が [ **Now (今すぐ注文)**] になっている場合は[**すべて注文**] をクリックすれば即時購入が完了します。購入予約をキューに入れるには[**Now**] を選択して日付を選択してください。カート内の有効なサービスごとに別の日付を選択できます。購入は選択した日付の 00:00 UTC までキューに入れられます。

1. 注文を確定するには[**すべて注文**] をクリックしてください。

   注文時に、選択したインスタンスと同等でより安価なインスタンスがある場合、AWS はより安価なインスタンスを販売します。

1. [**閉じる**] を選択してください。

   注文のステータスは [**State**] 列に表示されます。注文が確定されると、[**State**] の値が [`Payment-pending`] から [`Active`] に変わります。リザーブドインスタンス が `Active` となっていれば、使用準備が完了しています｡

   ステータスが `Retired` になると、AWS は支払いを受領していない場合があります。

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

**コンバーティブルリザーブドインスタンスを購入するには**

1. [describe-reserved-instances-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-offerings.html) コマンドを使用して、利用できる リザーブドインスタンス を見つけます。コンバーティブルリザーブドインスタンスだけを返すには `convertible` を `--offering-class` オプションに指定します。追加の条件を適用して、結果を絞り込むことができます。例えば、`Linux/UNIX` のデフォルトテナンシーのリージョナル `t2.large` リザーブドインスタンスを購入するには、次のコマンドを使用します。

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

   ニーズに合う リザーブドインスタンス が見つかったら、提供 ID を書き留めます。次に例を示します。

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

1. [purchase-reserved-instances-offering](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-reserved-instances-offering.html) コマンドを使用して、リザーブドインスタンス を購入します。前のステップで取得した リザーブドインスタンス 提供 ID を指定し、予約するインスタンスの数を指定する必要があります。

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

   デフォルトでは購入は即座に実行されます。別の方法として、購入予約をキューに入れるには次のオプションを前の呼び出しに追加します。

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

1. [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) コマンドを使用して、購入したリザーブドインスタンスのステータスを確認します。

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

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

**コンバーティブルリザーブドインスタンスを購入するには**

1. [Get-EC2ReservedInstancesOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesOffering.html) コマンドレットを使用して、使用可能なリザーブドインスタンスを見つけます。コンバーティブルリザーブドインスタンス だけを返すには`convertible` を `-OfferingClass` パラメータに指定します。追加の条件を適用して、結果を絞り込むことができます。例えば、`Linux/UNIX` のデフォルトテナンシーのリージョナル `t2.large` リザーブドインスタンスを購入するには、次のコマンドを使用します。

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

   ニーズに合う リザーブドインスタンス が見つかったら、提供 ID を書き留めます。例えば、次のようになります。

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

1. [New-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ReservedInstance.html) コマンドレットを使用して、リザーブドインスタンスを購入します。前のステップで取得したリザーブドインスタンス提供 ID を指定し、予約するインスタンスの数を指定する必要があります。

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

   デフォルトでは購入は即座に実行されます。別の方法として、購入予約をキューに入れるには次のパラメータを前の呼び出しに追加します。

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

1. [Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) コマンドレットを使用して、リザーブドインスタンスのステータスを取得します。

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

------

## Reserved Instance Marketplace からの購入
<a name="ri-market-buying-guide"></a>

Reserved Instance Marketplace から、サードパーティーの販売者が所有しており、必要がなくなったリザーブドインスタンスを購入できます。これを行うにはAmazon EC2 コンソールまたはコマンドラインツールを使用します。このプロセスはAWS から リザーブドインスタンス を購入する場合と似ています。詳細については[スタンダード リザーブドインスタンス の購入](#ri-buying-standard)を参照してください。

Reserved Instance Marketplace で購入したリザーブドインスタンスと、AWS から直接購入したリザーブドインスタンスとの間には以下のような違いがあります。
+ **期間** – サードパーティー販売者から購入した リザーブドインスタンス は残り期間が完全な標準期間よりも短くなります。AWS の完全な標準期間は 1 年または 3 年間です。
+ **前払い料金** – サードパーティーの リザーブドインスタンス はさまざまな前払い料金で販売されます。使用に対して、または定期的に支払う料金はリザーブドインスタンスを最初に AWS から購入した際に設定された料金と同じ金額です。
+ **リザーブドインスタンスのタイプ** – Reserved Instance Marketplace から購入できるのはAmazon EC2 スタンダードリザーブドインスタンスのみです。コンバーティブルリザーブドインスタンス、Amazon RDS、および Amazon ElastiCache のリザーブドインスタンスはReserved Instance Marketplace では購入できません。

お客様に関する基本情報 (郵便番号や国情報など) は販売者と共有されます。

この情報を使用して、販売者は国に支払う必要な取引税 (売上税や付加価値税など) を計算し、支払いレポートとして提示します。まれに、AWS が販売者に E メールアドレスを提供する必要がある場合があります。これは販売者が、販売に関する質問があり、それに関して連絡できるようにするためです (例えば税務上の質問など)。

同様の理由で、AWS は購入者の請求書に販売者の正式名を記載します。税金または関連する理由で販売者の情報が必要な場合は[サポート](https://aws.amazon.com/contact-us/) までお問い合わせください。

## キューに入れた購入のキャンセル
<a name="cancel-queued-purchase"></a>

購入予約は 3 年先までキューに入れることができます。キューに入れた購入予約は予約日の前にいつでもキャンセルできます。

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

**キューに入れた購入をキャンセルするには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Reserved Instances**] を選択してください。

1. 1 つまたは複数の リザーブドインスタンス を選択してください。

1. [**アクション**]、[**キュー入りリザーブドインスタンスの削除**] の順にクリックしてください。

1. 確認を求められたら、[**削除**] をクリックし、次に [**閉じる**] をクリックします。

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

**キューに入れた購入をキャンセルするには**  
[delete-queued-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-queued-reserved-instances.html) コマンドを使用します。

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

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

**キューに入れた購入をキャンセルするには**  
[Remove-EC2QueuedReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2QueuedReservedInstance.html) コマンドレットを使用します。

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

------

## リザーブドインスタンス の更新
<a name="renew-ri"></a>

リザーブドインスタンス は有効期限が切れる前に更新できます。リザーブドインスタンス を更新すると、現在の リザーブドインスタンス が期限切れになるまで、同じ設定の リザーブドインスタンス の購入予約がキューに入れられます。

Amazon EC2 コンソールを使用してリザーブドインスタンスを更新する必要があります。

**キューに入れた購入予約を使用してリザーブドインスタンスを更新するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Reserved Instances**] を選択してください。

1. 更新するリザーブドインスタンスを選択してください。

1. [**Actions (アクション)**]、[**Renew Reserved Instances (リザーブドインスタンスの更新)**] の順に選択してください。

1. 注文を確定するには[**すべて注文**]、[**閉じる**] の順にクリックしてください。

# リザーブドインスタンスマーケットプレイスで Amazon EC2 のリザーブドインスタンスを販売する
<a name="ri-market-general"></a>

Amazon EC2 リザーブドインスタンスマーケットプレイスはAWS のお客様およびサードパーティー販売者が使用していないスタンダードリザーブドインスタンスを簡単に販売できるようにするプラットフォームです。これらのリザーブドインスタンスは契約期間と料金オプションが異なる場合があります。インスタンスを新しい AWS リージョンに移動する場合、別のインスタンスタイプに変更する場合、リザーブドインスタンスの契約期間が終了する前にプロジェクトが終了する場合、ビジネスニーズが変化した場合、容量が余った場合など、不要になったリザーブドインスタンスを販売することをお勧めします。

リザーブドインスタンスはReserved Instance Marketplace への出品直後から、購入希望者に表示されます。すべての リザーブドインスタンス は残り期間や時間料金別にグループ化されます。

サードパーティー販売者のリザーブドインスタンスを、リザーブドインスタンスマーケットプレイスから購入したいという購入者のリクエストに応えるため、AWS では指定されたグループ内で前払い料金が最も安いリザーブドインスタンスを最初に販売します。次に AWS は購入者の注文全体が満たされるまで、料金が低い順にリザーブドインスタンスを販売します。AWS はその後、トランザクションを処理しリザーブドインスタンスの所有権を購入者に移転します。

出品した リザーブドインスタンス は売れるまでお客様の所有です。販売後は予約済みのキャパシティーと割引使用料金は使用できません。インスタンスの使用が継続している間、AWS はリザーブドインスタンスが販売された時間から起算したオンデマンド料金を課金します。

Reserved Instance Marketplace で、使用していないリザーブドインスタンスを販売するには特定の要件基準を満たしている必要があります。

Reserved Instance Marketplace でのリザーブドインスタンスの購入の詳細については[Reserved Instance Marketplace からの購入](ri-market-concepts-buying.md#ri-market-buying-guide)を参照してください。

**Topics**
+ [

## 制約と制限
](#ri-seller-limits)
+ [

## 販売者として登録する
](#ri-market-seller-profile)
+ [

## 支払い用の銀行口座
](#ri-market-concepts-bank)
+ [

## 税金情報
](#ri-market-concepts-taxinfo)
+ [

## リザーブドインスタンス 料金設定
](#ri-market-concepts-pricing)
+ [

## リザーブドインスタンス のリスト
](#ri-market-selling-listing)
+ [

## リザーブドインスタンス の出品状態
](#ri-listing-states)
+ [

## 出品のライフサイクル
](#ri-market-concepts-sold-partial)
+ [

## リザーブドインスタンス が売却された後
](#ri-market-concepts-sold)
+ [

## 支払いを受け取る
](#ri-market-sold-gettingpaid)
+ [

## 購入者と共有する情報
](#ri-market-seller-disclosure)

## 制約と制限
<a name="ri-seller-limits"></a>

使用していないリザーブドインスタンスを販売できるようになる前に、Reserved Instance Marketplace に、自分を販売者として登録する必要があります。詳細については[販売者として登録する](#ri-market-seller-profile) を参照してください。

リザーブドインスタンス の販売時に次の制約と制限が適用されます:
+ Reserved Instance Marketplace で販売可能なのはAmazon EC2 スタンダードのリージョンとゾーンのリザーブドインスタンスのみです。
+ Amazon EC2 コンバーティブルリザーブドインスタンスはリザーブドインスタンスマーケットプレイスでは販売できません。
+ 他の AWS サービス (Amazon RDS や Amazon ElastiCache など) 向けのリザーブドインスタンスはReserved Instance Marketplace では販売できません。
+ スタンダード リザーブドインスタンス の有効期間が 1 か月以上残っている必要があります。
+ スタンダードリザーブドインスタンスは[デフォルトで無効](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)になっているリージョンでは販売することができません。
+ Reserved Instance Marketplace で許容される最低販売価格は0.00 USD です。
+ 前払いなし、一部前払い、または全額前払いのリザーブドインスタンスはアカウント内で 30 日間以上アクティブになっている限り、リザーブドインスタンス Marketplace で販売できます。さらに、リザーブドインスタンスに前払いがある場合はAWS が前払い料金を受領した後にのみ販売できます。
+ ボリューム割引を使用して購入したリザーブドインスタンスを、リザーブドインスタンスマーケットプレイスで販売することはできません。
+ Reserved Instance Marketplace に表示された出品内容は直接変更することはできません。ただし、最初に出品をキャンセルしてから、新しいパラメータで別の出品を作成することはできます。詳細については[リザーブドインスタンス 料金設定](#ri-market-concepts-pricing) を参照してください。出品する前に リザーブドインスタンス を変更することもできます。詳細については[リザーブドインスタンス の変更](ri-modifying.md) を参照してください。
+ AWS はリザーブドインスタンスマーケットプレイスで販売するスタンダードリザーブドインスタンスごとに、前払料金の総額の 12% をサービス料として課金します。前払い価格は販売者がスタンダード リザーブドインスタンス に課金する価格です。
+ 販売者として登録する場合、指定する銀行には米国の住所が必要です。詳細については*AWS Marketplace 販売者ガイド*の[有料製品の販売者の追加要件](https://docs.aws.amazon.com/marketplace/latest/userguide/user-guide-for-sellers.html#additional-seller-requirements-for-paid-products)を参照してください。
+ Amazon Web Services India Private Limited (AWS India) のお客様は、米国の銀行口座をお持ちであっても、EC2 リザーブドインスタンスマーケットプレイスに販売者として登録できません。また、EC2 リザーブドインスタンスマーケットプレイスでリザーブドインスタンスを出品または販売することもできません。詳細については「[AWS アカウント と AWS India アカウントの違い](https://repost.aws/knowledge-center/aws-india-differences)」を参照してください。
+ 登録販売者を Amazon Web Services India Private Limited (AWS India) に変更すると、EC2 リザーブドインスタンスマーケットプレイスから販売者として登録解除され、EC2 リザーブドインスタンスマーケットプレイスの既存のアクティブな出品はすべて削除されます。販売者ステータスを復元するには、アカウントの場所をインド以外の国に変更し、販売者登録手続きを再度完了する必要があります。

## 販売者として登録する
<a name="ri-market-seller-profile"></a>

**注記**  
アカウントを販売者として登録できるのはAWS アカウントのルートユーザー のみです。

Reserved Instance Marketplace で販売するには最初に自分を販売者として登録する必要がありますます。登録時には以下の情報を指定します。
+ **銀行情報** – AWS は予約の販売時に集金された金額をお支払いするために、お客様の銀行情報を必要とします。住所が米国内の銀行でなければなりません。詳細については[支払い用の銀行口座](#ri-market-concepts-bank)を参照してください。
+ **税金情報** — 必要な税金報告義務を判断するために、販売者は必ず、税金情報の質問に回答する必要があります。詳細については[税金情報](#ri-market-concepts-taxinfo)を参照してください。

記入された販売者登録が AWS に受領されると、登録を確認する電子メールが送信され、Reserved Instance Marketplace での販売を開始できることが伝えられます。

## 支払い用の銀行口座
<a name="ri-market-concepts-bank"></a>

AWS はリザーブドインスタンスの販売時に集金された金額をお支払いするために、お客様の銀行情報を必要とします。住所が米国内の銀行でなければなりません。詳細については*AWS Marketplace 販売者ガイド*の[有料製品の販売者の追加要件](https://docs.aws.amazon.com/marketplace/latest/userguide/user-guide-for-sellers.html#additional-seller-requirements-for-paid-products)を参照してください。

**支払い用のデフォルトの銀行口座を登録するには**

1. [[Reserved Instance Marketplace 販売者登録](https://us-east-1.console.aws.amazon.com/rimarketplace/home?region=us-east-1)] ページを開き、AWS の認証情報を使用してサインインします。

1. [**Manage Bank Account**] ページで、支払いを受け取る銀行に関する以下の情報を提供します。
   + 銀行口座の名義
   + 支店コード
   + アカウント番号
   + 銀行口座の種類
**注記**  
法人の銀行口座を使用する場合は口座に関する情報を FAX (1-206-765-3424) で送信するように指示されます。

登録後、指定された銀行口座がデフォルトとして設定され、銀行の確認待ちとなります。新しい銀行口座を確認するには最長で 2 週間かかります。この間は支払金を受け取ることができません。確立済みの口座の場合、支払い完了まで通常およそ 2 日かかります。

**支払い用のデフォルトの銀行口座を変更するには**

1. [[Reserved Instance Marketplace 販売者登録](https://us-east-1.console.aws.amazon.com/rimarketplace/home?region=us-east-1)] ページで、登録時に使用したアカウントでサインインします。

1. [**Manage Bank Account**] ページで、必要に応じて新規口座のアカウントを追加するか、デフォルトの銀行口座を変更します。

## 税金情報
<a name="ri-market-concepts-taxinfo"></a>

リザーブドインスタンス の販売には取引関連の税金 (消費税または付加価値税など) がかかることがあります。取引関連の税金が適用されるかどうかについては税務部、法務部、財務部、または経理部に確認する必要があります。お客様は取引関連の税金を収集し、該当する税務署に納める役割を担います。

販売者登録手続きの一環として、[販売者登録ポータル](https://portal.aws.amazon.com/ec2/ri/seller_registration?action=taxInterview)の Tax Interview を完了させる必要があります。このインタビューでは税金情報を収集し、IRS フォーム W-9、W-8BEN、または W-8BEN-E に入力してください。このフォームは必要な税金報告義務を明確にするために使用されます。

Tax Interview の一環として入力する税金情報は個人または法人であるか、また、米国人または非米国人 (米国企業または非米国企業) かによって異なる場合があります。Tax interview の記入を行う際は次に注意してください。
+ AWS が提供する情報 (このトピックの情報を含む) は税金、法律、またはその他の専門的なアドバイスではありません。IRS のレポート要件がビジネスに及ぼす影響について知りたい場合、またはご質問がある場合は税金、法律、またはその他の専門家にお問い合わせください。
+ IRS のレポート要件をできるだけ効率的に満たすにはTax interview の中で要求されたすべての質問に答え、情報を入力してください。
+ 答えを確認します。綴りを間違ったり、誤った税金識別番号を入力したりしないようにします。これらのミスがあると、誤った税金フォームが生成されます。

税金に関する質問の回答と IRS 報告書のしきい値に基づいて、Amazon は Form 1099-K を提出する場合があります。 Amazon はお客様の納税金額がしきい値レベルに達した年の翌年の 1 月 31 日までに、フォーム 1099-K のコピーを郵送します。例えば、税金口座が 2018 年にしきい値に達した場合は2019 年の 1 月 31 日までにフォーム 1099-K が郵送されます。

IRS の要件とフォーム 1099-K の詳細については[IRS](https://www.irs.gov/newsroom/form-1099-k-faqs-third-party-filers-of-form-1099-k)のウェブサイトを参照してください。

## リザーブドインスタンス 料金設定
<a name="ri-market-concepts-pricing"></a>

リザーブドインスタンスの料金を設定するときは次の点を考慮してください。
+ **前払い料金** – 前払い料金は販売するリザーブドインスタンスについて指定できる唯一の料金です。前払い料金とは、購入者がリザーブドインスタンスを購入する際に支払う一括払いの料金です。

  リザーブドインスタンス の価値は時間の経過に伴い低下するため、AWS ではデフォルトで、1 か月ごとに同じ割合で低下するような価格設定を行っています。ただし、予約を販売する時期に基づいて、異なる前払い価格を設定できます。例えば、リザーブドインスタンス の残りの期間が 9 か月の場合、顧客が残り 9 か月の リザーブドインスタンス を購入する場合、受領する額を指定できます。残りが 5 か月である別の価格を設定し、さらに残りが 1 か月の別の価格を設定することができます。

  Reserved Instance Marketplace で許容される最低販売価格は0.00 USD です。
+ **制限** – リザーブドインスタンスの販売に関する次の制限は AWS アカウント の*有効期間中*に適用されます。これらは年間制限ではないため、引き上げることはできません。
  + **リザーブドインスタンスの販売額は、最大 50,000 USD です**。
  + **最大 5,000 のリザーブドインスタンスを販売可能です**。
+ **[変更不可]** – 出品内容を直接変更することはできません。ただし、最初に出品をキャンセルしてから、新しいパラメータで別の出品を作成することはできます。
+ **[キャンセル可能]** – 出品は`active` 状態であれば、いつでもキャンセルできます。既にマッチングされていたり、販売処理が行われている出品はキャンセルできません。出品したインスタンスの一部がマッチングされている場合にその出品をキャンセルすると、マッチングされていない残りのインスタンスが出品から削除されます。

## リザーブドインスタンス のリスト
<a name="ri-market-selling-listing"></a>

登録済みの販売者の場合、販売する リザーブドインスタンス を 1 つまたは複数選択できます。1 件のリストにすべてまとめて販売することも、個別に販売することもできます。さらに、インスタンスタイプ、プラットフォーム、スコープのすべての設定で リザーブドインスタンス を出品できます。

コンソールによって、提示価格が決定します。お客様の リザーブドインスタンス に一致するサービスを確認し、最低価格のサービスに合わせます。それ以外の場合、残り時間の リザーブドインスタンス のコストに基づいて提示価格を計算します。計算後の値が 1.01 USD 未満の場合、提示価格は 1.01 USD です。

出品をキャンセルする場合、その一部が既に売れているとき、売却済みの部分についてのキャンセルは無効です。出品されたうち、まだ売れていない部分のみが Reserved Instance Marketplace から削除されます。

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

**リザーブドインスタンスマーケットプレイス内のリザーブドインスタンスを一覧表示するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Reserved Instances**] を選択してください。

1. 出品する リザーブドインスタンス を選択し、[**Actions (アクション)**]、[**リザーブドインスタンス の出品**] の順に選択してください。

1. [**Configure Your リザーブドインスタンス Listing** (リザーブドインスタンス出品の設定)] ページで、販売するインスタンス数および残り期間に対する前払い価格を該当列に設定します。[**Months Remaining**] 列の隣にある矢印を選択して、残りの有効期間における予約の価値の変化状況を確認します。

1. 上級ユーザーが価格をカスタマイズする場合は今後の月に異なる価格を入力できます。デフォルトの直線形の価格減少に戻すには[**Reset**] を選択してください。

1. 出品の設定が終了したら、[**Continue**] を選択してください。

1. [**Confirm Your リザーブドインスタンス Listing** (リザーブドインスタンス出品の確認)] ページに表示された出品詳細を確認し、問題がなければ [**List Reserved Instance** (リザーブドインスタンスの出品)] を選択してください。

**出品したインスタンスを Amazon EC2 コンソールで表示するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Reserved Instances**] を選択してください。

1. 出品した リザーブドインスタンス を選択し、ページ下部にある [**My Listings (自分の出品)**] タブを選択してください。

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

**Reserved Instance Marketplace 内のリザーブドインスタンスを管理するには**

1. [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) コマンドを使用して、リザーブドインスタンス の一覧を取得します。出品するリザーブドインスタンスの ID をメモします。

1. [create-reserved-instances-listing](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-reserved-instances-listing.html) コマンドを使用します。リザーブドインスタンス の ID、インスタンスの数、価格体系を指定する必要があります。

1. ユーザーの出品を表示するには[describe-reserved-instances-listings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-listings.html) コマンドを使用します。

1. 出品をキャンセルするには [cancel-reserved-instances-listing](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-reserved-instances-listing.html) コマンドを使用します。

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

**Reserved Instance Marketplace 内のリザーブドインスタンスを管理するには**

1. [Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) コマンドレットを使用して、リザーブドインスタンスのリストを取得します。出品するリザーブドインスタンスの ID をメモします。

1. [New-EC2ReservedInstancesListing](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ReservedInstancesListing.html) コマンドレットを使用します。リザーブドインスタンス の ID、インスタンスの数、価格体系を指定する必要があります。

1. 出品を表示するには [Get-EC2ReservedInstancesListing](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesListing.html) コマンドレットを使用します。

1. 出品をキャンセルするには [Stop-EC2ReservedInstancesListing](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2ReservedInstancesListing.html) コマンドレットを使用します。

------

## リザーブドインスタンス の出品状態
<a name="ri-listing-states"></a>

リザーブドインスタンス ページの [**出品**] タブの [**出品状態**] には出品の現在状況が表示されます。

[**出品状態**] にはReserved Instance Marketplace へのお客様の出品に関する情報が表示されます。これは[**リザーブドインスタンス**] ページの [**State**] 列に表示される状態情報とは異なります。この [**State**] 情報はお客様の予約に関するものです。
+ [**アクティブ**] — 購入できます。
+ [**キャンセル済み**] – 出品がキャンセルされ、Reserved Instance Marketplace での購入ができません。
+ [**closed** (クローズ)] — リザーブドインスタンス は出品されていません。リザーブドインスタンス は出品が完了したため [`closed`] になっている可能性があります。

## 出品のライフサイクル
<a name="ri-market-concepts-sold-partial"></a>

出品したすべてのインスタンスがマッチングされて売れると、[**My Listings**] タブに表示される [**Total instance count**] が [**Sold**] の下に表示された数と同じになります。出品で残っている [**Available**] インスタンスがなくなり、[**Status**] が [`closed`] になります。

出品の一部だけが売却された場合、AWS では出品されている リザーブドインスタンス を取り下げ、売却されなかった残りの リザーブドインスタンスと同数のリザーブドインスタンス を作成します。したがって、出品 ID とその ID の出品は販売中の予約が少なくなっていますがアクティブのままです。

この出品内の リザーブドインスタンス の売却は今後、この方法で行われます。出品されたすべての リザーブドインスタンス が売却されると、AWS はその出品を `closed` としてマークします。

例えば、出品数が 5 のリザーブドインスタンス ID 5ec28771-05ff-4b9b-aa31-9e57dexample の出品を作成するとします。

コンソールの [**Reserved Instance** ] ページの [**My Listings**] タブに、次のように出品が表示されます。

*リザーブドインスタンス の出品 ID 5ec28771-05ff-4b9b-aa31-9e57dexample*
+ Total reservation count = 5
+ Sold = 0
+ Available = 5
+ Status = active

 購入者が 2 つの予約を購入すると、3 つの予約が販売用に残ります。一部分が売れたため、AWS では引き続き販売される残りの予約に相当する、3 つの新しい予約が作成されます。

お客様の出品は[**My Listings** (自分の出品)] タブで次のように表示されます。

*リザーブドインスタンス の出品 ID 5ec28771-05ff-4b9b-aa31-9e57dexample*
+ Total reservation count = 5
+ Sold = 2
+ Available = 3
+ Status = active

出品をキャンセルする場合、その一部が既に売れているとき、売却済みの部分についてのキャンセルは無効です。出品されたうち、まだ売れていない部分のみがリザーブドインスタンス Marketplace から削除されます。

## リザーブドインスタンス が売却された後
<a name="ri-market-concepts-sold"></a>

自分のリザーブドインスタンス が売却されると、AWS から E メールの通知が届きます。何らかのアクティビティがあった日ごとに、毎日のすべてのアクティビティをキャプチャした 1 通の E メール通知が送信されます。アクティビティには出品の作成または販売や、AWS によるアカウントへの資金の送金などがあります。

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

**リザーブドインスタンスの出品の状態を追跡するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションページで、[**リザーブドインスタンス**] を選択してください。

1. **[出品]** タブで、**[出品状態]** の値を確認します。また、期間、出品価格、および出品されているインスタンスの中で使用可能、保留中、売却済み、およびキャンセルされたものがいくつあるかの詳細といった情報がこのタブに示されます。

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

**リザーブドインスタンスの出品の状態を追跡するには**  
[describe-reserved-instances-listings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-listings.html) コマンドを適切なフィルタで使用して、リザーブドインスタンスの出品に関する情報を取得します。

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

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

**リザーブドインスタンスの出品の状態を追跡するには**  
[Get-EC2ReservedInstancesListing](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesListing.html) コマンドレットを使用します。

```
Get-EC2ReservedInstancesListing
```

------

## 支払いを受け取る
<a name="ri-market-sold-gettingpaid"></a>

AWS が購入者からの支払い金を受領するとすぐに、販売された リザーブドインスタンス に登録されている所有者アカウントの E メールアドレスに、メッセージが送信されます。

AWS は指定された銀行口座に、自動決済機関 (ACH) の電子送金を送信します。通常、この送金はリザーブドインスタンス の売却後 1～3 日の間に行われます。支払いは1 日に 1 回行われます。送金が行われると、支払い報告がメールで届きます。AWS が銀行からの検証結果を受領するまで、支払い金を受け取れないことに注意してください。これには最大 2 週間かかることがあります。

販売した リザーブドインスタンス はユーザーの リザーブドインスタンス の詳細に引き続き表示されます。

販売者はリザーブドインスタンスに対する現金の支払いを、振込によって直接各自の銀行口座で受け取ります。 AWSはReserved Instance Marketplace で販売するリザーブドインスタンスごとに、前払い料金の総額の 12% をサービス料として課金します。

## 購入者と共有する情報
<a name="ri-market-seller-disclosure"></a>

Reserved Instance Marketplace で販売する場合、AWS は米国の規制に従って、お客様の正式な会社名を購入者向けのステートメントに表示します。さらに、請求書またはその他の税金関連の理由で、購入者から販売者に連絡したいとの要望が サポート にあった場合、購入者から販売者に直接連絡できるよう、AWS は必要に応じて販売者の E メールアドレスを購入者に提供する場合があります。

同様の理由で、販売者には購入者の郵便番号および国情報が支払いレポートによって提供されます。販売者として、この情報を、国に支払わなければならない取引税 (売上税や付加価値税など) に添付する必要がある場合があります。

AWS は税金に関する助言を行うことはできませんが、お客様が追加情報を必要としているとお客様の税務専門家が判断した場合は[サポート にお問い合わせください](https://aws.amazon.com/contact-us/)。

# リザーブドインスタンス の変更
<a name="ri-modifying"></a>

ニーズが変化したときはスタンダードまたは コンバーティブルリザーブドインスタンス を変更し、引き続き料金上の利点を得られます。アベイラビリティー―ゾーン、インスタンスサイズ (同じインスタンスファミリーや世代で) やリザーブドインスタンスのスコープなどの属性を変更できます。

**注記**  
また、別の構成で、別の コンバーティブルリザーブドインスタンス の コンバーティブルリザーブドインスタンス に交換することもできます。詳細については[コンバーティブルリザーブドインスタンス の交換](ri-convertible-exchange.md)を参照してください。

すべての リザーブドインスタンス、またはそのサブセットを変更できます。元の リザーブドインスタンス を 2 つ以上の新しい リザーブドインスタンス に分割できます。例えば、`us-east-1a` に 10 のインスタンスを予約があり、そのうち 5 つのインスタンスを `us-east-1b` に移動する場合、結果的にこの変更は 2 つの新しい予約をリクエストします。`us-east-1a` での 5 つのインスタンス用の予約と `us-east-1b` での 5 つのインスタンス用の予約です。

また、2 つ以上の リザーブドインスタンス を単一の リザーブドインスタンス に*マージ*することもできます。例えば、それぞれに 1 つのインスタンスがある 4 つの `t2.small` リザーブドインスタンス がある場合、これらをマージして 1 つの `t2.large` リザーブドインスタンス を作成できます。詳細については[インスタンスサイズの変更のサポート](#ri-modification-instancemove)を参照してください。

変更後、リザーブドインスタンス の利点はリザーブドインスタンスの新しいパラメータと一致するインスタンスのみに適用されます。例えば、予約のアベイラビリティーゾーンを変更する場合、キャパシティーの予約と料金上の利点は新しいアベイラビリティーゾーン内のインスタンスの使用に対して自動的に適用されます。新しいパラメータに一致しないインスタンスは他に適用可能な予約がない場合、オンデマンド価格で課金されます。

変更リクエストが成功した場合。
+ 変更後の予約がすぐに有効になり、変更リクエストが完了した時刻から、割引料金が新しいインスタンスに適用されます。例えば、午後 9 時 15 分に予約の変更が成功した場合、割引料金は午後 9 時 00 分から新しいインスタンスに移ります。変更された リザーブドインスタンス の発行日は [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) コマンドを使用して取得できます。
+ 元の予約は終了します。その終了日は新しい予約の開始日であり、新しい予約の終了日は元の リザーブドインスタンス の終了日と同じです。有効期限のうち 16 か月が残っている 3 年の予約を正常に変更した場合、変更後の予約は 16 か月の予約であり、終了日は変更前の予約と同じです。
+ 変更後の予約の固定価格は 0 USD であり、元の予約の固定価格ではありません。
+ 変更後の予約の固定価格はアカウントに適用される割引料金範囲の計算に影響を与えません。割引範囲の計算は元の予約の固定価格に基づきます。

変更リクエストに失敗した場合、リザーブドインスタンス は元の設定を維持し、別の変更リクエストをすぐに利用できます。

変更に手数料は必要なく、新しく課金されたり、請求書が届いたりすることはありません。

予約の変更は必要に応じて何度でも行うことができますが、変更を送信後に保留中の変更リクエストを変更またはキャンセルすることはできません。変更が完了した後は必要に応じて別の変更リクエストを送信して、実行した変更をロールバックできます。

**Topics**
+ [

## 変更の要件と制限
](#ri-modification-limits)
+ [

## インスタンスサイズの変更のサポート
](#ri-modification-instancemove)
+ [

## 変更リクエストの送信
](#ri-modification-process)
+ [

## 変更リクエストのトラブルシューティング
](#ri-modification-process-messages)

## 変更の要件と制限
<a name="ri-modification-limits"></a>

以下のように、これらの属性を変更できます。


| 変更可能な属性 | サポートされているプラットフォーム | 制約事項と考慮事項 | 
| --- | --- | --- | 
|  同じリージョン内で**アベイラビリティーゾーン**を変更する  |  Linux と Windows  | - | 
|  **スコープ**をアベイラビリティーゾーンからリージョンに、またはその逆に変更する  |  Linux と Windows  |  ゾーンのリザーブドインスタンスはアベイラビリティーゾーンとそのアベイラビリティーゾーンのリザーブドキャパシティにスコープされます。スコープをアベイラビリティーゾーンからリージョンに (つまり、ゾーンからリージョナルに) 変更すると、キャパシティ予約のメリットが失われます。 リージョンのリザーブドインスタンスのスコープはリージョンに限定されます。リザーブドインスタンスの割引はそのリージョンの任意のアベイラビリティーゾーンで実行されているインスタンスに適用できます。さらに、リザーブドインスタンスの割引は選択したインスタンスファミリのすべてのサイズのインスタンスの使用に適用されます。スコープをリージョンからアベイラビリティーゾーンに (つまり、リージョナルからゾーンに) 変更すると、アベイラビリティーゾーンの柔軟性とインスタンスサイズの柔軟性 (該当する場合) が失われます。 詳細については「[リザーブドインスタンスの割引はどのように適用されるか](apply_ri.md)」を参照してください。 | 
|  同じインスタンスファミリーや世代で**インスタンスサイズ**を変更する  |  Linux/UNIX のみ リザーブドインスタンス のインスタンスサイズの柔軟性は他のプラットフォーム (Linux with SQL Server Standard、Linux with SQL Server Web、Linux with SQL Server Enterprise、Red Hat Enterprise Linux、SUSE Linux、Windows、Windows with SQL Standard、Windows with SQL Server Enterprise、および Windows with SQL Server Web) では利用できません。  |  予約ではデフォルトのテナンシーを使用する必要があります。使用できる他のサイズがないため、一部のインスタンスファミリーはサポートされません。詳細については「[インスタンスサイズの変更のサポート](#ri-modification-instancemove)」を参照してください。  | 

**要件**

変更リクエストは新しい設定 (該当する場合) に対して十分なリザーブドインスタンス容量があり、以下の条件が満たされている場合に Amazon EC2 で処理されます。
+ 購入と同時期またはその前に リザーブドインスタンス を変更できないこと
+ リザーブドインスタンス がアクティブであること
+ 保留中の変更リクエストがないこと
+ リザーブドインスタンスは Reserved Instance Marketplace に出品されていないこと
+ 元の予約のインスタンスサイズのフットプリントと新しい設定が一致している必要があります。詳細については[インスタンスサイズの変更のサポート](#ri-modification-instancemove)を参照してください。
+ 元の リザーブドインスタンス はすべてスタンダード リザーブドインスタンス あるいはすべて コンバーティブルリザーブドインスタンス であり、両方のタイプが混ざっていないこと
+ スタンダード リザーブドインスタンス の場合、元の リザーブドインスタンス は同じ時間内に期限切れとなること
+ インスタンス サイズを変更するには、リザーブドインスタンスはインスタンスサイズの柔軟性をサポートしている必要があります。インスタンスサイズの柔軟性をサポートしていないリザーブドインスタンスのリストについては「[インスタンスサイズの柔軟性](apply_ri.md#ri-instance-size-flexibility)」を参照してください。

## インスタンスサイズの変更のサポート
<a name="ri-modification-instancemove"></a>

次の要件が満たされている場合はリザーブドインスタンス のインスタンスサイズを変更できます。

**要件**
+ プラットフォームが Linux/UNIX であること。
+ 同じ[インスタンスファミリー](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) (T などの文字で示される) と[世代](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) (2 などの数字で示される) 内の別のインスタンスサイズを選択する必要があります。

  例えば、リザーブドインスタンスはどちらも同じ T2 ファミリーおよび世代に属しているため、リザーブドインスタンスを `t2.small` から `t2.large` に変更できます。ただし、どちらの例でも、ターゲットインスタンスのファミリーと世代が元のリザーブドインスタンスと同じではないため、リザーブドインスタンスを T2 から M2 に、または T2 から T3 に変更することはできません。
+ リザーブドインスタンスがインスタンスサイズの柔軟性をサポートしている場合にのみ、リザーブドインスタンスのインスタンスサイズを変更できます。インスタンスサイズの柔軟性をサポートしていないリザーブドインスタンスのリストについては「[インスタンスサイズの柔軟性](apply_ri.md#ri-instance-size-flexibility)」を参照してください。
+ `t1.micro` には 1 つのサイズしかないため、`t1.micro` インスタンスのリザーブドインスタンスのインスタンスサイズは変更できません。
+ 元のと新しい リザーブドインスタンス はインスタンスサイズのフットプリントが同じであること。

**Topics**
+ [

### インスタンスサイズのフットプリント
](#ri-modification-instance-size-footprint)
+ [

### ベアメタルインスタンスの正規化係数
](#ri-normalization-factor-bare-metal-2)

### インスタンスサイズのフットプリント
<a name="ri-modification-instance-size-footprint"></a>

各 リザーブドインスタンス には*インスタンスサイズのフットプリント*があり、これはインスタンスサイズの正規化係数と予約に含まれるインスタンスの数によって決まります。リザーブドインスタンス のインスタンスサイズを変更する場合、新しい設定のフットプリントは元の設定のフットプリントと一致する必要があります。一致しないと、変更リクエストは処理されません。

リザーブドインスタンス でインスタンスサイズのフットプリントを計算するにはインスタンスの数に正規化係数を掛けます。Amazon EC2 コンソールでは正規化係数はユニットで測定されます。次の表に、インスタンスファミリーのインスタンスサイズの正規化係数を示します。例えば、`t2.medium` の正規化係数は 2 であるため、4 つの `t2.medium` インスタンスの予約は 8 ユニットのフットプリントになります。


| インスタンスサイズ | 正規化係数 | 
| --- | --- | 
| nano | 0.25 | 
| micro | 0.5 | 
| small | 1 | 
| medium | 2 | 
| large | 4 | 
| xlarge | 8 | 
| 2xlarge | 16 | 
| 3xlarge | 24 | 
| 4xlarge | 32 | 
| 6xlarge | 48 | 
| 8xlarge | 64 | 
| 9xlarge | 72 | 
| 10xlarge | 80 | 
| 12xlarge | 96 | 
| 16xlarge | 128 | 
| 18xlarge | 144 | 
| 24xlarge | 192 | 
| 32xlarge | 256 | 
| 48xlarge | 384 | 
| 56xlarge | 448 | 
| 112xlarge | 896 | 

予約のインスタンスサイズのフットプリントが同じである場合は同じインスタンスファミリー内で、予約を異なるインスタンスサイズとして割り当てることができます。例えば、1 つの `t2.large` (1 @ 4 ユニット) インスタンスの予約は 4 つの `t2.small` (4 @ 1 ユニット) インスタンスに分割できます。同様に、4 つの `t2.small` インスタンスの予約は 1 つの `t2.large` インスタンスにまとめることができます。ただし、2 つの `t2.small` インスタンスの予約を 1 つの `t2.large` インスタンスに変更することはできません。新しい予約のフットプリント (4 ユニット) が元の予約のフットプリント (2 ユニット) より大きいためです。

次の例では2 つの `t2.micro` インスタンスの予約 (1 ユニット) と 1 つの `t2.small` インスタンスの予約 (1 ユニット) があります。両方の予約を 1 つの `t2.medium` インスタンスの予約 (2 ユニット) に結合すると、新しい予約のフットプリントと結合後の予約のフットプリントは等しくなります。

![\[リザーブドインスタンスの変更。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ri-modify-merge.png)


また、予約を変更して 2 つ以上の予約に分割することもできます。次の例では1 つの `t2.medium` インスタンスの予約 (2 ユニット) があります。この予約を 2 つの予約に分割できます。`t2.nano` インスタンス 2 個の予約 (0.5 ユニット) と、`t2.micro` インスタンス 3 個の予約 (1.5 ユニット) です。

![\[リザーブドインスタンスの変更。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ri-modify-divide.png)


### ベアメタルインスタンスの正規化係数
<a name="ri-normalization-factor-bare-metal-2"></a>

同じインスタンスファミリー内の他のサイズを使用して、`metal` インスタンスの予約を変更できます。同様に、同じインスタンスファミリー内の `metal` サイズを使用して、ベアメタルインスタンス以外のインスタンスの予約を変更できます。通常、ベアメタルインスタンスのサイズは同じインスタンスファミリー内の最大のインスタンスサイズと同じです。例えば、`i3.metal` インスタンスは `i3.16xlarge` インスタンスと同じサイズであるため、正規化係数が同じになります。

次の表はベアメタルインスタンスを持つインスタンスファミリーのベアメタルインスタンスサイズの正規化係数を示しています。`metal` インスタンスの正規化係数は他のインスタンスサイズとは異なり、インスタンスファミリーによって決まります。


| インスタンスサイズ | 正規化係数 | 
| --- | --- | 
| a1.metal | 32 | 
|  m5zn.metal \$1 x2iezn.metal z1d.metal  | 96 | 
|  c6g.metal \$1 c6gd.metal \$1 i3.metal \$1 m6g.metal \$1 m6gd.metal \$1 r6g.metal \$1 r6gd.metal \$1 x2gd.metal  | 128 | 
| c5n.metal | 144 | 
|  c5.metal \$1 c5d.metal \$1 i3en.metal \$1 m5.metal \$1 m5d.metal \$1 m5dn.metal \$1 m5n.metal \$1 r5.metal \$1 r5b.metal \$1 r5d.metal \$1 r5dn.metal \$1 r5n.metal  | 192 | 
|  c6i.metal \$1 c6id.metal \$1 m6i.metal \$1 m6id.metal \$1 r6d.metal \$1 r6id.metal  | 256 | 
|  u-18tb1.metal \$1 u-24tb1.metal  | 448 | 
|  u-6tb1.metal \$1 u-9tb1.metal \$1 u-12tb1.metal  | 896 | 

例えば、1 つの `i3.metal` インスタンスには 128 の正規化係数があります。`i3.metal` デフォルトテナンシー Amazon Linux/Unix リザーブドインスタンス を購入する場合、次のように予約を分割できます。
+ `i3.16xlarge` は `i3.metal` インスタンスと同じサイズであるため、その正規化係数は 128 (128/1) です。1 つの `i3.metal` インスタンスの予約は1 つの `i3.16xlarge` インスタンス内で変更できます。
+ `i3.8xlarge` は `i3.metal` インスタンスの半分のサイズであるため、その正規化係数は 64 (128/2) です。1 つの `i3.metal` インスタンスの予約は2 つの `i3.8xlarge` インスタンスに分割できます。
+ `i3.4xlarge` は `i3.metal` インスタンスの 4 分の 1 のサイズであるため、その正規化係数は 32 (128/4) です。1 つの `i3.metal` インスタンスの予約は4 つの `i3.4xlarge` インスタンスに分割できます。

## 変更リクエストの送信
<a name="ri-modification-process"></a>

リザーブドインスタンスを変更する前に、適用される[制限](#ri-modification-limits)を必ず確認してください。インスタンスのサイズを変更する前に、変更する元の予約の合計[インスタンスサイズフットプリント](#ri-modification-instancemove)を計算し、その結果が新しい設定の合計インスタンスサイズフットプリントと一致することを確認してください。

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

**リザーブドインスタンスを変更するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. [**リザーブドインスタンス**] ページで、変更する リザーブドインスタンス を 1 つ以上選択し、[**アクション**]、[**リザーブドインスタンスの変更**] の順に選択してください。

   リザーブドインスタンス がアクティブ状態ではない場合、または変更できない場合は[**リザーブドインスタンス の変更**] が無効となります。

1. 変更テーブルの最初のエントリには選択した リザーブドインスタンス の属性と、その下部に少なくとも 1 つのターゲット設定が表示されます。[**単位**] 列には全インスタンスサイズのフットプリントが表示されます。追加する各新規設定で **追加** を選択してください。必要に応じて各構成の属性を変更します。
   + **[スコープ]**: 設定の適用先が 1 つのアベイラビリティーゾーンまたはリージョン全体のどちらであるかを選択してください。
   + **[アベイラビリティーゾーン]**: 必要なアベイラビリティーゾーンを選択してください。リージョン リザーブドインスタンス には適用されません。
   + **[インスタンスタイプ]**: 必要なインスタンスタイプを選択してください。組み合わせた設定は元の設定のインスタンスサイズのフットプリントと等しくなければなりません。
   + [**カウント**]: インスタンス数を指定します。リザーブドインスタンス を複数の設定に分割するにはカウントを減らし、[**追加**] を選択して、追加する設定のカウントを指定します。例えば、カウントが 10 の設定が 1 つある場合、そのカウントを 6 に変更し、カウントが 4 の設定を別に追加できます。このプロセスでは新しい リザーブドインスタンス がアクティブになった後で、元の リザーブドインスタンス を終了させます。

1. [**続行**] をクリックしてください。

1. ターゲット設定の指定を完了し変更内容を確認したい場合は[**変更を送信**] を選択してください。

1. 変更リクエストのステータスはリザーブドインスタンス 画面の [**状態**] 列で確認できます。有効な状態には以下のものがあります。
   + **アクティブ* (変更の保留) *** —元の リザーブドインスタンス の移行状態
   + **リタイア* (変更の保留)*** — 新しい リザーブドインスタンス を作成中の元の リザーブドインスタンス の移行状態
   + **リタイア** — リザーブドインスタンス は正常に変更され、置き換えられました
   + **アクティブ** — 次のいずれかを選択してください。
     + 正常な変更リクエストにより新しい リザーブドインスタンス が作成されました
     + 変更リクエストが失敗したため、元の リザーブドインスタンス です

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

**リザーブドインスタンスを変更するには**  
[modify-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-reserved-instances.html) コマンドを使用します。JSON ファイルで設定の詳細を指定できます。

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

**変更リクエストのステータスを取得するには**  
[describe-reserved-instances-modifications](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-modifications.html) コマンドを使用します。ステータスは、`processing`、`fulfilled`、または `failed` です。

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

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

**リザーブドインスタンスを変更するには**  
[Edit-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ReservedInstance.html) コマンドレットを使用します。タイプ `Amazon.EC2.Model.ReservedInstancesConfiguration` のオブジェクトで設定の詳細を指定できます。

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

**変更リクエストのステータスを取得するには**  
[Get-EC2ReservedInstancesModification](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesModification.html) コマンドレットを使用します。ステータスは、`processing`、`fulfilled`、または `failed` です。

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

------

## 変更リクエストのトラブルシューティング
<a name="ri-modification-process-messages"></a>

リクエストしたターゲット設定が一意であれば、リクエストが処理されるメッセージを受信します。この時点ではAmazon EC2 は変更リクエストのパラメータが有効であることのみを確認しています。まだ、処理中に容量が利用できないために変更リクエストが失敗する可能性があります。

場合によって、確認の代わりに変更リクエストが不完全または失敗したことを示すメッセージが表示されることがあります。メッセージの情報を参考にして、別の変更リクエストを再送信します。リクエストを送信する前に、適用される[制約](#ri-modification-limits)を必ず確認してください。

**選択された リザーブドインスタンス に変更できないものがあります**  
Amazon EC2 は変更できない リザーブドインスタンス を示します。このようなメッセージを受け取ったら、Amazon EC2 コンソールの [**リザーブドインスタンス**] ページ リザーブドインスタンス についての詳細情報を確認します。

**変更リクエストの処理中にエラーが発生しました**  
送信した リザーブドインスタンス 変更リクエストをすべて処理できません。変更している予約の数によってはメッセージが異なる場合があります。

Amazon EC2 は変更リクエストを処理できない理由を示します。例えば、変更している リザーブドインスタンス の 1 つ以上のサブセットに同じターゲット設定 (アベイラビリティーゾーンとプラットフォームの組み合わせ) を指定したような場合です。予約のインスタンス詳細が一致し、変更対象のすべてのサブセットのターゲット設定が一意であることを確認して、変更リクエストの再送信を試みます。

# コンバーティブルリザーブドインスタンス の交換
<a name="ri-convertible-exchange"></a>

また、インスタンスファミリー、オペレーティングシステム、およびテナンシーを含む別の構成で、1 つ以上の別の コンバーティブルリザーブドインスタンス の コンバーティブルリザーブドインスタンス に交換することもできます。新しいコンバーティブルリザーブドインスタンスが交換するコンバーティブルリザーブドインスタンスと同等あるいはそれ以上の値である限り、交換の実行回数に制限はありません。

コンバーティブルリザーブドインスタンスを交換する場合、現在の予約のインスタンスの数は新しいコンバーティブルリザーブドインスタンスにおいて、同じ設定値かそれ以上のインスタンス数と交換されます。Amazon EC2 は交換の結果として受け取ることができるリザーブドインスタンスの数を計算します。

スタンダード リザーブドインスタンス は交換できませんが、変更することはできます。詳細についてはを参照してください[リザーブドインスタンス の変更](ri-modifying.md)

**Topics**
+ [

## コンバーティブルリザーブドインスタンス 交換の要件
](#riconvertible-exchange-limits)
+ [

## コンバーティブルリザーブドインスタンス の交換の計算
](#riconvertible-exchange-cost)
+ [

## コンバーティブルリザーブドインスタンス のマージ
](#ri-merge-convertible)
+ [

## コンバーティブルリザーブドインスタンス の一部の交換
](#ri-split-convertible)
+ [

## 交換リクエストの送信
](#ri-exchange-process)

## コンバーティブルリザーブドインスタンス 交換の要件
<a name="riconvertible-exchange-limits"></a>

以下の条件を満たしている場合に､Amazon EC2 では交換リクエストが処理されます。コンバーティブルリザーブドインスタンス は次のとおりである必要があります:
+ アクティブ
+ 保留中の以前の交換リクエストがないこと
+ 有効期限が切れるまで、少なくとも 24 時間残っていること

以下のルールが適用されます。
+ コンバーティブルリザーブドインスタンスは、その時点で AWS によって提供されている他のコンバーティブルリザーブドインスタンスに交換する必要があります。
+ コンバーティブルリザーブドインスタンス は特定のリージョンと関連付けられ、予約の期間中は固定されます。コンバーティブルリザーブドインスタンスを別のリージョンのコンバーティブルリザーブドインスタンスに交換することはできません。
+ ゾーンコンバーティブルリザーブドインスタンスを交換するには、AWS の該当リージョンに新しいインスタンスタイプに対応できる十分な容量が必要です。
+ 1 つの コンバーティブルリザーブドインスタンス で 1 つ以上の コンバーティブルリザーブドインスタンス を一度に交換することができます。
+ コンバーティブルリザーブドインスタンス の一部を交換するには2 つ以上の予約に変更して、1 つ以上の予約を新しい コンバーティブルリザーブドインスタンス に交換することができます。詳細については[コンバーティブルリザーブドインスタンス の一部の交換](#ri-split-convertible)を参照してください。リザーブドインスタンス の変更の詳細については[リザーブドインスタンス の変更](ri-modifying.md)を参照してください。
+ 全額前払い コンバーティブルリザーブドインスタンス は一部前払い コンバーティブルリザーブドインスタンス に交換できます。その逆も可能です。
**注記**  
交換に必要な前払いの合計 (調整額) が 0.00 USD 未満の場合、その額が 0.00 USD 以上になるだけのコンバーティブルリザーブドインスタンス のインスタンス数が、AWS によって自動的に提供されます。
**注記**  
新しいコンバーティブルリザーブドインスタンス の合計料金 (前払い料金 \$1 時間料金 x 残り時間数) が交換前のコンバーティブルリザーブドインスタンスの合計料金未満の場合、交換前のコンバーティブルリザーブドインスタンスの合計料金以上になるように、AWS によって自動的にコンバーティブルリザーブドインスタンスのインスタンス数が提供されます。
+ より有利な料金を利用するために、前払いなし コンバーティブルリザーブドインスタンス を全額前払いまたは一部前払い コンバーティブルリザーブドインスタンス に交換できます。
+ 全額前払いまたは一部前払いのコンバーティブルリザーブドインスタンスを、前払いなしコンバーティブルリザーブドインスタンスに交換することはできません。
+ 前払いなし コンバーティブルリザーブドインスタンス を別の前払いなし コンバーティブルリザーブドインスタンス に交換できます。ただし、新しい コンバーティブルリザーブドインスタンス の時間料金が交換元の コンバーティブルリザーブドインスタンス の時間料金以上である場合に限ります。
**注記**  
新しいコンバーティブルリザーブドインスタンスの合計料金 (時間料金 x 残り時間数) が交換前のコンバーティブルリザーブドインスタンスの合計料金未満の場合、交換前のコンバーティブルリザーブドインスタンスの合計料金以上になるように、AWS によって自動的にコンバーティブルリザーブドインスタンスのインスタンス数が提供されます。
+ 有効期限の異なる複数の コンバーティブルリザーブドインスタンス を交換すると、新しい コンバーティブルリザーブドインスタンス の有効期限は将来の最も遠い日付になります。
+ 1 つの コンバーティブルリザーブドインスタンス を交換する場合は新しい コンバーティブルリザーブドインスタンス と同じ期間 (1 年または 3 年) が必要です。異なる期間を持つ複数の コンバーティブルリザーブドインスタンス をマージすると、新しい コンバーティブルリザーブドインスタンス の期間は 3 年となります。詳細については「[コンバーティブルリザーブドインスタンス のマージ](#ri-merge-convertible)」を参照してください。
+ Amazon EC2 がコンバーティブルリザーブドインスタンスを交換すると、関連する予約が取り消され、終了日が新しいリザベーションに転送されます。交換後、Amazon EC2 は古いリザベーションの終了日と新しいリザベーションの開始日の両方を交換日と同じ日付に設定します。例えば、有効期限のうち 16 か月が残っている 3 年の予約を交換する場合、新しい予約は 16 か月のリザベーションであり、終了日は交換したコンバーティブルリザーブドインスタンスのリザベーションと同じ日付です。

## コンバーティブルリザーブドインスタンス の交換の計算
<a name="riconvertible-exchange-cost"></a>

コンバーティブルリザーブドインスタンス の交換は無料です。ただし、前払い額を按分計算した結果、所有していたコンバーティブルリザーブドインスタンスと交換して受け取る新しいコンバーティブルリザーブドインスタンスに差額があれば、その清算額を支払う必要がある場合があります。

それぞれの コンバーティブルリザーブドインスタンス に定価があります。交換元と交換先の コンバーティブルリザーブドインスタンス で定価が比較され、交換の結果として得られるコンバーティブルリザーブドインスタンスの数が決まります。

例えば、定価 35 USD の 1 つの コンバーティブルリザーブドインスタンス を定価 10 USD の新しいインスタンスタイプに交換するとします。

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

コンバーティブルリザーブドインスタンス を 10 USD の 3 つの コンバーティブルリザーブドインスタンス に交換できます。半個単位で購入することはできないため、余り分を補うにはコンバーティブルリザーブドインスタンス を追加購入する必要があります。

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

4 つ目の コンバーティブルリザーブドインスタンス で、終了日が他の 3 つのものと同じものだとすると、一部前払いまたは全額前払いの コンバーティブルリザーブドインスタンス を交換する場合、その 4 つ目のリザーブドインスタンスの料金を差額として支払います。交換元の コンバーティブルリザーブドインスタンス の前払い額のうち 500 USD が残っており、交換先のコンバーティブルリザーブドインスタンスの料金が按分計算で 600 USD になるとすると、100 USD が請求されます。

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

## コンバーティブルリザーブドインスタンス のマージ
<a name="ri-merge-convertible"></a>

2 つ以上のコンバーティブルリザーブドインスタンスをマージする場合、新しいコンバーティブルリザーブドインスタンスの期限は元のコンバーティブルリザーブドインスタンスの期限がすべて同じであればその期限、そうでなければ元のコンバーティブルリザーブドインスタンスの最も遅い期限になります。新しい コンバーティブルリザーブドインスタンス の有効期間は将来の最も長い有効期間となります｡

例えば、アカウントに以下の コンバーティブルリザーブドインスタンス があるとします。


| Reserved Instance ID | 用語 | 有効期限日 | 
| --- | --- | --- | 
| aaaa1111 | 1年 | 2018-12-31 | 
| bbbb2222 | 1年 | 2018-07-31 | 
| cccc3333 | 3年 | 2018-06-30 | 
| dddd4444 | 3年 | 2019-12-31 | 
+ `aaaa1111` と `bbbb2222` をマージして､それらを 1 年の コンバーティブルリザーブドインスタンス と交換できます。それらを 3 年の コンバーティブルリザーブドインスタンス に交換することはできません。新しい コンバーティブルリザーブドインスタンス 有効期限は 2018-12-31 です。
+ `bbbb2222` と `cccc3333` をマージして､それらを 3 年の コンバーティブルリザーブドインスタンス と交換できます。それらを 1 年の コンバーティブルリザーブドインスタンス に交換することはできません。新しい コンバーティブルリザーブドインスタンス 有効期限は 2018-07-31 です。
+ `cccc3333` と `dddd4444` をマージして､それらを 3 年の コンバーティブルリザーブドインスタンス と交換できます。それらを 1 年の コンバーティブルリザーブドインスタンス に交換することはできません。新しい コンバーティブルリザーブドインスタンス 有効期限は 2019-12-31 です。

## コンバーティブルリザーブドインスタンス の一部の交換
<a name="ri-split-convertible"></a>

変更プロセスを使用して、コンバーティブルリザーブドインスタンス をより小さい予約に分割し、新しい予約のうちの 1 つ以上を新しい コンバーティブルリザーブドインスタンス と交換することができます。次の例はそれを行う方法を示しています。

**Example 例: 複数のインスタンスを持つ コンバーティブルリザーブドインスタンス**  
この例ではこの例では予約に 4 つのインスタンスがある `t2.micro` コンバーティブルリザーブドインスタンス があります。`t2.micro` インスタンスに対して 2 つの `m4.xlarge` インスタンスを交換するには:  

1. `t2.micro` コンバーティブルリザーブドインスタンス を変更するにはそれぞれ 2 つの `t2.micro` コンバーティブルリザーブドインスタンス に分割します。

1. 新しい `t2.micro` コンバーティブルリザーブドインスタンス のいずれかを `m4.xlarge` コンバーティブルリザーブドインスタンス と交換します｡

![\[リザーブドインスタンスの変更と交換。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ri-split-cri-multiple.png)


**Example 例: 1 つのインスタンスを持つ コンバーティブルリザーブドインスタンス**  
この例では`t2.large` コンバーティブルリザーブドインスタンス があります。小さな `t2.medium` インスタンスと `m3.medium` インスタンスに変更するには:  

1. `t2.large` コンバーティブルリザーブドインスタンス を変更するには2 つの `t2.medium` コンバーティブルリザーブドインスタンス に分割します。1 つの `t2.large` インスタンスに対して、2 つの `t2.medium` インスタンスと同じインスタンスサイズのフットプリントが含まれます。

1. 新しい `t2.medium` コンバーティブルリザーブドインスタンス のいずれかを `m3.medium` コンバーティブルリザーブドインスタンス と交換します｡

![\[リザーブドインスタンスを変更と交換します。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ri-split-cri-single.png)

詳細については[インスタンスサイズの変更のサポート](ri-modifying.md#ri-modification-instancemove)および[交換リクエストの送信](#ri-exchange-process)を参照してください。

## 交換リクエストの送信
<a name="ri-exchange-process"></a>

コンバーティブルリザーブドインスタンスは交換できます。交換されたリザーブドインスタンスは廃止されます。

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

**コンバーティブルリザーブドインスタンスを交換するには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. [**リザーブドインスタンス**] を選択し、交換する コンバーティブルリザーブドインスタンス を選び、[**アクション**]、[**リザーブドインスタンス の交換**] の順に選択してください。

1. 対象となる設定の属性を選択し、[**提供タイプの検索**] をクリックしてください。

1. 新しい コンバーティブルリザーブドインスタンス を選択してください。画面の下部に、交換のために受け取った リザーブドインスタンスの番号と追加コストが表示されます。

1. 必要に応じて コンバーティブルリザーブドインスタンス を選択したら、[**確認**] をクリックしてください。

1. [**交換**]、[**閉じる**] の順にクリックしてください。

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

**コンバーティブルリザーブドインスタンスを交換するには**

1. [describe-reserved-instances-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-offerings.html) コマンドを使用して、ニーズを満たす新しいコンバーティブルリザーブドインスタンスを見つけます。

1. [get-reserved-instances-exchange-quote](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-reserved-instances-exchange-quote.html) コマンドを使用して、交換の見積りを取得します。これには、交換で受け取るリザーブドインスタンスの数と交換時の差額の起案額が含まれています。

1. [accept-reserved-instances-exchange-quote](https://docs.aws.amazon.com/cli/latest/reference/ec2/accept-reserved-instances-exchange-quote.html) コマンドを使用して、交換を実行します。

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

**コンバーティブルリザーブドインスタンスを交換するには**

1. [Get-EC2ReservedInstancesOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesOffering.html) コマンドレットを使用して、ニーズを満たす新しいコンバーティブルリザーブドインスタンスを見つけます。

1. [GetEC2-ReservedInstancesExchangeQuote](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesExchangeQuote.html) コマンドレットを使用して、交換の見積りを取得します。これには、交換で受け取るリザーブドインスタンスの数と交換時の差額の起案額が含まれています。

1. [Approve-EC2ReservedInstancesExchangeQuote](https://docs.aws.amazon.com/powershell/latest/reference/items/Approve-EC2ReservedInstancesExchangeQuote.html) コマンドレットを使用して、交換を実行します

------

# リザーブドインスタンスのクォータ
<a name="ri-limits"></a>

毎月新しいリザーブドインスタンスを購入できます。毎月購入できる新しいリザーブドインスタンスの数は次のように 1 か月ごとのクォータによって決まります。


****  

| クォータの説明 | デフォルトのクォータ | 
| --- | --- | 
|  新しい[リージョンレベルの](apply_ri.md#apply-regional-ri)リザーブドインスタンス  | リージョンあたり 20/月 | 
|  新しい[ゾーンレベルの](apply_ri.md#apply-zonal-ri)リザーブドインスタンス  | アベイラビリティーゾーンあたり 20/月 | 

例えば、3 つのアベイラビリティーゾーンがあるリージョンではデフォルトのクォータは 1 か月あたり 80 個の新規リザーブドインスタンスとなります。これは次のように計算されます。
+ リージョンの 20 個のリージョンレベルのリザーブドインスタンス
+ さらに 60 個のゾーンレベルのリザーブドインスタンス (3 つのアベイラビリティーゾーン用に 20 個ずつ)

`running` 状態のインスタンスはクォータにカウントされます。`pending`、`stopping`、`stopped`、および `hibernated` 状態のインスタンスはクォータにはカウントされません。

## 購入したリザーブドインスタンスの数を表示する
<a name="view-number-of-purchased-reserved-instances"></a>

購入するリザーブドインスタンスの数は**[Instance count]** (インスタンス数) フィールド (コンソール) または `InstanceCount` パラメータ (AWS CLI) によって示されます。新しいリザーブドインスタンスを購入すると、クォータはインスタンスの総数に照らして測定されます。例えば、インスタンス数が 10 個のリザーブドインスタンス設定を 1 つ購入した場合、その購入はクォータに対して 1 ではなく 10 としてカウントされます。

Amazon EC2 または AWS CLI を使用して、購入したリザーブドインスタンスの数を確認できます。

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

**購入したリザーブドインスタンスの数を表示するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Reserved Instances**] を選択してください。

1. テーブルからリザーブドインスタンス設定を選択し、**[Instance count]** (インスタンス数) フィールドを確認します。

   次のスクリーンショット内の選択されている行は`t3.micro` インスタンスタイプの単一のリザーブドインスタンス設定を表しています。テーブルビューの **[Instance count]** (インスタンス数) 列と詳細ビューの **[Instance count]** (インスタンス数) フィールド (スクリーンショット参照) はこの設定に 10 個のリザーブドインスタンスがあることを示しています。  
![\[この画像はAmazon EC2 コンソールの [Reserved Instances] (リザーブドインスタンス) の画面を示しています。スクリーンショットには[Instance count] (インスタンス数) フィールドが示されています。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ri-instance-count.png)

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

**購入したリザーブドインスタンスの数を表示するには**  
[ describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) CLI コマンドを使用して、リザーブドインスタンス設定の ID を指定します。

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

以下は出力の例です。`InstanceCount` フィールドはこの設定用に 10 個のリザーブドインスタンスがあることを示しています。

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

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

**購入したリザーブドインスタンスの数を表示するには**  
[Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) コマンドレットを使用して、リザーブドインスタンス設定の ID を指定します。

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

以下は出力の例です。`InstanceCount` フィールドはこの設定用に 10 個のリザーブドインスタンスがあることを示しています。

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

------

## 考慮事項
<a name="ri-quota-considerations"></a>

リージョン リザーブドインスタンス ではオンデマンドインスタンス の実行に割引が適用されます。デフォルトの オンデマンドインスタンス の制限は 20 です。リージョン オンデマンドインスタンス を購入すると、リザーブドインスタンス の実行制限を超えることはできません。例えば、すでに オンデマンドインスタンス を 20 回実行していて、20 のリージョン リザーブドインスタンス を購入した場合、20 のリージョン リザーブドインスタンス には 20 回の オンデマンドインスタンス の実行に割引が適用されます。さらに多くのリージョン リザーブドインスタンス を購入した場合はオンデマンドインスタンス の制限に達しているため、さらにインスタンスを起動することはできません。

リージョン リザーブドインスタンス を購入する前に、オンデマンドインスタンス の制限数が所有する予定のリージョン リザーブドインスタンス の数に一致するかそれを超えることを確認してください。必要に応じて、さらにリージョン リザーブドインスタンス を購入*する前に* オンデマンドインスタンス の制限数の増加を依頼してください。

ゾーンレベルのリザーブドインスタンス (特定のアベイラビリティーゾーンで購入されたリザーブドインスタンス) はキャパシティ予約と割引を提供します。ゾーン リザーブドインスタンス を購入することで、実行中の オンデマンドインスタンス の制限を超えることが*できます*。例えば、すでに 20 の オンデマンドインスタンス を実行していて、20 のゾーン リザーブドインスタンス を購入した場合はゾーン リザーブドインスタンス の仕様に一致する 20 の オンデマンドインスタンス をさらに起動して、合計 40 実行インスタンスを実行できます。

## リザーブドインスタンスのクォータを表示してクォータの引き上げをリクエストする
<a name="view-ri-quotas"></a>

Amazon EC2 コンソールでクォータ情報を確認できます。クォータの引き上げをリクエストすることもできます。詳細については[現在の制限を表示するには](ec2-resource-limits.md#view-limits)および[引き上げのリクエスト](ec2-resource-limits.md#request-increase)を参照してください。

# スポットインスタンス
<a name="using-spot-instances"></a>

スポットインスタンスは休止中の EC2 キャパシティーを使用するインスタンスで、オンデマンド価格より低料金で利用できます。スポットインスタンスでは未使用の EC2 インスタンスを大幅な割引価格でリクエストできるため、Amazon EC2 のコストを大幅に削減できます スポットインスタンスの時間料金はスポット料金と呼ばれます。各アベイラビリティーゾーンにおける各インスタンスタイプのスポット料金はAmazon EC2 によって設定され、スポットインスタンス の長期的な需給に基づいて徐々に調整されます。スポットインスタンスはキャパシティが利用可能なときに、いつでも実行されます。

スポットインスタンス はアプリケーションを実行する時間に柔軟性がある場合や、アプリケーションを中断できる場合に、費用効率の高い選択肢です。例えば、スポットインスタンス はデータ分析、バッチジョブ、バックグラウンド処理、およびオプションタスクに適しています。詳細については[Amazon EC2スポットインスタンス](https://aws.amazon.com/ec2/spot/)を参照してください。

EC2 インスタンスのさまざまな購入オプションの比較については「[Amazon EC2 の請求および購入オプション](instance-purchasing-options.md)」を参照してください。

## 概念
<a name="spot-features"></a>

スポットインスタンスを使用するときは事前に以下の概念を理解しておく必要があります。
+ スポットキャパシティープール – インスタンスタイプ (`m5.large` など) とアベイラビリティーゾーンが同一で、使用されていない EC2 インスタンスのセットです。
+ *スポット料金* – スポットインスタンスの現在の料金です (時間あたり)。
+ *スポットインスタンスリクエスト* – スポットインスタンスに対するリクエストです。キャパシティーが利用可能になると、Amazon EC2 がリクエストを実行します。スポットインスタンスリクエストには*ワンタイム*と*永続*の2種類があります。リクエストに関連付けられたスポットインスタンスが中断された後、Amazon EC2 は永続的スポットインスタンスリクエストを自動的に再送信します。
+ *EC2 インスタンスの再調整に関する推奨事項* – Amazon EC2 は、スポットインスタンスにおいて中断のリスクが高まったことをユーザーに通知するために、インスタンスの再調整に関する推奨事項シグナルを送信します。このシグナルにより、スポットインスタンスで中断 2 分前の通知が発信されていなくても、ユーザーは既存の、または新しいスポットインスタンスについて、前もってワークロードを再調整することができます。
+ *スポットインスタンスの中断* – Amazon EC2 が容量を戻してもらう必要がある場合にはAmazon EC2 はスポットインスタンスを終了、停止、または休止状態にします。Amazon EC2 はスポットインスタンスが中断される 2 分前に、そのインスタンスに対し中断を警告するための通知を送信します。

## スポットインスタンスとオンデマンドインスタンスの違い
<a name="key-differences-spot-on-demand"></a>

次の表はスポットインスタンスと[オンデマンドインスタンス](ec2-on-demand-instances.md)の主な違いをまとめたものです。


|  | Spot Instances | On-Demand Instances | 
| --- | --- | --- | 
|  作成時刻  |  スポットインスタンスリクエストがアクティブであり、利用可能なキャパシティーがある場合に限り即時に起動できます。  |  手動で起動リクエストを実行し、容量が利用可能である場合に限り、即時に起動できます。  | 
|  使用可能な容量  |  利用可能なキャパシティ－がない場合、スポットインスタンスリクエストはキャパシティ－が利用可能になるまで継続して自動的に起動リクエストを実行します。  |  起動リクエストを行うときに容量が利用可能でない場合は容量不足エラー (ICE) が表示されます。  | 
|  時間料金  |  スポットインスタンスの 1 時間単位の使用料金は長期的な需要と供給に基づいて変化します。  |  オンデマンドインスタンス の時間単位の使用料金は固定です。  | 
| 再調整に関する推奨事項 | 実行中のスポットインスタンスにおいて中断のリスクが高まった場合に、Amazon EC2 はそのインスタンスに対してシグナルを発します。 | お客様はいつオンデマンドインスタンスが中断 (停止、休止、または終了) されるかを決定します。 | 
|  インスタンスの中断  |  ユーザーはAmazon EBS-backed スポットインスタンスを停止および開始することができます。さらに、キャパシティーが利用できなくなった場合、Amazon EC2 は個々のスポットインスタンスを[中断](spot-interruptions.md)することができます。  |  お客様はいつオンデマンドインスタンスが中断 (停止、休止、または終了) されるかを決定します。  | 

## 料金と削減額
<a name="spot-pricing"></a>

スポットインスタンス はスポット料金で課金されます。これは Amazon EC2 によって設定され、スポットインスタンス の長期供給と需要に基づいて徐々に調整されます｡ スポットインスタンス はお客様が自らスポットインスタンスを終了するか、容量が使用できなくなるか、[スケールイン](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in)時に Amazon EC2 Auto Scaling グループのインスタンスが削除されるまで実行されます。

ユーザー または Amazon EC2 が実行中のスポットインスタンスを中断した場合、使用しているオペレーティングシステムおよび中断したユーザーに応じて、使用した秒数または時間数の料金が請求されます (料金が発生しない場合もあります)。詳細については「[中断された スポットインスタンス の請求](billing-for-interrupted-spot-instances.md)」を参照してください。

スポットインスタンスは Savings Plans の対象外です。Savings Plans をお持ちの場合、スポットインスタンスの使用によって既に取得している割引に対する追加の割引は提供されません。さらに、スポットインスタンスへの支出ではCompute Savings Plans のコミットメントは適用されません。

### 料金の表示
<a name="spot-pricing-view-prices"></a>

AWS リージョン およびインスタンスタイプごとに、現在の (5 分ごとに更新される) 最低スポット料金を確認するには[Amazon EC2 スポットインスタンスの料金](https://aws.amazon.com/ec2/spot/pricing/)ページを参照してください。

過去 3 か月間のスポット価格の履歴を表示するにはAmazon EC2 コンソールを使用するか、 [describe-spot-price-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-price-history.html) コマンド () を使用します。詳細については「[スポットインスタンスの料金履歴の表示](using-spot-instances-history.md)」を参照してください。

AWS アカウント ごとに、個々のアベイラビリティーゾーンがコードにマッピングされます。したがって、アカウント間で同じアベイラビリティーゾーンコード (例えば、`us-west-2a`) に対して結果が異なる場合があります。

### 削減額の表示
<a name="spot-pricing-view-savings"></a>

スポットインスタンスを 1 つの[スポットフリート](Fleets.md)またはすべてのスポットインスタンスに対して使用することで得られる節約額を確認できます。過去 1 時間または過去 3 日間の削減状況を表示でき、vCPU 時間あたりの平均コストとメモリ (GiB) 時間あたりの平均コストも確認できます。削減額が予想されますが、使用状況に対する請求の調整が含まれていないため、実際の削減額と異なる場合があります。削減額情報の表示の詳細については[スポットインスタンス 購入による削減額](spot-savings.md)を参照してください。

### 請求書の表示
<a name="spot-pricing-view-billing"></a>

請求書にはサービスの使用量に関する詳細が記載されています。詳細については*AWS Billing ユーザーガイド*の[請求書の表示](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/getting-viewing-bill.html)を参照してください。

# Amazon EC2 スポットのベストプラクティス
<a name="spot-best-practices"></a>

Amazon EC2 ではスポットインスタンスを利用して AWS クラウド にある予備の EC2 コンピューティングキャパシティにアクセスし、オンデマンド料金に比べて最大 90% のコストを節約できます。オンデマンドインスタンスとスポットインスタンスの違いはAmazon EC2 がキャパシティを再要求する必要がある場合に、Amazon EC2 がスポットインスタンスを中断できることだけです。中断の際には2 分前に通知があります。スポットインスタンスで快適なエクスペリエンスを得るにはスポットインスタンスを使用するためのベストプラクティスを理解して適用することが重要です。

スポットインスタンス はステートレスかつフォールトトレラントで、柔軟性の高いアプリケーションに適しています。例えば、 スポットインスタンス はビッグデータ、コンテナ化されたワークロード、CI/CD、ステートレスウェブサーバー、ハイパフォーマンスコンピューティング (HPC)、レンダリングワークロードに適しています。

実行中、 スポットインスタンス は オンデマンドインスタンス とまったく同じ動作をします。ただし、スポットはワークロードが完了するまで十分な期間、実行中のインスタンスが動作し続けることを保証するものではありません。また、スポットは必要としているインスタンスをすぐに取得できること、またはリクエストした総容量がいつでも取得できることを保証するものではありません。さらに、スポットインスタンスの可用性は需要と供給によって変化し、将来のパフォーマンスが過去の実績により保証されるものではないため、スポットインスタンスの容量や発生する中断は時間の経過とともに変化する可能性があります。

スポットインスタンス は柔軟性がない、ステートフル、フォールトイントレラント、またはインスタンスノード間で緊密に結合されているワークロードには適していません。また、ターゲットキャパシティが完全に使用できない期間が時折あることが許容されないワークロードにはスポットインスタンスは推奨されません。スポットのベストプラクティスに従ってインスタンスタイプとアベイラビリティーゾーンに柔軟性を持たせることで、高可用性を実現できますが、オンデマンドインスタンスの需要が急増するとスポットインスタンスのワークロードが中断される可能性があるため、容量が使用可能になる保証はありません。

こうしたワークロードにスポットインスタンスを使用したり、中断や停止期間を処理するためにオンデマンドインスタンスへのフェールオーバーを試みたりしないよう、強く勧告します。オンデマンドインスタンスにフェイルオーバーすると、他のスポットインスタンスの中断が誤って発生する可能性があります。さらに、インスタンスタイプとアベイラビリティーゾーンの組み合わせのスポットインスタンスが中断された場合、同じ組み合わせでオンデマンドインスタンスを取得することが困難になる可能性があります。

スポットの使用に慣れている場合でも、スポットインスタンスを使い始めたばかりの場合でも、スポットインスタンスの中断や可用性に関する問題が発生している場合にはスポットサービスを最大限に活用できるよう、これらのベストプラクティスに従うことをお勧めします。

**Topics**
+ [

## 中断に備えて個々のインスタンスを準備する
](#prep-instances-for-interruptions)
+ [

## インスタンスタイプとアベイラビリティーゾーンについて柔軟に対応する
](#be-instance-type-flexible)
+ [

## 属性ベースのインスタンスタイプの選択を使用する
](#use-attribute-based-instance-type-selection)
+ [

## スポットプレースメントスコアを使用して最適なリージョンとアベイラビリティーゾーンを特定する
](#use-spot-placement-scores-to-identify-optimal-regions-and-availability-zones)
+ [

## EC2 Auto Scaling グループまたは EC2 フリートを使用して総容量を管理する
](#use-sf-asg-for-aggregate-capacity)
+ [

## 価格と容量を最適化する配分戦略を使用する
](#use-capacity-optimized-allocation-strategy)
+ [

## 統合された AWS のサービスを使用して スポットインスタンス を管理する
](#use-integrated-aws-services)
+ [

## 使用すべき最適なスポットリクエスト方法はどれですか?
](#which-spot-request-method-to-use)

## 中断に備えて個々のインスタンスを準備する
<a name="prep-instances-for-interruptions"></a>

スポットインスタンスの中断を適切に処理する最善の方法は耐障害性のあるアプリケーションを設計することです。これを実現するためにはEC2 インスタンスの再調整に関する推奨事項、ならびにスポットインスタンスの中断通知を利用できます。

EC2 インスタンスの再調整に関するレコメンデーションはスポットインスタンスで中断のリスクが高まった場合に通知するためのシグナルです。ユーザーはこのシグナルにより、スポットインスタンスの中断 2 分前の通知が届いていない段階で、事前にスポットインスタンスの管理を行えます。ワークロードを、中断のリスクが高くない新規または既存の スポットインスタンス に再調整することができます。このシグナルはAuto Scaling グループと EC2 フリートの容量の再分散機能を使うことで簡単に利用できます。

スポットインスタンスの中断通知はAmazon EC2 がスポットインスタンスを中断する 2 分前に発行される警告です。ワークロードに「時間の面での柔軟性」がある場合は中断が発生した際にそれを終了するのではなく、停止または休止状態になるようにスポットインスタンスを設定することができます。Amazon EC2 は中断が発生したスポットインスタンスを自動的に停止または休止状態にし、使用可能な容量が確保できた際にはそのインスタンスを自動的に再開します。

再調整に関する推奨事項と中断通知をキャプチャし、ワークロードの進行状況のチェックポイントをトリガーするか、中断を適切に処理するルールを [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/index.html) で作成することをお勧めします。詳細については[再調整に関する推奨事項シグナルのモニタリング](rebalance-recommendations.md#monitor-rebalance-recommendations)を参照してください。イベントルールの作成および使用方法の詳細な例については[Taking Advantage of Amazon EC2 スポットインスタンスInterruption Notices](https://aws.amazon.com/blogs/compute/taking-advantage-of-amazon-ec2-spot-instance-interruption-notices/)を参照してください。

詳細については[EC2 インスタンスの再調整に関する推奨事項](rebalance-recommendations.md)および[スポットインスタンスの中断。](spot-interruptions.md)を参照してください。

## インスタンスタイプとアベイラビリティーゾーンについて柔軟に対応する
<a name="be-instance-type-flexible"></a>

スポットキャパシティープールは同じインスタンスタイプ (`m5.large` など) とアベイラビリティーゾーン (us-east-1a など) を持つ、未使用の EC2 インスタンスのセットです。どのインスタンスタイプをリクエストし、どのアベイラビリティーゾーンでワークロードをデプロイするか柔軟に対応することで、スポットが必要な量のコンピューティング性能を見つけ、割り当てられる可能性が高くなります。例えば、c4、m5、m4 ファミリのラージを使用してもよいのであれば、 `c5.large` を指定する必要はないということです。

具体的なニーズに応じて、コンピューティング要件を満たすためにどのインスタンスタイプを使用できるか評価できます。ワークロードを垂直にスケーリングできる場合はより大きいインスタンスタイプ (vCPU とメモリが多い) をリクエストに含めてください。水平にしかスケーリングできない場合はオンデマンドの顧客からの需要が少ない、旧世代のインスタンスタイプを含めることをお勧めします。

一般的に、ワークロードごとに少なくとも 10 種類のインスタンスタイプに柔軟に対応できれば十分です。さらに、すべてのアベイラビリティーゾーンが VPC で使用するように設定され、ワークロード用に選択されていることを確認してください。

## 属性ベースのインスタンスタイプの選択を使用する
<a name="use-attribute-based-instance-type-selection"></a>

属性ベースのインスタンスタイプの選択では実行するワークロードに応じて vCPU、メモリ、ストレージなどのインスタンス属性を指定できます。EC2 Auto Scaling または EC2 フリートが、指定の属性に一致するインスタンスを自動的に特定して起動します。これで、特定のインスタンスタイプを手動で選択する手間が省けます。手動で選択するには各インスタンスタイプが提供するサービスについて深い知識が求められます。

また、属性ベースのインスタンスタイプの選択を使用した場合はインスタンスタイプが新規にリリースされたら自動的に使用できるようになります。これにより、ますます幅広いスポットインスタンスキャパシティにシームレスにアクセスできるようになります。

属性ベースのインスタンスタイプの選択は実行先のインスタンスタイプに柔軟に対応できるワークロードとフレームワークに理想的です。例えば、ハイパフォーマンスコンピューティング (HPC) やビッグデータワークロードなどです。

詳細については「*Amazon EC2 Auto Scaling ユーザーガイド*」の「[Create mixed instances group using attribute-based instance type selection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html)」およびこのガイドの「[EC2 フリートまたはスポットフリートのインスタンスタイプを選択するための属性を指定する](ec2-fleet-attribute-based-instance-type-selection.md)」を参照してください。

## スポットプレースメントスコアを使用して最適なリージョンとアベイラビリティーゾーンを特定する
<a name="use-spot-placement-scores-to-identify-optimal-regions-and-availability-zones"></a>

スポットインスタンスは未使用の EC2 キャパシティであり、このキャパシティは EC2 の需要と供給に基づいて変動します。このため、特定の時間に特定の場所で必要になるスポットキャパシティをいつでも正確に取得できるとは限りません。この予測不能性を軽減するために、スポットプレースメントスコア機能を使用できます。これはスポットキャパシティのニーズを満たせるだけの十分なキャパシティがある可能性が高いリージョンまたはアベイラビリティーゾーンを推奨する機能です。そうしたロケーションで先にスポットインスタンスを起動しておく必要はありません。

スポットプレースメントスコアはインスタンスタイプとそのタイプで使用可能なリージョンやアベイラビリティーゾーンに柔軟に対応できるワークロードで使用するのに最適です。そのために必要なのは必要とするスポットキャパシティ、インスタンスタイプ要件、およびリージョンやアベイラビリティーゾーンの推奨が必要かどうかを指定することだけです。これらを指定すると、リージョンまたはアベイラビリティーゾーンごとに 1～10 のスコアが返されます。スコアはリクエストしたスポットキャパシティを目的のロケーションに正常にプロビジョニングできる可能性を示します。スコア 10 はスポットリクエストが正常に処理される可能性が非常に高いことを示します。

キャパシティは時間の経過と共に変動するため、スポットプレースメントスコアはあくまでもその時点での推奨であることに留意してください。キャパシティの可用性を保証するものでも、中断のリスクを予測するものでもありません。

スポットプレースメントスコア機能はAmazon EC2 コンソール、AWS CLI、または SDK で使用できます。詳細については「[スポットプレイスメントスコア](spot-placement-score.md)」を参照してください。

## EC2 Auto Scaling グループまたは EC2 フリートを使用して総容量を管理する
<a name="use-sf-asg-for-aggregate-capacity"></a>

スポットを使用すると、個々のインスタンスの観点からではなく、総容量 (vCPUs、メモリ、ストレージ、またはネットワークスループットなどの単位) の観点から検討することが可能になります。Auto Scaling グループと EC2 フリートはターゲットキャパシティの起動および維持のために使用できます。これにより、中断されたり手動で終了されたりしたリソースを置き換えるリソースを自動的に要求できます。Auto Scaling グループまたは EC2 フリートを設定する際にはアプリケーションのニーズに基づいてインスタンスタイプとターゲットキャパシティを指定するだけで済みます。詳細については[Amazon EC2 Auto Scaling ユーザーガイド](https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html) の *Auto Scaling グループ*およびこのユーザーガイドの [EC2 フリートの作成](create-ec2-fleet.md) をご参照ください。

## 価格と容量を最適化する配分戦略を使用する
<a name="use-capacity-optimized-allocation-strategy"></a>

Auto Scaling グループの配分戦略を使えば、予備容量を持つスポットキャパシティープールを手動で探す必要なく、ターゲット容量をプロビジョニングできます。最も安い価格で最も利用性の高いスポットキャパシティープールからインスタンスが自動的にプロビジョニングされる、`price-capacity-optimized` 戦略を使用することをお勧めします。また、EC2 フリートの `price-capacity-optimized` 配分戦略も活用できます。最適な容量を持つプールからスポットインスタンス容量が供給されるため、使用しているスポットインスタンスが再要求される可能性は低くなります。配分戦略の詳細についてはこのユーザーガイドの[ワークロードの中断コストが高い場合](ec2-fleet-allocation-strategy.md#ec2-fleet-strategy-capacity-optimized)および *Amazon EC2 Auto Scaling ユーザーガイド*の[スポットインスタンス](https://docs.aws.amazon.com/autoscaling/ec2/userguide/allocation-strategies.html)を参照してください。

## 統合された AWS のサービスを使用して スポットインスタンス を管理する
<a name="use-integrated-aws-services"></a>

他の AWS のサービスは個々のインスタンスやフリートを管理する必要なく、全体的なコンピューティングコストを削減できるよう、スポットと統合されています。該当するワークロードの場合、Amazon EMR、Amazon Elastic Container Service、AWS Batch、Amazon Elastic Kubernetes Service、Amazon SageMaker AI、AWS Elastic Beanstalk、Amazon GameLift Servers の各ソリューションを検討することをお勧めします。これらのサービスでのスポットベストプラクティスの詳細については[Amazon EC2 スポットインスタンス Workshops Website](https://ec2spotworkshops.com/) を参照してください。

## 使用すべき最適なスポットリクエスト方法はどれですか?
<a name="which-spot-request-method-to-use"></a>

次の表を使用して、スポットインスタンスをリクエストする際に使用する API を決定します。


****  

| API | どのようなときに使うか? | ユースケース | この API を使うべきか? | 
| --- | --- | --- | --- | 
|  [CreateAutoScalingGroup](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CreateAutoScalingGroup.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  必要な数のインスタンスを維持しながら、インスタンスのライフサイクルを管理する Auto Scaling グループを作成します。指定した最小値と最大限度の間の水平スケーリング (インスタンスの追加) をサポートします。  | はい | 
| [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  インスタンスタイプ別、AMI 別、アベイラビリティーゾーン別、またはサブネット別で異なる、複数の起動条件を指定し、オンデマンドインスタンスとスポットインスタンス両方のフリートを 1 回のリクエストで作成します。スポットインスタンスの割り当てストラテジーのデフォルトはユニットあたりの `lowest-price` ですが、`price-capacity-optimized`、`capacity-optimized` または `diversified` に変更可能です。  |  はい - 自動スケーリングを必要としない場合は `instant` モード。  | 
| [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  AMI と 1 つのインスタンスタイプを使用して、指定した数のインスタンスを起動します。  |  いいえ - RunInstances は1 回のリクエストで複数のインスタンスタイプを許可しないため。  | 
| [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  使用しません。RequestSpotFleet は計画投資のないレガシー API です。  | いいえ | 
| [RequestSpotInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  使用しません。RequestSpotInstances は計画投資のないレガシー API です。  | いいえ | 

# スポットインスタンス のしくみ
<a name="how-spot-instances-work"></a>

スポットインスタンスを起動するにはユーザーが*スポットインスタンスリクエスト*を作成します。またはAmazon EC2 が自動的にスポットインスタンスリクエストを作成することもできます。スポットインスタンスはスポットインスタンスリクエストが受理されると起動します。

スポットインスタンスはいくつかの異なるサービスを使用して起動できます。詳細については[Amazon EC2 スポットインスタンスの開始方法](https://aws.amazon.com/ec2/spot/getting-started/)を参照してください。このユーザーガイドではEC2 を使用してスポットインスタンスを起動する方法について説明します。
+ スポットインスタンスリクエストはAmazon EC2 コンソールの [インスタンス起動ウィザード](ec2-launch-instance-wizard.md) または [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用して作成できます。詳細については「[スポットインスタンスを管理する](using-spot-instances-request.md)」を参照してください。
+ EC2 フリートを作成して、必要な数のスポットインスタンスを指定することができます。Amazon EC2 はEC2 フリートで指定されているすべてのスポットインスタンスについて、ユーザーに代わってスポットインスタンスリクエストを作成します。詳細については[EC2 フリートの作成](create-ec2-fleet.md)を参照してください。
+ スポットフリートリクエストを作成し、必要な数のスポットインスタンスを指定することができます。Amazon EC2 はスポットフリートリクエストで指定されたスポットインスタンスごとに、ユーザーに代わってスポットインスタンスリクエストを作成します。詳細については「[スポットフリートを作成する](create-spot-fleet.md)」を参照してください。

空きキャパシティがある場合、スポットインスタンスが起動します。スポットインスタンスはユーザーにより停止または終了されるか、Amazon EC2 により中断 (*スポットインスタンスの中断*と呼ばれます) されるまで実行されます。Amazon EC2 はスポットインスタンスを中断する際に、そのインスタンスを停止、終了、または休止状態にすることができます。

スポットインスタンスを使用する場合には中断に備えておく必要があります。スポットインスタンスの需要が増加した場合や、スポットインスタンスの供給が減少した場合、Amazon EC2 がスポットインスタンスを中断する可能性があります。Amazon EC2 によりスポットインスタンスが中断される際にはスポットインスタンスの中断通知が送信されます。それによりインスタンスに対して、Amazon EC2 による中断が発生する 2 分前の警告が提供されます。スポットインスタンス の削除保護を有効にすることはできません。詳細については「[スポットインスタンスの中断。](spot-interruptions.md)」を参照してください。

**Topics**
+ [

## スポットインスタンスリクエストの状態
](#creating-spot-request-status)
+ [

## 起動グループでの スポットインスタンス の起動
](#spot-launch-group)
+ [

## アベイラビリティーゾーングループでの スポットインスタンス の起動
](#spot-az-group)
+ [

## VPC での スポットインスタンス の起動
](#concepts-spot-instances-vpcs)
+ [

## バーストパフォーマンスインスタンスを起動する
](#burstable-spot-instances)
+ [

## シングルテナントハードウェアで起動する
](#spot-instance-tenancy)

## スポットインスタンスリクエストの状態
<a name="creating-spot-request-status"></a>

スポットインスタンスリクエストは次に示すいずれかの状態を取ります。
+ `open` – リクエストは受理されるまで待機状態です。
+ `active` – リクエストは受理されており、関連付けられたスポットインスタンスが存在します。
+ `failed` – リクエストの 1 つ以上のパラメータが正しくありません。
+ `closed` – スポットインスタンスは中断または終了されました。
+ `disabled` – スポットインスタンスがユーザーにより停止されました。
+ `cancelled` – このリクエストはユーザーによりキャンセルされたか、リクエストの有効期限が切れました。

次の図は リクエストの状態の遷移を示しています。遷移はリクエストのタイプ (ワンタイムまたは永続) によって異なります。

![\[スポットインスタンスリクエストの状態。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/spot_request_states.png)


ワンタイムスポットインスタンスリクエストはAmazon EC2 がスポットインスタンスを起動するか、リクエストの有効期限が切れるか、またはユーザーがリクエストをキャンセルするまでアクティブ状態を維持します。利用できるキャパシティがない場合、スポットインスタンスは終了し、スポットインスタンスのリクエストは終了します。

永続スポットインスタンスリクエストはリクエストが受理された後も、リクエストの有効期限が切れるかユーザーによりキャンセルされるまで、アクティブ状態を維持します。キャパシティを利用できない場合はスポットインスタンスが中断されます。インスタンスが中断された後に、キャパシティが再び利用可能になると、スポットインスタンスが開始 (停止している場合)、あるいは再開 (休止状態の場合) されます。スポットインスタンスは停止して、キャパシティを利用できるようになったとき再び開始することができます。スポットインスタンスが (停止状態にあるか実行状態にあるかに関係なく) 終了した場合にはスポットインスタンスリクエストが再び開かれ、Amazon EC2 により新しいスポットインスタンスが起動されます。詳細については[スポットインスタンスを停止する](using-spot-instances-request.md#stopping-a-spot-instance)、[スポットインスタンスを開始する](using-spot-instances-request.md#starting-a-spot-instance)、および[スポットインスタンスを終了する](using-spot-instances-request.md#terminating-a-spot-instance)を参照してください。

スポットインスタンスリクエストの状態と、起動済みのスポットインスタンスのステータスを追跡することができます。詳細については「[スポットインスタンスリクエストのステータスを取得する](spot-request-status.md)」を参照してください。

## 起動グループでの スポットインスタンス の起動
<a name="spot-launch-group"></a>

スポットインスタンスリクエストで起動グループを指定することによって、一連のスポットインスタンスのすべてが起動可能な場合にのみ、それらを起動するよう、Amazon EC2 に指示することができます。また、スポットサービスで、起動グループ内のインスタンスのいずれかを終了する必要がある場合、すべてのインスタンスを終了することが必要となります。ただし、お客様が起動グループ内の 1 つ以上のインスタンスを終了する場合、Amazon EC2 は起動グループ内のその他のインスタンスを終了しません。

このオプションは便利な場合もありますが、この制約を追加することによって、スポットインスタンスリクエストが受理される可能性は低くなるので、スポットインスタンスが終了される可能性が高まります。例えば、起動グループに複数のアベイラビリティーゾーンのインスタンスが含まれるとします。これらのアベイラビリティーゾーンのいずれかのキャパシティーが減少して使用できなくなった場合、Amazon EC2 は起動グループのすべてのインスタンスを終了します。

以前に成功したリクエストと同じ (既存の) 起動グループを指定することで、新たに正常なスポットインスタンスリクエストを作成する場合には新しいインスタンスがこの起動グループに追加されます。したがって、この起動グループ内のインスタンスが終了されると、起動グループ内のすべてのインスタンスが終了します。これには最初のリクエストと 2 番目リクエストによって起動されたすべてのインスタンスが含まれます。

## アベイラビリティーゾーングループでの スポットインスタンス の起動
<a name="spot-az-group"></a>

スポットインスタンスリクエストでアベイラビリティーゾーングループを指定し、そのアベイラビリティーゾーン内で一連のスポットインスタンスを起動するように Amazon EC2 に指示します。Amazon EC2 はアベイラビリティーゾーングループのすべてのインスタンスを同時に中断する必要はありません。Amazon EC2 がアベイラビリティーゾーングループ内のいずれかのインスタンスを中断する場合、他のインスタンスはそのまま実行されます。

このオプションは便利な場合もありますが、この制約を追加することによって、スポットインスタンスリクエストが受理される可能性は低くなります。

アベイラビリティーゾーングループを指定したものの、スポットインスタンスリクエストでアベイラビリティーゾーンを指定していない場合の結果は使用するネットワークによって異なります。

**デフォルト VPC**  
Amazon EC2 は指定されたサブネットのアベイラビリティーゾーンを使用します。サブネットを指定しなかった場合はアベイラビリティーゾーンとそのデフォルトのサブネットが選択されますが、最低価格のゾーンではない可能性があります。アベイラビリティーゾーンのデフォルトのサブネットを削除した場合は別のサブネットを指定する必要があります。

**デフォルトではない VPC**  
Amazon EC2 は指定されたサブネットのアベイラビリティーゾーンを使用します。

## VPC での スポットインスタンス の起動
<a name="concepts-spot-instances-vpcs"></a>

スポットインスタンス のサブネットを指定するのと同じ方法で、オンデマンドインスタンス のサブネットを指定します。
+ [デフォルトの VPC] 特定の低価格のアベイラビリティーゾーンでスポットインスタンスを起動したい場合には対応するサブネットをスポットインスタンスリクエスト内で指定する必要があります。サブネットを指定しなかった場合、Amazon EC2 によってサブネットが選択されますが、このサブネットのアベイラビリティーゾーンのスポット料金は最低ではない可能性があります。
+ [デフォルト以外の VPC] スポットインスタンスのサブネットを指定する必要があります。

## バーストパフォーマンスインスタンスを起動する
<a name="burstable-spot-instances"></a>

T インスタンスタイプは[バーストパフォーマンスインスタンス](burstable-performance-instances.md)です。バーストパフォーマンスインスタンスタイプを使用してスポットインスタンスを起動し、CPU クレジットを蓄積するアイドル時間なしでバーストパフォーマンススポットインスタンスをすぐに短時間使用する場合は支払いコストが高くなるのを避けるために、インスタンスを[標準モード](burstable-performance-instances-standard-mode.md)で起動することをお勧めします。バーストパフォーマンス スポットインスタンス を [Unlimited モード](burstable-performance-instances-unlimited-mode.md) で起動し、すぐに CPU をバーストさせると、余分なクレジットがバーストに消費されます。インスタンスを短時間使用する場合、インスタンスは余分なクレジットに見合うだけの CPU クレジットを蓄積する時間がないため、インスタンスの終了時に余分なクレジットに対して課金されます。

Unlimited モードがバーストパフォーマンス スポットインスタンス に適しているのはバースト用の CPU クレジットが蓄積されるまで、そのインスタンスが十分に長く実行される場合のみです。それ以外の場合は余分なクレジットを支払う必要があるため、バーストパフォーマンス スポットインスタンス は他のインスタンスよりも、使用コストが高くなります。詳細については「[Unlimited モードと固定 CPU を使用する場合](burstable-performance-instances-unlimited-mode-concepts.md#when-to-use-unlimited-mode)」を参照してください。

T2 インスタンスは[標準モード](burstable-performance-instances-standard-mode.md)で設定すると、[起動クレジット](burstable-performance-instances-standard-mode-concepts.md#launch-credits)を取得します。T2 インスタンスは起動クレジットを取得できる唯一のバーストパフォーマンスインスタンスです。起動クレジットはインスタンスを構成するために十分なコンピューティングリソースを提供し、T2 インスタンスの初期起動を効率的に実現することを意図しています。T2 インスタンスの起動を繰り返して新しい起動クレジットにアクセスすることは許可されていません。CPU が持続的に必要な場合、(一定期間のアイドリングにより) クレジットを獲得して T2 スポットインスタンス の [Unlimited モード](burstable-performance-instances-unlimited-mode.md)　を使用するか、専用 CPU を搭載したインスタンスタイプを使用します。

## シングルテナントハードウェアで起動する
<a name="spot-instance-tenancy"></a>

スポットインスタンスはシングルテナントのハードウェア上で実行できます。ハードウェア専有 スポットインスタンス は他の AWS アカウントに属するインスタンスからは物理的に分離されます。詳細については「[Amazon EC2 ハードウェア専有インスタンス](dedicated-instance.md)」および「[Amazon EC2 ハードウェア専有インスタンス](https://aws.amazon.com/ec2/pricing/dedicated-instances/)」を参照してください。

ハードウェア専有スポットインスタンスを使用するには次のいずれかを実行します。
+ スポットインスタンスリクエストを作成する際に、`dedicated` のテナンシーを指定します。詳細については[スポットインスタンスを管理する](using-spot-instances-request.md)を参照してください。
+ `dedicated` のインスタンステナンシーを持つ VPC 内で、スポットインスタンスをリクエストします。詳細については「[デフォルトのテナンシーで VPC に専有インスタンスを起動する](dedicatedinstancesintovpc.md)」を参照してください。インスタンステナンシーが `default` である VPC ではテナンシーが `dedicated` であるスポットインスタンスをリクエストすることはできません。

T インスタンスを除くすべてのインスタンスファミリーが、Dedicated スポットインスタンス をサポートしています。対象となるインスタンスファミリーにおいて、最大のインスタンスサイズまたはメタルサイズのみが、Dedicated スポットインスタンス をサポートします。

# スポットインスタンスの料金履歴の表示
<a name="using-spot-instances-history"></a>

スポットインスタンス料金は Amazon EC2 で設定され、スポットインスタンス容量に対する長期の需給傾向に基づいて緩やかに調整されます。

スポットリクエストが受理されると、オンデマンド料金を超えない現在のスポット料金で、スポットインスタンス が起動されます。インスタンスタイプ、オペレーティングシステム、アベイラビリティーゾーンでフィルタリングして、過去 90 日間のスポット料金履歴を表示できます。

*最新*のスポットインスタンス料金については[Amazon EC2 スポットインスタンスの料金](https://aws.amazon.com/ec2/spot/pricing/)を参照してください。

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

**スポット料金の履歴を表示するには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. ナビゲーションペインで、[**Spot Requests**] を選択してください。

1. [**料金設定履歴**] を選択してください。

1. **[グラフ]** で、料金履歴を**[アベイラビリティーゾーン]** 別に比較するか、または**[インスタンスタイプ]** 別に比較するかを選択してください。
   + **[アベイラビリティーゾーン]** を選択した場合は、料金履歴を表示する **[インスタンスタイプ]**、オペレーティングシステム (**[プラットフォーム]**)、および **[日付範囲]** を指定します。
   + **[インスタンスタイプ]** を選択した場合は、料金履歴を表示する **[インスタンスタイプ]** (最大 5 つ)、**[アベイラビリティーゾーン]**、オペレーティングシステム (**[プラットフォーム]**)、および **[日付範囲]** を指定します。

   次のスクリーンショットは異なるインスタンスタイプでの料金比較を示しています。  
![\[Amazon EC2 コンソールのスポットインスタンスの料金履歴ツール。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/spot-instance-pricing-history.png)

1. マウスのカーソル (ポインタ) をグラフ上に移動させると、選択した日付範囲の特定の時刻の料金が表示されます。料金はグラフの上にある情報ブロックに表示されます。一番上の行に表示される料金は特定の日付の料金を示します。2 行目に表示される料金は選択した日付範囲での平均料金です。

1. vCPU あたりの料金を表示するには[**正規化された料金を表示**] をオンにします。インスタンスタイプの料金を表示するには[**正規化された料金を表示**] をオフにします。

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

**スポット料金の履歴を表示するには**  
次の [describe-spot-price-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-price-history.html) コマンドを使用します。

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

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

**スポット料金の履歴を表示するには**  
[Get-EC2SpotPriceHistory](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotPriceHistory.html) コマンドレットを使用します。

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

------

# スポットインスタンス 購入による削減額
<a name="spot-savings"></a>

フリートあたりレベルの スポットインスタンス またはすべての実行中の スポットインスタンス に関する使用状況と削減額の情報を表示できます。フリートあたりのレベルでは使用状況と削減額の情報にフリートが起動および終了するすべてのインスタンスが含まれます。この情報は過去 1 時間または過去 3 日間から表示できます。

次の [**削減額**] セクションのスクリーンショットではスポットフリートでのスポットの使用状況、ならびに削減額の情報を示しています。

![\[[スポットフリートの詳細] ページの [削減額] セクション。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/spot-savings.png)


表示できる使用状況と削減額の情報は次のとおりです。
+ **スポットインスタンス** – スポットフリートによって起動および終了されたスポットインスタンスの数。削減額の要約を表示した場合、その数字は実行中のすべての スポットインスタンス を表します。
+ **vCPU-hours** – 選択した時間枠ですべての スポットインスタンス で使用される vCPU 時間数。
+ **Mem(GiB)-hours** – 選択した時間枠ですべての スポットインスタンス で使用される GiB 時間数。
+ **On-Demand total** – これらのインスタンスを オンデマンドインスタンス として起動した場合、選択した時間枠で支払った合計金額。
+ **Spot total** – 選択した時間枠で支払う合計金額。
+ **Savings** – オンデマンド価格を支払わないことで節約される割合。
+ **Average cost per vCPU-hour** – 選択した時間枠ですべての スポットインスタンス で vCPU を使用する 1 時間あたりの平均コスト。次の式で計算されます: **Average cost per vCPU-hour** = **Spot total** / **vCPU-hours**
+ **Average cost per mem(GiB)-hour** – 選択した時間枠ですべての スポットインスタンス で GiB を使用する 1 時間あたりの平均コスト。次の式で計算されます: **Average cost per mem(GiB)-hour** = **Spot total** / **Mem(GiB)-hours**
+ **詳細** テーブル – スポットフリートを構成するさまざまなインスタンスタイプ (括弧内はインスタンスタイプあたりのインスタンス数です)。削減額の要約を表示した場合、その数字は実行中のすべての スポットインスタンス から成ります。

削減額情報はAmazon EC2 コンソールからのみ表示できます。

**スポットフリートの割引情報を表示するには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. ナビゲーションペインで、[**Spot Requests**] を選択してください。

1. スポットフリートリクエストの ID を選択し、[**削減額**] セクションまでスクロールします。

   またはスポットフリートリクエスト ID の横にあるチェックボックスをオンにし、**[削減]** タブを選択してください。

1. デフォルトでは過去 3 日間の使用状況と削減額の情報が表示されます。[**last hour**] または [**last three days**] を選択できます。1 時間未満前に起動された スポットフリート の場合はその時間の削減見込み額が表示されます。

**実行中のすべてのスポットインスタンスの削減額情報を表示するには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. ナビゲーションペインで、[**Spot Requests**] を選択してください。

1. [**削減の概要**] をクリックしてください。

# スポットインスタンスリクエストを作成する
<a name="spot-requests"></a>

スポットインスタンスを使用するには希望するインスタンス数、インスタンスタイプ、アベイラビリティーゾーンを含む、スポットインスタンスリクエストを作成します。キャパシティが利用可能になると、Amazon EC2 がすぐにリクエストを受理します。それ以外の場合、Amazon EC2 はリクエストが受理できるようになるか、お客様がリクエストをキャンセルするまで待機します。

オンデマンドインスタンスを起動するのと同じ方法で、Amazon EC2 コンソールの [インスタンス起動ウィザード](ec2-launch-instance-wizard.md) または [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) マンドを使用してスポットインスタンスをリクエストできます。このメソッドは以下の理由でのみ推奨されます。
+ すでに [インスタンスの起動ウィザード](ec2-launch-instance-wizard.md) または [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用してオンデマンドインスタンスを起動しており、単一のパラメータを変更することでスポットインスタンスの起動に変更したいだけです。
+ 異なるインスタンスタイプを持つ複数のインスタンスは必要ありません。

複数のインスタンスタイプを指定することはできず、同じリクエストでスポットインスタンスとオンデマンドインスタンスを起動することはできないため、このメソッドは通常、スポットインスタンスの起動にはお勧めしません。複数のインスタンスタイプを持つスポットインスタンスとオンデマンドインスタンスを含む *フリート* の起動を含む、スポットインスタンスを起動するための推奨される方法については「[使用すべき最適なスポットリクエスト方法はどれですか?](spot-best-practices.md#which-spot-request-method-to-use)」を参照してください。

一度に複数のスポットインスタンスをリクエストした場合、 Amazon EC2 により個別のスポットインスタンスに対するリクエストが作成されるので、各リクエストのステータスを単独で追跡することが可能です。スポットインスタンスリクエストの追跡については[スポットインスタンスリクエストのステータスを取得する](spot-request-status.md)を参照してください。

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

**スポットインスタンスリクエストを作成する**

ステップ 1～9 はオンデマンドインスタンスの起動に使用するステップと同じです。ステップ 10 で、スポットインスタンスリクエストを設定します。

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. 画面上部のナビゲーションバーで、リージョンを選択してください。

1. Amazon EC2 コンソールダッシュボードで、[**インスタンスを起動**] を選択してください。

1. (オプション) **[Name and tags]** (名前とタグ) で、インスタンスに名前を付け、スポットインスタンス要求、インスタンス、ボリューム、および Elastic Graphics にタグを付けることができます。タグの詳細については[Amazon EC2 リソースのタグ付け](Using_Tags.md)を参照してください。

   1. **[Name]** (名前) に、インスタンスのわかりやすい名前を入力してください。

      インスタンス名はタグで、キーは **[Name]** (名前)、値は指定した名前です。名前を指定しない場合はインスタンスをその ID で識別できます。ID はインスタンスの起動時に自動的に生成されます。

   1. スポットインスタンスリクエスト、インスタンス、ボリューム、および Elastic Graphics にタグを付けするには**[Add additional tags]** (タグを追加) を選択してください。**[Add tag]** (タグを追加) を選択し、キーと値を入力し、タグ付けするリソースタイプを選択してください。追加するタグごとに **[Add tag]** (タグの追加) を選択してください。

1. **[Application and OS Images (Amazon マシンイメージ)]** (アプリケーションおよび OS イメージ (Amazon マシンイメージ)) で、インスタンスのオペレーティングシステム (OS) を選択してから、AMI を選択してください。詳細については「[アプリケーションと OS イメージ (Amazon マシンイメージ)](ec2-instance-launch-parameters.md#liw-ami)」を参照してください。

1. **[Instance type]** (インスタンスタイプ) で、インスタンスのハードウェア設定とサイズの要件を満たすインスタンスタイプを選択してください。詳細については「[インスタンスタイプ](ec2-instance-launch-parameters.md#liw-instance-type)」を参照してください。

1. **[Key pair (login)]** (キーペア (ログイン)) で、既存のキーペアを選択するか、**[Create new key pair]** (新しいキーペアを作成) を選択して新しいキーペアを作成します。詳細については「[Amazon EC2 のキーペアと Amazon EC2 インスタンス](ec2-key-pairs.md)」を参照してください。
**重要**  
[**Proceed without key pair**] (キーペアなしで進む) オプションを選択した場合 (非推奨)、ユーザーが別の方法でログインすることを許可するように設定された AMI を選択した場合でなければ、インスタンスに接続できなくなります。

1. **[Network settings]** (ネットワーク設定) で、デフォルト設定を使用するか、**[Edit]** (編集) を選択して必要に応じてネットワーク設定を構成します。

   セキュリティグループはネットワーク設定の一部を形成し、インスタンスのファイアウォールルールを定義します。このルールではどの着信ネットワークトラフィックをインスタンスに配信するかを指定します。

   詳細については「[ネットワーク設定](ec2-instance-launch-parameters.md#liw-network-settings)」を参照してください。

1. 選択した AMI にはルートデバイスボリュームを含む、1 つまたは複数のストレージボリュームが含まれます。**[Configure storage]** (ストレージの設定) で、**[Add new volume]** (新しいボリュームの追加) を選択して、インスタンスに接続する追加のボリュームを指定できます。詳細については「[ストレージの設定](ec2-instance-launch-parameters.md#liw-storage)」を参照してください。

1. **[Advanced details]** (高度な設定) で、スポットインスタンスリクエストを次のように設定します。

   1. **[購入オプション]** で、**[スポットインスタンスのリクエスト]** チェックボックスをオンにします。

   1. スポットインスタンスリクエストのデフォルト設定を維持するか、**[Customize]** (カスタマイズ) (右側) を選択して、スポットインスタンスリクエストのカスタム設定を指定できます。

      **[Customize]** (カスタマイズ) を選択すると、次のフィールドが表示されます。

      1. **[Maximum price]** (最大価格): スポット価格でスポットインスタンスをリクエストするか、オンデマンド価格を上限とするか、支払う金額の最大額を指定できます。
**警告**  
最大料金を指定すると、**[No maximum price]** (最大料金なし) を選択した場合よりもインスタンスが頻繁に中断されます。  
上限の料金を指定する場合は、0.001 USD 以上にする必要があります。0.001 USD 未満の値を指定すると、起動が失敗します。
         + **[No maximum price]** (最大価格なし): スポットインスタンスは現在のスポット価格で起動します。価格はオンデマンド価格を超えることはありません。(推奨)
         + **[Set your maximum price (per instance/hour)]** (最大価格を設定 (インスタンス / 時間あたり): 支払う意思のある最大金額を指定できます。
           + 現在のスポット価格よりも低い最大価格を指定すると、スポットインスタンスは起動しません。
           + 現在のスポット料金よりも高い最大料金を指定すると、スポットインスタンスが起動し、現在のスポット料金で請求されます。スポットインスタンスの実行後、スポット価格が最大価格を超えると、Amazon EC2 がスポットインスタンスを中断します。
           + 指定した上限料金にかかわらず、常に現在のスポット料金が請求されます。

           スポット料金の傾向を確認するには[スポットインスタンスの料金履歴の表示](using-spot-instances-history.md)を参照してください。

      1. **[Request type]** (リクエストタイプ): 選択したスポットインスタンスリクエストタイプによって、スポットインスタンスが中断された場合に何が発生するかが決まります。
         + **[One-time]** (ワンタイム): Amazon EC2 はスポットインスタンスに対して 1 回限りのリクエストを送信します。スポットインスタンスが中断された場合、リクエストは再送信されません。
         + **[Persistent request]** (永続リクエスト): Amazon EC2 はスポットインスタンスに対して永続リクエストを送信します。スポットインスタンスが中断された場合、要求は再送信され、中断されたスポットインスタンスを補充します。

         値を指定しない場合、デフォルトは1回限りのリクエストです。

      1. **[有効期間終了]**: *永続的な*スポットインスタンスリクエストの有効期限。

         このフィールドは1 回限りのリクエストではサポートされていません。*ワンタイム*リクエストは、リクエストのすべてのインスタンスが起動するか、ユーザーがリクエストをキャンセルするまで有効です。
         + **[No request expiry date]** (リクエストの有効期限なし): リクエストはキャンセルされるまで有効です。
         + **[Set your request expiry date]** (リクエストの有効期限を設定する): 永続的なリクエストは指定した日付まで、またはキャンセルするまで有効です。

      1. **[Interruption behavior]** (中断動作): 選択した動作によって、スポットインスタンスが中断されたときに何が起こるかが決まります。
         + 永続的なリクエストの場合、有効な値は **[Stop]** (停止) と **[Hibernate]** (休止) です。インスタンスが停止すると、EBS ボリュームストレージの料金が適用されます。
**注記**  
スポットインスタンスはオンデマンドインスタンスと同じ休止機能を使用するようになりました。休止を有効にするにはここで **[休止]** を選択するか、インスタンス起動ウィザードの下部に表示される **[停止 – 休止動作]** フィールドから **[有効化]** を選択してください。休止の前提条件については「[EC2 インスタンスの休止の前提条件](hibernating-prerequisites.md)」を参照してください。
         + ワンタイムリクエストの場合、**[Terminate]** (終了) のみが有効です。

         値を指定していない場合、デフォルトは **[Terminate]** (終了) になり、これは永続的なスポットインスタンスリクエストには無効です。デフォルトのままにして永続的なスポットインスタンスリクエストを起動しようとすると、エラーが発生します。

         詳細については「[スポットインスタンスの中断の動作](interruption-behavior.md)」を参照してください。

1. **[合計mary]** (概要) パネルの **[Number of instances]** (インスタンス数) に、起動するインスタンス数を入力してください。
**注記**  
Amazon EC2 が、スポットインスタンスごとに個別のリクエストを作成します。

1. **[合計mary]** (概要) パネルで、インスタンスの詳細を確認し、必要な変更を加えます。スポットインスタンスリクエストを送信した後はリクエストのパラメータを変更することはできません。**[合計mary]** (概要) パネルでリンクを選択すると、インスタンスの起動ウィザードのセクションに直接移動できます。詳細については「[概要](ec2-instance-launch-parameters.md#liw-summary)」を参照してください。

1.  インスタンスを起動する準備ができたら、**[Launch instance]** (インスタンスの起動) を選択してください。

   インスタンスが起動しないか、状態が `terminated` ではなくすぐに `running` になる場合は[Amazon EC2 インスタンスの起動に関する問題のトラブルシューティング](troubleshooting-launch.md)を参照してください。

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

**run-instances を使用してスポットインスタンスリクエストを作成するには**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用し、`--instance-market-options` パラメータでスポットインスタンスのオプションを次のように指定します。

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

JSON ファイルで指定するデータ構造は、次のとおりです。`ValidUntil`、および `InstanceInterruptionBehavior`、を指定することもできます。データ構造でフィールドを指定しないと、デフォルト値が使用されます。

次のサンプルでは`persistent` リクエストを作成します。

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

**request-spot-instances を使用してスポットインスタンスリクエストを作成するには**

**注記**  
[request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) コマンドを使用してスポットインスタンスをリクエストすることは強くお勧めしません。これは計画された投資がないレガシー API であるためです。詳細については「[使用すべき最適なスポットリクエスト方法はどれですか?](spot-best-practices.md#which-spot-request-method-to-use)」を参照してください。

ワンタイムリクエストを作成するには[request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) コマンドを使用します。

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

永続リクエストを作成するには[request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) を使用します。

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

以下のコマンドで使用する起動仕様ファイルの例については[スポットインスタンスリクエストでの起動仕様の例](spot-request-examples.md)を参照してください。起動仕様ファイルをスポットリクエストコンソールからダウンロードする場合は代わりに [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html) コマンドを使用する必要があります (スポットリクエストコンソールはスポットフリートを使用してスポットインスタンスリクエストを指定します)。

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

**スポットインスタンスリクエストを作成する**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) コマンドレットを使用し、`-InstanceMarketOption` パラメータを使ってスポットインスタンスオプションを指定します。

```
-InstanceMarketOptions $marketOptions
```

スポットインスタンスオプションのデータ構造を、次のように作成します。

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

------

# スポットインスタンスリクエストでの起動仕様の例
<a name="spot-request-examples"></a>

以下に、 スポットインスタンスリクエストを作成するための [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) コマンドで使用できる起動設定の例を示します。詳細については「[スポットインスタンスを管理する](using-spot-instances-request.md)」を参照してください。

**重要**  
[request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) コマンドを使用してスポットインスタンスをリクエストすることは強くお勧めしません。これは計画された投資がないレガシー API であるためです。詳細については「[使用すべき最適なスポットリクエスト方法はどれですか?](spot-best-practices.md#which-spot-request-method-to-use)」を参照してください。

**Topics**
+ [

## 例 1: スポットインスタンス の起動
](#spot-launch-specification1)
+ [

## 例 2: 指定したアベイラビリティーゾーンで スポットインスタンス を起動する
](#spot-launch-specification2)
+ [

## 例 3: 指定したサブネットで スポットインスタンス を起動する
](#spot-launch-specification3)
+ [

## 例 4: ハードウェア専有スポットインスタンスを起動する
](#spot-launch-specification4)

## 例 1: スポットインスタンス の起動
<a name="spot-launch-specification1"></a>

以下の例にはアベイラビリティーゾーンやサブネットは指定していません。Amazon EC2 によって自動的にアベイラビリティーゾーンが選択されます。Amazon EC2 は選択したアベイラビリティーゾーンのデフォルトのサブネットでインスタンスを起動します。

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

## 例 2: 指定したアベイラビリティーゾーンで スポットインスタンス を起動する
<a name="spot-launch-specification2"></a>

以下の例にはアベイラビリティーゾーンが含まれています。Amazon EC2 は指定したアベイラビリティーゾーンのデフォルトのサブネットでインスタンスを起動します。

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

## 例 3: 指定したサブネットで スポットインスタンス を起動する
<a name="spot-launch-specification3"></a>

次の例にはサブネットが含まれます。Amazon EC2 は指定されたサブネットでインスタンスを起動します。デフォルト以外の VPC である場合、インスタンスにはデフォルトでパブリック IPv4 アドレスは割り当てられません。

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

デフォルト以外の VPC である場合、インスタンスにパブリック IPv4 アドレスを割り当てるには以下の例に示しているように `AssociatePublicIpAddress` フィールドを指定します。ネットワークインターフェイスの指定時には上記のコードブロックに示している `SubnetId` および `SecurityGroupIds` フィールドではなく、ネットワークインターフェイスを使用して、サブネット ID およびセキュリティグループ ID を含める必要があります。

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

## 例 4: ハードウェア専有スポットインスタンスを起動する
<a name="spot-launch-specification4"></a>

次の例では`dedicated` のテナンシーを使用するスポットインスタンスをリクエストしています。ハードウェア専用スポットインスタンスはVPC 内で起動される必要があります。

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

# スポットインスタンスリクエストのステータスを取得する
<a name="spot-request-status"></a>

スポットインスタンスリクエストを追跡し、スポットインスタンスの使用を計画するにはAmazon EC2 によって提供されるリクエストステータスを使用します。例えば、リクエストステータスによって、スポットリクエストがまだ受理されていない理由や、スポットリクエストの受理を妨げている制約の一覧を確認できます。

このプロセスの各ステップ (スポットリクエストの*ライフサイクル*とも呼ばれる) では特定のイベントによって後続のリクエスト状態が決まります。

次の図にスポットインスタンスリクエストが動作する様子を示します。Amazon EC2がスポットインスタンスを中断した場合、あるいはユーザーがスポットインスタンスを停止した場合に、リクエストが再度開かれるかどうかはリクエストタイプ (ワンタイムまたは永続) によって決定されることに注意してください 。リクエストが永続リクエストの場合、スポットインスタンスの中断後、リクエストが再度開かれます。リクエストが永続的で、スポットインスタンスがユーザーにより停止された場合、リクエストはスポットインスタンスが開始されるまでは開かれません。

![\[スポットインスタンスリクエストの仕組み。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/spot_lifecycle.png)


**Topics**
+ [

## リクエストステータス情報の取得
](#get-spot-instance-request-status)
+ [

## スポットリクエストコード
](#spot-instance-request-status-understand)
+ [

## EC2 スポットインスタンスリクエストのフルフィルメントイベント
](#spot-request-fulfillment-event)
+ [

# スポットリクエストの状態変化
](spot-instances-request-status-lifecycle.md)

## リクエストステータス情報の取得
<a name="get-spot-instance-request-status"></a>

スポットインスタンスリクエストのステータス情報を取得できます。

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

**リクエストステータスの情報を取得するには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. ナビゲーションペインで、[**Spot Requests**] を選択し、スポットリクエストを選択してください。

1. ステータスを確認するには[**説明** ] タブの [ **ステータス**] フィールドをチェックします。

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

**リクエストステータスの情報を取得するには**  
次の [describe-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-instance-requests.html) コマンドを使用します。

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

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

**リクエストステータスの情報を取得するには**  
[Get-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotInstanceRequest.html) コマンドレットを使用します。

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

------

## スポットリクエストコード
<a name="spot-instance-request-status-understand"></a>

スポットリクエストステータス情報はステータスコード、更新時刻、およびステータスメッセージで構成されます。同時に、リクエスト入札ステータス情報はスポットリクエストの処理を決定する場合にも役に立ちます。

スポットリクエストステータスコードは次のとおりです。

`az-group-constraint`  
Amazon EC2 は同じアベイラビリティーゾーンでお客様が要求したインスタンスをすべて起動できるとは限りません。

`bad-parameters`  
スポットリクエストの 1 つ以上のパラメータが有効ではありません (例えば、指定した AMI が存在していません)。ステータスメッセージによって、どのパラメータが無効かを確認できます。

`canceled-before-fulfillment`  
スポットリクエストが受理される前にユーザーがスポットリクエストをキャンセルしました。

`capacity-not-available`  
要求したインスタンスに使用できる十分な容量が存在しません。

`constraint-not-fulfillable`  
1 つ以上の制約条件が有効ではないため、スポットリクエストを受理できません (例えば、アベイラビリティーゾーンが存在していません)。ステータスメッセージによって、どの制約条件が無効かを確認できます。

`fulfilled`  
スポットリクエストは `active` で、Amazon EC2 は スポットインスタンス を起動しています。

`instance-stopped-by-price`  
スポット料金が上限価格を超えたため、インスタンスは停止しました。

`instance-stopped-by-user`  
ユーザーがインスタンスを停止したか、インスタンスからシャットダウンコマンドを実行したために、インスタンスが停止されました。

`instance-stopped-no-capacity`  
EC2 の容量管理のニーズにより、インスタンスが停止されました。

`instance-terminated-by-price`  
スポット料金が上限価格を超えたため、インスタンスは削除されました。リクエストが永続入札の場合、プロセスが再開され、リクエストが評価保留となります。

`instance-terminated-by-schedule`  
スポットインスタンスはスケジュールされた期間の最後に終了されました。

`instance-terminated-by-service`  
インスタンスが停止状態から削除されました。

`instance-terminated-by-user`、または `spot-instance-terminated-by-user`  
受理済みのスポットインスタンスを終了させたので、(永続リクエストでない限り) リクエストは `closed` 状態になり 、インスタンスは `terminated` 状態になます。

`instance-terminated-launch-group-constraint`  
起動グループ内のインスタンスの 1 つ以上が終了したため、起動グループの制約条件が満たされなくなりました。

`instance-terminated-no-capacity`  
標準的な容量管理プロセスにより、インスタンスは終了しました。

`launch-group-constraint`  
Amazon EC2 はお客様が同時に要求したインスタンスをすべて起動できるわけではありません。同じ起動グループ内のインスタンスはすべて、同時に起動されて同時に終了します。

`limit-exceeded`  
EBS ボリューム数または合計ボリュームストレージの上限を超えました。詳細については「*Amazon EBS ユーザーガイド*」の「[Quotas for Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-resource-quotas.html)」を参照してください。

`marked-for-stop`  
スポットインスタンスは停止中としてマーキングされます。

`marked-for-termination`  
スポットインスタンスに終了のためのマークが付けられています。

`not-scheduled-yet`  
スポットリクエストはスケジュール設定された日付になるまで評価されません。

`pending-evaluation`  
スポットインスタンスリクエストの作成後、システムがリクエストのパラメータを評価中はそのリクエストは `pending-evaluation` 状態となります。

`pending-fulfillment`  
Amazon EC2 は スポットインスタンス をプロビジョニングしようとしています。

`placement-group-constraint`  
現時点でスポットインスタンスをプレイスメントグループに追加できないため、まだスポットリクエストを受理することができません。

`price-too-low`  
上限料金がスポット料金を下回っているため、リクエストを受理できません。この場合、インスタンスは起動されず、リクエストは `open` のままになります。

`request-canceled-and-instance-running`  
スポットインスタンス がまだ実行されている間に、リクエストをキャンセルしました。リクエストは `cancelled` ですが、インスタンスは `running` のままです。

`schedule-expired`  
スポットリクエストは指定された日付までに受理されなかったため、有効期限切れとなりました。

`system-error`  
予期しないシステムエラーが発生しました。これが反復性の問題である場合はAWS サポート にお問い合わせください。

## EC2 スポットインスタンスリクエストのフルフィルメントイベント
<a name="spot-request-fulfillment-event"></a>

スポットインスタンスリクエストが受理されると、Amazon EC2 は EC2 スポットインスタンスリクエストのフルフィルメントイベントを Amazon EventBridge に送信します。Lambda 関数の呼び出しや Amazon SNS トピックへの通知など、このイベントが発生するたびにアクションを実行するルールを作成できます。

以下はこのイベントのサンプルデータです。

```
{
    "version": "0",
    "id": "01234567-1234-0123-1234-012345678901",
    "detail-type": "EC2 Spot Instance Request Fulfillment",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2:123456789012:instance/i-1234567890abcdef0"],
    "detail": {
        "spot-instance-request-id": "sir-0e54a519c9EXAMPLE",
        "instance-id": "i-1234567890abcdef0"
    }
}
```

詳細については「[Amazon EventBridge ユーザーガイド](https://docs.aws.amazon.com/eventbridge/latest/userguide/)」を参照してください。

# スポットリクエストの状態変化
<a name="spot-instances-request-status-lifecycle"></a>

次の図は申請から終了まで、スポットリクエストがライフサイクル全体を通してたどり得る経路を示しています。各ステップはノードとして表現され、各ノードのステータスコードはスポットリクエストおよびスポットインスタンスのステータスを示します。

![\[スポットインスタンスリクエストのライフサイクル。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/spot-request-status-diagram.png)


**評価保留**  
スポットインスタンスリクエストを作成すると、リクエストパラメータのいずれかが無効な (`bad-parameters` ) 場合 を除き、そのリクエストは `pending-evaluation` 状態になります。


| ステータスコード | リクエストの状態 | インスタンスの状態 | 
| --- | --- | --- | 
| pending-evaluation | open | 該当しない | 
| bad-parameters | closed | 該当しない | 

**保持**  
1 つ以上のリクエストによる制約が有効であるが、まだ満足することができない場合や、容量が十分ではない場合、リクエストは制約が満たされるまで待機する保持状態になります。リクエストのオプションはリクエストが受理される可能性に影響します。例えば、キャパシティがない場合、キャパシティが利用可能になるまでリクエストは保留状態になります。アベイラビリティーゾーングループを指定する場合、アベイラビリティーゾーンの制約が満たされるまで、リクエストは保持状態になります。

いずれかのアベイラビリティーゾーンが停止した場合、他のアベイラビリティーゾーンのスポットインスタンスリクエストで使用可能な予備の EC2 容量が、影響を受ける可能性があります。


| ステータスコード | リクエストの状態 | インスタンスの状態 | 
| --- | --- | --- | 
| capacity-not-available | open |  該当しない  | 
| price-too-low | open |  該当しない  | 
| not-scheduled-yet | open |  該当しない  | 
| launch-group-constraint | open |  該当しない  | 
| az-group-constraint | open |  該当しない  | 
|  placement-group-constraint  |  open  |  該当しない  | 
|  constraint-not-fulfillable  |  open  |  該当しない  | 

**評価保留/受理終了**  
特定の期間のみ有効なスポットインスタンスリクエストを作成し、そのリクエストが受理保留段階に到達する前に有効期間が経過した場合、 そのリクエストは `terminal` 状態になることがあります。これはお客様がリクエストをキャンセルした場合、またはシステムエラーが発生した場合にも発生する場合があります。


| ステータスコード | リクエストの状態 | インスタンスの状態 | 
| --- | --- | --- | 
|  schedule-expired  |  cancelled  |  該当しない  | 
|  30  |  cancelled  |  該当しない  | 
|  bad-parameters  |  failed  |  該当しない  | 
|  system-error  |  closed  |  該当しない  | 

¹ リクエストをキャンセルする場合。

**受理保留**  
指定した制約条件 (もしあれば) が満たされると、スポットリクエストは `pending-fulfillment` ステータスになります。

この時点で、Amazon EC2 は要求されたインスタンスを提供するよう準備します。この段階でプロセスが停止した場合はスポットインスタンスが起動される前に、ユーザーがリクエストをキャンセルしたことが原因である可能性があります。または予期しないシステムエラーが発生したことが原因である可能性もあります。


| ステータスコード | リクエストの状態 | インスタンスの状態 | 
| --- | --- | --- | 
|  pending-fulfillment  |  open  |  該当しない  | 

**受理済み**  
スポットインスタンスの仕様がすべて満たされると、スポットリクエストが受理されます。Amazon EC2 がスポットインスタンスを起動しますが、これには数分かかる場合があります。中断状態にあるスポットインスタンスが、休止または停止された場合、リクエストが再度受理できるようになるかキャンセルされるまで同じ状態が維持されます。


| ステータスコード | リクエストの状態 | インスタンスの状態 | 
| --- | --- | --- | 
|  fulfilled  |  active  |  pending → running  | 
|  fulfilled  |  active  |  stopped → running  | 

スポットインスタンスを停止すると、そのインスタンスを再起動できるようになるか、リクエストがキャンセルされるまで、スポットリクエストは `marked-for-stop` または `instance-stopped-by-user` 状態になります。


| ステータスコード | リクエストの状態 | インスタンスの状態 | 
| --- | --- | --- | 
|  marked-for-stop  | active |  stopping  | 
|  30  |  disabled または cancelled²  |  stopped  | 

¹ スポットインスタンスを停止するか、そのインスタンスからシャットダウンコマンドを実行すると、インスタンスは `instance-stopped-by-user` 状態になります。インスタンスを停止した後はインスタンスを再起動できるようになります。再起動時に、スポットインスタンスリクエストは `pending-evaluation` 状態に戻り、制約事項が満たされると Amazon EC2 によって新しいスポットインスタンスが起動されます。

² スポットインスタンスを停止して、リクエストをキャンセルしていない場合にはスポットリクエストの状態は `disabled` になります。スポットインスタンスが停止しており、リクエストの有効期限が切れている場合、リクエストの状態は `cancelled` になります。

**受理済み終了**  
インスタンスタイプで使用可能なキャパシティがあり、お客様がインスタンスを終了しない限り、スポットインスタンスの実行は続行されます。Amazon EC2 でスポットインスタンスを終了する必要がある場合、スポットリクエストは終了状態になります。リクエストはお客様がスポットリクエストをキャンセルした場合や、スポットインスタンス を終了した場合も、終了状態になります。


| ステータスコード | リクエストの状態 | インスタンスの状態 | 
| --- | --- | --- | 
|  request-canceled-and-instance-running  |  cancelled  |  running  | 
|  marked-for-stop  |  active  |  running  | 
|  marked-for-termination  |  active  |  running  | 
|  instance-stopped-by-price  |  disabled  |  stopped  | 
|  instance-stopped-by-user  |  disabled  |  stopped  | 
|  instance-stopped-no-capacity  |  disabled  |  stopped  | 
|  instance-terminated-by-price  |  closed (ワンタイム)、open (永続)  |  terminated  | 
|  instance-terminated-by-schedule  |  closed  |  terminated  | 
|  instance-terminated-by-service  |  cancelled  |  terminated  | 
|  instance-terminated-by-user  |  closed または cancelled¹  |  terminated  | 
|  instance-terminated-no-capacity  |  closed (ワンタイム)、open (永続)  |  running †  | 
|  instance-terminated-no-capacity  |  closed (ワンタイム)、open (永続)  |  terminated  | 
|  instance-terminated-launch-group-constraint  |  closed (ワンタイム)、open (永続)  |  terminated  | 

¹ インスタンスを終了したが、リクエストをキャンセルしていない場合、リクエストの状態は `closed` になります。インスタンスを終了し、リクエストをキャンセルする場合、リクエストの状態は `cancelled` になります。スポットリクエストをキャンセルする前にスポットインスタンスを終了した場合でも、そのスポットインスタンスの終了が Amazon EC2 によって検出されるまでに遅延が生じることがあります。この場合、リクエストの状態は `closed` または `cancelled` となります。

† Amazon EC2 が容量を戻す必要がある場合にスポットインスタンスに割り込み、かつ**、インスタンスが割り込み時に終了**するように設定されている場合、ステータスはすぐに `instance-terminated-no-capacity` に設定されます (`marked-for-termination` には設定されていません)。ただし、インスタンスはインスタンスがスポットインスタンスの中断通知を受信した 2 分間を反映して、2 分間 `running` 状態のままになります。2 分後、インスタンスの状態は `terminated` に設定されます。

**中断実験**  
AWS Fault Injection Service を使用してスポットインスタンスの中断を開始すると、スポットインスタンス上のアプリケーションがどのように応答するかをテストできます。AWS FIS がスポットインスタンスを停止すると、スポットリクエストは `marked-for-stop-by-experiment` 状態になり、次に `instance-stopped-by-experiment` 状態になります。AWS FIS によってスポットインスタンスが終了した場合、スポットリクエストは `instance-terminated-by-experiment` 状態になります。詳細については「[スポットインスタンスを中断させる](initiate-a-spot-instance-interruption.md)」を参照してください。


| ステータスコード | リクエストの状態 | インスタンスの状態 | 
| --- | --- | --- | 
| marked-for-stop-by-experiment | active | running | 
| instance-stopped-by-experiment | disabled | stopped | 
| instance-terminated-by-experiment | closed | terminated | 

**永続リクエスト**  
スポットリクエストが永続リクエストであり、関連するスポットインスタンスが (ユーザーまたは Amazon EC2 によって) 終了された場合にはそのリクエストは `pending-evaluation` 状態に戻るので、制約事項が満たされた後に Amazon EC2 は新しいスポットインスタンスを起動できます。

# スポットインスタンスリクエストをタグ付けする
<a name="concepts-spot-instances-request-tags"></a>

スポットインスタンスリクエストを分類および管理しやすくするため、カスタムメタデータでタグ付けすることができます。タグはスポットインスタンスリクエストの作成時、またはその後に割り当てることができます。Amazon EC2 コンソールまたはコマンドラインツールを使用してタグを割り当てることができます。

スポットインスタンスリクエストにタグ付けを行っても、そのスポットインスタンスリクエストによって起動されたインスタンスやボリュームには自動的なタグ付けは行われません。スポットインスタンスリクエストによって起動されたインスタンスやボリュームには明示的にタグを付ける必要があります。スポットインスタンスおよびボリュームへのタグの割り当ては起動時または起動後に行うことができます。

タグの仕組みの詳細については[Amazon EC2 リソースのタグ付け](Using_Tags.md)を参照してください。

**Topics**
+ [

## 前提条件
](#tag-spot-request-prereqs)
+ [

## 新しいスポットインスタンスリクエストにタグを付ける
](#tag-new-spot-instance-request)
+ [

## 既存のスポットインスタンスリクエストにタグ付けをする
](#tag-existing-spot-instance-request)
+ [

## スポットインスタンスリクエストのタグを表示する
](#view-spot-instance-request-tags)

## 前提条件
<a name="tag-spot-request-prereqs"></a>

リソースにタグ付けする許可をユーザーに付与します。IAM ポリシーとサンプルポリシーの詳細については[例: リソースのタグ付け](ExamplePolicies_EC2.md#iam-example-taggingresources)を参照してください。

作成する IAM ポリシーはスポットインスタンスリクエストの作成に使用する方法によって決まります。
+ インスタンスの起動ウィザードまたは `run-instances` を使用して スポットインスタンス をリクエストする場合は[To grant a user the permission to tag resources when using the launch instance wizard or run-instances](#iam-run-instances)を参照してください。
+ スポットインスタンスをリクエストするために `request-spot-instances`コマンドを使用する場合は[To grant a user the permission to tag resources when using request-spot-instances](#iam-request-spot-instances)を参照してください。

**インスタンス起動ウィザードまたは run-instances を使用する場合にリソースにタグを付けるための許可をユーザーに付与するには**  
以下を含む IAM ポリシーを作成します。
+ `ec2:RunInstances` アクション。これにより、インスタンスを起動するための許可がユーザーに付与されます。
+ `Resource` で、`spot-instances-request` を指定します。これによりユーザーはスポットインスタンスを要求するためのスポットインスタンスリクエストを作成できるようになります。
+ `ec2:CreateTags` アクション。これにより、タグを作成する許可がユーザーに付与されます。
+ `Resource` で、`*` を指定します。これにより、ユーザーはインスタンスの起動時に作成されるすべてのリソースにタグを付けることを許可されます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowLaunchInstances",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "TagSpotInstanceRequests",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

RunInstances アクションを使用してスポットインスタンスリクエストを作成し、その際、スポットインスタンスリクエストにタグを付ける場合にはAmazon EC2 が RunInstances ステートメント内で `spot-instances-request` リソースをどのように評価するのかについて、注意を払う必要があります。IAM ポリシーで、次のように評価が行われます。
+ スポットインスタンスリクエストの作成時にタグを付けない場合、Amazon EC2 は RunInstances ステートメント内の `spot-instances-request` リソースを評価しません。
+ スポットインスタンスリクエストの作成時にタグを付けると、 RunInstances ステートメント内の `spot-instances-request` リソースが、Amazon EC2 により評価されます。

したがって、`spot-instances-request` リソースの場合、次のルールが IAM ポリシーに適用されます。
+ RunInstances を使用してスポットインスタンスリクエストを作成し、その際リクエストにタグを付けない場合は`spot-instances-request` リソースを明示的に許可しなくても、その呼び出しは成功します。
+ RunInstances を使用してスポットインスタンスリクエストを作成する際に、そのリクエストにタグを付ける場合にはRunInstances の許可ステートメントに `spot-instances-request` リソースを含める必要があります。これがない場合は呼び出しが失敗します。
+ RunInstances を使用してスポットインスタンスリクエストを作成する際に、そのリクエストにタグを付ける場合は許可ステートメント CreateTags で `spot-instances-request` リソースを指定するか、そこに `*` ワイルドカードを含める必要があります。これがない場合は呼び出しが失敗します。

IAM ポリシー (スポットインスタンスリクエストでサポートされていないポリシーを含む) の例については[スポットインスタンス の操作](ExamplePolicies_EC2.md#iam-example-spot-instances)を参照してください。

**request-spot-instances を使用する場合でリソースにタグを付けるための許可をユーザーに付与するには**  
以下を含む IAM ポリシーを作成します。
+ `ec2:RequestSpotInstances` アクション。これにより、スポットインスタンスリクエストを作成する許可がユーザーに付与されます。
+ `ec2:CreateTags` アクション。これにより、タグを作成する許可がユーザーに付与されます。
+ `Resource` で、`spot-instances-request` を指定します。これにより、ユーザーはスポットインスタンスリクエストにのみタグを付けることが許可されます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TagSpotInstanceRequest",
            "Effect": "Allow",
            "Action": [
                "ec2:RequestSpotInstances",
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:spot-instances-request/*"
        }
    ]
}
```

------

## 新しいスポットインスタンスリクエストにタグを付ける
<a name="tag-new-spot-instance-request"></a>

AWS CLI および PowerShell の例では、スポットインスタンスリクエストを次のように設定します。
+ `ResourceType` で、`spot-instances-request` を指定します。別の値を指定すると、スポットインスタンスリクエストは失敗します。
+ `Tags` で、キーと値のペアを指定します。キーと値のペアは複数指定できます。

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

**新しいスポットインスタンスリクエストにタグを付けるには**

1. [スポットインスタンスを管理する](using-spot-instances-request.md)の手順に従います。

1. タグを追加するには[**タグの追加**] ページで [**タグの追加**] をクリックし、タグのキーと値を入力してください。追加するタグごとに [**別のタグを追加**] をクリックしてください。

   1 つのタグを、スポットインスタンスリクエスト、スポットインスタンス、およびボリュームに対し同時にタグ付けすることができます。3 つすべてにタグを付けるには[**インスタンス**]、[**ボリューム**]、[**スポットインスタンスリクエスト**] をそれぞれ選択してください。1 つまたは 2 つにのみタグを付けるにはタグを付けるリソースを選択し、他のリソースを選択していないことを確認します。

1. 必須フィールドにすべて入力してスポットインスタンスリクエストを作成した後、[**起動**] を選択してください。詳細については、「[スポットインスタンスを管理する](using-spot-instances-request.md)」を参照してください。

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

**新しいスポットインスタンスリクエストにタグを付けるには**  
[request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) コマンドを `--tag-specification` オプションと共に使用します。

このタグ仕様は、スポットインスタンスリクエストに `Environment=Production` と `Cost-Center=123` の 2 つのタグを追加します。

```
aws ec2 request-spot-instances \
    --instance-count 5 \
    --type "one-time" \
    --launch-specification file://specification.json \
    --tag-specification 'ResourceType=spot-instances-request,Tags=[{Key=Environment,Value=Production},{Key=Cost-Center,Value=123}]'
```

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

**新しいスポットインスタンスリクエストにタグを付けるには**  
[Request-EC2SpotInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Request-EC2SpotInstance.html) コマンドレットを `-TagSpecification` パラメータと共に使用します。

```
-TagSpecification $tagspec
```

タグ仕様は次のように定義されます。スポットインスタンスリクエストに `Environment=Production` と `Cost-Center=123` の 2 つのタグを追加します。

```
$tag1 = @{Key="Environment"; Value="Production"}
$tag2 = @{Key="Cost-Center"; Value="123"}
$tagspec = New-Object Amazon.EC2.Model.TagSpecification
$tagspec.ResourceType = "spot-instances-request"
$tagspec.Tags = @($tag1,$tag2)
```

------

## 既存のスポットインスタンスリクエストにタグ付けをする
<a name="tag-existing-spot-instance-request"></a>

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

**既存のスポットインスタンスリクエストにタグ付けをするには**

スポットインスタンスリクエストの作成後に、コンソールを使用してそのリクエストにタグを追加できます。

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Spot Requests**] を選択してください。

1. スポットインスタンスリクエストを選択してください。

1. [**Tags (タグ)**] タブを選択してから、[**タグの作成**] を選択してください。

**コンソールを使用して既存のスポットインスタンスにタグを付けるには**  
スポットインスタンスリクエストによってスポットインスタンスを起動した後で、コンソールを使用して、そのインスタンスにタグを追加できます。詳細については、「[コンソールを使用してタグを追加する](Using_Tags_Console.md#adding-or-deleting-tags)」を参照してください。

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

**既存のスポットインスタンスリクエストまたはスポットインスタンスにタグを付けるには**  
[create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) コマンドを使用して、既存のリソースにタグを付けます。次の例では、既存のスポットインスタンスリクエストとスポットインスタンスに、`purpose=test` のタグを付けています。

```
aws ec2 create-tags \
    --resources sir-0e54a519c9EXAMPLE i-1234567890abcdef0 \
    --tags Key=purpose,Value=test
```

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

**既存のスポットインスタンスリクエストまたはスポットインスタンスにタグを付けるには**  
[New-EC2Tag](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Tag.html) コマンドレットを使用します。次の例では、既存のスポットインスタンスリクエストとスポットインスタンスに、タグ `purpose=test` を追加しています。

```
New-EC2Tag `
    -Resource sir-0e54a519c9EXAMPLE, i-1234567890abcdef0 `
    -Tag @{Key="purpose"; Value="test"}
```

------

## スポットインスタンスリクエストのタグを表示する
<a name="view-spot-instance-request-tags"></a>

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

**スポットインスタンスリクエストのタグを表示するには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. ナビゲーションペインで、[**Spot Requests**] を選択してください。

1. スポットインスタンスリクエストを選択してから、[**タグ**] タブを選択してください。

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

**スポットインスタンスリクエストのタグを詳細表示するには**  
[describe-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-instance-requests.html) コマンドを使用して、指定したスポットインスタンスリクエストの設定を表示します。この内容にはリクエストに指定されたタグがすべて含まれます。

```
aws ec2 describe-spot-instance-requests \
    --spot-instance-request-ids sir-0e54a519c9EXAMPLE \
    --query "SpotInstanceRequests[*].Tags"
```

以下は出力の例です。

```
[
    [
        {
            "Key": "Environment",
            "Value": "Production"
        },
        {
            "Key": "Department",
            "Value": "101"
        }
    ]
]
```

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

**スポットインスタンスリクエストのタグを詳細表示するには**  
[Get-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotInstanceRequest.html) コマンドレットを使用します。

```
(Get-EC2SpotInstanceRequest `
    -SpotInstanceRequestId sir-0e54a519c9EXAMPLE).Tags
```

以下は出力の例です。

```
Key         Value
---         -----
Environment Production
Department  101
```

------

# スポットインスタンスリクエストをキャンセルする
<a name="using-spot-instances-cancel"></a>

スポットインスタンスリクエストが不要になった場合にはそれをキャンセルすることができます。`open`、`active`、または `disabled` のスポットインスタンスリクエストのみキャンセルできます。
+ スポットインスタンスリクエストがまだ受理されておらず、インスタンスが起動されていない段階ではそのリクエストは `open` 状態にあります。
+ スポットインスタンスリクエストが受理され、スポットインスタンスの起動が完了している場合、そのスポットインスタンスリクエストは `active` 状態になります。
+ ユーザーがスポットインスタンスを停止した場合、スポットインスタンスリクエストは `disabled` 状態になります。

スポットインスタンスリクエストの状態が `active` で、関連付けられたスポットインスタンスが実行されている場合、そのリクエストをキャンセルしても、関連するインスタンスは終了しません。スポットインスタンスの終了の詳細については[スポットインスタンスを終了する](using-spot-instances-request.md#terminating-a-spot-instance)を参照してください。。

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

**スポットインスタンスリクエストをキャンセルするには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. ナビゲーションペインで、[**Spot Requests**] を選択してください。

1. スポットインスタンスリクエストを選択してください。

1. [**アクション**]、[**リクエストのキャンセル**] の順にクリックしてください。

1. (オプション) 関連付けられたスポットインスタンスを使い終わったら、スポットインスタンス を終了できます。[**スポットリクエストのキャンセル**] ダイアログボックスで、[**インスタンスの終了**]、[**確認**] の順にクリックしてください。

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

**スポットインスタンスリクエストをキャンセルするには**  
次の [cancel-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-spot-instance-requests.html) コマンドを使用します。

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

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

**スポットインスタンスリクエストをキャンセルするには**  
[Stop-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2SpotInstanceRequest.html) コマンドレットを使用します。

```
Stop-EC2SpotInstanceRequest -SpotInstanceRequestId sir-0e54a519c9EXAMPLE
```

------

# スポットインスタンスを管理する
<a name="using-spot-instances-request"></a>

Amazon EC2 はキャパシティが利用可能であるときにスポットインスタンスを起動します。スポットインスタンスは中断されるか、ユーザーにより終了されるまで実行されます。

**Topics**
+ [

## スポットインスタンスの検索
](#using-spot-instances-running)
+ [

## 特定のリクエストで起動したインスタンスを検索する
](#find-request-spot-instances)
+ [

## スポットインスタンスを停止する
](#stopping-a-spot-instance)
+ [

## スポットインスタンスを開始する
](#starting-a-spot-instance)
+ [

## スポットインスタンスを終了する
](#terminating-a-spot-instance)

## スポットインスタンスの検索
<a name="using-spot-instances-running"></a>

スポットインスタンスはオンデマンドインスタンスとともに、コンソールの **[インスタンス]** ページに表示されます。以下の手順で、スポットインスタンスを検索します。

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

**スポットインスタンスを検索するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. すべてのスポットインスタンスを検索するには検索ペインで **[インスタンスライフサイクル=スポット]** を選択してください。

1. インスタンスがスポットインスタンスであることを確認するにはインスタンスを選択し、**[詳細]** タブを選択し、**[ライフサイクル]** の値を確認します。スポットインスタンスの値は `spot` で、オンデマンドインスタンスの値は `normal` です。

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

**スポットインスタンスを検索するには**  
次の [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) コマンドを使用します。

```
aws ec2 describe-instances --filters "Name=instance-lifecycle,Values=spot"
```

**インスタンスがスポットインスタンスであるかどうかを確認するには**  
次の [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) コマンドを使用します。

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query "Reservations[*].Instances[*].InstanceLifecycle" \
    --output text
```

出力が `spot` の場合、そのインスタンスはスポットインスタンスです。何も出力されない場合、インスタンスはオンデマンドインスタンスです。

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

**スポットインスタンスを検索するには**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) コマンドレットを使用します。

```
Get-EC2Instance -Filter @{Name="instance-lifecycle"; Values="spot"}
```

**インスタンスがスポットインスタンスであるかどうかを確認するには**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) コマンドレットを使用します。

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

出力が `Spot` の場合、そのインスタンスはスポットインスタンスです。何も出力されない場合、インスタンスはオンデマンドインスタンスです。

------

## 特定のリクエストで起動したインスタンスを検索する
<a name="find-request-spot-instances"></a>

次の手順に従って、特定のスポットインスタンスまたはスポットフリートリクエストから起動されたスポットインスタンスを検索します。

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

**リクエストのスポットインスタンスを検索するには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. ナビゲーションペインで、[**Spot Requests**] を選択してください。リストにはスポットインスタンスリクエストとスポットフリートリクエストの両方が含まれます。

1. スポットインスタンスリクエストが受理された場合、**[キャパシティ]** がスポットインスタンスの ID となります。スポットフリートの場合、[**容量**] はリクエストされた容量のうち受理された量を示します。スポットフリートのインスタンスの ID を表示するには拡張矢印を選択するか、フリートを選択した上で [**インスタンス**] を選択してください。

1. スポットフリートの場合、**[キャパシティ]** はリクエストされた容量のうち受理された量を示します。スポットフリート内のインスタンスの ID を表示するにはフリート ID を選択して詳細ページを開き、**[インスタンス]** ペインを見つけます。

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

**リクエストのスポットインスタンスを検索するには**  
次の [describe-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-instance-requests.html) コマンドを使用します。

```
aws ec2 describe-spot-instance-requests \
    --spot-instance-request-ids sir-0e54a519c9EXAMPLE \
    --query "SpotInstanceRequests[*].{ID:InstanceId}"
```

出力例を次に示します。

```
[
    {
        "ID": "i-1234567890abcdef0"
    },
    {
        "ID": "i-0598c7d356eba48d7"
    }
]
```

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

**リクエストのスポットインスタンスを検索するには**  
[Get-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotInstanceRequest.html) コマンドレットを使用します。

```
(Get-EC2SpotInstanceRequest -SpotInstanceRequestId sir-0e54a519c9EXAMPLE).InstanceId
```

------

## スポットインスタンスを停止する
<a name="stopping-a-spot-instance"></a>

スポットインスタンスを今すぐ必要とはしないが、Amazon EBS ボリューム内に保持されているデータを失うことなく、後でこれを再起動する必要がある場合は、これを停止できます。スポットインスタンスを停止する手順はオンデマンドインスタンスを停止する手順と似ています。

**注記**  
スポットインスタンスが停止している間、そのインスタンスの属性の一部は変更可能ですが、インスタンスタイプを変更することはできません。  
停止しているスポットインスタンスの使用料またはデータ転送料は課金されませんが、Amazon EBS ボリュームのストレージに対しては課金されます。

**制限事項**
+ スポットインスタンスを停止できるのはそのインスタンスが、`persistent` なスポットインスタンスリクエストから起動された場合だけです。
+ 関連するスポットインスタンスリクエストがキャンセルされている場合はスポットインスタンス を停止することはできません。スポットインスタンスリクエストがキャンセルされた場合はスポットインスタンスを終了することのみ可能です。
+ フリート、起動グループ、またはアベイラビリティーゾーングループの一部であるスポットインスタンスは停止できません。

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

**スポットインスタンスを停止するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. スポットインスタンスを選択してください。スポットインスタンスのインスタンス ID を保存しなかった場合は「[スポットインスタンスの検索](#using-spot-instances-running)」を参照してください。

1. [**Instance state (インスタンスの状態)**]、[**Stop instance (インスタンスの停止)**] の順に選択してください。

1. 確認を求められたら、[**Stop**] を選択してください。

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

**スポットインスタンスを停止するには**  
スポットインスタンスを手動で停止するには[stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) コマンドを使用します。

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

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

**スポットインスタンスを停止するには**  
[Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) コマンドレットを使用します。

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

------

## スポットインスタンスを開始する
<a name="starting-a-spot-instance"></a>

以前に停止したスポットインスタンスは開始することができます。

**前提条件**

スポットインスタンスは次の場合にのみ開始できます。
+ スポットインスタンスを手動で停止している。
+ スポットインスタンスが EBS-backed インスタンスである。
+ スポットインスタンスに使用可能な容量がある。
+ スポット料金が上限価格より低くなっている。

**制限事項**
+ フリート、起動グループ、またはアベイラビリティーゾーングループの一部であるスポットインスタンスを開始することはできません。

スポットインスタンスを開始する手順はオンデマンドインスタンスを開始する手順と似ています。

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

**スポットインスタンスを開始するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. スポットインスタンスを選択してください。スポットインスタンスのインスタンス ID を保存しなかった場合は「[スポットインスタンスの検索](#using-spot-instances-running)」を参照してください。

1. [**Instance state (インスタンスの状態)**]、[**Start instance (インスタンスの開始)**] の順に選択してください。

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

**スポットインスタンスを開始するには**  
スポットインスタンスを手動で開始するには[start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) コマンドを使用します。

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

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

**スポットインスタンスを開始するには**  
[Start-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) コマンドレットを使用します。

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

------

## スポットインスタンスを終了する
<a name="terminating-a-spot-instance"></a>

**警告**  
**インスタンスの終了は恒久的で、元に戻すことができません。**  
インスタンスを終了すると、そのインスタンスには接続できなくなり、復元することもできません。アタッチされている Amazon EBS ボリュームで、終了時に削除されるように設定されているものも、すべて恒久的に削除され、復元できません。インスタンスストアボリュームに保存されているデータは、すべて恒久的に失われます。詳細については、「[インスタンスの終了方法](how-ec2-instance-termination-works.md)」を参照してください。  
インスタンスを終了する前に、終了後も保持する必要があるすべてのデータを永続的ストレージにバックアップしたことを確認してください。

永続スポットインスタンスリクエストによって起動された実行中または停止中のスポットインスタンスを終了すると、そのスポットインスタンスリクエストの状態は `open` に遷移し、新たなスポットインスタンスを起動できるようになります。新しいスポットインスタンスが起動されないようにするにはまずスポットインスタンスリクエストをキャンセルする必要があります。

スポットインスタンスを実行させている `active` スポットインスタンスリクエストをキャンセルしても、実行中のスポットインスタンスは自動的に終了されません。スポットインスタンスは手動で終了する必要があります。

停止中のスポットインスタンスを持つ `disabled` スポットインスタンスリクエストをキャンセルした場合、この停止中のスポットインスタンスはAmazon EC2 スポットサービスによって自動的に終了されます。スポットインスタンスリクエストをキャンセルしてから、スポットサービスがスポットインスタンスを終了するまでの間に、短い遅延が生じることがあります。

詳細については、「[スポットインスタンスリクエストをキャンセルする](using-spot-instances-cancel.md)」を参照してください。

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

**スポットインスタンスを手動で終了するには**

1. インスタンスを終了する前に、終了時に Amazon EBS ボリュームが削除されることと、必要なデータすべてをインスタンスストアボリュームから永続的ストレージ (Amazon EBS や Amazon S3 など) にコピーしていることを確認して、データが失われないことを確認します。

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. スポットインスタンスを選択してください。スポットインスタンスのインスタンス ID を保存しなかった場合は「[スポットインスタンスの検索](#using-spot-instances-running)」を参照してください。

1. **[インスタンスの状態]**、**[インスタンスの終了 (削除)]** の順に選択してください。

1. 確認を求めるメッセージが表示されたら、**[終了 (削除)]** を選択してください。

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

**スポットインスタンスを手動で終了するには**  
スポットインスタンスを手動で終了するには[terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) コマンドを使用します。

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

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

**スポットインスタンスを手動で終了するには**  
[Remove-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Instance.html) コマンドレットを使用します。

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

------

# スポットインスタンスの中断。
<a name="spot-interruptions"></a>

Amazon EC2 で再びキャパシティーが必要になったときは予備の EC2 キャパシティーで スポットインスタンス を起動してキャパシティーを戻すのと引き換えに、大幅な割引を受けることができます。Amazon EC2 がスポットインスタンスを再要求した場合、このイベントを*スポットインスタンスの中断*と呼びます。

スポットインスタンス に対する需要は刻一刻と大幅に変化する可能性があります。また、スポットインスタンス の可用性も利用可能な未使用の EC2 インスタンスの数に応じて大きく変化する可能性があります。スポットインスタンスが中断される可能性は常に存在します。Amazon EC2 が スポットインスタンス を中断する場合、次のような理由が考えられます。

**容量**  
Amazon EC2 は必要なときにスポットインスタンスを中断できます。EC2 は主に容量を再利用するためにインスタンスを再利用しますが、ホストのメンテナンスやハードウェアの使用停止などの他の理由でも発生する可能性があります。

**価格**  
スポット料金が、上限料金を超えています。  
上限料金はスポットリクエストで指定できます。ただし、上限料金を指定すると、指定しなかった場合に比べ、インスタンスの中断が増えます。

**制約**  
スポットリクエストに、起動グループやアベイラビリティーゾーングループなどの制約を含んでいて、その制約条件が満たされなくなった場合にはスポットインスタンスはグループとして終了されます。

Amazon EC2 によりスポットインスタンスが中断される際にはスポットリクエストの作成時に指定した中断動作に応じて、インスタンスが終了、停止、または休止されます。

**Topics**
+ [中断動作](interruption-behavior.md)
+ [中断に対する準備](prepare-for-interruptions.md)
+ [中断させる](initiate-a-spot-instance-interruption.md)
+ [

# スポットインスタンスの中断通知
](spot-instance-termination-notices.md)
+ [

# 中断した スポットインスタンス の検索
](finding-an-interrupted-Spot-Instance.md)
+ [

# Amazon EC2 がスポットインスタンスを終了しているかどうかを判別する
](BidEvictedEvent.md)
+ [請求](billing-for-interrupted-spot-instances.md)

# スポットインスタンスの中断の動作
<a name="interruption-behavior"></a>

スポットリクエストの作成時に中断動作を指定できます。指定できる中断動作は以下のとおりです。
+ [停止](#stop-spot-instances)
+ [休止](#hibernate-spot-instances)
+ [終了](#terminate-interrupted-spot-instances)

デフォルトの動作ではAmazon EC2 は中断時にスポットインスタンスを終了します。

## スポットインスタンス の中断の停止
<a name="stop-spot-instances"></a>

中断時に Amazon EC2 がスポットインスタンスを停止するように指定できます。スポットインスタンスのリクエストのタイプは `persistent` である必要があります。スポットインスタンスリクエストで起動グループを指定することはできません。EC2 フリートまたはスポットフリートの場合、リクエストタイプは `maintain` である必要があります。

**考慮事項**
+ 中断され停止したスポットインスタンスを再起動できるのは Amazon EC2 だけです。
+ `persistent` スポットインスタンスリクエストで起動されたスポットインスタンスについては停止したインスタンスと同じアベイラビリティーゾーンと同じインスタンスタイプで利用可能な容量がある場合に、Amazon EC2 がその停止したインスタンスを再起動することができます (同じ起動仕様を使用する必要があります)。
+ スポットインスタンスが停止している間、そのインスタンスの属性の一部は変更可能ですが、インスタンスタイプを変更することはできません。デタッチまたは削除された EBS ボリュームはスポットインスタンスが開始した際にアタッチされません。ユーザーがルートボリュームをデタッチし、Amazon EC2 がスポットインスタンスの開始を試みると、そのインスタンスは開始に失敗し、停止したインスタンスが Amazon EC2 により終了されます。
+ ユーザーは停止中のスポットインスタンスを終了できます。
+ ユーザーがスポットインスタンスリクエスト、EC2 フリート、またはスポットフリートをキャンセルすると、Amazon EC2 はそれらに関連付けられていて停止中のスポットインスタンスを終了します。
+ 中断されたスポットインスタンスの停止中は維持されている EBS ボリュームに対してのみ課金されます。EC2 フリートおよびスポットフリートでは停止中のインスタンスの数が多い場合、アカウント内の EBS ボリューム数の上限を超えることがあります。スポットインスタンスが中断されたときの料金の詳細については「[中断された スポットインスタンス の請求](billing-for-interrupted-spot-instances.md)」を参照してください。
+ インスタンスを停止することの影響について理解しておいてください。インスタンスが停止している場合に何が行われるかの詳細については「[インスタンスの状態の違い](ec2-instance-lifecycle.md#lifecycle-differences)」を参照してください。

## 中断した スポットインスタンス の休止
<a name="hibernate-spot-instances"></a>

中断時に Amazon EC2 がスポットインスタンスを休止するように指定できます。詳細については「[Amazon EC2 インスタンスの休止](Hibernate.md)」を参照してください。

Amazon EC2 ではオンデマンドインスタンスで現在利用できるのと同じ休止状態をスポットインスタンスでも提供するようになりました。サポートの範囲が広がり、スポットインスタンスの休止では新たに以下がサポートされています。
+ [さらに多くの AMI をサポート](hibernating-prerequisites.md#hibernation-prereqs-supported-amis)
+ [さらに多くのインスタンスファミリーをサポート](hibernating-prerequisites.md#hibernation-prereqs-supported-instance-families)
+ [ユーザー起動の休止](hibernating-instances.md)

## 中断したスポットインスタンスの終了
<a name="terminate-interrupted-spot-instances"></a>

Amazon EC2 によりスポットインスタンスが中断される場合は停止や休止などの別の中断動作を指定しない限り、デフォルトでインスタンスが終了します。詳細については「[Amazon EC2 インスタンスを終了する](terminating-instances.md)」を参照してください。

# スポットインスタンスの中断に対する準備
<a name="prepare-for-interruptions"></a>

スポットインスタンス に対する需要は刻一刻と大幅に変化する可能性があります。また、スポットインスタンス の可用性も利用可能な未使用の EC2 インスタンスの数に応じて大きく変化する可能性があります。スポットインスタンスが中断される可能性は常に存在します。したがって、アプリケーションでスポットインスタンスの中断に対して準備する必要があります。

スポットインスタンスの中断に備えて、以下のベストプラクティスに従うことをお勧めします。
+ Auto Scaling グループを使用してスポットリクエストを作成します。スポットインスタンスが中断された場合、Auto Scaling グループは代替インスタンスを自動的に起動します。詳細については「Amazon EC2 Auto Scaling ユーザーガイド」の「[複数のインスタンスタイプと購入オプションを使用する Auto Scaling グループ](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html)」を参照してください。**
+ 必要なソフトウェア設定を含む Amazon マシンイメージ (AMI) を使用することにより、リクエストが受理されたらすぐにインスタンスを実行できるように、準備が完了していることを確認します。また、ユーザーデータを使用して起動時にコマンドを実行することもできます。
+ インスタンスストアボリュームのデータはインスタンスの停止または終了に伴って失われます。インスタンスストアボリュームの重要なデータを、Amazon S3、Amazon EBS、または Amazon DynamoDB などのより永続的なストレージにバックアップします。
+ スポットインスタンスの終了の影響を受けない場所に、定期的に重要なデータを保存します。例えば、Amazon S3、Amazon EBS、または DynamoDB を使用できます。
+ 作業を頻繁に保存できるように、作業を (Grid、Hadoop、キューベースのアーキテクチャを使用して) 細かいタスクに分割するか、チェックポイントを使用します。
+ Amazon EC2 はスポットインスタンスでの中断のリスクが高まった場合に、再調整に関する推奨事項シグナルをそのインスタンスに対し送信します。再調整に関する推奨事項シグナルを利用すると、スポットインスタンス中断 2 分前の通知を待つことなく、スポットインスタンスの中断を事前に管理することができます。詳細については[EC2 インスタンスの再調整に関する推奨事項](rebalance-recommendations.md)を参照してください。
+ スポットインスタンスのステータスをモニタリングするにはスポットインスタンス中断 2 分前の通知を使用します。詳細については[スポットインスタンスの中断通知](spot-instance-termination-notices.md)を参照してください。
+ ではこの警告はできるだけ早く提供するよう努めていますが、警告が提供される前にスポットインスタンスが中断されることもあり得ます。再調整に関する推奨事項シグナルと中断通知をモニタリングしている場合でも、予期しないインスタンスの終了をアプリケーションが適切に処理できることを確認します。オンデマンドインスタンスを使用してアプリケーションを実行し、オンデマンドインスタンスを自分で終了することでこれを確認できます。
+ AWS Fault Injection Service で制御された故障注入実験を実行し、スポットインスタンスが中断されたときのアプリケーションの応答をテストします。詳細については「AWS Fault Injection Service ユーザーガイド」の「[チュートリアル: AWS FIS を使用してスポットインスタンスの中断をテストする](https://docs.aws.amazon.com/fis/latest/userguide/fis-tutorial-spot-interruptions.html)」を参照してください。

# スポットインスタンスを中断させる
<a name="initiate-a-spot-instance-interruption"></a>

Amazon EC2 コンソールでスポットインスタンスリクエストまたはスポットフリートリクエストを選択してスポットインスタンスの中断を実行すると、スポットインスタンス上のアプリケーションでの中断に関する処理をテストできます。スポットインスタンスの中断を開始すると、最初にそのスポットインスタンスの中断が 2 分後に行われることが Amazon EC2 から通知され、2 分経過後にインスタンスが中断されます。

スポットインスタンスの中断を処理するための、基盤となるサービスは AWS Fault Injection Service (AWS FIS) です。AWS FIS の詳細については「[AWS Fault Injection Service](https://aws.amazon.com/fis/)」を参照してください。

**注記**  
中断動作は`terminate`、`stop`、および `hibernate` です。中断動作に対し `hibernate` を設定してスポットインスタンスの中断を開始すると、休止プロセスがすぐに開始されます。

スポットインスタンスの中断はすべての AWS リージョン (アジアパシフィック (ジャカルタ)、アジアパシフィック (大阪)、中国 (北京)、中国 (寧夏)、および中東 (UAE) を除く) で利用することができます。

**Topics**
+ [

## スポットインスタンスを中断させる
](#initiate-interruption)
+ [

## スポットインスタンスの中断を検証する
](#spot-interruptions-verify-result)
+ [

## クォータ
](#fis-quota-for-spot-instance-interruption)

## スポットインスタンスを中断させる
<a name="initiate-interruption"></a>

EC2 コンソールを使用すると、スポットインスタンスの中断をすばやく開始できます。スポットインスタンスリクエストを選択すると、1 つのスポットインスタンスの中断を開始できます。スポットフリートリクエストを選択すると、複数のスポットインスタンスの中断を一度に開始できます。

より高度な実験によりスポットインスタンスの中断をテストするにはAWS FIS コンソールで独自の実験を作成します。

**EC2 コンソールを使用してスポットインスタンスリクエストで 1 つのスポットインスタンスの中断を開始するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、**[Spot Requests]** (スポットリクエスト) を選択してください。

1. スポットインスタンスリクエストを選択した後、**[Actions]** (アクション)、**[Initiate interruption]** (中断を開始) の順に選択してください。複数のスポットインスタンスリクエストを選択して中断を開始することはできません。

1. **[Initiate Spot Instance interruption]** (スポットインスタンスの中断を開始する) ダイアログボックスにある、**[Service access]** (サービスアクセス) で、デフォルトのロールか、既存のロールを選択してください。既存のロールを選択するには**[既存のサービスロールを使用]** を選択した後、**[IAM ロール]** で使用するロールを選択してください。

1. スポットインスタンスの中断を開始する準備ができたら、**[Initiate interruption]** (中断を開始) を選択してください。

**EC2 コンソールを使用して、スポットフリートリクエストで 1 つまたは複数のスポットインスタンスの中断を開始するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、**[Spot Requests]** (スポットリクエスト) を選択してください。

1. スポットフリートリクエストを選択した後、**[アクション]**、**[中断を開始]** の順に選択してください。複数のスポットフリートリクエストを選択して中断を開始することはできません。

1. **[スポットインスタンスの数を指定]** ダイアログボックスの **[中断するインスタンスの数]** に、中断するスポットインスタンスの数を入力し、**[確認]** を選択してください。
**注記**  
この数はフリート内のスポットインスタンス数や、1 回の実験で AWS FIS が中断できるスポットインスタンス数の[クォータ](#fis-quota-for-spot-instance-interruption)を超えることはできません。

1. **[Initiate Spot Instance interruption]** (スポットインスタンスの中断を開始する) ダイアログボックスにある、**[Service access]** (サービスアクセス) で、デフォルトのロールか、既存のロールを選択してください。既存のロールを選択するには**[既存のサービスロールを使用]** を選択した後、**[IAM ロール]** で使用するロールを選択してください。

1. スポットインスタンスの中断を開始する準備ができたら、**[Initiate interruption]** (中断を開始) を選択してください。

**AWS FIS コンソールを使用して、スポットインスタンスの中断をテストするためのより高度な実験を作成するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、**[Spot Requests]** (スポットリクエスト) を選択してください。

1. **[Actions]** (アクション)、**[Create advanced experiments]** (高度な実験を作成) の順に選択してください。

   AWS FIS コンソールが開きます。詳細については「*AWS Fault Injection Service ユーザーガイド*」の「[Tutorial: Test Spot Instance interruptions using AWS FIS](https://docs.aws.amazon.com/fis/latest/userguide/fis-tutorial-spot-interruptions.html)」を参照してください。

## スポットインスタンスの中断を検証する
<a name="spot-interruptions-verify-result"></a>

中断を開始すると、以下のことが発生します。
+ 対象のスポットインスタンスに対し、[インスタンスの再調整に関する推奨事項](rebalance-recommendations.md)が送信されます。
+ AWS FIS がインスタンスを中断する 2 分前に、[スポットインスタンスの中断の通知](spot-instance-termination-notices.md)が発行されます。
+ 2 分経過後に、スポットインスタンスが中断されます。
+ AWS FIS によって停止されたスポットインスタンスはユーザーにより再起動されるまで停止状態を維持します。

**中断を開始した後に、インスタンスが中断されていることを検証するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、**[スポットリクエスト]** を開いてから、別のブラウザタブまたはウィンドウで**[インスタンス]** を開きます。

1. **[スポットリクエスト]** で、スポットインスタンスリクエストまたはスポットフリートリクエストを選択してください。初期ステータスは`fulfilled` です。インスタンスが中断されると、その中断の動作に応じて、以下のようにステータスが変化します。
   + `terminate` – ステータスが `instance-terminated-by-experiment` に変わります。
   + `stop` – ステータスが `marked-for-stop-by-experiment` に変わり、その後 `instance-stopped-by-experiment` に変わります。

1. **インスタンス**で、スポットインスタンスを選択してください。初期ステータスは`Running` です。ユーザーがスポットインスタンスの中断通知を受け取り、2 分が経過すると、その中断の動作に応じて、以下のようにステータスが変化します。
   + `stop` – ステータスが `Stopping` に変わり、その後 `Stopped` に変わります。
   + `terminate` – ステータスが `Shutting-down` に変わり、その後 `Terminated` に変わります。

## クォータ
<a name="fis-quota-for-spot-instance-interruption"></a>

AWS アカウント には1 回の実験で AWS FIS が中断できるスポットインスタンス数について、以下のデフォルトクォータがあります。


| 名前 | デフォルト | 引き上げ可能 | 説明 | 
| --- | --- | --- | --- | 
|  aws:ec2:send-spot-instance-interruptions のターゲット SpotInstances  |  サポートされている各リージョン： 5  | あり |  タグを使用してターゲットを特定するときに、aws:ec2:send-spot-instance-interruptions がターゲットにできるスポットインスタンスの実験ごとの最大数。  | 

クォータの引き上げをリクエストできます。詳細については「*Service Quotas ユーザーガイド*」の「[クォータの引き上げのリクエスト](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)」を参照してください。

AWS FIS のクォータをすべて表示するには[Service Quotas コンソール](https://console.aws.amazon.com/servicequotas/home)を開きます。ナビゲーションペインで、[**AWS services**] を選択し、**AWS Fault Injection Service** を選択してください。「*AWS Fault Injection Service ユーザーガイド*」で [AWS Fault Injection Service のクォータ](https://docs.aws.amazon.com/fis/latest/userguide/fis-quotas.html)をすべて確認することもできます。

# スポットインスタンスの中断通知
<a name="spot-instance-termination-notices"></a>

*スポットインスタンスの中断通知*はAmazon EC2 がスポットインスタンスを停止または終了する 2 分前に発行される警告です。中断動作として休止状態を指定した場合は中断通知が表示されますが、休止状態プロセスはすぐに開始されるため、2 分間の警告は表示されません。

スポットインスタンスの中断を適切に処理する最善の方法は耐障害性のあるアプリケーションを設計することです。これを実現するにはスポットインスタンスの中断通知を活用します。中断通知は 5 秒ごとに確認することをお勧めします。

この中断通知は、EventBridge イベントとして、およびスポットインスタンス上の[インスタンスメタデータ](ec2-instance-metadata.md)の項目として提供されます。中断通知はベストエフォートベースで出力されます。

## EC2 Spot Instance Interruption Warning イベント
<a name="ec2-spot-instance-interruption-warning-event"></a>

Amazon EC2 がスポットインスタンスを中断しようとすると、実際の中断が起こる 2 分前にイベントが発生します (休止の場合は即時的にその状態に移行するため、中断通知は発行されますが 2 分前には提供されず、このイベントの対象にはなりません)。このイベントは Amazon EventBridge で検出できます。EventBridge イベントの詳細については「[Amazon EventBridge ユーザーガイド](https://docs.aws.amazon.com/eventbridge/latest/userguide/)」を参照してください。イベントルールの作成および使用方法の詳細な例については[Taking Advantage of Amazon EC2 スポットインスタンスInterruption Notices](https://aws.amazon.com/blogs/compute/taking-advantage-of-amazon-ec2-spot-instance-interruption-notices/)を参照してください。

以下に、スポットインスタンスでの中断イベントの例を示します。`instance-action` の可能な値は `hibernate`、`stop`、`terminate` です。

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Spot Instance Interruption Warning",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2a:instance/i-1234567890abcdef0"],
    "detail": {
        "instance-id": "i-1234567890abcdef0",
        "instance-action": "action"
    }
}
```

**注記**  
スポットインスタンスでの中断イベントの ARN 形式は `arn:aws:ec2:availability-zone:instance/instance-id` です。この形式は[EC2 リソース ARN 形式](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies)とは異なります。

## instance-action
<a name="instance-action-metadata"></a>

`instance-action` 項目はアクションおよびアクションのおよその発生時刻 (UTC) を指定します。

Amazon EC2 が、スポットインスタンスを停止または終了のためにマークした場合、[インスタンスメタデータ](ec2-instance-metadata.md)内に `instance-action` 項目が含まれるようになります。そうでない場合、これは存在しません。次のように、インスタンスメタデータサービスバージョン 2 (IMDSv2) を使用して、`instance-action` を取得できます。

------
#### [ Linux ]

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/spot/instance-action
```

------
#### [ Windows ]

```
[string]$token = Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/meta-data/spot/instance-action
```

------

 次の出力例ではこのインスタンスの停止時刻を示します。

```
{"action": "stop", "time": "2017-09-18T08:22:00Z"}
```

次の出力例ではこのインスタンスの終了時刻を示します。

```
{"action": "terminate", "time": "2017-09-18T08:22:00Z"}
```

Amazon EC2 がインスタンスを停止または終了する準備をしていない場合や、お客様が自分でインスタンスを終了した場合、`instance-action` はインスタンスメタデータ内に存在せず、取得しようとした場合、HTTP 404 エラーが出力されます。

## termination-time
<a name="termination-time-metadata"></a>

`termination-time` 項目はインスタンスがシャットダウン信号を受信するだいたいの時刻 (UTC) を指定します。

**注記**  
この項目は下位互換性のために維持されています。代わりに `instance-action` を使用してください。

スポットインスタンスに、Amazon EC2 によって (中断動作が `terminate` に設定されているスポットインスタンスの中断により、または永続的なスポットインスタンスリクエストのキャンセルにより) 終了のマークが付けられた場合、`termination-time` の項目は[インスタンスのメタデータ](ec2-instance-metadata.md)に含まれています。そうでない場合、これは存在しません。次のように、IMDSv2 を使用して `termination-time` を取得できます。

------
#### [ Linux ]

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`
if curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://169.254.169.254/latest/meta-data/spot/termination-time | grep -q .*T.*Z; then echo termination_scheduled; fi
```

------
#### [ Windows ]

```
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/meta-data/spot/termination-time
```

------

以下は出力の例です。

```
2015-01-05T18:02:00Z
```

Amazon EC2 がインスタンスを終了する準備をしていない場合 (スポットインスタンスの中断がない、または中断動作が `stop` または `hibernate` に設定されているため)、またはユーザーがスポットインスタンスを終了した場合には`termination-time` 項目はインスタンスメタデータ内に存在しないか (この場合、HTTP 404 エラーが出力されます)、時刻値以外の値が含まれます。

Amazon EC2 がインスタンスの終了に失敗した場合はリクエストステータスが `fulfilled` に設定されます。`termination-time` 値は元のおよその時刻のまま (過去の時刻になっていますが)、インスタンスのメタデータに残ります。

# 中断した スポットインスタンス の検索
<a name="finding-an-interrupted-Spot-Instance"></a>

EC2 インスタンスを記述すると、結果にはスポットインスタンスが含まれます。スポットインスタンスのインスタンスライフサイクルは `spot` です。スポットインスタンスのインスタンス状態は設定した中断動作に応じて `stopped` または `terminated` のいずれかになります。休止状態のスポットインスタンスの場合、インスタンスの状態は `stopped` です。

中断の理由の詳細についてはスポットリクエストのステータスコードを確認してください。詳細については、「[スポットインスタンスリクエストのステータスを取得する](spot-request-status.md)」を参照してください。

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

**中断したスポットインスタンスを検索するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. 次のフィルターを適用してください:**[インスタンスライフサイクル=スポット]**。

1. 設定した中断動作に応じて、**[インスタンス状態=停止]** または **[インスタンス状態=終了]** フィルターを適用します。

1. スポットインスタンスごとに、**[詳細]** タブの **[インスタンスの詳細]** で、**[状態遷移メッセージ]** を探します。次のコードはスポットインスタンスが中断されたことを示します。
   + `Server.SpotInstanceShutdown`
   + `Server.SpotInstanceTermination`

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

**中断したスポットインスタンスを見つけるには**  
[describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) コマンドを `--filters` オプションで使用します。出力にインスタンス ID のみをリストするには `--query` オプションを含めます。

中断動作がスポットインスタンスを終了することである場合は、次の例を使用します。

```
aws ec2 describe-instances \
    --filters Name=instance-lifecycle,Values=spot \
              Name=instance-state-name,Values=terminated \
              Name=state-reason-code,Values=Server.SpotInstanceTermination \
    --query "Reservations[*].Instances[*].InstanceId"
```

中断動作がスポットインスタンスを停止することである場合は、次の例を使用します。

```
aws ec2 describe-instances \
    --filters Name=instance-lifecycle,Values=spot \
              Name=instance-state-name,Values=stopped \
              Name=state-reason-code,Values=Server.SpotInstanceShutdown \
    --query "Reservations[*].Instances[*].InstanceId"
```

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

**中断したスポットインスタンスを見つけるには**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) コマンドレットを使用します。

中断動作がスポットインスタンスを終了することである場合は、次の例を使用します。

```
(Get-EC2Instance `
    -Filter @{Key="instance-lifecycle"; Values="spot"} `
            @{Key="instance-state-name"; Values="terminated"} `
            @{Key="state-reason-code"; Values="Server.SpotInstanceTermination"}).Instances.InstanceId
```

中断動作がスポットインスタンスを停止することである場合は、次の例を使用します。

```
(Get-EC2Instance `
    -Filter @{Key="instance-lifecycle"; Values="spot"} `
            @{Key="instance-state-name"; Values="stopped"} `
            @{Key="state-reason-code"; Values="Server.SpotInstanceTermination"}).Instances.InstanceId
```

------

# Amazon EC2 がスポットインスタンスを終了しているかどうかを判別する
<a name="BidEvictedEvent"></a>

スポットインスタンスはAmazon EC2 がスポットインスタンスの中断に応じて終了するまで、またはユーザーが自分で終了するまで実行されます。詳細については「[スポットインスタンスの中断の動作](interruption-behavior.md)」を参照してください。

スポットインスタンスが終了された後、AWS CloudTrail を使用して、Amazon EC2 がそのスポットインスタンスを終了したかどうかを確認できます。CloudTrail ログに `BidEvictedEvent` が含まれている場合、Amazon EC2 がスポットインスタンスを終了したことを示します。代わりに `TerminateInstances` イベントが含まれている場合はユーザーがスポットインスタンスを終了したことを示します。

またはAmazon EC2 がスポットインスタンスを中断することを示す通知を受け取りたい場合はAmazon EventBridge を使用して [EC2 スポットインスタンスの中断警告イベント](spot-instance-termination-notices.md#ec2-spot-instance-interruption-warning-event)に応答します。

**CloudTrail で BidEvictedEvent イベントを表示するには**

1. CloudTrail コンソールの [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/) を開いてください。

1. ナビゲーションペインで [**Event history (イベント履歴)**] を選択してください。

1. フィルターのリストから **[イベント名]** を選択し、右側のフィルターフィールドに「**BidEvictedEvent**」と入力してください。

1. (オプション) 時間範囲を選択してください。

1. リストが空でない場合は結果のエントリから **[BidEvictedEvent]** を選択して詳細ページを開きます。スポットインスタンスに関する情報はスポットインスタンスの ID を含めて、**[イベントレコード]** ペインで確認できます。イベントレコードの例を以下に示します。

   ```
   {
       "eventVersion": "1.05",
       "userIdentity": {
           "accountId": "123456789012",
           "invokedBy": "ec2.amazonaws.com"
       },
       "eventTime": "2016-08-16T22:30:00Z",
       "eventSource": "ec2.amazonaws.com",
       "userAgent": "ec2.amazonaws.com",
       "sourceIPAddress": "ec2.amazonaws.com",
       "eventName": "BidEvictedEvent",
       "awsRegion": "us-east-2",
       "eventID": "d27a6096-807b-4bd0-8c20-a33a83375054",
       "eventType": "AwsServiceEvent",
       "recipientAccountId": "123456789012",
       "RequestParameters": null,
       "ResponseElements": null,
       "serviceEventDetails": {
           "instanceIdSet": [
             "i-1eb2ac8eEXAMPLE"
           ]
       }
   }
   ```

1. `BidEvictedEvent` イベントのエントリが見つからない場合はイベント名として「**TerminateInstances**」と入力してください。`TerminateInstances` のイベントレコードの詳細については「[Amazon EC2 API イベントの例](monitor-with-cloudtrail.md#cloudtrail-event-examples)」を参照してください。

# 中断された スポットインスタンス の請求
<a name="billing-for-interrupted-spot-instances"></a>

スポットインスタンスが中断された場合、インスタンスと EBS ボリュームの使用量に対して課金され、その他に次のような料金が発生する可能性があります。

## インスタンスの使用状況
<a name="billing-for-interrupted-spot-instances-instance-usage"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/billing-for-interrupted-spot-instances.html)

## EBS ボリュームの使用状況
<a name="billing-for-interrupted-spot-instances-ebs-usage"></a>

中断されたスポットインスタンスの停止中は維持されている EBS ボリュームに対してのみ課金されます。

EC2 フリートおよびスポットフリートでは停止中のインスタンスの数が多い場合、アカウント内の EBS ボリューム数の上限を超えることがあります。

# EC2 インスタンスの再調整に関する推奨事項
<a name="rebalance-recommendations"></a>

EC2 インスタンスの*再調整に関するレコメンデーション*はスポットインスタンスで中断のリスクが高まった場合に通知するためのシグナルです。シグナルは[スポットインスタンス中断 2 分前の通知](spot-instance-termination-notices.md)よりも早く到着するので、スポットインスタンスを事前に管理するタイミングを知ることができます。ワークロードを、中断のリスクが高くない新規または既存の スポットインスタンス に再調整することができます。

2 分間のスポットインスタンス中断通知の前に、Amazon EC2 が再調整に関する推奨事項シグナルを送信することは必ずしも可能ではありません。したがって、再調整に関する推奨事項シグナルは2 分間の中断通知とともに到着する可能性があります。

再調整に関する推奨事項はEventBridge イベントとして、およびスポットインスタンス上の[インスタンスメタデータ](ec2-instance-metadata.md)の項目として使用できます。イベントはベストエフォートベースで発生します。

**注記**  
再調整に関する推奨事項は2020 年 11 月 5 日 00:00 UTC 以降に起動される スポットインスタンス のみをサポートしています。

**Topics**
+ [

## 実行できるアクションの再調整
](#rebalancing-actions)
+ [

## 再調整に関する推奨事項シグナルのモニタリング
](#monitor-rebalance-recommendations)
+ [

## 再調整に関する推奨事項シグナルを使用するサービス
](#services-using-rebalance-rec-signal)

## 実行できるアクションの再調整
<a name="rebalancing-actions"></a>

以下に、実行可能な再調整アクションをいくつか挙げます。

適切なシャットダウン  
スポットインスタンスの再調整に関する推奨事項シグナルを受信すると、インスタンスのシャットダウン手順を開始できます。この際、インスタンスを停止する前に各プロセスの完了を確認する必要が生じることがあります。例えば、システムログまたはアプリケーションログを Amazon Simple Storage Service (Amazon S3) にアップロードしたり、Amazon SQS ワーカーをシャットダウンしたり、ドメインネームシステム (DNS) からの登録解除を完了したりできます。また、作業内容を外部ストレージに保存し、後で再開することもできます。

新しい作業がスケジュールされるのを防止  
スポットインスタンスの再調整に関する推奨事項シグナルを受信すると、スケジュールされた作業が完了するまでインスタンスの使用を継続しながら、新しい作業がインスタンス上でスケジュールされることを回避できます。

新しい代替インスタンスを積極的に起動  
Auto Scaling グループ、EC2 フリート、または スポットフリート を設定しておくと、再調整に関する推奨事項シグナルが送信された場合に、代替のスポットインスタンスを自動的に起動させることができます。詳細については「*Amazon EC2 Auto Scaling ユーザーガイド*」の「[キャパシティーの再調整を使用して Amazon EC2 スポットの中断に対処する](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html)」およびこのユーザーガイドの「[EC2 フリートとスポットフリートでキャパシティの再調整を使用して、リスクのあるスポットインスタンスを置き換える](ec2-fleet-capacity-rebalance.md)」を参照してください。

## 再調整に関する推奨事項シグナルのモニタリング
<a name="monitor-rebalance-recommendations"></a>

再調整に関する推奨事項シグナルをモニタリングして、それが発されたときに、前のセクションで指定したアクションを実行できるようにすることができます。再調整に関する推奨事項シグナルはAmazon EventBridge (旧称 Amazon CloudWatch Events) に送信されるイベントとして、およびスポットインスタンス上のインスタンスメタデータとしての使用が可能です。

**Topics**
+ [

### Amazon EventBridge の使用
](#cp-eventbridge)
+ [

### インスタンスメタデータの使用
](#cp-instance-metadata)

### Amazon EventBridge の使用
<a name="cp-eventbridge"></a>

再調整に関する推奨事項シグナルがスポットインスタンスに対して発信されると、そのシグナルのイベントが Amazon EventBridge に送信されます。EventBridge がルールで定義されているパターンに一致するイベントパターンを検出すると、EventBridge はルールで指定されているターゲットを呼び出します。

次に、再調整に関する推奨事項シグナルのイベント例を示します。

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Instance Rebalance Recommendation",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2:123456789012:instance/i-1234567890abcdef0"],
    "detail": {
        "instance-id": "i-1234567890abcdef0"
    }
}
```

次のフィールドはルールで定義されているイベントパターンになります。

`"detail-type": "EC2 Instance Rebalance Recommendation"`  
イベントが再調整に関する推奨事項イベントであることを特定します

`"source": "aws.ec2"`  
イベントが Amazon EC2 からのものであることを特定します

#### EventBridge ルールを作成します
<a name="cp-eventbridge-rule"></a>

EventBridge ルールを作成し、イベントパターンがルールに一致したときに実行するアクションを自動化できます。

次の例ではAmazon EC2 が再調整に関する推奨事項シグナルを発するたびに、E メール、テキストメッセージ、またはモバイルプッシュ通知を送信する EventBridge ルールを作成します。シグナルは `EC2 Instance Rebalance Recommendation` イベントとして発され、ルールによって定義されたアクションがトリガーされます。

EventBridge ルールを作成する前に、E メール、テキストメッセージ、またはモバイルプッシュ通知用の Amazon SNS トピックを作成する必要があります。

**再調整に関する推奨事項イベントの EventBridge ルールを作成するには**

1. Amazon EventBridge コンソールの [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) を開いてください。

1. [**Create rule**] を選択してください。

1. **[Define rule detail]** (詳細の定義) で、次の操作を行います。

   1. ルールの [**Name (名前)**] を入力し、必要に応じて説明を入力してください。

      ルールには同じリージョン内および同じイベントバス上の別のルールと同じ名前を付けることはできません。

   1. **[イベントバス]** として、**[デフォルト]** を選択してください。アカウント内の AWS のサービスで生成されたイベントは常に、そのアカウントのデフォルトのイベントバスに送られます。

   1. **[ルールタイプ]** で、**[イベントパターンを持つルール]** を選択してください。

   1. [**Next**] を選択してください。

1. **[Build event pattern]** (イベントパターンの作成) で、次の操作を行います。

   1. **[Event source]** (イベントソース) で、**[AWS events or EventBridge partner events]** ( イベントまたは EventBridge パートナーイベント) を選択してください。

   1. この例では **[Event pattern]** (イベントパターン) で、`EC2 Instance Rebalance Recommendation` イベントと一致するように次のイベントパターンを指定してから、**[Save]** (保存) を選択してください。

      ```
      {
       "source": ["aws.ec2"],
       "detail-type": ["EC2 Instance Rebalance Recommendation"]
      }
      ```

      イベントパターンを追加するには以下のように **[Event pattern form]** (イベントパターンフォーム) を選択してテンプレートを使用するか、**[Custom pattern (JSON editor)]** (カスタムパターン (JSON エディター)) を選択して独自のパターンを指定します。

      1. テンプレートを使用してイベントパターンを作成するには以下の操作を行います。

         1. **[Event pattern form]** (イベントパターンフォーム) を選択してください。

         1. **[イベントソース]** で、**[AWS のサービス]** を選択してください。

         1. **[AWS Service]** ( サービス) で、**[EC2 Spot Fleet]** (EC2 スポットフリート) を選択してください。

         1. **[Event type]** (イベントタイプ) で、**[EC2 Instance Rebalance Recommendation]** (EC2 インスタンスのリバランスに関するレコメンデーション) を選択してください。

         1. テンプレートをカスタマイズするには**[Edit pattern]** (パターンを編集) を選択した上で、この例のイベントパターンに合わせた変更を行います。

      1. (代替案) 以下の操作を行って、カスタムイベントパターンを指定します。

         1. **[Custom pattern (JSON editor)]** (カスタムパターン (JSON エディター)) を選択してください。

         1. **[Event pattern]** (イベントパターン) ボックスに、この例のイベントパターンを追加します。

   1. [**Next**] を選択してください。

1. **[Select target(s)]** (ターゲットを選択) で、以下の操作を行います。

   1. **[ターゲットタイプ]** で、**[AWS のサービス]** を選択してください。

   1. イベントの発生時に E メール、テキストメッセージ、またはモバイルプッシュ通知を送信するために、**[Select a target]** (ターゲットを選択) で、**[SNS topic]** (SNS トピック) を選択してください。

   1. [**Topic (トピック)**] で、既存のトピックを選択してください。先ず、Amazon SNS コンソールを使用して Amazon SNS トピックを作成する必要があります。詳細については、[Amazon Simple Notification Service デベロッパーガイド](https://docs.aws.amazon.com//sns/latest/dg/sns-user-notifications.html) の*Amazon SNS を使用した Application-to-Person (A2P) メッセージング*を参照してください。

   1. (オプション) **[Additional settings]** (追加設定) で、その他の設定を行うこともできます。詳細については、「*Amazon EventBridge ユーザーガイド*」の「[イベントに反応する Amazon EventBridge ルールの作成](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html)」(ステップ 16) を参照してください。

   1. [**Next**] を選択してください。

1. (オプション) 必要な場合は、**[Tags]** (タグ) で 1 つ以上のタグを作成したルールに割り当て、**[Next]** (次へ) を選択してください。

1. **[Review and create]** (確認して作成) で、以下の操作を行いす。

   1. ルールの詳細を確認し、必要な場合は変更を行います。

   1. **ルールの作成**を選択してください。

詳細については「Amazon EventBridge ユーザーガイド**」の「[Amazon EventBridge ルール](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html)」と「[Amazon EventBridge イベントパターン](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)」を参照してください。

### インスタンスメタデータの使用
<a name="cp-instance-metadata"></a>

インスタンスメタデータカテゴリ `events/recommendations/rebalance` はスポットインスタンスに対して再調整に関する推奨事項シグナルが発されたおおよその時間 (UTC) を示します。

再調整に関する推奨事項シグナルを 5 秒ごとに確認し、再調整に関する推奨事項に基づいて行動する機会を見逃さないようにすることをお勧めします。

スポットインスタンスが受信した、再調整に関する推奨事項ではそのシグナルが発行された時刻がインスタンスメタデータに含まれています。信号が発された時間は以下のように取得できます。

------
#### [ IMDSv2 ]

**Linux**  
次のコマンドを Linux インスタンスから実行します。

**IMDSv2**

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

**Server**  
次のコマンドレットを Windows インスタンスから実行します。

```
[string]$token = Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/api/token
```

```
Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token" = $token} `
    -Method GET -Uri http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

------
#### [ IMDSv1 ]

**Linux**  
次のコマンドを Linux インスタンスから実行します。

```
curl http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

**Server**  
次のコマンドレットを Windows インスタンスから実行します。

```
Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

------

次に、再調整に関する推奨事項シグナルがスポットインスタンスに対して送信された時刻を、UTC で表示する出力例を示します。

```
{"noticeTime": "2020-10-27T08:22:00Z"}
```

インスタンスに対してシグナルが送信されていない場合、`events/recommendations/rebalance` は存在せず、取得しようとすると HTTP 404 エラーが表示されます。

## 再調整に関する推奨事項シグナルを使用するサービス
<a name="services-using-rebalance-rec-signal"></a>

Amazon EC2 Auto Scaling、EC2 フリート、およびスポットフリートにおいて再調整に関する推奨事項シグナルを使用することで、ワークロードの可用性を維持しやすくなります。実行中のインスタンスがスポットインスタンス中断 2 分前の通知を受信していない段階から、事前にフリートを新しいスポットインスタンスで強化することができます。このようなサービスではスポットインスタンス の可用性に影響する変更を事前にモニタリングし、対応させることができます。詳細については次を参照してください:
+ 「*Amazon EC2 Auto Scaling ユーザーガイド*」の「[キャパシティーの再調整を使用して Amazon EC2 スポットの中断に対処する](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html)」
+ このユーザーガイドの EC2 フリートとスポットフリートのトピックの [EC2 フリートとスポットフリートでキャパシティの再調整を使用して、リスクのあるスポットインスタンスを置き換える](ec2-fleet-capacity-rebalance.md)

# スポットプレイスメントスコア
<a name="spot-placement-score"></a>

スポットプレイスメントスコア機能ではスポットの容量要件に基づいて AWS リージョンやアベイラビリティーゾーンを推奨することができます。スポット容量は変動し、必要な容量が常に得られるかどうかはわかりません。スポットプレイスメントスコアはリージョンまたはアベイラビリティーゾーンでスポットリクエストが成功する可能性を示します。

**注記**  
スポットプレイスメントスコアは利用可能な容量や中断のリスクに関して、いかなる保証も提供しません。スポットプレイスメントスコアはレコメンデーションとしてのみ機能します。

**ユースケース**

スポットプレイスメントスコア機能は次の場合に使用できます。
+ 現在のリージョンでの容量ニーズの増加または使用可能な容量の減少に応じて、必要に応じて別のリージョンでスポットコンピューティング性能を再配置してスケールします。
+ 単一アベイラビリティーゾーンのワークロードを実行する最適なアベイラビリティーゾーンを特定します。
+ 将来のスポット容量のニーズをシミュレートして、スポットベースのワークロードの拡張に最適なリージョンを選択できるようにします。
+ スポットキャパシティのニーズを満たす、最適なインスタンスタイプの組み合わせを特定するには。

**Topics**
+ [

## 制限
](#sps-limitations)
+ [

## コスト
](#sps-costs)
+ [

# スポットプレイスメントスコアの仕組み
](how-sps-works.md)
+ [

# スポットプレイスメントスコアに必要なアクセス許可
](sps-iam-permission.md)
+ [

# スポットプレイスメントスコアを計算する
](work-with-spot-placement-score.md)

## 制限
<a name="sps-limitations"></a>
+ **ターゲット容量制限** – スポットプレイスメントスコアのターゲット容量制限は潜在的な使用量の増加を考慮しながら、最近のスポット使用量に基づきます。最近のスポット使用がない場合はスポットリクエストの制限に合わせてデフォルトの低い制限が提供されます。
+ **リクエスト設定の制限** – スポットプレイスメントスコア機能の意図された使用に関連しないパターンを検出した場合、24 時間以内に新しいリクエスト設定の数を制限できます。上限に達した場合はすでに使用したリクエスト設定を再試行できますが、次の 24 時間まで新しいリクエスト設定を指定することはできません。
+ **インスタンスタイプの最小数** – インスタンスタイプを指定する場合は少なくとも 3 つの異なるインスタンスタイプを指定する必要があります。指定しないと、Amazon EC2 は低いスポットプレイスメントスコアを返します。同様に、インスタンス属性を指定する場合は少なくとも 3 つの異なるインスタンスタイプを解決する必要があります。インスタンスタイプは異なる名前を持つ場合、異なると見なされます。例えば、m5.8xlarge、m5a.8xlarge、およびm5.12xlarge はすべて異なると見なされます。

## コスト
<a name="sps-costs"></a>

スポットプレイスメントスコア機能は追加料金なしで使用できます。

# スポットプレイスメントスコアの仕組み
<a name="how-sps-works"></a>

スポットプレイスメントスコア機能を使用する場合はまずスポットインスタンスのコンピューティング要件を指定します。その後、Amazon EC2 はスポットリクエストが成功する可能性が高い上位 10 リージョン、を返します。各リージョンまたはアベイラビリティーゾーンは1～10 のスケールで採点されます。10 はスポットリクエストが成功する可能性が高いことを示し、1 はスポットリクエストが成功する可能性が低いことを示します。

**Topics**
+ [

## ステップ 1: スポット要件を指定する
](#sps-specify-requirements)
+ [

## ステップ 2: スポットプレイスメントスコアレスポンスのフィルタリング
](#get-sps)
+ [

## ステップ 3: レコメンデーションを確認する
](#sps-recommendations)
+ [

## ステップ 4: レコメンデーションを使用する
](#sps-use-recommendations)

## ステップ 1: スポット要件を指定する
<a name="sps-specify-requirements"></a>

まず、希望するターゲットスポット容量とコンピューティング要件を次のように指定します。

1. **ターゲットスポット容量を指定し、オプションでターゲット容量単位を指定します。**

   目的のターゲットスポット容量はインスタンスまたは vCPUs の数、または MiB のメモリ量の観点から指定できます。vCPU 数またはメモリ量でターゲット容量を指定するにはターゲット容量単位を `vcpu` または `memory-mib` のように指定する必要があります。それ以外の場合、デフォルトはインスタンス数になります。

   vCPU の数またはメモリ量の観点からターゲット容量を指定することで、総容量を数えるときにこれらの単位を使用できます。例えば、異なるサイズのインスタンスを組み合わせて使用する場合はターゲット容量を vCPU の総数として指定できます。スポットプレイスメントスコア機能はvCPU の数でリクエスト内の各インスタンスタイプを考慮し、ターゲット容量を合計するときに、インスタンスの総数ではなく vCPU の総数をカウントします。

   例えば、合計ターゲット容量を 30 に指定し、インスタンスタイプリストが c5.xlarge (4 vCPU)、m5.2xlarge (8 vCPU)、および r5.large (2 vCPU) で構成されているとします。合計 30 個の vCPU を実現するには2 個のc5.xlarge (2\$14 vCPU)、2 m5.2xlarge (2\$18 vCPU)、3 r5.large (3\$12 vCPU) を混在させることができます。

1. **インスタンスタイプまたはインスタンス属性を指定します。**

   使用するインスタンスタイプを指定するか、コンピューティング要件に必要なインスタンス属性を指定して、それらの属性を持つインスタンスタイプを Amazon EC2 に識別させることができます。これは属性ベースのインスタンスタイプの選択と呼ばれます。

   同じスポットプレイスメントスコアリクエストではインスタンスタイプとインスタンス属性の両方を指定することはできません。

   インスタンスタイプを指定する場合は少なくとも 3 つの異なるインスタンスタイプを指定する必要があります。指定しないと、Amazon EC2 は低いスポットプレイスメントスコアを返します。同様に、インスタンス属性を指定する場合は少なくとも 3 つの異なるインスタンスタイプを解決する必要があります。

スポット要件を指定するさまざまな方法の例については[設定例](work-with-spot-placement-score.md#sps-example-configs)を参照してください。

## ステップ 2: スポットプレイスメントスコアレスポンスのフィルタリング
<a name="get-sps"></a>

Amazon EC2 はリージョンまたはアベイラビリティーゾーンごとにスポットプレイスメントスコアを計算し、スポットリクエストが成功する可能性のある上位 10 のリージョンまたは上位 10 のアベイラビリティーゾーンのいずれかを返します。デフォルトではスコアリングされたリージョンのリストが返されます。すべてのスポット容量を単一のアベイラビリティーゾーンに起動する場合はスコアリングされたアベイラビリティーゾーンのリストをリクエストすると便利です。

リージョンフィルターを指定して、レスポンスで返されるリージョンを絞り込むことができます。

リージョンフィルターとスコア付きアベイラビリティーゾーンのリクエストを組み合わせることができます。このようにして、スコアリングされたアベイラビリティーゾーンはフィルターしたリージョンに限定されます。リージョン内の最高スコアのアベイラビリティーゾーンを検索するにはそのリージョンのみを指定すると、そのリージョン内のすべてのアベイラビリティーゾーンのスコアリストが返されます。

## ステップ 3: レコメンデーションを確認する
<a name="sps-recommendations"></a>

各リージョンまたはアベイラビリティーゾーンのスポットプレイスメントスコアはターゲット容量、インスタンスタイプの構成、過去および現在のスポット使用傾向、およびリクエストの時間に基づいて計算されます。スポット容量は絶えず変動するため、同じスポット配置スコアのリクエストは異なる時間に計算されたときに異なるスコアを生成する可能性があります。

リージョンとアベイラビリティーゾーンは1 ～ 10 のスケールで採点されます。スコアが 10 の場合はスポットリクエストが成功する可能性が高いが、保証されていないことを示します。スコア 1 はスポットリクエストがまったく成功する可能性がないことを示します。異なるリージョンまたはアベイラビリティーゾーンで同じスコアが返される場合があります。

低スコアが返された場合はコンピューティング要件を編集してスコアを再計算できます。また、同じコンピューティング要件についてスポットプレイスメントスコアのレコメンデーションを 1 日の異なる時間にリクエストすることもできます。

## ステップ 4: レコメンデーションを使用する
<a name="sps-use-recommendations"></a>

スポットプレイスメントスコアはスポットリクエストの構成がスポットプレイスメントスコアの構成と全く同じであり (ターゲット容量、ターゲット容量単位、インスタンスタイプまたはインスタンス属性)、`capacity-optimized` 配分戦略を使用するように構成されている場合にのみ意味を持ちます。それ以外の場合、使用可能なスポット容量が得られる可能性はスコアと一致しません。

スポットプレイスメントスコアはガイドラインとして機能し、スポットリクエストの完全または一部が満たされることを保証するスコアはありませんが、次の情報を使用して最良の結果を得ることができます。
+ **同じ設定を使用する**— スポットプレイスメントスコアはAuto Scaling グループ、EC2 フリート、またはスポットフリートのスポットリクエスト設定 (ターゲット容量、ターゲット容量単位、インスタンスタイプまたはインスタンス属性) がスポットプレイスメントスコアを取得するために入力した内容と同じである場合にのみ関連します。

  スポットプレイスメントスコアリクエストで属性ベースのインスタンスタイプの選択を使用した場合、属性ベースのインスタンスタイプの選択を使用して Auto Scaling グループ、EC2 フリート、またはスポットフリートを設定できます。詳細については「[Create mixed instances group using attribute-based instance type selection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html)」と「[EC2 フリートまたはスポットフリートのインスタンスタイプを選択するための属性を指定する](ec2-fleet-attribute-based-instance-type-selection.md)」を参照してください。
**注記**  
vCPU の数またはメモリ量の観点からターゲット容量を指定し、スポットプレイスメントスコア設定でインスタンスタイプを指定した場合は現在 Auto Scaling グループ、EC2 フリート、またはスポットフリートでこの設定を作成できないことに注意してください。代わりに、インスタンスの重み付けは `WeightedCapacity` パラメータを使用して手動で行います。
+ **`capacity-optimized` 配分戦略を使用する** – いずれのスコアも、スポット容量のリクエストが成功するためにはフリートのリクエストがすべてのアベイラビリティーゾーン (リージョン間の容量をリクエストする場合) または単一のアベイラビリティーゾーン (1 つのアベイラビリティーゾーンで容量をリクエストする場合) と `capacity-optimized` スポット配分戦略を使用するように設定されていることを前提としています。`lowest-price` のような他の配分戦略を用いた場合、利用可能なスポット容量を得られる可能性はスコアと一致しません。
+ **すぐにスコアに基づいて行動する** – スポットプレイスメントスコアのレコメンデーションはリクエスト時の利用可能なスポット容量を反映したものであり、スポット容量の変動により、同じ構成でも異なる時期に計算すると異なるスコアになることがあります。スコアが 10 の場合、スポット容量リクエストが成功する可能性が高い (保証はされません) ことを意味しますが、最良の結果を得るにはすぐにスコアに基づいて行動することをお勧めします。また、容量リクエストを試行するたびに新しいスコアを取得することをお勧めします。

# スポットプレイスメントスコアに必要なアクセス許可
<a name="sps-iam-permission"></a>

デフォルトではIAM アイデンティティ (ユーザー、ロール、またはグループ) には[スポットプレイスメントスコア](spot-placement-score.md)を使用するためのアクセス許可がありません。IAM アイデンティティがスポットプレイスメントスコアを使用できるようにするには`ec2:GetSpotPlacementScores` EC2 API アクションを使用するためのアクセス許可を付与する IAM ポリシーを作成する必要があります。次に、アクセスを必要とする IAM アイデンティティにポリシーをアタッチします。

すべてのリソースの `ec2:GetSpotPlacementScores` EC2 API アクションのアクセス権限を付与する IAM ポリシーの例を次に示します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:GetSpotPlacementScores",
            "Resource": "*"
        }
    ]
}
```

------

IAM ポリシーの編集の詳細については*IAM ユーザーガイド*の[IAM ポリシーの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html)を参照してください。

アクセス権限を付与するにはユーザー、グループ、またはロールにアクセス許可を追加します。
+ AWS IAM アイデンティティセンター のユーザーとグループ:

  アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)」の手順に従ってください。
+ IAM 内で、ID プロバイダーによって管理されているユーザー:

  ID フェデレーションのロールを作成します。詳細については *IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ IAM ユーザー:
  + ユーザーが担当できるロールを作成します。手順については *IAM ユーザーガイド* の [IAM ユーザーのロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) を参照してください。
  + (お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。詳細については「IAM ユーザーガイド**」の「[ユーザー (コンソール) へのアクセス権限の追加](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)」を参照してください。

# スポットプレイスメントスコアを計算する
<a name="work-with-spot-placement-score"></a>

スポットプレイスメントスコアはターゲット容量とコンピューティング要件に基づいて計算できます。詳細については「[スポットプレイスメントスコアの仕組み](how-sps-works.md)」を参照してください。

**必要な アクセス許可**  
必要なアクセス許可を持っていることを確認してください。詳細については「[スポットプレイスメントスコアに必要なアクセス許可](sps-iam-permission.md)」を参照してください。

**Topics**
+ [

## インスタンス属性を使用して計算する
](#sps-specify-instance-attributes-console)
+ [

## インスタンスタイプを使用して計算する
](#sps-specify-instance-types-console)
+ [

## AWS CLI を使用して計算する
](#calculate-sps-cli)

**自動化ソリューションが必要な場合は** このユーザーガイドの手動ステップに従うのではなく、スポットプレースメントスコアトラッカーダッシュボードを構築します。スコアを自動的にキャプチャして Amazon CloudWatch に保存できます。詳細については「[Guidance for Building a Spot Placement Score Tracker Dashboard on AWS](https://aws.amazon.com/solutions/guidance/building-a-spot-placement-score-tracker-dashboard-on-aws/)」を参照してください。

## インスタンス属性を使用して計算する
<a name="sps-specify-instance-attributes-console"></a>

**インスタンス属性を指定してスポットプレイスメントスコアを計算するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Spot Requests**] を選択してください。

1. **[スポットインスタンスのリクエスト]** の横にある下矢印を選択してから、**[スポットプレイスメントスコアの計算]** を選択してください。

1. **[Enter requirements]** (要件の入力) を選択してください。

1. [**Target capacity**] (ターゲット容量) には希望する容量を**インスタンス**数や **vCPU **数、または**メモリ量 (MiB) **で入力してください。

1. [**Instance type requirements**] (インスタンスタイプの要件) ではコンピューティング要件を指定し、Amazon EC2 にこれらの要件に最適なインスタンスタイプを識別させるために、[**Specify instance attributes that match your compute requirements**] (コンピューティング要件に一致するインスタンス属性を指定) を選択してください。

1. **[vCPUs]** に、希望する vCPU の最小数と最大数を入力してください。制限なしを指定するには、**[No minimum]** (最小値なし)、**[No maximum]** (最大値なし)、または両方を選択してください。

1. **[Memory (GiB)]** (メモリ (GiB)) に、希望する最小値と最大値を入力してください。制限なしを指定するには**[No minimum]** (最小値なし)、**[No maximum]** (最大値なし)、または両方を選択してください。

1. **[CPU architecture]** (CPU アーキテクチャ) では必要なインスタンスアーキテクチャを選択してください。

1. (オプション) **[Additional instance attributes]** (その他のインスタンス属性) ではオプションで 1 つ以上の属性を指定して、コンピューティング要件をより詳細に表現できます。追加の属性はリクエストにさらに制約を追加します。追加の属性は省略できます。省略すると、デフォルト値が使用されます。各属性およびそのデフォルト値の説明については、Amazon EC2 コマンドラインリファレンスの [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html).を参照してください。

1. (オプション) 指定した属性を持つインスタンスタイプを表示するには**[Preview matching instance types]** (一致するインスタンスタイプをプレビューする) を展開します。インスタンスタイプを配置評価に使用しないようにするにはインスタンスを選択し、[**Exclude selected instance types**] (選択されたインスタンスタイプを除外する)を選択してください。

1. **[Load placement scores]** (プレイスメントスコアのロード) を選択し、結果を確認します。

1. (オプション) 特定のリージョンのスポットプレイスメントスコアを表示するには**[Regions to evaluate]** (評価するリージョン) で、評価するリージョンを選択し、**[Calculate placement scores]** (プレイスメントスコアの計算) を選択してください。

1. (オプション) 表示されたリージョンにアベイラビリティーゾーンのスポット配置スコアを表示するには**[アベイラビリティーゾーンごとの配置スコアを表示]** のチェックボックスをオンにします。スコアリングされたアベイラビリティーゾーンのリストはすべてのスポット容量を 1 つのアベイラビリティーゾーンで起動する場合に便利です。

1. (オプション) コンピューティング要件を編集して新しいプレイスメントスコアを取得するには**[Edit]** (編集) を選択し、必要な調整を行った後、**[Calculate placement scores]** (プレイスメントスコアの計算) を選択してください。

## インスタンスタイプを使用して計算する
<a name="sps-specify-instance-types-console"></a>

**インスタンスタイプを指定してスポットプレイスメントスコアを計算するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Spot Requests**] を選択してください。

1. **[スポットインスタンスのリクエスト]** の横にある下矢印を選択してから、**[スポットプレイスメントスコアの計算]** を選択してください。

1. **[Enter requirements]** (要件の入力) を選択してください。

1. **[Target capacity]** (ターゲット容量) には希望する容量を**インスタンス**数や **vCPU **数、または**メモリ量 (MiB) **で入力してください。

1. **[Instance type requirements]** (インスタンスタイプの要件) では使用するインスタンスタイプを指定するため、**[Manually select instance types]** (手動でインスタンスタイプを選択する) を選択してください。

1. **[Select instance types]** (インスタンスタイプを選択) を選択し、使用するインスタンスタイプを選択してから**[Select]** (選択) を選択してください。インスタンスタイプをすばやく検索するにはフィルターバーを使用して、異なるプロパティでインスタンスタイプをフィルタリングできます。

1. **[Load placement scores]** (プレイスメントスコアのロード) を選択し、結果を確認します。

1. (オプション) 特定のリージョンのスポットプレイスメントスコアを表示するには**[Regions to evaluate]** (評価するリージョン) で、評価するリージョンを選択し、**[Calculate placement scores]** (プレイスメントスコアの計算) を選択してください。

1. (オプション) 表示されたリージョンにアベイラビリティーゾーンのスポット配置スコアを表示するには**[アベイラビリティーゾーンごとの配置スコアを表示]** のチェックボックスをオンにします。スコアリングされたアベイラビリティーゾーンのリストはすべてのスポット容量を 1 つのアベイラビリティーゾーンで起動する場合に便利です。

1. (オプション）インスタンスタイプのリストを編集して新しいプレイスメントスコアを取得するには**[Edit]** (編集) を選択し、必要な調整を行ってから **[Calculate placement scores]** (プレイスメントスコアの計算) を選択してください。

## AWS CLI を使用して計算する
<a name="calculate-sps-cli"></a>

**スポットプレイスメントスコアを計算するには**

1. (オプション) スポットプレイスメントスコアの設定で指定可能なすべてのパラメータを生成するには[get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html) コマンドと `--generate-cli-skeleton` パラメータを使用します。

   ```
   aws ec2 get-spot-placement-scores \
       --region us-east-1 \
       --generate-cli-skeleton
   ```

   以下は出力の例です。

   ```
   {
       "InstanceTypes": [
           ""
       ],
       "TargetCapacity": 0,
       "TargetCapacityUnitType": "vcpu",
       "SingleAvailabilityZone": true,
       "RegionNames": [
           ""
       ],
       "InstanceRequirementsWithMetadata": {
           "ArchitectureTypes": [
               "x86_64_mac"
           ],
           "VirtualizationTypes": [
               "hvm"
           ],
           "InstanceRequirements": {
               "VCpuCount": {
                   "Min": 0,
                   "Max": 0
               },
               "MemoryMiB": {
                   "Min": 0,
                   "Max": 0
               },
               "CpuManufacturers": [
                   "amd"
               ],
               "MemoryGiBPerVCpu": {
                   "Min": 0.0,
                   "Max": 0.0
               },
               "ExcludedInstanceTypes": [
                   ""
               ],
               "InstanceGenerations": [
                   "previous"
               ],
               "SpotMaxPricePercentageOverLowestPrice": 0,
               "OnDemandMaxPricePercentageOverLowestPrice": 0,
               "BareMetal": "excluded",
               "BurstablePerformance": "excluded",
               "RequireHibernateSupport": true,
               "NetworkInterfaceCount": {
                   "Min": 0,
                   "Max": 0
               },
               "LocalStorage": "included",
               "LocalStorageTypes": [
                   "hdd"
               ],
               "TotalLocalStorageGB": {
                   "Min": 0.0,
                   "Max": 0.0
               },
               "BaselineEbsBandwidthMbps": {
                   "Min": 0,
                   "Max": 0
               },
               "AcceleratorTypes": [
                   "fpga"
               ],
               "AcceleratorCount": {
                   "Min": 0,
                   "Max": 0
               },
               "AcceleratorManufacturers": [
                   "amd"
               ],
               "AcceleratorNames": [
                   "vu9p"
               ],
               "AcceleratorTotalMemoryMiB": {
                   "Min": 0,
                   "Max": 0
               }
           }
       },
       "DryRun": true,
       "MaxResults": 0,
       "NextToken": ""
   }
   ```

1. 前のステップの出力を使用して JSON 設定ファイルを作成し、次のように設定します。

   1. `TargetCapacity` には希望するスポット容量をインスタンス数や vCPU 数、またはメモリ量 (MiB) で入力してください。

   1. `TargetCapacityUnitType` に、ターゲット容量の単位を入力してください。このパラメータを省略すると、デフォルトで `units` になります。

      有効な値:`units` (インスタンス数に変換されます) \$1 `vcpu` \$1 `memory-mib`

   1. スコアリングされたアベイラビリティーゾーンのリストを返すレスポンスのため、`SingleAvailabilityZone` に `true` を指定します。スコアリングされたアベイラビリティーゾーンのリストはすべてのスポット容量を 1 つのアベイラビリティーゾーンで起動する場合に便利です。このパラメータを省略すると、デフォルトで `false` となり、レスポンスはスコアリングされたリージョンのリストを返します。

   1. (オプション) `RegionNames` で、フィルターとして使用するリージョンを指定します。リージョンコードを指定する必要があります (例: `us-east-1`)。

      リージョンフィルターを使用すると、レスポンスは指定したリージョンのみを返します。`true` で `SingleAvailabilityZone` を指定した場合は指定したリージョンのアベイラビリティーゾーンのみを返します。

   1. 同じ設定に `InstanceTypes` または `InstanceRequirements` を含めることができますが、両方を含めることはできません。

      JSON 設定で、次のいずれかを指定します。
      + インスタンスタイプのリストを指定するには`InstanceTypes` パラメータでインスタンスタイプを指定します。少なくとも 3 つの異なるインスタンスタイプを指定します。1 つまたは 2 つのインスタンスタイプのみを指定した場合、スポットプレイスメントスコアは低スコアを返します。インスタンスタイプのリストについては[Amazon EC2 インスタンスタイプ](https://aws.amazon.com/ec2/instance-types/) を参照してください。
      + Amazon EC2 がこれらの属性に一致するインスタンスタイプを識別するように、インスタンスの属性を指定するには`InstanceRequirements` 構造内にある属性を指定します。

        `VCpuCount`、`MemoryMiB` および `CpuManufacturers` の値を指定する必要があります。その他の属性は省略できます。省略すると、デフォルト値が使用されます。各属性およびそのデフォルト値の説明についてはAmazon EC2 コマンドラインリファレンスの [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html) を参照してください。

      設定例については[設定例](#sps-example-configs)を参照してください。

1. JSON ファイルで指定した条件のスポットプレイスメントスコアを取得するには[get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html) コマンドを使用し、`--cli-input-json` パラメータで JSON ファイルの名前とパスを指定します。

   ```
   aws ec2 get-spot-placement-scores \
       --region us-east-1 \
       --cli-input-json file://file_name.json
   ```

   `SingleAvailabilityZone` が `false` に設定されているか、省略されている場合の出力例 (省略されている場合のデフォルトは `false`) – リージョンのスコアリングされたリストが返されます。

   ```
   "SpotPlacementScores": [
       {
           "Region": "us-east-1",
           "Score": 7
       },
       {
           "Region": "us-west-1",
           "Score": 5
       },  
      ...
   ```

   `SingleAvailabilityZone` が `true` に設定されている場合の出力例 – アベイラビリティーゾーンのスコアリストが返されます。

   ```
   "SpotPlacementScores": [
       {
           "Region": "us-east-1",
           "AvailabilityZoneId": "use1-az1",
           "Score": 8
       },
       {
           "Region": "us-east-1",
           "AvailabilityZoneId": "usw2-az3",
           "Score": 6
       },
      ...
   ```

### 設定例
<a name="sps-example-configs"></a>

AWS CLI を使用する場合、次の設定例を使用できます。

**Topics**
+ [

#### 例: インスタンスタイプとターゲット容量の指定
](#example-config-instance-type-override)
+ [

#### 例: メモリの観点からインスタンスタイプとターゲット容量を指定する
](#example-config-instance-type-memory-unit-override)
+ [

#### 例: 属性ベースのインスタンスタイプ選択の属性を指定する
](#example-config-attribute-based-instance-type-selection)
+ [

#### 例: 属性ベースのインスタンスタイプ選択の属性を指定し、アベイラビリティーゾーンのスコアリストを返す
](#example-config-sps-singleAZ)

#### 例: インスタンスタイプとターゲット容量の指定
<a name="example-config-instance-type-override"></a>

次の設定例では3 つの異なるインスタンスタイプと 500 スポットインスタンスのターゲットスポット容量を指定します。

```
{
    "InstanceTypes": [
        "m5.4xlarge",
        "r5.2xlarge",
        "m4.4xlarge"
    ], 
    "TargetCapacity": 500
}
```

#### 例: メモリの観点からインスタンスタイプとターゲット容量を指定する
<a name="example-config-instance-type-memory-unit-override"></a>

次の設定例では3 つの異なるインスタンスタイプとターゲットスポット容量 500,000 MiB のメモリを指定します。この場合、起動するスポットインスタンスの数は合計 500,000 MiB のメモリを提供する必要があります。

```
{
    "InstanceTypes": [
        "m5.4xlarge",
        "r5.2xlarge",
        "m4.4xlarge"
    ], 
    "TargetCapacity": 500000,
    "TargetCapacityUnitType": "memory-mib"
}
```

#### 例: 属性ベースのインスタンスタイプ選択の属性を指定する
<a name="example-config-attribute-based-instance-type-selection"></a>

次の設定例は属性ベースのインスタンスタイプ選択用に設定され、その後に設定例の説明が記載されています。

```
{
    "TargetCapacity": 5000,
    "TargetCapacityUnitType": "vcpu",
    "InstanceRequirementsWithMetadata": {
        "ArchitectureTypes": ["arm64"],
        "VirtualizationTypes": ["hvm"],
        "InstanceRequirements": {
            "VCpuCount": {
                "Min": 1,
                "Max": 12
            },
            "MemoryMiB": {
                "Min": 512
            }
        }
    }
}
```

****`InstanceRequirementsWithMetadata`****  
属性ベースのインスタンスタイプの選択を使用するには設定に `InstanceRequirementsWithMetadata` 構造を含め、スポットインスタンスに必要な属性を指定します。

前の例で、次の必須インスタンス属性を指定しています。
+ `ArchitectureTypes` – インスタンスタイプのアーキテクチャタイプは `arm64` である必要があります。
+ `VirtualizationTypes` – インスタンスタイプの仮想化タイプは `hvm` である必要があります。
+ `VCpuCount` – インスタンスタイプには1 個以上、最大 12 個の vCPU が必要です。
+ `MemoryMiB` – インスタンスタイプには最低 512 MiB のメモリが必要です。`Max` パラメータを省略した場合、上限がないことを示します。

指定できるオプションの属性は他にもいくつかあります。属性のリストについては「 コマンドラインリファレンス」の [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html) を参照してください。

**`TargetCapacityUnitType`**  
`TargetCapacityUnitType` パラメータはターゲット容量の単位を指定します。この例ではターゲット容量が`5000`、ターゲット容量単位のタイプが `vcpu` となっており、合わせて 5000 vCPUの希望ターゲット容量が指定されており、起動するスポットインスタンスの数で合計 5000 vCPU を提供する必要があります。

#### 例: 属性ベースのインスタンスタイプ選択の属性を指定し、アベイラビリティーゾーンのスコアリストを返す
<a name="example-config-sps-singleAZ"></a>

次の設定例は属性ベースのインスタンスタイプ選択用に設定されています。`"SingleAvailabilityZone": true` を指定した場合、レスポンスはスコアリングされたアベイラビリティーゾーンのリストを返します。

```
{
    "TargetCapacity": 1000,
    "TargetCapacityUnitType": "vcpu",
    "SingleAvailabilityZone": true,
    "InstanceRequirementsWithMetadata": {
        "ArchitectureTypes": ["arm64"],
        "VirtualizationTypes": ["hvm"],
        "InstanceRequirements": {
            "VCpuCount": {
                "Min": 1,
                "Max": 12
            },
            "MemoryMiB": {
                "Min": 512
            }
        }
    }
}
```

# スポットインスタンスのデータフィードを使用してスポットインスタンスのコストを追跡する
<a name="spot-data-feeds"></a>

スポットインスタンスの料金について理解しやすくするため、Amazon EC2 ではスポットインスタンスの使用状況と料金の詳細を、データフィードにより提供しています。このデータフィードはデータフィードを購読するときに指定する Amazon S3 バケットに送信されます。

データフィードファイルは通常 1 時間に 1 回バケットに到達します。スポットインスタンス実行が一定の時間に満たない場合、その時間のデータフィードファイルは送信されません。

通常、スポットインスタンスの使用時間は 1 時間ごとに 1 つのデータファイルでカバーされます。これらのファイルはユーザーのバケットに配信される前に圧縮 (gzip) されます。ファイルが大きい場合 (ある時間に関するファイルの内容が、圧縮前に 50 MB を超える場合など) はAmazon EC2 は指定した時間の使用状況に関する情報を複数のファイルに書き込みます。

**注記**  
1 つの AWS アカウントにつき 1 つのスポットインスタンスデータフィードのみを作成できます。

スポットインスタンスのデータフィードはAWS中国 (北京)、中国 (寧夏)、AWSGovCloud (米国) 以外のすべてのリージョンおよび[デフォルトでは無効になっているリージョン](using-regions-availability-zones.md#concepts-available-regions)でサポートされています。

**Topics**
+ [

## データフィードのファイル名と形式
](#using-spot-instances-format)
+ [

## Amazon S3 バケットの要件
](#using-spot-instances-dfs3)
+ [

## スポットインスタンスのデータフィードの購読
](#using-spot-instances-datafeed-all)
+ [

## データフィード内のデータを表示する
](#using-spot-instances-datafeed-view-data)
+ [

## スポットインスタンスのデータフィードを削除する
](#using-spot-instances-datafeed-delete)

## データフィードのファイル名と形式
<a name="using-spot-instances-format"></a>

スポットインスタンスのデータフィードのファイル名には(UTC の日付と時刻を使用しながら)次のような形式が使用されます。

```
bucket-name.s3.amazonaws.com/optional-prefix/aws-account-id.YYYY-MM-DD-HH.n.unique-id.gz
```

例えば、バケット名が **amzn-s3-demo-bucket** で、プレフィクスが **my-prefix** である場合、ファイル名は次のようになります。

```
amzn-s3-demo-bucket.s3.amazonaws.com/my-prefix/111122223333.2023-12-09-07.001.b959dbc6.gz
```

バケット名の詳細については「*Amazon S3 ユーザーガイド*」の「[Bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html)」を参照してください。

スポットインスタンスのデータフィードファイルはタブ区切りです。データファイルの各行は1 個のインスタンス時間に対応し、次の表に示すフィールドが含まれています。


|  フィールド  |  説明  | 
| --- | --- | 
|   `Timestamp`   |  そのインスタンス使用量に対して請求される価格を決定するために使用されるタイムスタンプ。  | 
|   `UsageType`   |  請求の対象となっている使用タイプおよびインスタンスタイプ。`m1.small` スポットインスタンス ではこのフィールドは `SpotUsage` に設定されます。他のすべてのインスタンスタイプではこのフィールドは `SpotUsage:`\$1*instance-type*\$1 に設定されます。例えば、`SpotUsage:c1.medium`。  | 
|   `Operation`   |  請求の対象となっている製品。Linux スポットインスタンス の場合、このフィールドは `RunInstances` に設定されます。Windows スポットインスタンス の場合、このフィールドは `RunInstances:0002` に設定されます。スポット使用状況は利用可能ゾーンに従ってグループ化されます。  | 
|   `InstanceID`   |  このインスタンスの使用量情報を生成したスポットインスタンスの ID。  | 
|   `MyBidID`   |  このインスタンスの使用量情報を生成したスポットインスタンスリクエストの ID。  | 
|   `MyMaxPrice`   |  このスポットリクエストに指定された上限価格。  | 
|   `MarketPrice`   |  `Timestamp` フィールドに指定された時刻のスポット料金。  | 
|   `Charge`   |  このインスタンス使用量に請求される価格。  | 
|   `Version`   |  データフィードバージョン。可能性のあるバージョンは 1.0 です。  | 

## Amazon S3 バケットの要件
<a name="using-spot-instances-dfs3"></a>

データフィードの購読時に、データフィードファイルを格納する Amazon S3 バケットを指定する必要があります。

データフィード用の Amazon S3 バケットを選択する前に、以下の点を考慮します。
+ バケットに対する `FULL_CONTROL` アクセス権限が必要です。バケット所有者にはデフォルトでこの権限があります。それ以外の場合、バケット所有者は AWS アカウントにこのアクセス権限を付与する必要があります。
+ データフィードを購読すると、これらのアクセス権限を使用してバケット ACL が更新され、AWS データフィードアカウントに `FULL_CONTROL` アクセス権限が付与されます。AWS データフィードアカウントはデータフィードファイルをバケットに書き込みます。アカウントに必要なアクセス許可がない場合、データフィードファイルをバケットに書き込むことはできません。詳細については「Amazon CloudWatch Logs ユーザーガイド」の「[Amazon S3 に送信されたログ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-S3)」を参照してください。

  ACL を更新して AWS データフィードアカウントのアクセス権限を削除すると、データフィードファイルをバケットに書き込むことができなくなります｡ データフィードファイルを受け取るにはデータフィードを再購読する必要があります。
+ 各データフィードファイルには独自の ACL があります (バケットの ACL とは別です)。バケット所有者にはデータファイルに対して `FULL_CONTROL` のアクセス許可があります。AWS データフィードアカウントには読み書きのアクセス権限があります。
+ データフィードの購読を削除しても、Amazon EC2 はAWS データフィードアカウントでの、バケットまたはデータファイルに対する読み書きのアクセス許可を削除しません。これらのアクセス許可は自分で削除する必要があります。
+ AWS Key Management Service (SSE-KMS) に保存されている AWS KMS キーによるサーバー側の暗号化を使用して Amazon S3 バケットを暗号化する場合はカスタマーマネージド型キーを使用する必要があります。詳細については「Amazon CloudWatch Logs ユーザーガイド」の「[Simple Storage Service (Amazon S3) バケットのサーバー側の暗号化](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-SSE-KMS-S3)」を参照してください。**

## スポットインスタンスのデータフィードの購読
<a name="using-spot-instances-datafeed-all"></a>

スポットインスタンスのデータフィードはいつでも購読できます。Amazon EC2 コンソールを使用してこのタスクを完了することはできません。

バケットに十分なアクセス許可がないというエラーが表示された場合は「[Troubleshoot the data feed for Spot Instances](https://repost.aws/knowledge-center/s3-data-feed-ec2-spot-instances)」の記事でトラブルシューティングに関する情報を参照してください。。

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

**データフィードを購読するには**  
[create-spot-datafeed-subscription](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-spot-datafeed-subscription.html) コマンドを使用します。

プレフィックスを使用してバケットを指定するには、次の例を使用します。

```
aws ec2 create-spot-datafeed-subscription \
    --bucket amzn-s3-demo-bucket \
    --prefix my-prefix
```

プレフィックスを使用せずにバケットを指定するには、次の例を使用します。

```
aws ec2 create-spot-datafeed-subscription \
    --bucket amzn-s3-demo-bucket
```

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

**データフィードを購読するには**  
[New-EC2SpotDatafeedSubscription](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2SpotDatafeedSubscription.html) コマンドレットを使用します。

プレフィックスを使用してバケットを指定するには、次の例を使用します。

```
New-EC2SpotDatafeedSubscription `
    -Bucket amzn-s3-demo-bucket `
    -Prefix my-prefix
```

プレフィックスを使用せずにバケットを指定するには、次の例を使用します。

```
New-EC2SpotDatafeedSubscription `
    -Bucket amzn-s3-demo-bucket
```

------

## データフィード内のデータを表示する
<a name="using-spot-instances-datafeed-view-data"></a>

AWS マネジメントコンソールで AWS CloudShell を開きます。次の [s3 sync](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) コマンドを使用して、データフィードの S3 バケットから .gz ファイルを取得し、指定したフォルダに保存します。

```
aws s3 sync s3://amzn-s3-demo-bucket ./data-feed
```

.gz ファイルの内容を表示するにはS3 バケットの内容を保存したフォルダに移動します。

```
cd data-feed
```

**ls** コマンドを使用してファイルの名前を表示します。**zcat** コマンドをファイルの名前と共に使用すると、圧縮ファイルの内容が表示されます。以下にサンプルコマンドを示します。

```
zcat  111122223333.2023-12-09-07.001.b959dbc6.gz
```

以下は出力の例です。

```
#Version: 1.0
#Fields: Timestamp UsageType Operation InstanceID MyBidID MyMaxPrice MarketPrice Charge Version
2023-12-09 07:13:47 UTC USE2-SpotUsage:c7a.medium       RunInstances:SV050      i-0c3e0c0b046e050df     sir-pwq6nmfp    0.0510000000 USD        0.0142000000 USD        0.0142000000 USD        1
```

## スポットインスタンスのデータフィードを削除する
<a name="using-spot-instances-datafeed-delete"></a>

スポットインスタンスのデータフィードが終了したら、データフィードを削除できます。

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

**データフィードを削除するには**  
[delete-spot-datafeed-subscription](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-spot-datafeed-subscription.html) コマンドを使用します。

```
aws ec2 delete-spot-datafeed-subscription
```

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

**データフィードを削除するには**  
[Remove-EC2SpotDatafeedSubscription](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2SpotDatafeedSubscription.html) コマンドレットを使用します。

```
Remove-EC2SpotDatafeedSubscription
```

------

# スポットインスタンスリクエスト向けのサービスにリンクされたロール
<a name="service-linked-roles-spot-instance-requests"></a>

Amazon EC2 はユーザーに代わって AWS の他のサービスを呼び出すために必要なアクセス許可のために、サービスにリンクされたロールを使用します。サービスにリンクされたロールはAWS のサービス に直接リンクされた一意のタイプの IAM ロールです。サービスにリンクされたロールはAWS のサービスにアクセス許可を委任するためのセキュアな方法を提供します。これはリンクされたサービスのみが、サービスにリンクされたロールを引き受けることができるためです。詳細については「*IAM ユーザーガイド*」の「[Service-linked roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html)」を参照してください。

Amazon EC2 はAWSServiceRoleForEC2Spot という、サービスにリンクされたロールを使用して、ユーザーの代わりに スポットインスタンス を起動して管理します。****

## AWSServiceRoleForEC2Spot によって付与されるアクセス許可
<a name="service-linked-role-permissions-granted-by-AWSServiceRoleForEC2Spot"></a>

Amazon EC2 は**AWSServiceRoleForEC2Spot** という、サービスにリンクされたロールを使用して、次のアクションを実行します。
+ `ec2:DescribeInstances` – スポットインスタンスの記述
+ `ec2:StopInstances` – スポットインスタンスの停止
+ `ec2:StartInstances` – スポットインスタンスの開始

## サービスにリンクされたロールの作成
<a name="service-linked-role-creating-for-spot"></a>

ほとんどの状況ではサービスにリンクされたロールを手動で作成する必要はありません。Amazon EC2 はユーザーがコンソールを使用して初めてスポットインスタンスをリクエストした際に、サービスにリンクされたロール **AWSServiceRoleForEC2Spot** を作成します。

Amazon EC2 がこのサービスにリンクされたロールのサポートを開始した 2017 年 10 月よりも前に、ユーザーがアクティブなスポットインスタンスリクエストを行っている場合はAmazon EC2 により **AWSServiceRoleForEC2Spot** ロールが AWS アカウントに作成されています｡ 詳細については*IAM ユーザーガイド*の[アカウントに新しいロールが表示される](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)を参照してください。

AWS CLI または API を使用してスポットインスタンスをリクエストするにはまずこのロールが存在していることを確認する必要があります。

**コンソールを使用して **AWSServiceRoleForEC2Spot** を作成するには**

1. IAM コンソールの [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) を開いてください。

1. ナビゲーションペインで **Roles (ロール) ** を選択してください。

1. [**ロールの作成**] を選択してください。

1. [**Select type of trusted entity (信頼されたエンティティのタイプを選択)**] ページで、[**EC2**]、[**EC2 - Spot Instances (EC2 - スポットインスタンス)**]、[**Next: Permissions (次の手順: アクセス許可)**] の順に選択してください。

1. 次のページで、[**次へ: 確認**] を選択してください。

1. [**確認**] ページで、[**ロールの作成**] を選択してください。

**AWS CLI を使用して **AWSServiceRoleForEC2Spot** を作成するには**  
次のように、[create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) コマンドを使用します。

```
aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
```

スポットインスタンス を使用する必要がなくなった場合は[**AWSServiceRoleForEC2Spot**] ロールを削除することをお勧めします。このロールがアカウントから削除された後で、Amazon EC2 をリクエストすると､スポットインスタンス はロールを再度作成します。

## 暗号化された AMI および EBS スナップショット用のカスタマーマネージド型キーへのアクセス権限の付与
<a name="spot-instance-service-linked-roles-access-to-cmks"></a>

スポットインスタンスのために[暗号化された AMI](AMIEncryption.md) または暗号化された Amazon EBS スナップショットを指定しており、カスタマーマネージド型キーを暗号化に使用する場合はAmazon EC2 がユーザーに代わってスポットインスタンスを起動できるようにするために、カスタマーマネージド型キーを使用する許可を **AWSServiceRoleForEC2Spot** ロールにより付与する必要があります。これを行うには次の手順で示すように、カスタマーマネージド型キーに対し付与を追加する必要があります。

アクセス権限を設定するときは付与がキーポリシーの代わりになります。詳細については*AWS Key Management Service デベロッパーガイド*の[付与の使用](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)と[AWS KMS でのキーポリシーの使用](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)を参照してください。

****AWSServiceRoleForEC2Spot** ロールにカスタマーマネージド型キーを使用する許可を付与するには**
+ [create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) コマンドを使用してカスタマーマネージド型キーに付与を追加し、プリンシパル (サービスにリンクされたロールの **AWSServiceRoleForEC2Spot**) を指定します。このプリンシパルには付与が許可するオペレーションを実行するためのアクセス許可が含まれています。カスタマーマネージド型キーは`key-id` パラメータと、そのカスタマーマネージド型キーの ARN により指定します。プリンシパルを指定するには`grantee-principal` パラメータとサービスにリンクされたロール **AWSServiceRoleForEC2Spot** の ARN を使用します。

  ```
  aws kms create-grant \
      --region us-east-1 \
      --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \
      --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot \
      --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
  ```

# Spot Instance クォータ
<a name="using-spot-limits"></a>

実行中および要求されたスポットインスタンスの数、そして保留中のスポット インスタンスの数には各リージョンにつき AWS アカウント ごとに割り当てがあります。保留中のスポットインスタンスリクエストが受理されると、実行中のインスタンスがクォータにカウントされるため、リクエストはクォータにカウントされなくなります。

スポットインスタンスのクォータは*仮想中央演算装置 (vCPU) の数*について管理されます。この数は実行中のスポットインスタンスが使用中であるか、未処理のスポットインスタンスリクエストの受理が保留中であるため、後に使用されるかにより決定されます。ユーザーがスポットインスタンスを終了しており、かつスポットインスタンスリクエストをキャンセルしていない場合、Amazon EC2 がスポットインスタンスの終了を検出してリクエストを閉じるまで、リクエストはスポットインスタンスでの vCPU のクォータ数についてカウントされます。

スポットインスタンスには以下のクォータタイプが用意されています。


| 名前 | デフォルト | 引き上げ可能 | 
| --- | --- | --- | 
| オール DL スポットインスタンスリクエスト | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-85EED4F7) | 
| すべての F スポットインスタンスリクエスト | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-88CF9481) | 
| オール G および VT スポットインスタンスリクエスト | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-3819A6DF) | 
| すべての Inf スポットインスタンスリクエスト | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-B5D1601B) | 
| すべての P スポットインスタンスリクエスト | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-7212CCBC) | 
| すべての標準 (A、C、D、H、I、M、R、T、Z) スポットインスタンスリクエスト | 5 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-34B43A08) | 
| すべての Trn スポットインスタンスリクエスト | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-6B0D517C) | 
| すべての X スポットインスタンスリクエスト | 0 | [あり](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-E3A00192) | 

Amazon EC2 は使用量に基づいてスポットインスタンスのクオータを自動的に調整しますが、必要に応じてクォータの引き上げをリクエストすることができます。例えば、現在のクォータで許可されているよりも多くの スポットインスタンス を起動する場合はクォータの引き上げをリクエストできます。また、スポットインスタンスリクエストを送信した後にエラー `Max spot instance count exceeded` を受け取ったとしても、クォータの引き上げをリクエストできます。クォータの増加を要求するには[Amazon EC2 の Service Quotas](ec2-resource-limits.md) で説明されている Service Quotas コンソールを使用します。

変化するアプリケーションのニーズに合わせて、任意の組み合わせのインスタンスタイプを起動できます。例えば、オールスタンダードスポットインスタンスリクエストのクォータが 256 vCPU の場合、32 `m5.2xlarge` 個のスポットインスタンス (32 x 8 vCPU) または16 `c5.4xlarge` 個のスポットインスタンス (16 x 16 vCPU) をリクエストできます。

Amazon CloudWatch のメトリクス統合ではクォータに対して EC2 の使用量をモニタリングできます。クォータに近づいたときに警告を発するようにアラームを設定することもできます。詳細については、「*Service Quotas ユーザーガイド*」の「[Service Quotas and Amazon CloudWatch alarms](https://docs.aws.amazon.com/servicequotas/latest/userguide/configure-cloudwatch.html)」およびを参照してください。

# Amazon EC2 専有ホスト
<a name="dedicated-hosts-overview"></a>

Amazon EC2 Dedicated Host は完全にお客様専用の物理サーバーです。オプションで、インスタンス容量を他の AWS アカウントと共有することもできます。詳細については、「[クロスアカウント Amazon EC2 専有ホストの共有](dh-sharing.md)」を参照してください。

専有ホストは、インスタンスの配置を可視化および制御し、ホストアフィニティをサポートします。つまり、特定のホストでインスタンスを起動して実行でき、インスタンスが特定のホストでのみ実行されるようにできます。詳細については、「[Amazon EC2 専有ホストの自動配置とホストアフィニティ](dedicated-hosts-understanding.md)」を参照してください。

専有ホストは、包括的な Bring-Your-Own-License (BYOL) サポートを提供します。これにより、Windows Server、SQL Server、SUSE Linux Enterprise Server、Red Hat Enterprise Linux、または VM、ソケット、または物理コアにバインドされているその他のソフトウェアライセンスを含む、既存のソケット単位、コア単位、または VM 単位のソフトウェアライセンスをライセンス条項に従って使用できます。

インスタンスを専用ハードウェアで実行する必要があるが、インスタンスの配置を可視化または制御する必要はなく、ソケット単位またはコア単位のソフトウェアライセンスを使用する必要がない場合は、代わりにハードウェア専有インスタンスを使用することを検討できます。ハードウェア専有インスタンスと専有ホストのどちらを使用しても、専用の物理サーバーに Amazon EC2 インスタンスを起動することができます。ハードウェア専有インスタンス と Dedicated Hosts のインスタンスの間に、パフォーマンス、セキュリティ、または物理的な違いはありません。ただし、これらにはいくつかの重要な違いがあります。次のテーブルでは、Dedicated Hosts とハードウェア専有インスタンスの主な違いをいくつか紹介します。


|  | Dedicated Host | Dedicated Instance | 
| --- | --- | --- | 
| 専用物理サーバー | お客様専用のインスタンス容量を持つ物理サーバー。 | 単一の顧客アカウント専用の物理サーバー。 | 
| インスタンス容量の共有 | インスタンス容量を他のアカウントと共有できます。 | サポートされていません | 
| 請求 | ホストごとの請求 | インスタンスごとの請求 | 
| ソケット、コア、ホスト ID の可視性 | ソケットと物理コアの数が見える | 可視性なし | 
| ホストおよびインスタンスアフィニティ | インスタンスを同じ物理サーバーに徐々にデプロイし続けることができる | サポートされていません | 
| ターゲットを絞ったインスタンスの配置 | インスタンスを物理サーバーに配置する方法についての可視性と制御が高い | サポートされていません | 
| インスタンスの自動復旧 | サポート対象。詳細については、「[Amazon EC2 専有ホストリカバリ](dedicated-hosts-recovery.md)」を参照してください。 | サポート | 
| Bring-Your-Own-License (BYOL) | サポート | 部分的なサポート\$1 | 
| キャパシティ予約 | サポートされていません | サポート | 

\$1 ソフトウェアアシュアランスによるライセンスモビリティを使用する Microsoft SQL Server、および Windows Virtual Desktop Access (VDA) ライセンスを、ハードウェア専有インスタンスで使用することが可能です。

専有インスタンスの詳細については、「[Amazon EC2 ハードウェア専有インスタンス](dedicated-instance.md)」を参照してください。

## Dedicated Hosts の制約事項
<a name="dedicated-hosts-limitations"></a>

Dedicated Hosts を割り当てる際は、次の制限と制約に注意してください。
+ 専有ホストで RHEL および SUSE Linux を実行するには、独自の AMI を使用する必要があります。AWS が提供している、あるいは AWS Marketplace から入手が可能な RHEL および SUSE Linux の AMI は、専有ホストでは使用できません。独自の AMI を作成する方法の詳細については、「[独自のソフトウェアライセンスを Amazon EC2 専有ホストで使用する](dedicated-hosts-BYOL.md)」を参照してください。

  この制限は、ハイメモリインスタンス (`u-6tb1.metal`、`u-9tb1.metal`、`u-12tb1.metal`、`u-18tb1.metal`、および `u-24tb1.metal`) に割り当てられたホストには適用されません。AWS によって提供される、または AWS Marketplace で利用できる RHEL および SUSE Linux AMI は、これらのホストで使用できます。
+ インスタンスファミリーごとの Dedicated Hosts の実行数には、リージョンごとに AWS アカウントあたりの上限があります。クォータは実行中のインスタンスにのみ適用されます。インスタンスが保留中、停止処理中、停止済みの場合、クォータにはカウントされません。アカウントのクォータを確認する、または引き上げをリクエストするには、[Service Quotas コンソール](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas)を使用してください。
+ Auto Scaling グループは、ホストリソースグループを指定する起動テンプレートを使用する場合にサポートされます。詳細については、「Amazon EC2* Auto Scaling* ユーザーガイド」の「[詳細設定を使用して起動テンプレートを作成する](https://docs.aws.amazon.com/autoscaling/ec2/userguide/advanced-settings-for-your-launch-template.html)」を参照してください。
+ Amazon RDS インスタンスはサポートされません。
+ AWS 無料利用枠は Dedicated Hosts ではご使用になれません。
+ インスタンスのプレイスメント制御は、Dedicated Hosts でのインスタンスの起動管理を表します。専有ホストをプレイスメントグループで起動することはできません。
+ 仮想インスタンスタイプにホストを割り当てる場合、ホストの割り当て後にインスタンスタイプを `.metal` インスタンスタイプに変更することはできません。例えば、`m5.large` インスタンスタイプにホストを割り当てた場合、インスタンスタイプを `m5.metal` に変更することはできません。

  同様に、`.metal` インスタンスタイプにホストを割り当てる場合、ホストの割り当て後にインスタンスタイプを仮想インスタンスタイプに変更することはできません。例えば、`m5.metal` インスタンスタイプにホストを割り当てた場合、インスタンスタイプを `m5.large` に変更することはできません。

**Topics**
+ [

## Dedicated Hosts の制約事項
](#dedicated-hosts-limitations)
+ [料金と請求](dedicated-hosts-billing.md)
+ [インスタンスキャパシティの設定](dedicated-hosts-limits.md)
+ [専有ホスト上のバースト可能なインスタンス](burstable-t3.md)
+ [自分のライセンスを使用する](dedicated-hosts-BYOL.md)
+ [自動配置とアフィニティ](dedicated-hosts-understanding.md)
+ [専有ホストを割り当てる](dedicated-hosts-allocating.md)
+ [Dedicated Host でインスタンスを起動する](launching-dedicated-hosts-instances.md)
+ [ホストリソースグループへのインスタンスの作成](launching-hrg-instances.md)
+ [Dedicated Host 自動配置の変更](modify-host-auto-placement.md)
+ [サポートされているインスタンスタイプを変更する](modify-host-support.md)
+ [インスタンスのテナンシーとアフィニティを変更する](moving-instances-dedicated-hosts.md)
+ [専有ホストのリリース](dedicated-hosts-releasing.md)
+ [

# Nitro ベースの Amazon EC2 Dedicated Hosts に移行する
](dh-migrate.md)
+ [専有ホストの予約を購入する](#purchasing-dedicated-host-reservations)
+ [クロスアカウントの共有](dh-sharing.md)
+ [Outposts の専有ホスト](dh-outposts.md)
+ [ホスト復旧](dedicated-hosts-recovery.md)
+ [ホストのメンテナンス](dedicated-hosts-maintenance.md)
+ [Dedicated Hosts のモニタリング](dedicated-hosts-monitoring.md)
+ [設定の変更の追跡](dedicated-hosts-aws-config.md)

# Amazon EC2 専有ホストの料金および請求
<a name="dedicated-hosts-billing"></a>

Dedicated Host の料金は支払いオプションごとに異なります。

**Topics**
+ [

## オンデマンド Dedicated Hosts
](#on-demand-dedicated-hosts)
+ [

## Dedicated Host Reservations
](#dedicated-host-reservations)
+ [

## Savings Plans
](#dedicated-hosts-savings-plans)
+ [

## Dedicated Hosts での Windows サーバーの料金
](#dh-win-billing)

## オンデマンド Dedicated Hosts
<a name="on-demand-dedicated-hosts"></a>



アカウントに Dedicated Host を割り当てると、自動的にオンデマンド請求がアクティブになります。

Dedicated Host のオンデマンド価格は、インスタンスファミリーとリージョンによって異なります。起動するインスタンスの数量やサイズに関係なく、アクティブな Dedicated Host に対して 1 秒あたり (最低 60 秒) の料金が発生します。オンデマンド料金の詳細については、[Amazon EC2 Dedicated Hosts オンデマンド料金](https://aws.amazon.com/ec2/dedicated-hosts/pricing/#on-demand)を参照してください。



オンデマンド専有ホストはいつでもリリースして、料金の発生を止めることができます。Dedicated Host の解放の詳細については、[Amazon EC2 専有ホストを解放する](dedicated-hosts-releasing.md)を参照してください。

## Dedicated Host Reservations
<a name="dedicated-host-reservations"></a>

Dedicated Host の予約 では、オンデマンド Dedicated Hosts の実行と比べて請求の割引が得られます。予約は、3 つの支払いオプションで利用できます。
+ **前払いなし** — 前払いなしの予約では、期間内の Dedicated Host の使用に対して割引があり、前払い料金は必要ありません。1 年および 3 年契約で利用できます。前払いなしの予約での 3 年契約は、一部のインスタンスファミリーのみでサポートされます。
+ **一部前払い** — 予約の一部を前払いする必要があり、期間内の残りの時間は割引された時間料金で請求されます。1 年および 3 年契約で利用できます。
+ **全額前払い** — 実質的に最低価格で利用できます。1 年および 3 年契約で利用でき、期間中のすべてのコストが含まれます。それ以外の料金は発生しません。

予約を購入するには、アカウントでアクティブな Dedicated Hosts が必要です。各予約では、単一のアベイラビリティーゾーンで同じインスタンスファミリーをサポートしている、複数のホストに対応できます。予約は、インスタンスサイズではなくホストのインスタンスファミリーに適用されます。インスタンスサイズが異なる 3 つの Dedicated Hosts (`m4.xlarge`、`m4.medium`、および `m4.large`) がある場合、1 つの `m4` 予約をこれらすべての Dedicated Hosts に関連付けることができます。予約のインスタンスファミリーとアベイラビリティーゾーンは、関連付ける Dedicated Hosts のインスタンスファミリーとアベイラビリティーゾーンに一致させる必要があります。

予約が専有ホストに関連付けられている場合、専有ホストは予約期間が終了するまでリリースできません。

予約の料金の詳細については、[Amazon EC2 Dedicated Hosts 料金表](https://aws.amazon.com/ec2/dedicated-hosts/pricing/#reservations)を参照してください。

## Savings Plans
<a name="dedicated-hosts-savings-plans"></a>

Savings Plans は、オンデマンドインスタンスと比べて大幅に料金を節約できる柔軟な料金モデルです。Savings Plans は、1～3 年間は時間あたりの USD 建て料金で一定量の使用を継続するという確約を条件とする割引プランです。これによって、特定のDedicated Hostを使用することをコミットせずに、ニーズに最も適したDedicated Hostsを使用して、コストを削減し続ける柔軟性が得られます。詳細については、[AWS Savings Plans ユーザーガイド](https://docs.aws.amazon.com/savingsplans/latest/userguide/)をご参照ください。

**注記**  
Savings Plans は、`u-6tb1.metal`、`u-9tb1.metal`、`u-12tb1.metal`、`u-18tb1.metal`、および `u-24tb1.metal` の Dedicated Hosts ではサポートされていません。

## Dedicated Hosts での Windows サーバーの料金
<a name="dh-win-billing"></a>

Microsoft のライセンス条項に抵触しなければ、お手元にすでにある Windows Server や SQL Server のライセンスを Dedicated Hosts に移すことができます。ご自分のライセンスを使用する場合、追加のソフトウェア使用料は発生しません。

さらに、Amazon が提供する Windows Server AMI を使用して、最新バージョンの Windows Server を Dedicated Hosts で実行できます。これは、Dedicated Hosts 上で実行できる既存の SQL Server のライセンスは持っているが、SQL Server ワークロードを実行するために Windows Server を必要としている場合に、広く見られることです。Amazon が提供する Windows Server AMI のサポートは、現行のインスタンスタイプにのみ適用されます。詳細については、[Amazon EC2 Dedicated Hosts の料金](https://aws.amazon.com/ec2/dedicated-hosts/pricing/#windows-dh)を参照してください。

# Amazon EC2 専有ホストインスタンスのキャパシティ設定
<a name="dedicated-hosts-limits"></a>

Dedicated Hosts はさまざまな構成 (物理コア、ソケット、vCPU) をサポートしているため、さまざまなファミリーやサイズのインスタンスを実行できます。

アカウントに 専有ホスト を割り当てる場合、**単一のインスタンスタイプ**、または同じインスタンスファミリー内の**複数のインスタンスタイプ**をサポートする構成を選択できます。ホストで実行できるインスタンスの数は、選択した設定によって異なります。

**Topics**
+ [

## 単一インスタンスタイプのサポート
](#dh-single)
+ [

## 複数のインスタンスタイプのサポート
](#dh-multiple)

## 単一インスタンスタイプのサポート
<a name="dh-single"></a>

1 つのインスタンスタイプのみをサポートする専有ホストを割り当てることができます。この設定では、専有ホストで起動するすべてのインスタンスは、ホストを割り当てるときに指定する同じインスタンスタイプである必要があります。

例えば、`m5.4xlarge` インスタンスタイプのみをサポートするホストを割り当てることができます。この場合、そのホスト上で実行できるインスタンスは `m5.4xlarge` のみです。

ホスト上で起動できるインスタンスの数は、ホストが提供する物理コアの数と、指定されたインスタンスタイプによって消費されるコア数によって異なります。例えば、`m5.4xlarge` インスタンスにホストを割り当てると、ホストは 48 個の物理コアを提供し、各 `m5.4xlarge` インスタンスは 8 個の物理コアを消費します。つまり、そのホストでは最大 6 つのインスタンスを起動できます (*48 物理コア/インスタンスあたり 8 コア = 6 インスタンス*)。

## 複数のインスタンスタイプのサポート
<a name="dh-multiple"></a>

同じインスタンスファミリー内の複数のインスタンスタイプをサポートする専有ホストを割り当てることができます。これにより、同じインスタンス ファミリー内にあり、ホストに十分なインスタンスキャパシティがある限り、同じホスト上で異なるインスタンスタイプを実行できます。

例えば、`R5` インスタンス ファミリー内のさまざまなインスタンスタイプをサポートするホストを割り当てることができます。この場合は、そのホスト上で、ホストの物理コア容量内で、`r5.large`、`r5.xlarge`、`r5.2xlarge`、`r5.4xlarge` などの `R5` インスタンスタイプの特定の組み合わせを起動できます。

次のインスタンスファミリーは、複数のインスタンスタイプをサポートする Dedicated Hosts をサポートしています。
+ **一般的な用途:** A1 \$1 M5 \$1 M5n \$1 M6i \$1 M7i \$1 T3
+ **コンピューティングの最適化:** C5 \$1 C5n \$1 C6i \$1 C7i
+ **メモリ最適化:** R5 \$1 R5n \$1 R6i \$1 R7i

ホストで実行できるインスタンスの数は、ホストが提供する物理コア数、およびホスト上で実行する各インスタンスタイプによって消費されるコア数によって異なります。例えば、48 個の物理コアを提供する `R5` ホストを割り当て、2 つの `r5.2xlarge` インスタンス (*4 コア x 2 インスタンス*) と 3 つの `r5.4xlarge` インスタンス (*8 コア x 3 インスタンス*) を実行するとします。これらのインスタンスは合計 32 コアを消費します。残りの 16 コア内であれば、`R5` インスタンスの特定の組み合わせを実行できます。

ただし、各インスタンスタイプで実行可能な上限のインスタンス数は、インスタンスファミリーごとに異なります。例えば、`R5` 専有ホスト は、32 個の物理コアを使用する `r5.8xlarge` インスタンスを最大 2 個までサポートします。さらに、ホストのコア容量を満たすために、より小さいタイプの `R5` インスタンスを追加して使用できます。各インスタンスファミリーでサポートされているインスタンスタイプの数については、「[Amazon EC2 Dedicated Hosts の料金](https://aws.amazon.com/ec2/dedicated-hosts/pricing/#host-configuration)」を参照してください。

次の表に、インスタンスタイプの組み合わせの例を示します。


| インスタンスファミリー | インスタンスタイプの組合せ例 | 
| --- | --- | 
| R5 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/dedicated-hosts-limits.html)  | 
| C5 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/dedicated-hosts-limits.html)  | 
| M5 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/dedicated-hosts-limits.html)  | 

**考慮事項**  
複数のインスタンスタイプをサポートする Dedicated Hosts を使用する場合は、次の点に注意してください。
+ 同一のホスト上で複数のインスタンスタイプを使用することは、同じインスタンスファミリー内でのみ可能です。
+ インスタンスタイプを混在させる場合は、ホストの使用率を最大化するために、最初に大きなインスタンスタイプを起動してから小さなインスタンスタイプを起動することをお勧めします。
  + 専有ホスト上のインスタンスタイプの組み合わせと起動順序によっては、ホストの使用率を最大化することが物理的に不可能な場合があります。ホストでインスタンスタイプを混在させる場合、一部の容量がホストで使用可能であっても使用できない場合があります。例えば、r5n ホストで 16 個の vCPU が使用可能な場合、r5n.4xlarge が 16 個の vCPU で実行されていても、ホストで 4xlarge インスタンスを起動できないことがあります。

**注記**  
A1 専有ホストを複数のインスタンスタイプに対して有効にすると、そのホストでは `a1.xlarge` インスタンスと `a1.2xlarge` インスタンスを組み合わせたもののみを起動できます。そのホストで `a1.medium` インスタンスまたは `a1.large` インスタンスを起動すると、そのホストで続けて起動できるのは、同じインスタンスタイプのみに制限されます。1 つの `a1.4xlarge` インスタンスが、そのホストのすべての容量を消費します。`a1.medium` インスタンスまたは `a1.large` インスタンスのいずれかに、ホストが必要な場合は、それらのインスタンスタイプに個別のホストを割り当てることが推奨されます。

# Amazon EC2 専有ホスト上のバースト可能な T3 インスタンス
<a name="burstable-t3"></a>

Dedicated Hosts は、バースト可能なパフォーマンス T3 インスタンスをサポート T3 インスタンスは、適格な BYOL ライセンスソフトウェアを専用ハードウェアで使用するための費用対効果の高い方法を提供します。T3 インスタンスの vCPU フットプリントが小さいため、ワークロードを少数のホストに統合し、コアごとのライセンスの使用率を最大化できます。

T3 Dedicated Hosts は、CPU 使用率が低～中程度の BYOL ソフトウェアを実行するのに最適です。Windows Server、Windows デスクトップ、SQL Server、SUSE Enterprise Linux Server、Red Hat Enterprise Linux および Oracle データベースなどの、ソケット単位、コア単位または VM 単位が含まれます。T3 Dedicated Hosts に適したワークロードの例としては、小中規模のデータベース、仮想デスクトップ、開発/テスト環境、コードリポジトリ、製品プロトタイプなどがあります。T3 Dedicated Hosts は、CPU 使用率が高いワークロードや、相関する CPU バーストが同時に発生するワークロードには推奨されません。

Dedicated Hosts 上の T3 インスタンスは、共有テナンシーハードウェア上の T3 インスタンスと同じクレジットモデルを使用します。ただし、それらは`standard`クレジットモードのみです。`unlimited`クレジットモードはサポートしていません。`standard` モードでは、専有ホスト上の T3 インスタンスは、共有テナンシーハードウェア上のバースト可能なインスタンスと同じ方法でクレジットを*獲得*、*消費*、および*蓄積*します。バーストパフォーマンスインスタンスは、ベースラインレベルの CPU パフォーマンスを提供しながら、必要に応じてバーストする機能を備えています。ベースラインより上にバーストする場合、インスタンスは CPU クレジット残高に蓄積されたクレジットを消費します。発生したクレジットが枯渇すると、CPU 使用率はベースラインレベルまで低下します。`standard`モードの詳細については、[スタンダードのバーストパフォーマンスインスタンスの仕組み](burstable-performance-instances-standard-mode-concepts.md#how-burstable-performance-instances-standard-works)を参照してください。

T3 Dedicated Hosts は、Amazon EC2 Dedicated Hosts が提供するすべての機能をサポートします。これには、1 つのホスト上の複数のインスタンスサイズ、ホストリソースグループ、および BYOL が含まれます。

**サポートされる T3 インスタンスのサイズと構成**  


T3 Dedicated Hosts は、ベースライン CPU パフォーマンスと、必要に応じてより高いレベルまでバーストする機能を提供することにより、ホストの CPU リソースを共有する汎用バースト可能な T3 インスタンスを実行します。これにより、48 個のコアを持つ T3 Dedicated Host は、ホストあたり最大 192 個のインスタンスをサポートできます。ホストのリソースを効率的に利用し、最高のインスタンスパフォーマンスを提供するために、Amazon EC2 インスタンス配置アルゴリズムは、ホスト上で起動できるサポートされているインスタンス数とインスタンスサイズの組み合わせを自動的に計算します。

T3 Dedicated Host は、同じホストで複数のインスタンスタイプをサポートします。Dedicated Hosts では、すべての T3 インスタンスがサポートされています。ホストの CPU 制限まで、T3 インスタンスのさまざまな組み合わせを実行できます。

次の表は、サポートされているインスタンスタイプのリストと、各インスタンスタイプのパフォーマンスのサマリー、および起動可能な各サイズのインスタンスの最大数を示しています。


| インスタンスタイプ | vCPU | メモリ (GiB) | vCPU あたりのベースライン CPU 使用率 | ネットワークバースト帯域幅 (Gbps) | Amazon EBS バースト帯域幅 (Mbps) | 専有ホストあたりの最大インスタンス数 | 
| --- | --- | --- | --- | --- | --- | --- | 
| t3.nano | 2 | 0.5 | 5% | 5 | 最大 2,085 | 192 | 
| t3.micro | 2 | 1 | 10% | 5 | 最大 2,085 | 192 | 
| t3.small | 2 | 2 | 20% | 5 | 最大 2,085 | 192 | 
| t3.medium | 2 | 4 | 20% | 5 | 最大 2,085 | 192 | 
| t3.large | 2 | 8 | 30% | 5 | 2,780 | 96 | 
| t3.xlarge | 4 | 16 | 40% | 5 | 2,780 | 48 | 
| t3.2xlarge | 8 | 32 | 40% | 5 | 2,780 | 24 | 

**T3 Dedicated Hosts の CPU 使用率の監視**  
`DedicatedHostCPUUtilization`Amazon CloudWatch メトリックスを使用して、専有ホストの vCPU 使用率を監視します。メトリクスは、`EC2`名前空間および`Per-Host-Metrics`ディメンションで利用可能です。詳細については、「[専用ホストメトリクス](viewing_metrics_with_cloudwatch.md#dh-metrics)」を参照してください。

# 独自のソフトウェアライセンスを Amazon EC2 専有ホストで使用する
<a name="dedicated-hosts-BYOL"></a>

Dedicated Hosts を利用すると、ソフトウェアライセンスを、既存のソケット単位、コア単位、または VM 単位で使用できます。自分のライセンスを使用する場合、お客様は自分のライセンスを管理する責任があります。ただし、Amazon EC2 ではインスタンスアフィニティやターゲットを絞ったプレイスメントなど、ライセンスのコンプライアンスを維持するための機能を利用できます。

自分のボリュームライセンスマシンのイメージを Amazon EC2 で使用するための一般的な手順を以下に示します。

1. マシンイメージの使用を制御するライセンス条件が、仮想化クラウド環境での使用を許可していることを確認します。Microsoft ライセンスの詳細については、「[Amazon Web Services とMicrosoft ライセンス](https://aws.amazon.com/windows/faq/#licensing)」を参照してださい。

1. マシンイメージを Amazon EC2 内で使用できることを確認したら、VM Import/Export を使用してインポートします。マシンイメージをインポートする方法については、[VM Import/Export ユーザーガイド](https://docs.aws.amazon.com/vm-import/latest/userguide/)を参照してください。

1. マシンイメージをインポートしたら、自分のアカウント内のアクティブな Dedicated Hosts で、そのイメージからインスタンスを起動できます。

1. オペレーティングシステムによっては、これらのインスタンスを実行する際、自分の KMS サーバー (Windows Server や Windows SQL Server など) で、これらのインスタンスをアクティブにすることが必要になる場合があります。インポートした Windows AMI を、Amazon Windows KMS サーバーに対して有効化することはできません。

**注記**  
イメージが AWS 内でどのように使用されているかを追跡するには、AWS Config でホストの記録を有効にします。AWS Config では、Dedicated Hosts での設定の変更を記録したり、その出力をライセンスレポートのデータソースとして使用したりすることができます。詳細については、「[AWS Config を使用して、Amazon EC2 専有ホストでの設定の変更を追跡する](dedicated-hosts-aws-config.md)」を参照してください。

# Amazon EC2 専有ホストの自動配置とホストアフィニティ
<a name="dedicated-hosts-understanding"></a>

Dedicated Hostsの配置制御は、インスタンスおよびホストの両レベルで行われます。

## 自動配置
<a name="dedicated-hosts-auto-placement"></a>

自動配置はホストレベルで設定されます。自動配置を使用すると、起動するインスタンスについて、特定のホストで起動されるようにするか、設定が合致する任意のホストで起動されるようにするかを管理できます。

専有ホストの自動配置が**無効**になっている場合は、一意のホスト ID を指定するホストテナンシーインスタンス起動のみが受け入れられます。これは、新しい Dedicated Hosts に対する既定の設定です。

専有ホストの自動配置が**有効**になっている場合は、インスタンスタイプ設定が一致するすべてのターゲット未指定のホストテナンシーインスタンス起動が受け入れられます。

インスタンスの起動時に、テナンシーを設定する必要があります。特定の `HostId` を指定せずに Dedicated Host でインスタンスを起動すると、自動配置が*有効*で、インスタンスタイプが一致するすべての Dedicated Host でインスタンスを起動できます。

## ホストのアフィニティ
<a name="dedicated-hosts-affinity"></a>

ホストのアフィニティは、インスタンスレベルで設定します。また、インスタンスと Dedicated Host の間に関係を作成します。

アフィニティが `Host` に設定されている場合は、特定のホストで起動したインスタンスが停止しても、常に同じホストで再開されます。これは、ターゲットを絞った起動にもターゲットを絞らない起動にも適用されます。

アフィニティが`Default` に設定されているときにインスタンスを停止して再起動する場合は、使用可能な任意のホスト上で再起動できます。ただし、最後に実行した Dedicated Host 上でベストエフォートベースでの再起動を試みます。

# アカウントで使用するために Amazon EC2 専有ホストを割り当てる
<a name="dedicated-hosts-allocating"></a>

専有ホストの使用を開始するには、まずアカウントに割り当てる必要があります。Dedicated Hostを割り当てると、ご自身のアカウントにおいてDedicated Hostの容量がすぐに使用できるようになり、Dedicated Hostにおけるインスタンスの起動を開始できます。

アカウントに 専有ホスト を割り当てる場合、**単一のインスタンスタイプ**、または同じインスタンスファミリー内の**複数のインスタンスタイプ**をサポートする構成を選択できます。ホスト上で実行できるインスタンスの数は、選択した構成によって異なります。詳細については、「[Amazon EC2 専有ホストインスタンスのキャパシティ設定](dedicated-hosts-limits.md)」を参照してください。

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

**Dedicated Host を割り当てるには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**]、[**Dedicated Host の割り当て**] の順に選択してください。

1. [**インスタンスファミリー**] については、Dedicated Host向けのインスタンスファミリーを選びます。

1. Dedicated Host について、選択したインスタンスファミリー内にある複数のインスタンスをサポートするか、特定のインスタンスタイプのみサポートするかを指定します。次のいずれかを行ってください。
   + 選択したインスタンスファミリー内の複数のインスタンスタイプをサポートするようにDedicated Hostを設定するには、[**複数のインスタンスタイプをサポートする**]、[**有効化**] の順に選択してください。この選択を行うと、Dedicated Host において、同一インスタンスファミリー内の異なるインスタンスサイズを起動できるようになります。例えば、`m5`インスタンスファミリーとこのオプションを選択すると、Dedicated Hostにおいて`m5.xlarge`インスタンスと`m5.4xlarge`インスタンスを起動できます。
   + 選択したインスタンスファミリーの 1 つのインスタンスタイプをサポートするようにDedicated Host を設定するには、[**Support multiple instance types (複数のインスタンスをサポートする)**] をオフにして、[**インスタンスタイプ**] でサポートするインスタンスタイプを選択してください。これにより、Dedicated Host で 1 つのインスタンスタイプを起動できます。例えば、このオプションを選択し、`m5.4xlarge`をサポート対象インスタンスタイプとして指定すると、専有ホストにおいては`m5.4xlarge`インスタンスに限り起動できます。

1. **[アベイラビリティーゾーン]** については、専有ホストを割り当てるアベイラビリティーゾーンを選択してください。

1. インスタンスタイプが一致する、ターゲットを絞らないインスタンスの起動を受け入れることを Dedicated Host に許可するには、[**Instance auto-placement (インスタンスの自動プレイスメント)**] で、[**Enable (有効)**] を選択してください。自動配置の詳細については、[Amazon EC2 専有ホストの自動配置とホストアフィニティ](dedicated-hosts-understanding.md)を参照してください。

1. Dedicated Host のホスト復旧を有効にするには、[**Host recovery (ホスト復旧)**]、[**有効化**] の順に選択してください。詳細については、「[Amazon EC2 専有ホストリカバリ](dedicated-hosts-recovery.md)」を参照してください。

1. [**数量**] については、割り当てるDedicated Hostsの数を入力してください。

1. (オプション) [**新しいタグの追加**] をクリックし、タグキーとタグ値を入力してください。

1. [**Allocate**] を選択してください。

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

**Dedicated Host を割り当てるには**  
[allocate-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-hosts.html) コマンドを使用します。次の例では、`m5` アベイラビリティーゾーンで `us-east-1a` インスタンスファミリー内の複数のインスタンスタイプをサポートしている専有ホストを割り当てます。また、ホスト復旧を有効にし、自動配置を無効にします。

```
aws ec2 allocate-hosts \
    --instance-family "m5" \
    --availability-zone "us-east-1a" \
    --auto-placement "off" \
    --host-recovery "on" \ 
    --quantity 1
```

次の例では、指定されたアベイラビリティーゾーンで*ターゲット未指定*のインスタンス起動をサポートする専有ホストを割り当て、ホスト復旧を有効にし、自動配置を有効にします。

```
aws ec2 allocate-hosts \
    --instance-type "m5.large" \
    --availability-zone "eu-west-1a" \
    --auto-placement "on" \
    --host-recovery "on" \
    --quantity 1
```

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

**Dedicated Host を割り当てるには**  
[New-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Host.html) コマンドレットを使用します。次の例では、`m5` アベイラビリティーゾーンで `us-east-1a` インスタンスファミリー内の複数のインスタンスタイプをサポートしている専有ホストを割り当てます。ホストでもホスト復旧が有効になっており、自動配置は無効になっています。

```
New-EC2Host `
    -InstanceFamily m5 `
    -AvailabilityZone us-east-1a `
    -AutoPlacement Off `
    -HostRecovery On `
    -Quantity 1
```

次の例では、指定されたアベイラビリティーゾーンで*ターゲット未指定*のインスタンス起動をサポートする専有ホストを割り当て、ホスト復旧を有効にします。

```
New-EC2Host `
    -InstanceType m5.large `
    -AvailabilityZone eu-west-1a `
    -AutoPlacement On `
    -HostRecovery On `
    -Quantity 1
```

------

# Amazon EC2 専有ホストで Amazon EC2 インスタンスを起動する
<a name="launching-dedicated-hosts-instances"></a>

Dedicated Host を割り当てたら、そのホストにインスタンスを起動できます。起動するインスタンスタイプに使用できる十分な容量を持つアクティブなDedicated Hostsがない場合には、`host`テナンシーでインスタンスを起動できません。

**考慮事項**
+ Amazon EC2 によって提供されている SQL Server、SUSE、RHEL AMI を Dedicated Hosts で使用することはできません。
+ 複数のインスタンスサイズをサポートする Dedicated Hosts については、大きいインスタンスサイズから始め、必要に応じて残りのインスタンスキャパシティを小さいインスタンスサイズで埋めることをお勧めします。
+ インスタンスを起動する前に、制限事項を確認してください。詳細については、「[Dedicated Hosts の制約事項](dedicated-hosts-overview.md#dedicated-hosts-limitations)」を参照してください。

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

**Dedicated Hosts ページから特定の Dedicated Host でインスタンスを起動するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Dedicated Hosts**] を選択してください。

1. **[Dedicated Hosts]** ページでホストを選択した後、**[Actions]** (アクション)、**[Launch Instance(s) onto host]** (インスタンスをホストで起動) の順に選択してください。

1. **[Application and OS Images]** (アプリケーションと OS イメージ) セクションにあるリストから、使用する AMI を選択してください。

1. **[Instance type]** (インスタンスタイプ) セクションで、起動するインスタンスタイプを選択してください。
**注記**  
Dedicated Hostが単一のインスタンスタイプのみサポートしている場合、デフォルトでは、サポートされているインスタンスタイプが選択され、変更できません。  
Dedicated Host が複数のインスタンスタイプをサポートしている場合は、Dedicated Host の使用可能なインスタンスキャパシティーに基づいて、サポートされているインスタンスファミリー内のインスタンスタイプを選択する必要があります。大きいインスタンスサイズから始め、必要に応じて残りのインスタンス容量を小さいインスタンスサイズで埋めることをお勧めします。

1. **[Key pair]** (キーペア) セクションで、インスタンスに関連付けるキーペアを選択してください。

1. **[高度な詳細]** セクションにある **[テナンシーのアフィニティ]** で、次のいずれかを選択します:
   + **[オフ]** - ホストアフィニティが無効になります。インスタンスは指定されたホストで起動されますが、停止されると同じ専有ホストで再開されない場合があります。
   + 専有ホスト ID - ホストアフィニティが有効になっています。停止したインスタンスは、常にこの指定ホストで再開されます (キャパシティがある場合)。ホストに空き容量がない場合はインスタンスを再起動できません。異なるホストとのアフィニティを確立する必要があります。

   アフィニティの詳細については、[Amazon EC2 専有ホストの自動配置とホストアフィニティ](dedicated-hosts-understanding.md)を参照してください。
**注記**  
[**Tenancy (テナンシー)**] オプションと [**Host (ホスト)**] オプションは、選択したホストに基づき、事前に設定されています。

1. 必要に応じて、残りのインスタンスオプションを設定します。詳細については、「[Amazon EC2 インスタンス設定パラメータのリファレンス](ec2-instance-launch-parameters.md)」を参照してください。

1. **[インスタンスを起動]** を選択してください。

**インスタンス起動ウィザードを使用してインスタンスを Dedicated Host で起動するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、**[Instances]** (インスタンス)、**[Launch instance]** (インスタンスを起動) の順に選択してください。

1. **[Application and OS Images]** (アプリケーションと OS イメージ) セクションにあるリストから、使用する AMI を選択してください。

1. **[Instance type]** (インスタンスタイプ) セクションで、起動するインスタンスタイプを選択してください。

1. **[Key pair]** (キーペア) セクションで、インスタンスに関連付けるキーペアを選択してください。

1. **[Advanced]** (高度な情報) セクションで以下を実行します。

   1. **[Tenancy]** (テナンシー) で、**[Dedicated Host]** (専有ホスト) を選択してください。

   1. **[Target host by]** (ターゲットホスト) で、**[Host ID]** (ホスト ID) を選択してください。

   1. **[Target host ID]** (ターゲットホスト ID) で、インスタンスを起動するホストを選択してください。

   1. **[テナンシーのアフィニティ]** で、次のいずれかを選択します:
      + **[オフ]** - ホストアフィニティが無効になります。インスタンスは指定されたホストで起動されますが、停止されると同じ専有ホストで再開されない場合があります。
      + 専有ホスト ID - ホストアフィニティが有効になっています。停止したインスタンスは、常にこの指定ホストで再開されます (キャパシティがある場合)。ホストに空き容量がない場合はインスタンスを再起動できません。異なるホストとのアフィニティを確立する必要があります。

      アフィニティの詳細については、[Amazon EC2 専有ホストの自動配置とホストアフィニティ](dedicated-hosts-understanding.md)を参照してください。

1. 必要に応じて、残りのインスタンスオプションを設定します。詳細については、「[Amazon EC2 インスタンス設定パラメータのリファレンス](ec2-instance-launch-parameters.md)」を参照してください。

1. **[インスタンスを起動]** を選択してください。

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

**Dedicated Host でインスタンスを起動するには**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用し、`--placement` オプションでインスタンスのアフィニティ、テナンシー、ホストを指定します。

ホストアフィニティを使用して特定の専有ホストで起動するには (停止した場合、インスタンスは常に同じホストで再起動する):

```
--placement Affinity=host,Tenancy=host,HostId=h-07879acf49EXAMPLE
```

ホストアフィニティなしで特定の専有ホストで起動するには (インスタンスは使用可能な任意のホストで再起動できる):

```
--placement Tenancy=host,HostId=h-07879acf49EXAMPLE
```

自動配置が有効になっていてインスタンスタイプが一致する、利用可能な専有ホストで起動するには:

```
--placement Tenancy=host
```

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

**Dedicated Host でインスタンスを起動するには**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) コマンドレットを使用し、`-Placement` パラメータでインスタンスのアフィニティ、テナンシー、およびホストを指定します。

ホストアフィニティを使用して特定の専有ホストで起動するには (停止した場合、インスタンスは常に同じホストで再起動する):

```
-Placement_Affinity host `
-Placement_Tenancy host `
-Placement_HostId h-07879acf49EXAMPLE
```

ホストアフィニティなしで特定の専有ホストで起動するには (インスタンスは使用可能な任意のホストで再起動できる):

```
-Placement_Tenancy host `
-Placement_HostId h-07879acf49EXAMPLE
```

自動配置が有効になっていてインスタンスタイプが一致する、利用可能な専有ホストで起動するには:

```
-Placement_Tenancy host
```

------

# ホストリソースグループに Amazon EC2 インスタンスを起動する
<a name="launching-hrg-instances"></a>

Dedicated Hosts は AWS License Manager にも統合されています。License Manager では、ホストリソースグループを作成できます。ホストリソースグループは、1 つのエンティティとして管理される Dedicated Hosts コレクションです。ホストリソースグループを作成する場合は、Dedicated Hosts のホスト管理設定 (自動割り当てや自動リリースなど) を指定します。これにより、これらのホストを手動で割り当てて管理することなく、Dedicated Hosts にインスタンスを作成できます。詳細については、*AWS License Manager ユーザーガイド*の[ ホスト Resource Groups](https://docs.aws.amazon.com/license-manager/latest/userguide/host-resource-groups.html)を参照してください。

インスタンスの作成先のホストリソースグループ内のいずれかの Dedicated Host にインスタンス用の空き容量がある場合、Amazon EC2 はそのホストにインスタンスを作成します。ホストリソースグループ内のいずれのホストにもインスタンス用の空き容量がない場合、Amazon EC2 はホストリソースグループ内に新しいホストを自動的に割り当て、そのホストにインスタンスを作成します。詳細については、*AWS License Manager ユーザーガイド*の[ ホスト Resource Groups](https://docs.aws.amazon.com/license-manager/latest/userguide/host-resource-groups.html)を参照してください。

**要件と制限**
+ コアベースまたはソケットベースのライセンス設定を AMI に関連付ける必要があります。
+ Dedicated Hosts の Amazon EC2 で提供されている SQL Server、SUSE、または RHEL AMI を使用することはできません。
+ ホスト ID を選択して特定のホストをターゲットにすることはできません。また、ホストリソースグループにインスタンスを作成するときに、インスタンスのアフィニティを有効にすることはできません。

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

**ホストリソースグループにインスタンスを作成するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、**[Instances]** (インスタンス)、**[Launch instance]** (インスタンスを起動) の順に選択してください。

1. **[Application and OS Images]** (アプリケーションと OS イメージ) セクションにあるリストから、使用する AMI を選択してください。

1. **[Instance type]** (インスタンスタイプ) セクションで、起動するインスタンスタイプを選択してください。

1. **[Key pair]** (キーペア) セクションで、インスタンスに関連付けるキーペアを選択してください。

1. **[Advanced]** (高度な情報) セクションで以下を実行します。

   1. **[Tenancy]** (テナンシー) で、**[Dedicated Host]** (専有ホスト) を選択してください。

   1. **[Target host by]** (ターゲットホスト) で、**[Host resource group]** (ホストリソースグループ) を選択してください。

   1. **[Tenancy host resource group]** (テナンシーのホストリソースグループ) で、インスタンスを起動するホストリソースグループを選択してください。

   1. **[Tenancy affinity]** (テナンシーのアフィニティ) で、以下のいずれかを実行します。
      + **Off** を選択– インスタンスは指定されたホストで起動されますが、停止された後に、以前と同一の Dedicated Host で再開される保証はありません。
      + Dedicated Host ID を選択 – インスタンスは停止後も、常に同じ特定のホストで再開されます。

      アフィニティの詳細については、[Amazon EC2 専有ホストの自動配置とホストアフィニティ](dedicated-hosts-understanding.md)を参照してください。

1. 必要に応じて、残りのインスタンスオプションを設定します。詳細については、「[Amazon EC2 インスタンス設定パラメータのリファレンス](ec2-instance-launch-parameters.md)」を参照してください。

1. **[インスタンスを起動]** を選択してください。

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

**ホストリソースグループにインスタンスを作成するには**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用します。`--placement` オプションで、テナンシーを省略し、ホストリソースグループの ARN を指定します。

```
--placement HostResourceGroupArn=arn:aws:resource-groups:us-east-2:123456789012:group/my-resource-group
```

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

**ホストリソースグループにインスタンスを作成するには**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) コマンドレットを使用します。`-Placement` パラメータで、テナンシーを省略し、ホストリソースグループの ARN を指定します。

```
-Placement_HostResourceGroupArn arn:aws:resource-groups:us-east-2:123456789012:group/my-resource-group
```

------

# 既存の Amazon EC2 専有ホストの自動配置設定を変更する
<a name="modify-host-auto-placement"></a>

専有ホストを AWS アカウントに割り当てると、その自動配置設定を変更できるようになります。

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

**Dedicated Host の自動配置を変更するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**] を選択してください。

1. ホストを選択し、[**アクション**]、[**ホストの変更**] の順に選択してください。

1. [**インスタンスの自動配置**] で、[**有効化**] を選択して自動配置を有効にするか、[**有効化**] をオフにして自動配置を無効にします。詳細については、「[Amazon EC2 専有ホストの自動配置とホストアフィニティ](dedicated-hosts-understanding.md)」を参照してください。

1. **[保存]** を選択します。

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

**Dedicated Host の自動配置を変更するには**  
[modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) コマンドを使用します。

```
aws ec2 modify-hosts \
    --auto-placement on \
    --host-ids h-012a3456b7890cdef
```

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

**Dedicated Host の自動配置を変更するには**  
[Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) コマンドレットを使用します。

```
Edit-EC2Host `
    -AutoPlacement 1 `
    -HostId h-012a3456b7890cdef
```

------

# 既存の Amazon EC2 専有ホストでサポートされているインスタンスタイプを変更する
<a name="modify-host-support"></a>

お客様は、Dedicated Hostを修正することで、このホストがサポートするインスタンスタイプを変更できます。単一のインスタンスタイプのみサポートしているホストの場合には、インスタンスファミリー内にある複数のインスタンスタイプをサポートするように修正できます。同様に、複数のインスタンスタイプをサポートしているホストの場合には、単一のインスタンスタイプのみをサポートするように修正できます。

複数のインスタンスタイプをサポートするようにDedicated Hostを修正するには、初めに、該当ホスト上で実行中のインスタンスをすべて停止する必要があります。修正は約 10 分で完了します。修正の実行中には、Dedicated Hostが`pending`状態に移行します。`pending`状態にあるDedicated Hostにおいて停止中のインスタンスを開始したり、新たなインスタンスを起動したりすることはできません。

複数のインスタンスタイプをサポートしているDedicated Hostを 1 つのインスタンスタイプのみをサポートするように変更するには、ホストで実行中のインスタンスがないか、実行中のインスタンスがホストでサポートするインスタンスタイプである必要があります。具体例を挙げると、`m5`インスタンスファミリー内にある複数のインスタンスタイプをサポートしているホストを、`m5.large`インスタンスのみをサポートするように修正するには、Dedicated Hostが、いかなるインスタンスも実行していない状態であるか、`m5.large`実行中のインスタンスのみの状態でなければなりません。

仮想インスタンスタイプにホストを割り当てる場合、ホストの割り当て後にインスタンスタイプを `.metal` インスタンスタイプに変更することはできません。例えば、`m5.large` インスタンスタイプにホストを割り当てた場合、インスタンスタイプを `m5.metal` に変更することはできません。同様に、`.metal` インスタンスタイプにホストを割り当てる場合、ホストの割り当て後にインスタンスタイプを仮想インスタンスタイプに変更することはできません。例えば、`m5.metal` インスタンスタイプにホストを割り当てた場合、インスタンスタイプを `m5.large` に変更することはできません。

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

**Dedicated Host のサポートされているインスタンスタイプを変更するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで **[Dedicated Hosts]** (専有ホスト) を選択してください。

1. 変更する Dedicated Host を選択し、[**アクション**]、[**ホストの変更**] の順に選択してください。

1. Dedicated Host の現在の設定に応じて、次のいずれかの操作を実行します。
   + Dedicated Host が特定のインスタンスタイプを現在サポートしている場合は、[**複数のインスタンスタイプをサポートする**] は有効にならず、現在サポートされているインスタンスタイプが [**インスタンスタイプ**] に表示されます。現在のインスタンスファミリー内にある複数のタイプをサポートするようにホストを変更するには、[**複数のインスタンスタイプをサポートする**] の [**有効化**] を選択してください。

     複数のインスタンスタイプをサポートするようにホストを修正するには、初めに、該当ホスト上で実行されているすべてのインスタンスを停止する必要があります。
   + Dedicated Host がインスタンスファミリー内の複数のインスタンスタイプを現在サポートしている場合は、[**複数のインスタンスタイプをサポートする**] の [**有効**] が選択されています。特定のインスタンスタイプをサポートするようにホストを変更するには、[**複数のインスタンスタイプをサポートする**] で、[**有効化**] をオフにし、[**インスタンスタイプ**] で、サポートする特定のインスタンスタイプを選択してください。

     Dedicated Host がサポートするインスタンスファミリーを変更することはできません。

1. **[保存]** を選択します。

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

**Dedicated Host のサポートされているインスタンスタイプを変更するには**  
[modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) コマンドを使用します。

以下の例では、`m5` インスタンスファミリー内にある複数のインスタンスタイプをサポートするように、専有ホストを修正します。

```
aws ec2 modify-hosts \
    --instance-family m5 \
    --host-ids h-012a3456b7890cdef
```

以下の例では、`m5.xlarge` インスタンスのみをサポートするように専有ホストを修正します。

```
aws ec2 modify-hosts \
    --instance-type m5.xlarge \
    --instance-family --host-ids h-012a3456b7890cdef
```

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

**Dedicated Host のサポートされているインスタンスタイプを変更するには**  
[Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) コマンドレットを使用します。

以下の例では、`m5` インスタンスファミリー内にある複数のインスタンスタイプをサポートするように、専有ホストを修正します。

```
Edit-EC2Host `
    -InstanceFamily m5 `
    -HostId h-012a3456b7890cdef
```

以下の例では、`m5.xlarge` インスタンスのみをサポートするように専有ホストを修正します。

```
Edit-EC2Host `
    -InstanceType m5.xlarge `
    -HostId h-012a3456b7890cdef
```

------

# Amazon EC2 インスタンスの Amazon EC2 専有ホストのテナンシーとアフィニティを変更する
<a name="moving-instances-dedicated-hosts"></a>

インスタンスのテナンシーは、インスタンスの起動後に変更できます。インスタンスのアフィニティを変更して、特定のホストをターゲットにしたり、アカウント内の属性が一致する使用可能な専有ホストで起動できるようにしたりすることもできます。インスタンスのテナンシーまたはアフィニティを修正するには、そのインスタンスを`stopped`状態にする必要があります。

インスタンスのオペレーティングシステムの詳細、および SQL Server がインストールされているかどうかによって、サポートされる変換が影響されます。インスタンスで使用できるテナンシー変換パスの詳細については、「*License Manager ユーザーガイド*」の「[Tenancy conversion](https://docs.aws.amazon.com/license-manager/latest/userguide/conversion-tenancy.html)」を参照してください。

**注記**  
T3 インスタンスの場合、`host` のテナンシーを使用するには専有ホストでインスタンスを起動する必要があります。T3 インスタンスの場合、テナンシーを `host` から `dedicated` または `default` に変更することはできません。これらのサポートされていないテナンシー変更のいずれかを試みると、エラーコード `InvalidRequest` が発生します。

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

**インスタンスのテナンシーまたはアフィニティを変更するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. [**Instances (インスタンス)**] を選択し、変更するインスタンスを選択してください。

1. [**Instance state (インスタンスの状態)**]、[**Stop (停止)**] の順に選択してください。

1. 選択したインスタンスについて、**[アクション]**、**[インスタンス設定]**、**[インスタンスの配置の変更]** を選択してください。

1. **[インスタンスの配置の変更]** ページで、次の設定を行います。
   + [**Tenancy**] — 次のいずれかを選択してください。
     + [専用ハードウェアインスタンスの実行] — インスタンスを ハードウェア専有インスタンス として起動します。詳細については、「[Amazon EC2 ハードウェア専有インスタンス](dedicated-instance.md)」を参照してください。
     + [Launch the instance on a Dedicated Host] — 設定可能なアフィニティを使用してインスタンスを Dedicated Host で起動します。
   + [**Affinity**] — 次のいずれかを選択してください。
     + [This instance can run on any one of my hosts] — インスタンスは、そのインスタンスタイプをサポートするアカウントの利用可能な Dedicated Host で起動されます。
     + [This instance can only run on the selected host] — インスタンスは、**[Target Host] ** (ターゲットホスト) として選択された Dedicated Host でのみ実行できます。
   + **[Target Host]** (ターゲットホスト) – インスタンスを実行させるための、Dedicated Host を選択してください。ターゲットホストが表示されない場合は、アカウントに利用可能な、互換性のある Dedicated Hosts がない可能性があります。

   詳細については、「[Amazon EC2 専有ホストの自動配置とホストアフィニティ](dedicated-hosts-understanding.md)」を参照してください。

1. **[保存]** を選択します。

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

**インスタンスのテナンシーまたはアフィニティを変更するには**  
[modify-instance-placement](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-placement.html) コマンドを使用します。次の例では、指定したインスタンスのアフィニティを `default` から `host` に変更し、インスタンスがアフィニティを持つ対象の Dedicated Host を指定します。

```
aws ec2 modify-instance-placement \
    --instance-id i-1234567890abcdef0 \
    --affinity host \
    --tenancy host \
    --host-id h-012a3456b7890cdef
```

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

**インスタンスのテナンシーまたはアフィニティを変更するには**  
[Edit-EC2InstancePlacement](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstancePlacement.html) コマンドレットを使用します。次の例では、指定したインスタンスのアフィニティを `default` から `host` に変更し、インスタンスがアフィニティを持つ対象の Dedicated Host を指定します。

```
Edit-EC2InstancePlacement `
    -InstanceId i-1234567890abcdef0 `
    -Affinity host `
    -Tenancy host `
    -HostId h-012a3456b7890cdef
```

------

# Amazon EC2 専有ホストを解放する
<a name="dedicated-hosts-releasing"></a>

ある専有ホストが不要になった場合は、そのホストで実行されているインスタンスを停止し、別のホストで起動するように指定してから、ホストを*リリース*できます。

ホストをリリースする前に、専有ホストで実行中のインスタンスを停止する必要があります。これらのインスタンスはアカウントの他の Dedicated Hosts に移行し、引き続き使用することができます。これらのステップは、オンデマンド Dedicated Hosts にのみ適用されます。

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

**専有ホストをリリースするには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**] を選択してください。

1. **[Dedicated Hosts]** ページでリリースする専有ホストを選択してください。

1. **[アクション]**、**[ホストのリリース]** の順に選択してください。

1. **[リリース]** を選択して確定します。

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

**専有ホストをリリースするには**  
 [release-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/release-hosts.html) マンドを使用します。

```
aws ec2 release-hosts --host-ids h-012a3456b7890cdef
```

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

**専有ホストをリリースするには**  
[Remove-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Host.html) コマンドレットを使用します。

```
Remove-EC2Host -HostId h-012a3456b7890cdef
```

------

専有ホストをリリースすると、同じホストまたはホスト ID を再使用できなくなり、該当ホストのオンデマンド料金請求が停止します。Dedicated Host の状態は `released` に変わり、このホストではインスタンスを起動できなくなります。

**注記**  
最近 Dedicated Hosts をリリースした場合、制限に加算されなくなるまでに少し時間がかかることがあります。それまでは、新しい Dedicated Hosts を割り当てようとすると `LimitExceeded` エラーが発生する場合があります。このエラーが発生した場合は、数分後に新しいホストを再び割り当ててみてください。

停止したインスタンスはまだ使用可能であり、[**Instances**] ページに表示されます。その [`host`] テナンシー設定も維持されています。

# Nitro ベースの Amazon EC2 Dedicated Hosts に移行する
<a name="dh-migrate"></a>

Nitro System は、AWS が構築した、高パフォーマンス、高可用性、高度なセキュリティを実現するハードウェアとソフトウェアコンポーネントのコレクションです。ニトロ ベースの 専有ホスト は、Xen ベースの 専有ホスト と比較して、価格パフォーマンスが向上します。アカウントに Xen ベースの 専有ホスト がある場合は、ワークロードを ニトロ ベースの 専有ホスト に移行することをお勧めします。詳細については、[AWS Nitro System](https://aws.amazon.com/ec2/nitro/) をご参照ください。

Xen ベースの 専有ホスト から ニトロ ベースの 専有ホスト に移行するには、専有ホスト の Xen ベースのインスタンスを ニトロ ベースのインスタンスタイプに移行し、新しい ニトロ ベースの 専有ホスト を割り当ててから、移行した ニトロ ベースのインスタンスを新しい ニトロ ベースの 専有ホスト に移行する必要があります。

このトピックでは、Xen ベースの 専有ホスト から ニトロ ベースの 専有ホスト に移行するための詳細な手順について説明します。

**Topics**
+ [

## ステップ 1: Xen ベースの専有ホストを特定する
](#identify-xen-hosts)
+ [

## ステップ 2: Xen ベースのインスタンスを ニトロ ベースのインスタンスタイプに移行する
](#migrate-dh-instances)
+ [

## ステップ 3: ニトロ ベースの専有ホストを割り当てる
](#allocate-nitro-host)
+ [

## ステップ 4: 移行したインスタンスを新しい ニトロ ベースの 専有ホスト に移動する
](#move-instances)
+ [

## ステップ 5: 未使用の Xen ベースの 専有ホスト をリリースする
](#release-xen-instances)

## ステップ 1: Xen ベースの専有ホストを特定する
<a name="identify-xen-hosts"></a>

次の 専有ホスト は Xen ベースであり、ニトロ ベースの 専有ホスト に移行できます。
+ **凡用:** M3 \$1 M4
+ **コンピューティング最適化**\$1 C3 \$1 C4
+ **メモリ最適化**: R3 \$1 R4 \$1 X1 \$1 X1e
+ **ストレージ最適化**: D2 \$1 H1 \$1 I2 \$1 I3
+ **高速コンピューティング:** F1 \$1 G3 \$1 P2 \$1 P3

**アカウントに Xen ベースの 専有ホスト があるかどうかを確認するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**] を選択してください。

1. **検索フィールド**で、**インスタンスファミリー**フィルターを使用して上記の Xen ベースの 専有ホスト を検索します。例えば、*インスタンスファミリー = m3* です。

## ステップ 2: Xen ベースのインスタンスを ニトロ ベースのインスタンスタイプに移行する
<a name="migrate-dh-instances"></a>

Xen ベースの 専有ホスト で実行されるインスタンスも Xen ベースです。これらのインスタンスを ニトロ ベースの専有ホストに移動する前に、これらのインスタンスを ニトロ ベースのインスタンスタイプに移行する必要があります。

**重要**  
インスタンスの移行を開始する前に、データをバックアップすることをお勧めします。詳細については、[「Amazon EC2 インスタンスからマルチボリューム Amazon EBS スナップショットを作成する](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-create-snapshots.html)」を参照してください。

**Xen ベースの 専有ホスト で実行されているインスタンスを検索するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**] を選択してください。

1. 移行する Xen ベースのホストを選択し、**実行中のインスタンス**タブを選択してください。タブには、選択したホストで実行されているすべてのインスタンスが一覧表示されます。

**Linux インスタンスを移行す**るには、[Amazon EC2 インスタンスタイプの変更](ec2-instance-resize.md).を参照してください。

**Windows インスタンス**を移行するには、[EC2 Windows インスタンスを Nitro ベースのインスタンスタイプに移行する](migrating-latest-types.md)を参照してください。

**注記**  
インスタンスは、移行先の ニトロ ベースの 専有ホスト と一致するインスタンスタイプに移行してください。例えば、M7i 専有ホストに移行する場合は、インスタンスを M7i インスタンスタイプに移行してください。

## ステップ 3: ニトロ ベースの専有ホストを割り当てる
<a name="allocate-nitro-host"></a>

**サポートされている ニトロ ベースの 専有ホスト を検索するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンスタイプ**] を選択してください。

1. 以下のフィルタを使用できます。
   + *ハイパーバイザー = ニトロ*
   + *専有ホスト サポート = 正*

適切な ニトロ ベースのインスタンスタイプを見つけたら、[新しい 専有ホスト を割り当て](dedicated-hosts-allocating.md)ます。

## ステップ 4: 移行したインスタンスを新しい ニトロ ベースの 専有ホスト に移動する
<a name="move-instances"></a>

ニトロ ベースの 専有ホスト を割り当てて `available`状態になったら、以前に ニトロ ベースのインスタンスタイプに移行したインスタンスを新しい 専有ホスト に移動できます。

**インスタンスを新しい ニトロ ベースの 専有ホスト に移動するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションパネルの**インスタンス**。

1. 移行したインスタンスを選択し、**「アクション」、**、**「インスタンス設定」、**、**「インスタンス配置の変更」** の順に選択します。

1. **ターゲット専有ホスト**で、新しい Nitro ベースの専有ホストを選択し、**保存**を選択してください。

1. インスタンスを再起動します。インスタンスを選択し、[**Instance state (インスタンスの状態)**]、[**Start instance (インスタンス始める)**] の順に選択してください。

## ステップ 5: 未使用の Xen ベースの 専有ホスト をリリースする
<a name="release-xen-instances"></a>

ワークロードを Xen ベースの 専有ホスト から新しい ニトロ ベースの 専有ホスト に移行したら、不要になった [Xen ベースの 専有ホスト をリリース](dedicated-hosts-releasing.md)できます。

## 専有ホストの予約を購入して、専有ホストの請求で割引を受ける
<a name="purchasing-dedicated-host-reservations"></a>

専有ホストの予約は、オンデマンド専有ホストの料金と比較して最大 70% の割引を提供します。専有ホストの予約を購入するには、アカウントでアクティブな専有ホストが割り当てられている必要があります。詳細については、「[Dedicated Host Reservations](dedicated-hosts-billing.md#dedicated-host-reservations)」を参照してください。

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

**予約を購入するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. [**Dedicated Hosts**]、[**Dedicated Host の予約**]、[**Dedicated Host の予約 の購入**] の順に選択してください。

1. **[サービスを検索]** 画面で、次の操作を行います。

   1. **[インスタンスファミリー]** で、専有ホスト予約を購入しようとしている専有ホストの、インスタンスファミリーを選択してください。

   1. **[支払いオプション]** で、希望の支払いオプションを選択し、設定します。

1. [**Next**] を選択してください。

1. 専有ホスト予約に関連付ける専有ホストを選択し、**[次へ]** をクリックしてください。

1. (*オプション*) 専有ホスト予約にタグを割り当てます。

1. 注文を確認し、**[購入]** をクリックしてください。

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

**予約を購入するには**

1. [describe-host-reservation-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-host-reservation-offerings.html) コマンドを使用して、ニーズに合った利用可能なオファリングを一覧表示します。次の例では、`m4` インスタンスファミリー内のインスタンスをサポートし、契約期間が 1 年のオファリングを一覧表示します。

   期間は秒単位で指定されます。1 年契約は 31,536,000 秒で、3 年契約は 94,608,000 秒です。

   ```
   aws ec2 describe-host-reservation-offerings \
       --filter Name=instance-family,Values=m4 \
       --max-duration 31536000
   ```

   コマンドは、条件に合ったオファリングのリストを返します。購入するオファリングの ID を書き留めます。

1. [purchase-host-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-host-reservation.html)コマンドを使用してオファリングを購入し、前のステップで書き留めた `offeringId` を指定します。次の例では、指定された予約を購入して、AWS アカウントに割り当て済みの特定の Dedicated Host に関連付けます。さらに、キーが `purpose` で値が `production` のタグを、購入した予約に対し適用します。

   ```
   aws ec2 purchase-host-reservation \
       --offering-id hro-03f707bf363b6b324 \
       --host-id-set h-013abcd2a00cbd123 \
       --tag-specifications 'ResourceType=host-reservation,Tags={Key=purpose,Value=production}'
   ```

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

**予約を購入するには**

1. [Get-EC2HostReservationOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2HostReservationOffering.html) コマンドレットを使用して、ニーズに合った利用可能なオファリングを一覧表示します。以下の例では、`m5` インスタンスファミリーでインスタンスをサポートし、1 年契約を持っているオファーをリストします。

   期間は秒単位で指定されます。1 年契約は 31,536,000 秒で、3 年契約は 94,608,000 秒です。

   ```
   $filter = @{Name="instance-family"; Values="m5"}
   Get-EC2HostReservationOffering `
       -Filter $filter `
       -MaxDuration 31536000
   ```

   コマンドは、条件に合ったオファリングのリストを返します。購入するオファリングの ID を書き留めます。

1. [New-EC2HostReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2HostReservation.html) コマンドレットを使用してオファリングを購入し、前のステップで書き留めた ID を指定します。次の例では、指定した予約を購入し、それを AWS アカウントに割り当て済みの特定の Dedicated Host と関連付けます。

   ```
   New-EC2HostReservation `
       -OfferingId hro-03f707bf363b6b324 `
       -HostIdSet h-013abcd2a00cbd123
   ```

------

# クロスアカウント Amazon EC2 専有ホストの共有
<a name="dh-sharing"></a>

Dedicated Host の共有を使用すると、Dedicated Host の所有者は Dedicated Host を他の AWS アカウントと共有したり、AWS 組織内で共有したりできます。これにより、Dedicated Hosts の作成と管理を一元的に行い、複数の AWS アカウント間や AWS 組織内で共有することが可能になります。

このモデルでは、Dedicated Host を所有する AWS アカウント (*所有者*) が、Dedicated Host を他の AWS アカウント (*コンシューマー*) と共有します。コンシューマーは、各自のアカウントに割り当てた Dedicated Hosts にインスタンスを作成する場合と同じように、共有している Dedicated Hosts にインスタンスを作成できます。所有者は、Dedicated Host およびそこに作成したインスタンスの管理に責任を負います。所有者は、コンシューマーが共有 Dedicated Hosts に作成したインスタンスを変更することはできません。コンシューマーは、自己が共有している Dedicated Hosts に作成したインスタンスの管理に責任を負います。コンシューマーは、他のコンシューマーまたは Dedicated Host 所有者が所有するインスタンスを表示または変更することはできません。また、自己が共有している Dedicated Hosts を変更することはできません。

Dedicated Host 所有者が Dedicated Host を共有できる相手は次のとおりです。
+ AWS の組織内または組織外の特定の AWS アカウント
+ AWS 組織内の組織単位
+ AWS 組織全体

**Topics**
+ [

## Dedicated Hosts を共有するための前提条件
](#dh-sharing-prereq)
+ [

## Dedicated Host の共有に関する制限事項
](#dh-sharing-limitation)
+ [

## 関連サービス
](#dh-sharing-related)
+ [

## アベイラビリティーゾーン間での共有
](#dh-sharing-azs)
+ [

## 共有 Dedicated Host のアクセス許可
](#shared-dh-perms)
+ [

## 請求と使用量測定
](#shared-dh-billing)
+ [

## Dedicated Host の制限
](#shared-dh-limits)
+ [

## ホストの復旧と Dedicated Host の共有
](#dh-sharing-retirement)
+ [Dedicated Host の共有](sharing-dh.md)
+ [専有ホストの共有を解除する](unsharing-dh.md)
+ [共有されている専有ホストを表示する](identifying-shared-dh.md)

## Dedicated Hosts を共有するための前提条件
<a name="dh-sharing-prereq"></a>
+ Dedicated Host を共有するには、それを自分の AWS アカウント内で所有している必要があります。既に共有している Dedicated Host を共有することはできません。
+ AWS 組織や AWS 組織内の組織単位との間で Dedicated Host を共有するには、AWS Organizations で共有を有効にする必要があります。詳細については、[AWS Organizations ユーザーガイド](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html)の*AWS RAM で共有を有効化する*を参照してください。

## Dedicated Host の共有に関する制限事項
<a name="dh-sharing-limitation"></a>

`u-6tb1.metal`、`u-9tb1.metal`、`u-12tb1.metal`、`u-18tb1.metal`、および `u-24tb1.metal` のインスタンスタイプに割り当てられた Dedicated Hosts は共有できません

## 関連サービス
<a name="dh-sharing-related"></a>

### AWS Resource Access Manager
<a name="related-ram"></a>

Dedicated Host の共有は AWS Resource Access Manager AWS RAMと統合されています。AWS RAM は、任意の AWS アカウントに対して、あるいは AWS 経由で AWS Organizations リソースを共有するためのサービスです。AWS RAM を使用すると、*リソース共有*を作成することで、自身が所有するリソースを共有できます。リソース共有では、共有対象のリソースと、共有先となるコンシューマーを指定します。コンシューマーには、個人の AWS アカウントや、AWS Organizations 内の組織単位または組織全体を指定できます。

AWS RAM の詳細については、*[AWS RAM ユーザーガイド](https://docs.aws.amazon.com/ram/latest/userguide/)*を参照してください。

## アベイラビリティーゾーン間での共有
<a name="dh-sharing-azs"></a>

リソースがリージョンの複数のアベイラビリティーゾーンに分散されるようにするために、アベイラビリティーゾーンは各 アカウントの名前に個別にマッピングされます。このため、アカウントが異なると、アベイラビリティーゾーンの命名方法が異なる場合があります。例えば、`us-east-1a` アカウントのアベイラビリティーゾーン AWS の場所は、別の `us-east-1a` アカウントのアベイラビリティーゾーン AWS の場所と異なる可能性があります。

自己のアカウントを基準にして Dedicated Hosts の場所を特定するには、*アベイラビリティーゾーン ID* (AZ ID) を使用する必要があります。アベイラビリティーゾーン ID は、すべての AWS アカウントにわたって各アベイラビリティーゾーンを一意に識別する ID です。例えば、`use1-az1` は `us-east-1` リージョンのアベイラビリティーゾーン ID であり、すべての AWS アカウントで同じ場所を示します。

**アカウントのアベイラビリティーゾーンのアベイラビリティーゾーン ID を表示するには**

1. [https://console.aws.amazon.com/ram/home で AWS RAM](https://console.aws.amazon.com/ram/home) コンソールを開きます。

1. 現在のリージョンのアベイラビリティーゾーン ID は、画面の右側にある [**お客様の AZ ID**] パネルに表示されます。

## 共有 Dedicated Host のアクセス許可
<a name="shared-dh-perms"></a>

### 所有者のアクセス許可
<a name="shared-dh-perms-owner"></a>

所有者は、共有 Dedicated Hosts およびそこに作成したインスタンスの管理に責任を負います。所有者は、コンシューマーによって作成されたインスタンスも含めて、共有 Dedicated Host で実行されているすべてのインスタンスを表示できます。ただし、所有者は、コンシューマーによって作成された実行中のインスタンスに対してアクションを実行することはできません。

### コンシューマーのアクセス許可
<a name="shared-dh-perms-consumer"></a>

コンシューマーは、共有 Dedicated Host に作成したインスタンスの管理に責任を負います。コンシューマーは、共有 Dedicated Host を一切変更できません。また、他のコンシューマーや Dedicated Host 所有者が作成したインスタンスを表示または変更することもできません。

## 請求と使用量測定
<a name="shared-dh-billing"></a>

Dedicated Hosts の共有に追加料金はかかりません。

所有者は、自己が共有する Dedicated Hosts に対して課金されます。コンシューマーは、共有 Dedicated Hosts に作成したインスタンスに対して課金されません。

Dedicated Host の予約 は、共有 Dedicated Hosts に対して引き続き請求割引を提供します。Dedicated Host 所有者のみが、自己が所有する共有 Dedicated Hosts 用の Dedicated Host の予約 を購入できます。

## Dedicated Host の制限
<a name="shared-dh-limits"></a>

共有 Dedicated Hosts は、所有者の Dedicated Hosts 制限に対してのみカウントされます。共有 Dedicated Hosts は、コンシューマーの Dedicated Hosts 制限に対してはカウントされません。同様に、コンシューマーが共有 Dedicated Hosts に作成するインスタンスは、コンシューマーのインスタンス制限に対してカウントされません。

## ホストの復旧と Dedicated Host の共有
<a name="dh-sharing-retirement"></a>

ホストの復旧は、Dedicated Host の 所有者とその共有相手のコンシューマーによって作成されたインスタンスを復旧します。代替 Dedicated Host は所有者のアカウントに割り当てられます。元の Dedicated Host と同じリソース共有に追加され、同じコンシューマと共有されます。

詳細については、「[Amazon EC2 専有ホストリカバリ](dedicated-hosts-recovery.md)」を参照してください。

# 複数の AWS アカウントで Amazon EC2 専有ホストを共有する
<a name="sharing-dh"></a>

所有者が Dedicated Host を共有すると、コンシューマーはそのホストにインスタンスを作成できます。コンシューマーは、共有ホストに空き容量がある限り、そこに必要なだけのインスタンスを作成できます。

**重要**  
Dedicated Hosts で BYOL ライセンスを共有するための適切なライセンス権限があることを確認する責任があります。

自動配置を有効にして Dedicated Host を共有する場合は、意図しない形で Dedicated Host が使用されないよう、次の点に注意してください。
+ コンシューマーが Dedicated Host テナンシーを使用してインスタンスを作成する場合、自己のアカウントで所有している Dedicated Host に空き容量がないと、インスタンスは自動的に共有 Dedicated Host に作成されます。

Dedicated Host を共有するには、それをリソース共有に追加する必要があります。リソース共有とは、自身のリソースを AWS RAM アカウント間で共有するための AWS リソースです。リソース共有では、共有対象のリソースと、共有先のコンシューマーを指定します。Dedicated Host は、既存のリソースに追加することも、新しいリソース共有に追加することもできます。

自分が AWS Organizations 内の組織のメンバーであり、所属する組織で共有が有効化されている場合には、自分の組織内のコンシューマーに対し、共有された Dedicated Host に対するアクセス許可を自動的に付与することができます。それ以外の場合、コンシューマーはリソース共有への参加の招待を受け取り、その招待を受け入れた後で、共有 Dedicated Host へのアクセス許可が付与されます。

**注記**  
Dedicated Host を共有した場合、コンシューマーがそれにアクセスできるまでに数分かかることがあります。

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

**Amazon EC2 コンソールを使用して自己所有の Dedicated Host を共有するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**] を選択してください。

1. 共有する Dedicated Host を選択し、[**アクション**]、[**ホストの共有**] の順にクリックしてください。

1. Dedicated Host の追加先のリソース共有を選択し、[**ホストの共有**] をクリックしてください。

   コンシューマーから共有ホストにアクセスできるまでに、数分かかることがあります。

**AWS RAM コンソールを使用して、自分が所有する Dedicated Hosts を共有するには**  
「*AWS RAM ユーザーガイド*」の「[リソース共有の作成](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html)」を参照してください。

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

**自分が所有する専有ホストを共有するには**  
[create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) コマンドを使用します。

```
aws ram create-resource-share \
    --name my-resource-share \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:dedicated-host/h-07879acf49EXAMPLE
```

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

**自分が所有する専有ホストを共有するには**  
[New-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/New-RAMResourceShare.html) コマンドレットを使用します。

```
New-RAMResourceShare `
    -Name my-resource-share `
    -ResourceArn arn:aws:ec2:us-east-2:123456789012:dedicated-host/h-07879acf49EXAMPLE
```

------

# 他の AWS アカウントと共有されている専有ホストの共有を解除する
<a name="unsharing-dh"></a>

Dedicated Host 所有者は、共有 Dedicated Host をいつでも共有解除できます。共有 Dedicated Host を共有解除する場合、以下のルールが適用されます。
+ Dedicated Host を共有しているコンシューマーは、そこに新しいインスタンスを作成できなくなります。
+ 共有解除時に Dedicated Host で実行されていたコンシューマー所有のインスタンスは、引き続き実行されますが、[リタイア](schedevents_actions_retire.md)が予定されます。コンシューマーは、インスタンスのリタイア通知を受け取り、2 週間以内に通知に対処します。ただし、リタイア通知期間内に Dedicated Host がコンシューマーに再共有されると、インスタンスのリタイアはキャンセルされます。

自己所有の共有 Dedicated Host を共有解除するには、それをリソース共有から削除する必要があります。

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

**自分が所有する共有されている専有ホストの共有を解除するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**] を選択してください。

1. 共有解除する Dedicated Host を選択し、[**共有**] タブをクリックしてください。

1. [**共有**] タブに、Dedicated Host の追加先のリソース共有が一覧表示されます。Dedicated Host を削除する対象のリソース共有を選択し、[**リソース共有からホストを削除**] をクリックしてください。

**AWS RAM コンソールを使用して、自分が所有する共有済みの Dedicated Hosts で共有を解除するには**  
「*AWS RAM ユーザーガイド*」の「[Update a resource share](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html)」を参照してください。

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

**自分が所有する共有されている専有ホストの共有を解除するには**  
[disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) コマンドを使用します。

```
aws ram disassociate-resource-share \
    --resource-share-arn arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE \
	--resource-arns arn:aws:ec2:us-east-2:123456789012:dedicated-host/h-07879acf49EXAMPLE
```

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

**自分が所有する共有されている専有ホストの共有を解除するには**  
[Disconnect-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/Disconnect-RAMResourceShare.html) コマンドレットを使用します。

```
Disconnect-RAMResourceShare `
    -ResourceShareArn "arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE" `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:dedicated-host/h-07879acf49EXAMPLE"
```

------

# AWS アカウント内の共有されている Amazon EC2 専有ホストを表示する
<a name="identifying-shared-dh"></a>

他のアカウントと共有している専有ホストと、自分と共有されている専有ホストを表示できます。専有ホストの所有者は、コンシューマーによって作成されたインスタンスも含めて、ホストで実行されているすべてのインスタンスを表示できます。専有ホストが共有されている場合、共有されているホスト上に起動したインスタンスのみが表示され、他のコンシューマーによって起動されたインスタンスは表示されません。

所有者とコンシューマーは、次のいずれかの方法を使用して共有 Dedicated Hosts を特定できます。

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

**共有されている専有ホストを特定するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**] を選択してください。この画面には、自己が所有している Dedicated Hosts と共有している Dedicated Hosts が一覧表示されます。

1. [**所有者**] 列には、Dedicated Host の所有者の AWS アカウント ID が表示されます。

1. ホスト上で実行されているインスタンスを表示するには、**[インスタンス]** タブを選択してください。

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

**共有されている専有ホストを特定するには**  
[describe-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-hosts.html) コマンドを使用します。このコマンドは、自己が所有している Dedicated Hosts と共有している Dedicated Hosts を返します。`Owner` の値は、専有ホストの所有者のアカウント ID です。この `Instances` リストでは、ホストで実行されているインスタンスを示しています。

```
aws ec2 describe-hosts --filter "Name=state,Values=available"
```

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

**共有されている専有ホストを特定するには**  
[Get-EC2host](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Host.html) コマンドレットを使用します。このコマンドレットは、ユーザーが所有する専有ホストと、ユーザーと共有されている専有ホストを返します。レスポンスの `Owner` の値は、専有ホストの所有者のアカウント ID です。この `Instances` リストでは、ホストで実行されているインスタンスを示しています。

```
Get-EC2Host -Filter @{Name="state"; Values="available"}
```

------

# AWS Outposts の Amazon EC2 専有ホスト
<a name="dh-outposts"></a>

AWS Outposts は、AWS のインフラストラクチャ、サービス、API、ツールをユーザーのオンプレミスまで拡張するフル管理されたサービスです。AWS Outposts は、AWS 管理インフラストラクチャへのローカルアクセスを提供することにより、AWS リージョンと同じプログラミングインターフェイスを使用してオンプレミスでアプリケーションを構築および実行できると同時に、ローカルコンピューティングおよびストレージリソースを使用して、レイテンシとローカルデータ処理のニーズを低減します。

Outpost とはお客様のサイトにデプロイされる AWS のコンピューティングおよびストレージキャパシティーのプールです。AWS はAWS リージョンの一部としてこのキャパシティーを運営、監視、管理します。

アカウントで所有している Outposts に Dedicated Hosts を割り当てることができます。これにより、専用の物理サーバーを必要とする既存のソフトウェアライセンスとワークロードを AWS Outposts に簡単に持ち込むことができます。Outpost の特定のハードウェアアセットをターゲットにして、ワークロード間のレイテンシーを最小限に抑えることもできます。

Dedicated Hosts を使用すると、Amazon EC2 で適格なソフトウェアライセンスを使用できるため、独自のライセンスを使用する場合の柔軟性と費用対効果が得られます。仮想マシン、ソケット、または物理コアにバインドされている他のソフトウェアライセンスも、ライセンス条項に従って、Dedicated Hosts で使用できます。Outpost は常に BYOL ワークロードに適格なシングルテナント環境でしたが、Dedicated Hosts を使用すると、Outpost の展開全体ではなく、必要なライセンスを単一のホストにデプロイできます。

さらに、Outpostで Dedicated Hosts を使用すると、インスタンスタイプのデプロイの柔軟性が高まり、インスタンスの配置をより細かく制御できます。インスタンスの起動に特定のホストをターゲットにして、ホストアフィニティを使用して、インスタンスが常にそのホストで実行されるようにするか、自動配置を使用して、設定と使用可能な容量が一致する使用可能なホストにインスタンスを起動できます。

**Contents**
+ [

## 前提条件
](#dh-outpost-prereqs)
+ [

## サポートされている機能
](#dh-outpost-features)
+ [

## 考慮事項
](#dh-outpost-considerations)
+ [

# AWS Outposts で Amazon EC2 専有ホストを割り当てる
](dh-outpost-allocate.md)

## 前提条件
<a name="dh-outpost-prereqs"></a>

Outpost は、自分のサイトにインストールする必要があります。詳細については、*AWS Outposts ユーザーガイド*の[Outpost を作成し、Outpost 容量を注文する](https://docs.aws.amazon.com/outposts/latest/userguide/order-outpost-capacity.html)を参照してください。

## サポートされている機能
<a name="dh-outpost-features"></a>
+ 次のインスタンスファミリーがサポートされています。
  + **汎用:** M5 \$1 M5d \$1 M7i \$1 M8i
  + **コンピューティング最適化:** C5 \$1 C5d \$1 C7i \$1 C8i
  + **メモリ最適化:** R5 \$1 R5d \$1 R7i \$1 R8i
  + **ストレージ最適化:** I3en
  + **高速コンピューティング:** G4dn
+ Outposts での Dedicated Hosts は、複数のインスタンスサイズをサポートするように設定できます。複数のインスタンスサイズに対するサポートは、次のインスタンスファミリーで利用できます。
  + **汎用:** M5 \$1 M5d \$1 M7i
  + **コンピューティング最適化:** C5 \$1 C5d \$1 C7i
  + **メモリ最適化:** R5 \$1 R5d \$1 R7i

  詳細については、「[Amazon EC2 専有ホストインスタンスのキャパシティ設定](dedicated-hosts-limits.md)」を参照してください。
+ Outposts での Dedicated Hosts は、自動配置とターゲットインスタンスの起動をサポートします。詳細については、「[Amazon EC2 専有ホストの自動配置とホストアフィニティ](dedicated-hosts-understanding.md)」を参照してください。
+ Outposts での Dedicated Hosts は、ホストアフィニティをサポートします。詳細については、「[Amazon EC2 専有ホストの自動配置とホストアフィニティ](dedicated-hosts-understanding.md)」を参照してください。
+ Outposts での Dedicated Hosts は、AWS RAM との共有をサポートしています。詳細については、「[クロスアカウント Amazon EC2 専有ホストの共有](dh-sharing.md)」を参照してください。

## 考慮事項
<a name="dh-outpost-considerations"></a>
+ 専有ホスト予約は Outpost ではサポートされていません。
+ ホストリソースグループと AWS License Manager は、Outposts ではサポートされていません。
+ Outposts 上の Dedicated Hosts は、バースト可能な T3 インスタンスをサポートしていません。
+ Outposts の Dedicated Hosts は、ホストの回復をサポートしていません。
+ Outposts の専有ホストテナンシーを使用するインスタンスでは、簡易自動復旧はサポートされていません。

# AWS Outposts で Amazon EC2 専有ホストを割り当てる
<a name="dh-outpost-allocate"></a>

AWS リージョンの Dedicated Hosts の場合と同じ方法で、Outpost に Dedicated Hosts を割り当てて使用します。

**前提条件**  
Outpost にサブネットを作成します。詳細については、*AWS Outposts ユーザーガイド*の[サブネットの作成](https://docs.aws.amazon.com/outposts/latest/userguide/launch-instance.html#create-subnet)を参照してください。

**Outpost に専有ホストを割り当てるには、次のいずれかの方法を使用します。**

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

**AWS Outposts コンソールを使用して Outpost に専有ホストを割り当てるには**

1. AWS Outposts コンソールの [https://console.aws.amazon.com/outposts/](https://console.aws.amazon.com/outposts/home) を開いてください。

1. ナビゲーションペインで、**[Outpost]** を選択してください。Outpost を選択し、**[Actions]** (アクション)、**[Allocate Dedicated Host]** (専有ホストの割り当て) を選択してください。

1. 必要に応じて専有ホストを設定します。詳細については、「[アカウントで使用するために Amazon EC2 専有ホストを割り当てる](dedicated-hosts-allocating.md)」を参照してください。
**注記**  
**[アベイラビリティーゾーン]** と **[Outpost ARN]**には、選択した Outpost のアベイラビリティーゾーンと ARN をあらかじめ組み込んでおく必要があります。

1. [**Allocate**] を選択してください。

**Amazon EC2 コンソールを使用して Outpost に専有ホストを割り当てるには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインにおいて、**[Dedicated Hosts]** (専有ホスト) を選択してから、**[Allocate Dedicated Host]** (専有ホスト割り当て) を選択してください。

1. **[アベイラビリティーゾーン]** には、Outpost に関連付けられているアベイラビリティーゾーンを選択してください。

1. **Outpost ARN** には、Outpost の ARN を入力してください。

1. Outpost の特定のハードウェアアセットをターゲットにするには、**[Outpost の特定のハードウェアアセットをターゲットにする]** で **[有効]** を選択してください。ターゲットにする各ハードウェアアセットについて、**[アセット ID を追加]** を選択し、ハードウェアアセットの ID を入力してください。
**注記**  
**[数量]** に指定する値は、指定するアセット ID の数と等しくなければなりません。例えば、3 つのアセット ID を指定する場合、数量も 3 でなければなりません。

1. 必要に応じて、残りの専有ホストを設定します。詳細については、「[アカウントで使用するために Amazon EC2 専有ホストを割り当てる](dedicated-hosts-allocating.md)」を参照してください。

1. [**Allocate**] を選択してください。

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

**Outpost に専有ホストを割り当てるには**  
[allocate-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-hosts.html) コマンドを使用します。`--availability-zone` には、Outpost に関連付けられているアベイラビリティーゾーンを指定します。`--outpost-arn` には Outpost の ARN を指定します。オプションで、ターゲットにする Outpost ハードウェアアセットの ID を `--asset-ids` に指定します。

```
aws ec2 allocate-hosts \
    --availability-zone "us-east-1a" \
    --outpost-arn "arn:aws:outposts:us-east-1a:111122223333:outpost/op-4fe3dc21baEXAMPLE" \
    --asset-ids asset_id \
    --instance-family "m5" \
    --auto-placement "off" \
    --quantity 1
```

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

**Outpost に専有ホストを割り当てるには**  
[New-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Host.html) コマンドレットを使用します。Outpost に関連付けられているアベイラビリティーゾーンを指定します。オプションで、ターゲットにする Outpost ハードウェアアセットの ID を `-AssetId` に指定します。

```
New-EC2Host `
    -AvailabilityZone "us-east-1a" `
    -OutpostArn "arn:aws:outposts:us-east-1a:111122223333:outpost/op-4fe3dc21baEXAMPLE" `
    -AssetId asset_id `
    -InstanceFamily "m5" `
    -AutoPlacement "off" `
    -Quantity 1
```

------

**Outpost 上の専有ホストでインスタンスを起動するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**] を選択してください。前のステップで割り当てた専有ホストを選択し、**[Actions]** (アクション)、**[Launch instance onto host]** (ホストへのインスタンスの起動) を選択してください。

1. 必要に応じてインスタンスを設定してから、インスタンスを起動します。詳細については、「[Amazon EC2 専有ホストで Amazon EC2 インスタンスを起動する](launching-dedicated-hosts-instances.md)」を参照してください。

# Amazon EC2 専有ホストリカバリ
<a name="dedicated-hosts-recovery"></a>

Dedicated Hosts 自動リカバリでは、Dedicated Host で特定の問題が検出されると、インスタンスが新しい代替ホストで自動的に再起動されます。システム電源やネットワーク接続に関する予期せぬ Dedicated Hosts の障害が発生した場合に、手動による介入の必要性を減らし、運用の負担を軽減します。その他の Dedicated Hosts の問題は、手動での復旧が必要となります。

**Topics**
+ [ホストリカバリの仕組み](dedicated-hosts-recovery-basics.md)
+ [

## サポートされるインスタンスタイプ
](#dedicated-hosts-recovery-instances)
+ [

## 料金
](#dedicated-hosts-recovery-pricing)
+ [ホストの復旧を管理する](dedicated-hosts-recovery-enable.md)
+ [ホストリカバリ設定を表示する](dedicated-hosts-recovery-view.md)
+ [サポートされていないインスタンスの手動復旧](dedicated-hosts-recovery-unsupported.md)

# Amazon EC2 専有ホスト復旧の仕組み
<a name="dedicated-hosts-recovery-basics"></a>

Dedicated Hosts とホスト Resource Groups のリカバリープロセスは、Dedicated Hosts の可用性を評価し、根本的なシステム障害を検出するために、ホストレベルのヘルスチェックを使用します。Dedicated Hosts の自動回復が可能かどうかは、Dedicated Hosts の障害の種類によって決まります。ホストレベルのヘルスチェックが失敗する場合、原因として以下のような問題が考えられます。
+ ネットワーク接続の喪失
+ システム電源の喪失
+ 物理ホストのハードウェアまたはソフトウェアの問題

**重要**  
ホストのリタイアが予定されている場合、専有ホストの自動復旧は発生しません。

## Dedicated Hosts 自動リカバリ
<a name="dedicated-hosts-recovery-basics-auto-recovery"></a>

Dedicated Host でシステム電源やネットワーク接続の障害が検出されると、Dedicated Host の自動リカバリが開始され、Amazon EC2 は**自動的に元のDedicated Host と同じアベイラビリティーゾーンに代替の Dedicated Host を割り当てます**。代替 Dedicated Host は新しいホスト ID を受け取りますが、元の Dedicated Host と同じ以下の属性を保持します。
+ アベイラビリティーゾーン (AZ)
+ インスタンスタイプ
+ タグ
+ 自動プレイスメントの設定
+ 予約する

代替の Dedicated Hosts が割り当てられると、**インスタンスは代替 Dedicated Hosts に復旧されます**。復旧されたインスタンスは、元のインスタンスと同じ以下の属性を保持します。
+ [インスタンス ID]
+ プライベート IP アドレス
+ Elastic IP アドレス
+ EBS ボリュームアタッチメント
+ すべてのインスタンスメタデータ

また、組み込まれている AWS License Manager との統合により、ライセンスの追跡と管理が自動的に行われます。

**注記**  
AWS License Manager との統合は、AWS License Manager を利用できるリージョンでのみサポートされます。

インスタンスと障害が発生した Dedicated Host との間にホストのアフィニティがある場合、復旧したインスタンスは代替 Dedicated Host との間にホストのアフィニティを確立します。

すべてのインスタンスが代替専有ホストに復旧されると、**障害が発生した専有ホストがリリース**されて、代替専有ホストが使用可能になります。

ホスト復旧が開始されると、AWS アカウントの所有者に対してメールまたは AWS Health Dashboard イベントで通知されます。ホスト復旧が正常に完了すると、2 つ目の通知が送信されます。

AWS License Manager を使用してライセンスを追跡している場合は、その AWS License Manager により、ライセンス設定の制限に応じて新しいライセンスが代替 Dedicated Hosts に割り当てられます。ホスト復旧の結果としてライセンス設定のハード制限を超える場合、復旧プロセスは許可されず、Amazon SNS 通知を介してホスト復旧の失敗が通知されます (AWS License Manager の通知設定が構成されている場合)。ホスト復旧の結果としてライセンス設定のソフト制限を超える場合は、復旧の続行が許可され、Amazon SNS 通知を介して制限の超過が通知されます。詳細については、*AWS License Manager ユーザーガイド*の[ライセンス設定の使用](https://docs.aws.amazon.com/license-manager/latest/userguide/license-configurations.html)および[License Manager の設定](https://docs.aws.amazon.com/license-manager/latest/userguide/settings.html)を参照してください。

## ホスト復旧の状態
<a name="dedicated-hosts-recovery-states"></a>

Dedicated Host の障害が検出されると、障害が発生した Dedicated Host は `under-assessment` 状態になり、すべてのインスタンスは `impaired` 状態になります。障害が起きているDedicated Hostが`under-assessment`状態の間は、このホストでインスタンスを起動できません。

代替 Dedicated Host が割り当てられると、この代替ホストは `pending` 状態になります。ホスト復旧プロセスが完了するまでは、この状態に留まります。代替Dedicated Hostが`pending`状態の間は、このホストでインスタンスを起動できません。代替 Dedicated Host に復旧されたインスタンスは、復旧プロセス中、`impaired` 状態に留まります。

ホスト復旧が完了すると、代替 Dedicated Host は `available` 状態になり、復旧されたインスタンスは `running` 状態に戻ります。代替 Dedicated Host が `available` 状態になると、このホストでインスタンスを起動できます。障害が発生した元の専有ホストは完全にリリースされ、`released-permanent-failure` 状態になります。

障害が発生した専有ホストにホスト復旧をサポートしていないインスタンス (インスタンスストアのルートボリュームを備えたインスタンスなど) がある場合、専有ホストはリリースされません。代わりに、そのホストはリタイアとしてマークされ、`permanent-failure` 状態になります。

## Dedicated Hosts の自動リカバリがないシナリオ
<a name="dedicated-hosts-recovery-basics-non-auto"></a>

**ホストのリタイアが予定されている場合、専有ホストの自動復旧は発生しません** Amazon CloudWatch Events に関する使用停止通知が AWS Health Dashboard に送信され、AWS アカウント所有者のメールアドレスには Dedicated Hosts の障害に関するメッセージが届きます。指定された期間内にリタイア通知に記載されている修復手順に従って、リタイアするホストのインスタンスを手動で復旧します。

**停止したインスタンスは代替 Dedicated Host に復旧されません。**障害が発生した Dedicated Host を対象とする、停止したインスタンスを起動しようとすると、インスタンスの起動は失敗します。停止したインスタンスを変更して別の Dedicated Host を対象とするか、停止したインスタンスと一致する設定を持ち、自動配置が有効になっている Dedicated Host で起動することをお勧めします。

**インスタンスストレージのあるインスタンスは代替 Dedicated Host に復旧されません**。是正措置として、障害が発生した Dedicated Host はリタイアとしてマークされ、ホスト復旧の完了後にリタイア通知が送信されます。リタイア通知に記載されている是正措置に従い、指定された期間内に障害が発生した Dedicated Host の残りのインスタンスを手動で復旧します。

## サポートされるインスタンスタイプ
<a name="dedicated-hosts-recovery-instances"></a>

ホスト復旧は以下のインスタンスファミリーでサポートされています。
+ **汎用: **A1 \$1 M3 \$1 M4 \$1 M5 \$1 M5n \$1 M5zn \$1 M6a \$1 M6g \$1 M6i \$1 T3 \$1 Mac1 \$1 Mac2 \$1 Mac2-m1ultra \$1 Mac2-m2 \$1 Mac2-m2pro
+ **コンピューティングの最適化: **C3 \$1 C4 \$1 C5 \$1 C5n \$1 C6a \$1 C6g \$1 C6i
+ **メモリの最適化: **R3 \$1 R4 \$1 R5 \$1 R5b \$1 R5n \$1 R6g \$1 R6i \$1 U-6tb1 \$1 U-9tb1 \$1 U-12tb1 \$1 U-18tb1 \$1 U-24tb1 \$1 X1 \$1 X1e \$1 X2iezn
+ **高速コンピューティング: **Inf1 \$1 G3 \$1 G5g \$1 P2 \$1 P3

サポートされていないインスタンスを復旧するには、[Amazon EC2 専有ホストリカバリでサポートされていないインスタンスを手動で復旧する](dedicated-hosts-recovery-unsupported.md)を参照してください。

**注記**  
サポートされているメタルインスタンスタイプの Dedicated Hosts 自動リカバリは、非メタルインスタンスタイプよりも検出および復旧に時間がかかります。

## 料金
<a name="dedicated-hosts-recovery-pricing"></a>

ホスト復旧の使用に伴う追加の料金はありません。通常の Dedicated Host 料金が適用されます。詳細については、[Amazon EC2 Dedicated Hosts 料金](https://aws.amazon.com/ec2/dedicated-hosts/pricing/)を参照してください。

ホスト復旧が開始されると同時に、障害が発生した Dedicated Host には課金されなくなります。代替の専有ホストに対する課金は、専有ホストが `available` 状態になった後でのみ開始されます。

障害が発生した Dedicated Host の課金にオンデマンド料金が使用されていた場合は、代替の Dedicated Host の課金にもオンデマンド料金が使用されます。障害が発生した Dedicated Host でアクティブになっていた Dedicated Host の予約 は、代替の Dedicated Host に転送されます。

# Amazon EC2 専有ホスト復旧を管理する
<a name="dedicated-hosts-recovery-enable"></a>

Dedicated Hosts 自動リカバリでは、Dedicated Host で特定の問題が検出されると、インスタンスが新しい代替ホストで自動的に再起動されます。ホストの復旧は、専有ホストの割り当て時または割り当て後に有効にすることができます。

ホストを割り当てるときにホストの復旧を有効にするには、次の手順に従います。

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

**割り当て時にホストの復旧を有効にするには**  
Amazon EC2 コンソールを使用して専有ホストを割り当てる場合、**[ホストの復旧]** で、**[有効]** を選択してください。詳細については、「[アカウントで使用するために Amazon EC2 専有ホストを割り当てる](dedicated-hosts-allocating.md)」を参照してください。

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

**割り当て時にホストの復旧を有効にするには**  
[allocate-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-hosts.html) コマンドを使用します。

```
aws ec2 allocate-hosts \
    --instance-type m5.large \
    --availability-zone eu-west-1a \
    --auto-placement on \
    --host-recovery on \
    --quantity 1
```

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

**割り当て時にホストの復旧を有効にするには**  
[New-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Host.html) コマンドレットを使用します。

```
New-EC2Host `
    -InstanceType m5.large `
    -AvailabilityZone eu-west-1a `
    -AutoPlacement on `
    -HostRecovery on `
    -Quantity 1
```

------

専有ホストのホストの復旧を管理するには、次の手順に従います。

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

**ホストの復旧を割り当て後に管理するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**] を選択してください。

1. 専有ホストを選択してください。

1. **[アクション]**、**[ホストを変更]** の順に選択してください。

1. **[ホストの復旧]** で、**[有効]** を選択するかクリアします。

1. **[保存]** を選択します。

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

**ホストの復旧を割り当て後に有効にするには**  
[modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) コマンドを使用します。

```
aws ec2 modify-hosts \
    --host-recovery on \
    --host-ids h-012a3456b7890cdef
```

**ホストの復旧を割り当て後に無効にするには**  
[modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) コマンドを使用し、`host-recovery` パラメータの値を `off` に指定します。

```
aws ec2 modify-hosts \
    --host-recovery off \
    --host-ids h-012a3456b7890cdef
```

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

**ホストの復旧を割り当て後に有効にするには**  
[Edit-host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) コマンドレットを使用します。

```
Edit-EC2Host `
    -HostRecovery on `
    -HostId h-012a3456b7890cdef
```

**ホストの復旧を割り当て後に無効にするには**  
[Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) コマンドレットを使用します。

```
Edit-EC2Host `
    -HostRecovery off `
    -HostId h-012a3456b7890cdef
```

------

# Amazon EC2 専有ホストのホストリカバリ設定を表示する
<a name="dedicated-hosts-recovery-view"></a>

Dedicated Host のホスト復旧の設定はいつでも表示できます。

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

**専有ホストのホスト復旧設定を閲覧するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**] を選択してください。

1. Dedicated Host を選択し、[**Description (説明)**] タブの [**Host Recovery (ホスト復旧)**] フィールドを確認します。

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

**専有ホストのホスト復旧設定を閲覧するには**  
[describe-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-hosts.html) コマンドを使用します。

```
aws ec2 describe-hosts \
    --host-ids h-012a3456b7890cdef \
    --query Hosts[].HostRecovery
```

以下は出力の例です。

```
on
```

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

**専有ホストのホスト復旧設定を閲覧するには**  
[Get-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Host.html) コマンドレットを使用します。

```
(Get-EC2Host -HostId h-012a3456b7890cdef).Hosts | Select HostRecovery
```

以下は出力の例です。

```
HostRecovery
------------
on
```

------

# Amazon EC2 専有ホストリカバリでサポートされていないインスタンスを手動で復旧する
<a name="dedicated-hosts-recovery-unsupported"></a>

ホスト復旧は、インスタンスストアボリュームを使用するインスタンスの復旧をサポートしていません。自動的に復旧されないインスタンスがある場合は、以下の手順に従って、これらのインスタンスを手動で復旧します。

**警告**  
インスタンスストアボリュームのデータは、インスタンスの停止、休止、または終了に伴って失われます。これにはEBS ルートボリュームを備えたインスタンスにアタッチされたインスタンスストアボリュームも含まれます。インスタンスストアボリュームのデータを保護するには、インスタンスが停止または終了する前に、データを永続的ストレージにバックアップします。

## EBS-backed インスタンスの手動復旧
<a name="dedicated-hosts-recovery-ebs"></a>

自動的に復旧されない EBS-backed インスタンスの場合は、インスタンスを手動で停止または終了させて、新しい Dedicated Host に復旧することをお勧めします。インスタンスの停止や、インスタンスの停止に伴うインスタンス設定の変更の詳細については、[Amazon EC2 インスタンスの停止と開始](Stop_Start.md)を参照してください。

## インスタンスストアのルートボリュームを備えたインスタンスの手動復旧
<a name="dedicated-hosts-recovery-instancestore"></a>

自動的に復旧されない、インスタンスストアのルートボリュームを備えたインスタンスの場合は、以下の操作を行うことをお勧めします。

1. 新しい Dedicated Host で、最新の AMI から代替インスタンスを起動します。

1. すべての必要なデータを代替インスタンスに移行させます。

1. 障害が発生した Dedicated Host で元のインスタンスを終了します。

# Amazon EC2 専有ホストのホストメンテナンス
<a name="dedicated-hosts-maintenance"></a>

ホストのメンテナンスによって、まれに専有ホストのパフォーマンスが低下することがあります。その場合は、ホストで実行中のインスタンスが、正常な代替専有ホストに自動的に移行します。これにより、ワークロードのダウンタイムが最小限に抑えられ、専有ホストの管理を簡素化することができます。ホストのメンテナンスは、Amazon EC2 の計画的かつ日常的なメンテナンスのためにも行われます。

Amazon EC2 は、次の 2 つのタイプのホストメンテナンスをサポートしています。
+ **ライブ移行ホストメンテナンス** - インスタンスは 24 時間以内に代替ホストに自動的に移行されます。いったん停止してから再起動するという操作は必要ありません。
+ **再起動ベースのホストメンテナンス** - *インスタンスの再起動*スケジュールイベントがスケジュールされ、イベントが発生するとインスタンスは自動的に停止して代替ホストで再起動されます。

**Topics**
+ [

## ホストメンテナンスとホスト復旧
](#dedicated-hosts-maintenance-differences)
+ [

## 考慮事項
](#dedicated-hosts-maintenance-basics-limitations)
+ [

## 関連サービス
](#dedicated-hosts-maintenance-related)
+ [

## 料金
](#dedicated-hosts-maintenance-pricing)
+ [

# Amazon EC2 専有ホストのホストメンテナンスの仕組み
](dedicated-hosts-maintenance-basics.md)
+ [

# Amazon EC2 専有ホストのホストメンテナンス設定を構成する
](dedicated-hosts-maintenance-configuring.md)

## ホストメンテナンスとホスト復旧
<a name="dedicated-hosts-maintenance-differences"></a>

次の表は、ホストメンテナンスとホスト復旧の主な違いを示しています。


****  

|  | ホスト復旧 | ホストのメンテナンス | 
| --- | --- | --- | 
| インスタンスの到達可能性 | 到達不能 | 到達可能 | 
| 専有ホストの状態 | under-assessment | permanent-failure | 
| リソースグループをホストする | サポート | サポートされていません | 

ホスト復旧の詳細については、「[ホスト復旧](dedicated-hosts-recovery.md)」を参照してください。

## 考慮事項
<a name="dedicated-hosts-maintenance-basics-limitations"></a>
+ ホストメンテナンスは、中国リージョンと AWS GovCloud (US) Regionsを除くすべての AWS リージョンで使用できます。
+ ホストのメンテナンスは、AWS Outposts、AWS ローカルゾーンと AWS Wavelength ゾーンではサポートされていません。
+ ホストリソースグループ内に既に含まれているホストについては、ホストメンテナンスをオンまたはオフにすることはできません。ホストリソースグループに追加されたホストは、そのホストメンテナンス設定を保持します。詳細については、「[ホストリソースグループ](https://docs.aws.amazon.com/license-manager/latest/userguide/host-resource-groups.html)」を参照してください。
+ ホストメンテナンスは、次のインスタンスタイプではサポートされていません: C1、C3、D2、I2、M1、M2、M3、R3、X1。これらには、インスタンスストアのルートボリュームがあるためです。

## 関連サービス
<a name="dedicated-hosts-maintenance-related"></a>

専有ホストと **AWS License Manager** との統合 - Amazon EC2 Dedicated Hosts 全体でライセンスを追跡します (AWS License Manager が利用可能なリージョンでのみサポートされます)。詳細については、「[AWS License Manager ユーザーガイド](https://docs.aws.amazon.com/license-manager/latest/userguide/license-manager.html)」を参照してください。

新しい専有ホストには AWS アカウント で十分なライセンスが必要です。スケジュールされたイベントの完了後にパフォーマンスが低下したホストが解放されると、そのホストに関連付けられたライセンスが解放されます。

## 料金
<a name="dedicated-hosts-maintenance-pricing"></a>

ホストメンテナンスの使用に伴う追加の料金はありません。通常の専有ホスト料金が適用されます。詳細については、[Amazon EC2 Dedicated Hosts 料金](https://aws.amazon.com/ec2/dedicated-hosts/pricing/)を参照してください。

ホストメンテナンスが開始されると同時に、デグレードした専有ホストには課金されなくなります。代替の専有ホストに対する課金は、専有ホストが `available` 状態になった後でのみ開始されます。

デグレードした専有ホストの課金にオンデマンド料金が使用されていた場合は、代替の専有ホストの課金にもオンデマンド料金が使用されます。デグレードした専有ホストでアクティブになっていた専有ホストの予約は、新しい専有ホストに転送されます。

# Amazon EC2 専有ホストのホストメンテナンスの仕組み
<a name="dedicated-hosts-maintenance-basics"></a>

ホストメンテナンスが有効になっている専有ホストでパフォーマンスの低下が検出されると、アカウント内の代替専有ホストが自動的に割り当てられます。代替 Dedicated Host は新しいホスト ID を受け取りますが、元の Dedicated Host と同じ以下の属性を保持します。
+ 自動プレイスメントの設定
+ アベイラビリティーゾーン (AZ)
+ 専有ホスト予約の関連付け
+ ホストのアフィニティ
+ ホストのメンテナンス設定
+ ホストの復旧設定
+ インスタンスタイプ
+ タグ

代替ホストが割り当てられると、インスタンスに応じて**ライブ移行ホストメンテナンス**または**再起動ベースのホストメンテナンス**を使用してインスタンスが移行されます。

パフォーマンスが低下したホストで動作中のインスタンスがなくなると、そのホストはアカウントから完全に解放されます。

## ライブ移行ホストメンテナンス
<a name="ndhm"></a>

ライブ移行ホストメンテナンスを必要とするインスタンスは、24 時間以内に代替ホストに自動的に移行します。いったん停止してから再起動するという操作は必要ありません。移行されたインスタンスは、次のような既存の属性を保持します。
+ [インスタンス ID]
+ インスタンスメタデータ
+ Amazon EBS ボリュームアタッチメント
+ Elastic IP アドレスとプライベート IP アドレス
+ メモリ、CPU、およびネットワークの状態

インスタンスのサイズがある程度大きくなると、移行中にパフォーマンスがわずかに低下することがあります。

インスタンスが代替ホストに自動的に移行すると、E メールと AWS Health ダッシュボードの通知がお手元に届きます。通知には、パフォーマンスが低下したホストと代替ホストの ID、ライブ移行ホストメンテナンスを使用して自動的に移行したインスタンスに関する情報、移行せずに残ったインスタンスに関する情報、が記載されています。

## 再起動ベースのホストメンテナンス
<a name="rbhm"></a>

インスタンスで再起動ベースのホストメンテナンスが必要になると、通知日付から 14 日間、インスタンスの再起動スケジュールイベントがスケジュールされます。スケジュールされたイベントが始まるまでは、パフォーマンスが低下した専有ホスト上のインスタンスにこれまで通りアクセスできます。

元のイベント日時の 7 日以内の日付であれば、再起動イベントを再スケジュールできます。詳細については、「[EC2 インスタンスのスケジュールされたイベントを再スケジュールする](reschedule-event.md)」を参照してください。

Amazon EC2 は、代替ホスト上でこうしたインスタンスのためにキャパシティを自動的にリザーブします。こうしたリザーブドキャパシティでインスタンスを実行することはできません。

Amazon EC2 コンソールには、リザーブドキャパシティが使用済みキャパシティとして表示されます。インスタンスは、デグレードしたホストと代替ホストの両方で実行されているように見える場合があります。ただし、インスタンスは、停止するか、代替ホストのリザーブドキャパシティに移行するまで、デグレードしたホストでのみ引き続き実行されます。

スケジュールされたイベントの日時になると、インスタンスは自動的に停止し、代替ホストのリザーブドキャパシティで再起動されます。移行されたインスタンスは、次のような既存の属性を保持します。
+ [インスタンス ID]
+ インスタンスメタデータ
+ Amazon EBS ボリュームアタッチメント
+ Elastic IP アドレスとプライベート IP アドレス

ただし、移行中にいったん停止してから再起動されるため、インスタンスはメモリ、CPU、ネットワークの状態を保持しません。

また、スケジュールされたイベントが始まる前にこれらのインスタンスをいつでも手動で停止し再起動してから、代替ホストまたは別のホストに移行できます。場合によっては、別のホストで再起動するようにインスタンスのホストアフィニティを変更する必要があります。スケジュールされたイベントが始まる前にインスタンスを停止すると、代替ホスト上のリザーブドキャパシティが解放されて使用可能になります。

## ホストメンテナンスの状態
<a name="dedicated-hosts-maintenance-states"></a>

ホストのパフォーマンスが低下すると、ホストの状態が `permanent-failure` になります。状態が `permanent-failure` の専有ホストではインスタンスを起動できません。

代替ホストが割り当てられると、ライブ移行ホストメンテナンスをサポートするインスタンスがパフォーマンスの低下したホストから自動的に移行し、スケジュールされたイベントが残りのインスタンスに対してスケジュールされるまで、代替ホストは `pending` 状態のままになります。これらのタスクが完了すると、代替ホストの状態は `available` に変わります。

代替ホストの状態が `available` になったら、アカウント内の他のホストと同じように使用することができます。ただし、代替ホストのインスタンスキャパシティの一部が、再起動ベースのホスト移行を必要とするインスタンス用にリザーブされます。このリザーブドキャパシティで新しいインスタンスを起動することはできません。

パフォーマンスが低下したホストに動作中のインスタンスがなくなると、ホストは `released, permanent-failure` 状態になってアカウントから完全に解放されます。ホストとそのリソースは、その後しばらくコンソールに表示され続けます。

## 自動移行
<a name="hm-unsupported"></a>

一部のインスタンスは、代替ホストに自動的には移行できません。

**EBS-backed ルートボリュームを備えたインスタンス**  
こうしたインスタンスの場合、通知日付から 28 日間、インスタンスの停止イベントがスケジュールされます。スケジュールされたイベントの日時になると、インスタンスは停止します。インスタンスを手動で停止して代替ホストまたは別のホストで再起動することをお勧めします。場合によっては、別のホストで再起動するようにインスタンスのホストアフィニティを変更する必要があります。

**インスタンスストアのルートボリュームを持つインスタンス**  
こうしたインスタンスの場合、通知日付から 28 日間、インスタンスの廃止イベントがスケジュールされます。スケジュールされたイベントの日時になると、インスタンスは完全に終了します。スケジュールされたイベントが始まる前に、代替ホスト上で代替インスタンスを手動で開始して、必要なデータを代替インスタンスに移行することをお勧めします。

次のインスタンスには、インスタンスストアのルートボリュームがあります: C1、C3、D2、I2、M1、M2、M3、R3、X1。

スケジュールされたイベントが始まるまでは、パフォーマンスが低下した専有ホスト上のインスタンスにこれまで通りアクセスできます。

# Amazon EC2 専有ホストのホストメンテナンス設定を構成する
<a name="dedicated-hosts-maintenance-configuring"></a>

ホストメンテナンスを有効にすると、スケジュールされたメンテナンスイベント中に、専有ホストで実行されているインスタンスが新しい専有ホストに自動的に復旧されるようになります。

ホストのメンテナンスを無効にすると、デグレードしたホストをエビクションし、28 日以内にインスタンスを別のホストに手動で移行するよう求めるメール通知が届きます。専有ホストを予約している場合は、代替ホストが割り当てられます。28 日後、デグレードしたホストで実行されていたインスタンスは終了し、そのホストは自動的にリリースされます。

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

**専有ホストのホストメンテナンスを有効にするには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**] を選択してください。

1. [専有ホスト]、**[アクション]**、**[ホストの変更]** の順に選択してください。

1. **[ホストのメンテナンス]** フィールドで *[オン]* を選択してください。

**専有ホストのホストメンテナンスを無効にするには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**] を選択してください。

1. [専有ホスト]、**[アクション]**、**[ホストの変更]** の順に選択してください。

1. **[ホストのメンテナンス]** フィールドで *[オフ]* を選択してください。

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

**専有ホストのホストメンテナンスを有効にするには**  
[modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) コマンドを使用します。

```
aws ec2 modify-hosts \
    --host-maintenance on \
    --host-ids h-0d123456bbf78910d
```

**専有ホストのホストメンテナンスを無効にするには**  
[modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) コマンドを使用します。

```
aws ec2 modify-hosts \
    --host-maintenance off \
    --host-ids h-0d123456bbf78910d
```

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

**専有ホストのホストメンテナンスを有効にするには**  
[Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) コマンドレットを使用します。

```
Edit-EC2Host `
    -HostMaintenance on `
    -HostId h-0d123456bbf78910d
```

**専有ホストのホストメンテナンスを無効にするには**  
[Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) コマンドレットを使用します。

```
Edit-EC2Host `
    -HostMaintenance off `
    -HostId h-0d123456bbf78910d
```

------

# Amazon EC2 専有ホストの状態をモニタリングする
<a name="dedicated-hosts-monitoring"></a>

Amazon EC2 は、Dedicated Hosts の状態を絶えずモニタリングします。更新は Amazon EC2 コンソールで伝達されます。Dedicated Host に関する情報は、次の方法を使用して表示できます。

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

**Dedicated Host の状態を表示するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで [**Dedicated Hosts**] を選択してください。

1. リストで Dedicated Host を見つけ、[**State**] 列で値を確認します。

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

**Dedicated Host の状態を表示するには**  
[describe-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-hosts.html) コマンドを使用します。

```
aws ec2 describe-hosts --host-id h-012a3456b7890cdef
```

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

**Dedicated Host の状態を表示するには**  
[Get-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Host.html) コマンドレットを使用します。

```
Get-EC2Host -HostId h-012a3456b7890cdef
```

------

以下の表では、表示される可能性のある Dedicated Host の状態について説明します。


| **状態** | **説明** | 
| --- | --- | 
| available | AWS は Dedicated Host で問題を検出しませんでした。予定されているメンテナンスまたは修復はありません。この専有ホストでインスタンスを起動できます。 | 
| released | 専有ホストがリリースされました。ホスト ID は使用中ではありません。リリース済みのホストは再使用できません。 | 
| under-assessment | AWS は Dedicated Host の潜在的な問題を調査しています。アクションを実行する必要がある場合は、AWS マネジメントコンソールまたは E メールで通知されます。この状態のDedicated Hostではインスタンスを起動できません。 | 
| pending | 専有ホストは新しいインスタンスの起動には使用できません。この状態は、[複数のインスタンスタイプをサポートするように修正されている](modify-host-support.md)状態か、[ホスト復旧](dedicated-hosts-recovery.md)実行中の状態です。 | 
| permanent-failure | 回復不可能な障害が検出されました。インスタンスおよび E メールで削除通知が届きます。インスタンスは引き続き実行する場合があります。この状態にある Dedicated Host 上のすべてのインスタンスを停止または終了すると、AWS はホストを使用停止にします。AWS はこの状態のインスタンスを再起動しません。この状態のDedicated Hostsではインスタンスを起動できません。 | 
| released-permanent-failure | AWS は、障害が発生してインスタンスが実行されていない Dedicated Hosts を完全にリリースします。Dedicated Host ID も使用できなくなります。 | 

# AWS Config を使用して、Amazon EC2 専有ホストでの設定の変更を追跡する
<a name="dedicated-hosts-aws-config"></a>

AWS Config を使用すると、Dedicated Hosts の設定変更や、Dedicated Hosts 上で起動、停止、終了されたインスタンスの設定変更を記録できます。そして、AWS Config でキャプチャされた情報をライセンスレポートのデータソースとして使用することができます。

AWS Config は、Dedicated Hosts やインスタンスの設定情報を個別に記録し、関係を利用してそれぞれの設定情報をペアにします。3 つのレポート条件があります。
+ **AWS Config の記録ステータス** – [**オン**] のとき、AWS Config は 1 つ以上の AWS リソースタイプを記録中です。記録の対象には、Dedicated Hosts や ハードウェア専有インスタンス も含まれます。ライセンスレポートに必要な情報をキャプチャするには、次のフィールドによって Host とインスタンスが記録されていることを確認します。
+ **Host recording status** — [**Enabled**] の場合は、Dedicated Hosts の設定情報が記録されます。
+ **インスタンスの記録ステータス** — [**Enabled (有効)**] の場合は、ハードウェア専有インスタンス の設定情報が記録されます。

これら 3 つの条件のいずれかが無効になっている場合、[**Config 記録の編集**] ボタン内のアイコンは赤です。このツールのメリットをすべて引き出すために、3 つの記録方法すべてを有効にしてください。3 つすべてが有効なとき、アイコンは緑です。設定を編集するには、[**Config 記録の編集**] を選択してください。AWS Config コンソールに [**Set up AWS Config**] ページが表示され、そこで AWS Config を設定し、ホスト、インスタンス、およびその他のサポートされるリソースタイプの記録を開始できます。詳細については、『*AWS Config デベロッパーガイド*』の[コンソールを使用した AWS Config のセットアップ](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html)を参照してください。

**注記**  
AWS Config はリソースを検出 (数分かかる場合があります) して、記録します。

AWS Config がホストおよびインスタンスへの設定変更の記録を開始した後、ユーザーが割り当てたかリリースしたホストと、起動、停止、または終了したインスタンスの設定履歴を取得できます。例えば、Dedicated Host の設定履歴の任意の時点で、そのホストのソケット数とコア数と共に、そのホストで起動されているインスタンスの数を調べることができます。それらのインスタンスについても、対応する Amazon マシンイメージ (AMI) の ID を調べることができます。これらの情報を使用して、ソケット単位またはコア単位でライセンスが与えられているサーバーバインドソフトウェアのライセンスに関するレポートを作成できます。

設定履歴は以下のいずれかの方法で閲覧できます。
+ AWS Config コンソールを使用する。記録されたリソースごとに、設定の詳細の履歴を提供するタイムラインページを表示することができます。このページを表示するには、[**Dedicated Hosts**] ページの [**設定タイムライン**] 列にあるグレーのアイコンを選択してください。詳細については、『*AWS Config デベロッパーガイド*』の[AWS Config コンソールでの設定詳細の表示](https://docs.aws.amazon.com/config/latest/developerguide/view-manage-resource-console.html)を参照してください。
+ AWS CLI コマンドを実行する。まず、[list-discovered-resources](https://docs.aws.amazon.com/cli/latest/reference/configservice/list-discovered-resources.html) コマンドを使用して、すべてのホストとインスタンスのリストを取得できます。次に、[get-resource-config-history](https://docs.aws.amazon.com/cli/latest/reference/configservice/get-resource-config-history.html#get-resource-config-history) コマンドを使用して、特定の時間間隔でホストまたはインスタンスの設定の詳細を取得できます。
+ アプリケーションで AWS Config API を使用する。まず、[ListDiscoveredResources](https://docs.aws.amazon.com/config/latest/APIReference/API_ListDiscoveredResources.html) アクションを使用して、すべてのホストとインスタンスのリストを取得できます。次に、[GetResourceConfigHistory](https://docs.aws.amazon.com/config/latest/APIReference/API_GetResourceConfigHistory.html) アクションを使用して、特定の時間間隔でホストまたはインスタンスの設定の詳細を取得できます。

例えば、AWS Config から Dedicated Hosts のリストを取得するには、次のような CLI コマンドを実行します。

```
aws configservice list-discovered-resources --resource-type AWS::EC2::Host
```

AWS Config から Dedicated Hosts の設定履歴を取得するには、次のような CLI コマンドを実行します。

```
aws configservice get-resource-config-history \
    --resource-type AWS::EC2::Instance \
    --resource-id i-1234567890abcdef0
```

**コンソールを使用して AWS Config の設定を管理するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. [**Dedicated Hosts**] ページで、[**Config 記録の編集**] を選択してください。

1. AWS Config コンソールで、次の手順に従って記録をオンにします。詳細については、[コンソールを使用した AWS Config のセットアップ](https://docs.aws.amazon.com/config/latest/developerguide/gs-console.html)を参照してください。

詳細については、[AWS Config コンソールでの設定詳細の表示](https://docs.aws.amazon.com/config/latest/developerguide/view-manage-resource-console.html)を参照してください。

**コマンドラインまたは API を使用して AWS Config をアクティブ化するには**
+ AWS CLI: *AWS CLI デベロッパーガイド*の[設定詳細の表示 (AWS Config)](https://docs.aws.amazon.com/config/latest/developerguide/view-manage-resource-console.html#view-config-details-cli)
+ Amazon EC2 API: [GetResourceConfigHistory](https://docs.aws.amazon.com/config/latest/APIReference/API_GetResourceConfigHistory.html)

# Amazon EC2 ハードウェア専有インスタンス
<a name="dedicated-instance"></a>

デフォルトでは、EC2 インスタンスは共有テナンシーハードウェアで実行されます。つまり、複数の AWS アカウントが同じ物理ハードウェアを共有する可能性があります。

ハードウェア専有インスタンスとは、単一の AWS アカウント専用のハードウェア上で動作する EC2 インスタンスです。つまり、ハードウェア専有インスタンスは、それらのアカウントが単一の支払者アカウントにリンクされている場合でも、他の AWS アカウント に属するインスタンスからホストハードウェアレベルで物理的に分離されています。ただし、ハードウェア専有インスタンス は、同じ AWS アカウント に属する、ハードウェア専有インスタンスではない他のインスタンスとはハードウェアを共有できます。

ハードウェア専有インスタンスは、インスタンスの配置を可視化したり制御したりせず、ホストアフィニティもサポートしません。ハードウェア専有インスタンスを停止して起動すると、同じホストで実行されない場合があります。同様に、インスタンスを起動または実行する特定のホストをターゲットにすることはできません。さらに、ハードウェア専有インスタンスでは、Bring-Your-Own-License (BYOL) のサポートが制限されています。

インスタンス配置の可視性と制御、およびより包括的な BYOL サポートが必要な場合は、代わりに専有ホストの使用を検討してください。ハードウェア専有インスタンスと専有ホストのどちらを使用しても、専用の物理サーバーに Amazon EC2 インスタンスを起動することができます。ハードウェア専有インスタンス と Dedicated Hosts のインスタンスの間に、パフォーマンス、セキュリティ、または物理的な違いはありません。ただし、これらにはいくつかの重要な違いがあります。次のテーブルでは、Dedicated Hosts とハードウェア専有インスタンスの主な違いをいくつか紹介します。


|  | Dedicated Host | Dedicated Instance | 
| --- | --- | --- | 
| 専用物理サーバー | お客様専用のインスタンス容量を持つ物理サーバー。 | 単一の顧客アカウント専用の物理サーバー。 | 
| インスタンス容量の共有 | インスタンス容量を他のアカウントと共有できます。 | サポートされていません | 
| 請求 | ホストごとの請求 | インスタンスごとの請求 | 
| ソケット、コア、ホスト ID の可視性 | ソケットと物理コアの数が見える | 可視性なし | 
| ホストおよびインスタンスアフィニティ | インスタンスを同じ物理サーバーに徐々にデプロイし続けることができる | サポート外 | 
| ターゲットを絞ったインスタンスの配置 | インスタンスを物理サーバーに配置する方法についての可視性と制御が高い | サポート外 | 
| インスタンスの自動復旧 | サポート対象。詳細については、[Amazon EC2 専有ホストリカバリ](dedicated-hosts-recovery.md)を参照してください。 | サポート対象 | 
| Bring-Your-Own-License (BYOL) | サポート | 部分的なサポート\$1 | 
| キャパシティ予約 | サポート外 | サポート | 

\$1 ソフトウェアアシュアランスによるライセンスモビリティを使用する Microsoft SQL Server、および Windows Virtual Desktop Access (VDA) ライセンスを、ハードウェア専有インスタンスで使用することが可能です。

詳細については、「[Amazon EC2 専有ホスト](dedicated-hosts-overview.md)」を参照してください。

**Topics**
+ [

## ハードウェア専有インスタンス の基本
](#dedicated-howitworks)
+ [

## サポートされている機能
](#features)
+ [

## ハードウェア専有インスタンス の制限事項
](#dedicated-limits)
+ [

## ハードウェア専有インスタンス の料金表
](#dedicated-instance-pricing)
+ [専有インスタンス を起動する](dedicatedinstancesintovpc.md)
+ [インスタンスのテナンシーの変更](dedicated-change-tenancy.md)
+ [VPC のテナント属性の変更](change-tenancy-vpc.md)

## ハードウェア専有インスタンス の基本
<a name="dedicated-howitworks"></a>

VPC は、`default`または`dedicated`のテナンシーを持つことができます。デフォルトでは、VPC `default` には `default` テナンシーがあり、テナンシー VPC `default` に起動されたインスタンスにはテナンシーがあります。ハードウェア専有インスタンス は次の手順を実行します。
+ テナント属性が `dedicated` VPC を作成すると、VPC のすべてのインスタンスが専有インスタンスとして実行されます。詳細については、「[デフォルトのテナンシーで VPC に専有インスタンスを起動する](dedicatedinstancesintovpc.md)」を参照してください。
+ テナンシー `default` の VPC を作成し、インスタンスを専用インスタンスとして実行するテナンシー `dedicated` を手動で指定します。詳細については、「[デフォルトのテナンシーで VPC に専有インスタンスを起動する](dedicatedinstancesintovpc.md)」を参照してください。

## サポートされている機能
<a name="features"></a>

ハードウェア専有インスタンスは、以下の機能とAWSサービスの統合をサポートしています:

**Topics**
+ [

### 予約インスタンス
](#dedicatedreservedinstances)
+ [

### Auto Scaling
](#dedicated-instance-autoscaling)
+ [

### 自動復旧
](#dedicated-instance-recovery)
+ [

### ハードウェア専有スポットインスタンス
](#dedicated-instance-spot)
+ [

### バーストパフォーマンスインスタンス
](#dedicated-instance-burstable)

### 予約インスタンス
<a name="dedicatedreservedinstances"></a>

ハードウェア専有インスタンスのキャパシティを予約するには、専有リザーブドインスタンスまたはキャパシティ予約を購入します。詳細については、「[Amazon EC2 のリザーブドインスタンスの概要](ec2-reserved-instances.md)」および「[EC2 オンデマンドキャパシティ予約を使用してコンピューティングキャパシティを予約](ec2-capacity-reservations.md)」を参照してください。

専有リザーブドインスタンス を購入すると、格安の料金で専用インスタンスを起動する容量を利用できます。使用料の割引は、専用テナントでインスタンスを起動する場合にのみ適用されます。デフォルトテナンシーで リザーブドインスタンス を購入する場合、これは `default` テナンシーがある実行中のインスタンスにのみ適用され、`dedicated` テナンシーがある実行中のインスタンスには適用されません。

さらに、リザーブドインスタンス の購入後に変更プロセスを使用してそのテナンシーを変更することはできません。ただし、新しい コンバーティブルリザーブドインスタンス の コンバーティブルリザーブドインスタンス を別のテナンシーと交換することはできます。

### Auto Scaling
<a name="dedicated-instance-autoscaling"></a>

Amazon EC2 Auto Scaling を使用して ハードウェア専有インスタンス を起動できます。詳細については、「Amazon EC2* Auto Scaling* ユーザーガイド」の「[詳細設定を使用して起動テンプレートを作成する](https://docs.aws.amazon.com/autoscaling/ec2/userguide/advanced-settings-for-your-launch-template.html)」を参照してください。

### 自動復旧
<a name="dedicated-instance-recovery"></a>

基盤ハードウェアの障害、またはAWS による修復を必要とする問題によって正常に機能しなくなった場合のために、ハードウェア専有インスタンス に対し自動復旧を設定できます。詳細については、[インスタンスの自動復旧](ec2-instance-recover.md)を参照してください。

### ハードウェア専有スポットインスタンス
<a name="dedicated-instance-spot"></a>

スポットインスタンスのリクエストを作成するとき、`dedicated` のテナントを指定することにより、ハードウェア専有スポットインスタンスを実行できます。詳細については、[シングルテナントハードウェアで起動する](how-spot-instances-work.md#spot-instance-tenancy)を参照してください。

### バーストパフォーマンスインスタンス
<a name="dedicated-instance-burstable"></a>

[バーストパフォーマンスインスタンス](burstable-performance-instances.md) では、専有テナントハードウェアで実行することの利点を活用できます。T3 ハードウェア専有インスタンスは、デフォルトで Unlimited モードで起動します。また、ベースラインレベルの CPU パフォーマンスを提供し、ワークロードの必要に応じてより高い CPU レベルにバーストできます。T3 ベースラインパフォーマンスとバースト機能は、CPU クレジットによって管理されます。T3 インスタンスタイプはバーストであるため、最適なパフォーマンスを得るために T3 インスタンスで専用ハードウェアの CPU リソースをどのように使用しているかをモニタリングすることをお勧めします。T3 ハードウェア専有インスタンスは、お客様のワークロードが多様で CPU がランダムな動作を示すが、平均的な CPU 使用量が適切なベースライン使用量以下である場合に向いています。詳細については、[バーストパフォーマンスインスタンスに関する主要な概念](burstable-credits-baseline-concepts.md)を参照してください。

Amazon EC2 には、パフォーマンスの変動を特定して修正するためのシステムが用意されています。ただし、CPU 使用パターンが相関する複数の T3 ハードウェア専有インスタンスを起動すると、依然として短期的な変動が発生する可能性があります。これらのより要求の厳しいワークロードや相関関係のあるワークロードについては、T3 ハードウェア専有インスタンスではなく、M5 または M5a ハードウェア専有インスタンスを使用することをお勧めします。

## ハードウェア専有インスタンス の制限事項
<a name="dedicated-limits"></a>

ハードウェア専有インスタンスを使用するときは、以下の点を常に考慮する必要があります。
+ 一部の AWS のサービスまたは機能は、インスタンスのテナント属性が `dedicated` に設定されている VPC ではサポートされていません。そのほかにも制限事項があるかどうかを確認するには、個別のサービスのドキュメントを参照してください。
+ 一部の種類のインスタンスは、インスタンスのテナント属性が `dedicated` に設定されている VPC では起動できません。サポートされているインスタンスの種類の詳細については、[Amazon EC2 ハードウェア専有インスタンス](https://aws.amazon.com/ec2/pricing/dedicated-instances/)を参照してください。
+ Amazon EBSでバックアップされたハードウェア専有インスタンスを起動する場合、シングルテナントのハードウェアで EBS ボリュームは実行できません。

## ハードウェア専有インスタンス の料金表
<a name="dedicated-instance-pricing"></a>

ハードウェア専有インスタンス の料金表は、オンデマンドインスタンスの料金表と異なります。詳細については、「[Amazon EC2 ハードウェア専有インスタンス](https://aws.amazon.com/ec2/pricing/dedicated-instances/)」を参照してください。

# デフォルトのテナンシーで VPC に専有インスタンスを起動する
<a name="dedicatedinstancesintovpc"></a>

VPC を作成するときにインスタンスのテナント属性を指定できます。インスタンスのテナンシーが `dedicated` である VPC 内にインスタンスを起動すると、そのインスタンスは専用ハードウェア上で専有インスタンスとして実行されます。

テナント属性として `host` を使用したインスタンスの作成の詳細については、「[Amazon EC2 専有ホストで Amazon EC2 インスタンスを起動する](launching-dedicated-hosts-instances.md)」を参照してください。

VPC テナンシーオプションの詳細については、「*Amazon VPC ユーザーガイド*」の「[VPC を作成する](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html)」を参照してください。

**要件**
+ サポートされているインスタンスタイプを選択します。詳細については、[Amazon EC2 ハードウェア専有インスタンス](https://aws.amazon.com/ec2/pricing/dedicated-instances/)を参照してください。

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

**デフォルトテナンシー VPC にハードウェア専有インスタンスを起動するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、**[Instances]** (インスタンス)、**[Launch instance]** (インスタンスを起動) の順に選択してください。

1. **[Application and OS Images]** (アプリケーションと OS イメージ) セクションにあるリストから、使用する AMI を選択します。

1. **[Instance type]** (インスタンスタイプ) セクションで、起動するインスタンスタイプを選択してください。

1. **[Key pair]** (キーペア) セクションで、インスタンスに関連付けるキーペアを選択してください。

1. **[Advanced details]** (高度な詳細) セクションにある **[Tenancy]** (テナンシー) で、**[Dedicated]** (ハードウェア専有) を選択します。

1. 必要に応じて、残りのインスタンスオプションを設定します。詳細については、「[Amazon EC2 インスタンス設定パラメータのリファレンス](ec2-instance-launch-parameters.md)」を参照してください。

1. **[インスタンスを起動]** を選択してください。

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

**起動中にインスタンスのテナンシーオプションを設定するには**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用し、`--placement` オプションに `Tenancy` を含めます。

```
--placement Tenancy=dedicated
```

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

**起動中にインスタンスのテナンシーオプションを設定するには**  
`-Placement_Tenancy` パラメータで [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) コマンドレットを使用します。

```
-Placement_Tenancy dedicated
```

------

# EC2 インスタンスのテナンシーを変更する
<a name="dedicated-change-tenancy"></a>

インスタンスの起動後に停止されたテナンシーを変更できます。加えた変更は、次回のインスタンス起動時に有効になります。

または、仮想プライベートクラウド (VPC) のテナンシーを変更することもできます。詳細については、「[VPC のインスタンステナンシーを変更する](change-tenancy-vpc.md)」を参照してください。

**制限**
+ AWS マネジメントコンソールを使ってインスタンスのテナンシーを変更することはできません。
+ インスタンスは `stopped` の状態である必要があります。
+ インスタンスのオペレーティングシステムの詳細、および SQL Server がインストールされているかどうかによって、サポートされる変換が影響されます。インスタンスで使用できるテナンシー変換パスの詳細については、「License Manager ユーザーガイド」の「[テナンシー変換](https://docs.aws.amazon.com/license-manager/latest/userguide/conversion-tenancy.html)」を参照してください。
+ T3 インスタンスの場合、`host` のテナンシーを使用するには専有ホストでインスタンスを起動する必要があります。テナンシーを `host` から `dedicated` または `default` に変更することはできません。これらのサポートされていないテナンシー変更のいずれかを試みると、エラーコード `InvalidRequest` が発生します。

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

**インスタンスのテナンシー値を変更するには**  
[modify-instance-placement](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-placement.html) コマンドを使用します。

```
aws ec2 modify-instance-placement \
    --instance-id i-1234567890abcdef0 \ 
    --tenancy dedicated
```

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

**インスタンスのテナンシー値を変更するには**  
[Edit-EC2InstancePlacement](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstancePlacement.html) コマンドレットを使用します。

```
Edit-EC2InstancePlacement `
    -InstanceId i-1234567890abcdef0 `
    -Tenancy Dedicated
```

------

# VPC のインスタンステナンシーを変更する
<a name="change-tenancy-vpc"></a>

仮想プライベートクラウド (VPC) の作成後に VPC のインスタンステナンシーを `dedicated` から `default` に変更することができます。VPC のインスタンステナンシーを変更しても、VPC 内の既存のインスタンスのテナンシーには影響が及びません。次回 VPC でインスタンスを起動すると、インスタンス起動時に指定していなければ、テナンシーが `default` になります。

あるいは、特定のインスタンスのテナンシーを変更することもできます。詳細については、「[EC2 インスタンスのテナンシーを変更する](dedicated-change-tenancy.md)」を参照してください。

**制限**
+ VPC の作成後に、VPC のインスタンステナンシーを `default` から `dedicated` に変更することはできません。
+ AWS マネジメントコンソール を使用して VPC インスタンスのテナントを変更することはできません。

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

**VPC のインスタンステナンシー属性を変更するには**  
[modify-vpc-tenancy](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-tenancy.html) コマンドを使用します。サポートされているテナンシー値は `default` のみです。

```
aws ec2 modify-vpc-tenancy \
    --vpc-id vpc-1234567890abcdef0 \
    --instance-tenancy default
```

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

**VPC のインスタンステナンシー属性を変更するには**  
[Edit-EC2VpcTenancy](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2VpcTenancy.html) コマンドレットを使用します。サポートされているテナンシー値は `Default` のみです。

```
Edit-EC2VpcTenancy `
    -VpcId vpc-1234567890abcdef0 `
    -InstanceTenancy Default
```

------

# 機械学習用のオンデマンドキャパシティ予約とキャパシティブロック
<a name="capacity-reservation-overview"></a>

キャパシティ予約を使用すると、特定のアベイラビリティーゾーンで、Amazon EC2 インスタンスの計算能力を予約できます。キャパシティ予約には 2 種類あり、対応するユースケースが異なります。

**キャパシティ予約の種類**
+ [オンデマンドキャパシティ予約](ec2-capacity-reservations.md)
+ [機械学習用のキャパシティブロック](ec2-capacity-blocks.md)

オンデマンドキャパシティ予約の一般的なユースケースは以下のとおりです。
+ **スケーリングのイベント** — ビジネスクリティカルなイベントの前にオンデマンドキャパシティ予約を作成しておくと、必要なときに確実にスケールすることができます。
+ **規制要件とディザスタリカバリ** — 高可用性に関する規制要件を満たしたり、ディザスタリカバリ用に別のアベイラビリティーゾーンまたはリージョンにキャパシティを予約したりするときは、オンデマンドキャパシティ予約を使用します。
+ **未使用のキャパシティの共有** – 中断可能なキャパシティ予約を使用して、アカウント内の他のワークロードで未使用のキャパシティを利用できるようにしつつ、必要に応じて再利用するための制御を維持します。

ML 用のキャパシティブロックの一般的なユースケースは以下のとおりです。
+ **機械学習 (ML) モデルトレーニングと微調整** — ML モデルトレーニングと微調整を完了するために予約した GPU インスタンスに、中断なしにアクセスできます。
+ **ML 実験とプロトタイプ** — GPU インスタンスを必要とする実験の実行およびプロトタイプの構築を短期間で行えます。

**オンデマンドキャパシティ予約の使用時期**  
キャパシティの要件が厳格で、現在または将来のビジネスクリティカルなワークロードにキャパシティ保証が必要な場合、オンデマンドキャパシティ予約を使用します。オンデマンドキャパシティ予約を使用すると、予約した Amazon EC2 キャパシティに必要な限りアクセスすることができます。

**機械学習用のキャパシティブロックを使用する時期**  
機械学習用のキャパシティブロックは、将来の一定期間、GPU インスタンスに中断なしにアクセスできるようにする必要がある場合に使用します。キャパシティブロックは、ML モデルのトレーニングや微調整、短期間の試験実行、将来、推論の需要が一時的に急増した場合の対応、に最適です。キャパシティブロックを使用すると、特定の日に GPU リソースにアクセスして確実に ML ワークロードを実行することができます。

# EC2 オンデマンドキャパシティ予約を使用してコンピューティングキャパシティを予約
<a name="ec2-capacity-reservations"></a>

Amazon EC2 キャパシティ予約を使用すると、任意の期間で特定のアベイラビリティーゾーンに Amazon EC2 インスタンスのコンピューティングキャパシティを予約できます。一定レベルの長期または短期のキャパシティ保証が必要な現在または今後のビジネスクリティカルなワークロードに対し、厳格なキャパシティ要件がある場合、必要な限りにいつでも Amazon EC2 キャパシティにアクセスできるようにするため、キャパシティ予約を作成することをお勧めします。

キャパシティ予約はいつでも作成でき、開始時期を選択できます。すぐに使用できるキャパシティ予約をリクエストするか、将来の日付のキャパシティ予約をリクエストできます。
+ **すぐに使用できるキャパシティ予約**をリクエストする場合、キャパシティ予約はすぐに使用可能で期間のコミットメントはありません。キャパシティ予約はいつでも変更できます。また、いつでもキャンセルしてリザーブドキャパシティを解放することで請求の発生を停止できます。
+ **将来の日付のキャパシティ予約**をリクエストする場合、キャパシティ予約を使用可能にする必要がある将来の日付を指定します。指定した日付以降にアカウントでリクエストされたキャパシティを維持することをコミットするコミットメント期間も指定する必要があります。リクエストされた日付および時刻にキャパシティ予約が使用可能になり、コミットメント期間が開始されます。コミットメント期間中、インスタンス数またはコミットメント期間を最初のコミットメントより短くしたり、キャパシティ予約をキャンセルしたりすることはできません。コミットメント期間が経過すると、キャパシティ予約を任意の方法で変更するか、不要になった場合はキャンセルできます。

キャパシティ予約を使用できるのは、属性が一致するインスタンスのみです。デフォルトでは、キャパシティ予約は、新しいインスタンスと、一致する属性 (インスタンスタイプ、プラットフォーム、アベイラビリティーゾーン、テナンシー) を持つ実行中のインスタンスを自動的に一致させます。つまり、一致する属性を持つインスタンスがキャパシティ予約で自動的に実行されます。ただし、特定のワークロードに対して キャパシティ予約 を指定することもできます。これにより、リザーブドキャパシティで実行できるインスタンスを明示的に制御できます。インスタンスがキャパシティ予約またはキャパシティ予約リソースグループでのみ実行されるように指定することもできます。

**重要**  
将来の日付のキャパシティ予約は、増分インスタンスを起動してカバーできるようにするためのものであり、既存の実行中のインスタンスをカバーするものではありません。既存の実行中のインスタンスをカバーする必要がある場合、代わりにすぐに開始されるキャパシティ予約を使用してください。

インスタンスタイプ、プラットフォーム、アベイラビリティーゾーン、テナンシーなど、一致する属性を持つサポートされているすべての Amazon EC2 インスタンスは、キャパシティ予約で実行できます。Amazon EC2 インスタンスは、ユーザー (*非マネージドインスタンス*) またはユーザーに代わって AWS サービス (*マネージドインスタンス*) によって起動できます。これは、一致する属性を持つ実行中のインスタンスと自動的に一致する*オープン*キャパシティ予約に特に当てはまります。例えば、次のサービスによってユーザーに代わって起動されたマネージドインスタンスは、作成および管理するキャパシティ予約で実行できます。
+ Amazon EC2 Auto Scaling
+ Amazon ECS
+ Amazon EKS
+ Amazon EMR
+ Amazon SageMaker AI
+ AWS Batch
+ AWS Elastic Beanstalk
+ AWS ParallelCluster
+ AWS Parallel Computing Service (AWS PCS)

**Topics**
+ [

# Amazon EC2 キャパシティ予約の概念
](cr-concepts.md)
+ [

## キャパシティ予約、リザーブドインスタンス、Savings Plans 間の違い
](#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 Zone 内のキャパシティ予約
](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` と `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 ～ 120 日前にリクエストできます。お客様のリクエストをより適切にサポートするために、少なくとも 56 日 (8 週間) 前にリクエストすることをお勧めします。最小コミットメント期間は 14 日で、最小インスタンス数は 32 vCPU です。

キャパシティ予約は、リクエストの評価中に `assessing` 状態のままになります。

リクエストをサポートできる場合、キャパシティ予約は `scheduled` 状態になり、リクエストされた日付および時刻に配信がスケジュールされます。キャパシティ予約が `scheduled` 状態である間、合計インスタンス数は 0 のままになりす。スケジュールされたキャパシティ予約が `active` になり、リクエストされた日付に使用可能になります。

リクエストをサポートできない場合、キャパシティ予約は `unsupported` 状態になります。サポートされていないキャパシティ予約は配信されません。

将来の日付のキャパシティ予約が `assessing` 状態のときにキャンセルできます。

詳細については、「[将来の日付のキャパシティ予約の作成](capacity-reservations-create.md#create-future-cr)」を参照してください。

## キャパシティ予約の属性
<a name="cr-attributes"></a>

キャパシティ予約を作成するとき、次の属性を指定する必要があります。
+ アベイラビリティーゾーン (AZ)
+ インスタンスタイプ
+ プラットフォーム (オペレーティングシステムタイプ)
+ テナンシー (`default` または `dedicated`)

これらの属性に一致するインスタンスのみが、キャパシティ予約で起動または実行できます。

## インスタンスの一致条件
<a name="cr-instance-eligibility"></a>

インスタンスの一致条件またはインスタンス資格により、キャパシティ予約で起動および実行できるインスタンスが決まります。キャパシティ予約には、次のいずれかの一致条件を含めることができます。
+ **オープン** — キャパシティ予約は、一致する属性 (インスタンスタイプ、プラットフォーム、アベイラビリティーゾーン) を持つすべてのインスタンスを自動的に一致させます。一致する属性を持つ新規および既存のインスタンスは、追加の設定を指定せずにキャパシティ予約で自動的に実行します。
+ **ターゲット済み** — キャパシティ予約は一致する属性 (インスタンスタイプ、プラットフォーム、アベイラビリティーゾーン) を持ち、そのキャパシティ予約を明示的にターゲットするインスタンスのみを受け入れます。インスタンスは、キャパシティ予約がリザーブドキャパシティで起動または実行されるように具体的にターゲットする必要があります。リザーブドキャパシティで実行できるインスタンスを明示的に制御でき、意図しないリザーブドキャパシティの使用を回避できます。

将来の日付のキャパシティ予約をリクエストするとき、ターゲットした一致条件のみを指定できます。キャパシティ予約によって配信されるキャパシティが、配信時に任意の実行中のインスタンスまたはリザーブドキャパシティに対して増分または追加されるようにします。キャパシティ予約がアカウントでアクティブになったら、必要に応じてインスタンスの一致条件を変更して開くことができます。ただし、一致するインスタンスはすべてキャパシティ予約で自動的に実行されることに注意してください。これにより、意図しないキャパシティ使用が発生し、リクエストされたインスタンス数全体に対して新しいインスタンスを起動できなくなる可能性があります。

## キャパシティ予約、リザーブドインスタンス、Savings Plans 間の違い
<a name="capacity-reservations-differences"></a>

以下の表では、キャパシティ予約、リザーブドインスタンス、Savings Plans 間の主な違いを示しています。


|  | Capacity Reservations | ゾーン リザーブドインスタンス | リージョン リザーブドインスタンス | Savings Plans | 
| --- | --- | --- | --- | --- | 
| 用語 | 即時使用のキャパシティ予約にはコミットメントは必要ありません。必要に応じて作成、変更、キャンセルすることができます。 将来の日付のキャパシティ予約を使用すると、アカウントでキャパシティを維持することをコミットするコミットメント期間を指定します。コミットメント期間が経過すると、キャパシティ予約はいつでもキャンセルできます。  | 固定の 1 年または 3 年のコミットメントが必要です。 | 
| キャパシティーの利点 | 特定のアベイラビリティーゾーンで予約されるキャパシティー。 | 予約されたキャパシティーがありません。 | 
| 請求割引 | 請求割引がありません。 | 請求割引を提供します。 | 
| インスタンスの制限 | リージョンごとの オンデマンドインスタンス 制限が適用されます。 | デフォルトは、アベイラビリティーゾーンごとに 20 です。制限の引き上げをリクエストできます。 | デフォルトは、リージョンごとに 20 です。制限の引き上げをリクエストできます。 | 無制限。 | 

† キャパシティー予約と、Savings Plans またはリージョンリでのザーブドインスタンスを組み合わせて、割引を受けることができます。

詳細については、以下を参照してください。
+ [Amazon EC2 のリザーブドインスタンスの概要](ec2-reserved-instances.md)
+ [Savings Plans ユーザーガイド](https://docs.aws.amazon.com/savingsplans/latest/userguide/)

## サポートされているプラットフォーム
<a name="capacity-reservations-platforms"></a>

自分のインスタンスに適合するキャパシティー予約を、適切なプラットフォームで作成する必要があります。キャパシティ予約は、以下の `platform` の値をサポートしています。
+ Linux/UNIX
+ Linux with SQL Server Standard
+ Linux with SQL Server Web
+ Linux with SQL Server Enterprise
+ SUSE Linux
+ Red Hat Enterprise Linux
+ RHEL with SQL Server Standard
+ RHEL with SQL Server Enterprise
+ RHEL with SQL Server Web
+ RHEL with HA
+ RHEL with HA および SQL Server Standard
+ RHEL with HA および SQL Server Enterprise
+ Ubuntu Pro
+ Server 
+ SQL Server と Windows
+ Windows with SQL Server Web
+ Windows with SQL Server Standard
+ Windows with SQL Server Enterprise

インスタンスが特定のキャパシティ予約で実行されるようにするには、キャパシティ予約のプラットフォームが、インスタンスの起動に使用される AMI のプラットフォームと一致している必要があります。Linux AMI の場合は、AMI プラットフォームが一般値の **[Linux/UNIX]** を使用しているか、**[SUSE Linux]** などのより具体的な値を使用しているかを確認することが重要です。

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

**AMI プラットフォームを確認するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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) コマンドレットを使用して、`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)」を参照してください。
+ ゾーンリザーブドインスタンスの請求割引はキャパシティには適用されません。
+ クラスタープレイスメントグループでキャパシティ予約を作成できます。スプレッドおよびパーティションプレイスメントグループはサポートされません。
+ キャパシティ予約は Dedicated Hosts と供に使用することはできません キャパシティ予約は専有インスタンスで使用できます。
+ [Windows インスタンス] キャパシティ予約は Bring-Your-Own-License (BYOL) と供に使用することはできません。
+ [Red Hat インスタンス] キャパシティ予約は Bring-Your-Own-License (BYOL) と共に使用できます。
+ キャパシティ予約では、休止状態のインスタンスを再開した場合でも、それが元の状態に復帰することを保証していません。
+ 最小 32 vCPU のインスタンス数に対し、将来の日付のキャパシティ予約をリクエストできます。例えば、`m5.xlarge` インスタンスに将来の日付のキャパシティ予約をリクエストした場合、少なくとも 8 個のインスタンス (*8 \$1 m5.xlarge = 32 vCPU*) をリクエストする必要があります。
+ 将来の日付のキャパシティ予約は、C、G、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 個の未使用のインスタンス分が課金されます。

Savings Plans とリージョンのリザーブドインスタンスの請求割引がキャパシティー予約に適用されます。詳細については、[請求割引](#capacity-reservations-discounts)を参照してください。

詳細については、[Amazon EC2 の料金表](https://aws.amazon.com/ec2/pricing/)を参照してください。

## 請求
<a name="capacity-reservations-billing"></a>

アカウントでキャパシティ予約がプロビジョニングされるとすぐに課金が開始されます。以後、アカウントでキャパシティ予約がプロビジョニングされている間、継続して課金が発生します。将来の日付のキャパシティ予約の場合、リクエストされた将来の日付にキャパシティ予約がアカウントにプロビジョニングされたときにのみ請求が開始されることを意味します。

キャパシティ予約は、秒単位で課金されます。つまり、1 時間に満たない分に対して課金されます。例えば、`24` 時間 `15` 分の間、アカウント内でキャパシティ予約がプロビジョニングされたままである場合は、`24.25` 予約時間が課金されます。

次の例は、キャパシティ予約の請求方法を示しています。キャパシティ予約は 1 つの `m4.large` Linux インスタンスに対して作成され、オンデマンド料金は 1 時間あたり 0.10 USD です。この例では、キャパシティ予約はアカウントで 5 時間プロビジョニングされます。キャパシティ予約は最初の 1 時間は使用されないため、`m4.large` インスタンスタイプの標準オンデマンド料金で未使用の 1 時間分の料金が請求されます。2～5 時間目は、キャパシティ予約は `m4.large` インスタンスによって占有されます。この間、キャパシティ予約に料金は発生せず、代わりにそれを占有している `m4.large` インスタンスに対してアカウントが請求されます。6 時間目にはキャパシティ予約がキャンセルされ、`m4.large` インスタンスはリザーブドキャパシティー外で通常どおりに実行されます。その時間は、`m4.large` インスタンスタイプのオンデマンド料金で請求されます。

![\[キャパシティ予約の請求の例\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/cr-billing-example.png)


## 請求割引
<a name="capacity-reservations-discounts"></a>

Savings Plans とリージョンのリザーブドインスタンスの請求割引がキャパシティー予約に適用されます。AWS は、属性が一致するキャパシティー予約に対しこれらの割引を自動的に適用します。キャパシティ予約がインスタンスによって使用されると、割引がインスタンスに適用されます。割引は、未使用のキャパシティ予約を対象とする前に、インスタンスの使用に優先的に適用されます。

ゾーンリザーブドインスタンスの請求割引はキャパシティ予約には適用されません。

詳細については、以下を参照してください。
+ [Amazon EC2 のリザーブドインスタンスの概要](ec2-reserved-instances.md)
+ [Savings Plans ユーザーガイド](https://docs.aws.amazon.com/savingsplans/latest/userguide/)
+ [請求と購入のオプション](https://aws.amazon.com/ec2/faqs/#capacityreservations)

## 請求の表示
<a name="capacity-reservations-viewing-bill"></a>

アカウントの請求と料金は、AWS Billing and Cost Management コンソールで確認できます。
+ [**ダッシュボード**] には、アカウント利用料の概要が表示されます。
+ [**請求書**] ページの [**明細**] で、[**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. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. [**キャパシティ予約**]、[**作成キャパシティ予約**] の順に選択してください。

1. **[インスタンスの詳細]** セクションで次のように設定します。

   1. **[インスタンスタイプ]** — キャパシティを予約するインスタンスタイプ。

   1. **[プラットフォーム]** — インスタンスのオペレーティングシステム。詳細については、「[サポートされているプラットフォーム](ec2-capacity-reservations.md#capacity-reservations-platforms)」を参照してください。

   1. **[アベイラビリティーゾーン]** — キャパシティーを予約するアベイラビリティーゾーン。

   1. **[テナンシー]** — リザーブドキャパシティに使用するテナンシーのタイプ。共有ハードウェアにキャパシティを予約する場合は [デフォルト] を選択するか、アカウント専用のハードウェアのキャパシティを予約する場合は [専用] を選択してください。

   1. (*オプション*) **[プレイスメントグループ ARN]** — キャパシティ予約を作成するクラスタープレイスメントグループの ARN。詳細については、「[クラスタープレイスメントグループでのキャパシティ予約の操作](cr-cpg.md)」を参照してください。

   1. **[合計インスタンス数]** — キャパシティを予約するインスタンスの数。選択したインスタンスタイプに残りのオンデマンドインスタンスのクオータを超える数量を指定した場合、リクエストは失敗します。

1. [**Reservation details (予約の詳細)**] セクションで次のように設定します。

   1. **[キャパシティ予約の開始]** — **[すぐに]**選択してください。

   1. **[キャパシティ予約の終了]** — 次のいずれかのオプションを選択してください。
      + **[手動]** – 明示的にキャンセルするまでキャパシティを予約できます。
      + **[特定の時間]** — 指定された日付および時刻にキャパシティ予約を自動的にキャンセルします。

   1. **[インスタンス資格]** — 次のいずれかのオプションを選択してください。
      + **[オープン]** – (デフォルト) キャパシティ予約は、一致する属性 (インスタンスタイプ、プラットフォーム、アベイラビリティーゾーン、テナンシー) を持つすべてのインスタンスに一致します。一致する属性を持つインスタンスを起動すると、そのインスタンスはリザーブドキャパシティーに自動的に配置されます。
      + **[ターゲット済み]** – キャパシティ予約は、一致する属性 (インスタンスタイプ、プラットフォーム、アベイラビリティーゾーン、テナンシー) を持って明示的に予約をターゲットするインスタンスのみを受け入れます。

1. **[作成]** を選択します。

------
#### [ 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) コマンドレットを使用します。

```
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、G、I、M、R、T のシリーズのインスタンスタイプにリクエストできます。
+ 最小 32 vCPU のインスタンス数に対し、将来の日付のキャパシティ予約をリクエストできます。例えば、`m5.xlarge` インスタンスに将来の日付のキャパシティ予約をリクエストした場合、少なくとも 8 個のインスタンス (*8 \$1 m5.xlarge = 32 vCPU*) にキャパシティをリクエストする必要があります。
+ 将来の日付のキャパシティ予約は、5 ～ 120 日前にリクエストできます。ただし、サポート性を向上させるには、少なくとも 56 日 (8 週間) 前にリクエストすることをお勧めします。
+ 最小コミットメント期間は 14 日間です。

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

**キャパシティ予約を作成するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. [**キャパシティ予約**]、[**作成キャパシティ予約**] の順に選択してください。

1. **[インスタンスの詳細]** セクションで次のように設定します。

   1. **[インスタンスタイプ]** — キャパシティを予約するインスタンスタイプ。

   1. **[プラットフォーム]** — インスタンスのオペレーティングシステム。詳細については、「[サポートされているプラットフォーム](ec2-capacity-reservations.md#capacity-reservations-platforms)」を参照してください。

   1. **[アベイラビリティーゾーン]** — キャパシティーを予約するアベイラビリティーゾーン。

   1. **[テナンシー]** — リザーブドキャパシティに使用するテナンシーのタイプ。共有ハードウェアにキャパシティを予約する場合は [デフォルト] を選択するか、アカウント専用のハードウェアのキャパシティを予約する場合は [専用] を選択してください。

   1. **[合計インスタンス数]** — キャパシティを予約するインスタンスの数。選択したインスタンスタイプに残りのオンデマンドインスタンスのクオータを超える数量を指定した場合、リクエストは失敗します。

1. [**Reservation details (予約の詳細)**] セクションで次のように設定します。

   1. **[キャパシティ予約の開始]** — **[特定の時刻]** を選択してください。

   1. **[開始日]** – キャパシティ予約を使用可能にする必要がある日付および時刻を指定します。詳細については、「[開始日時](cr-concepts.md#cr-start-date)」を参照してください。

   1. **[コミットメント期間]** — キャパシティ予約が配信された後に維持することをコミットする最小期間を指定します。詳細については、「[コミットメント期間](cr-concepts.md#cr-commitment-duration)」を参照してください。

   1. **[キャパシティ予約の終了]** — 次のいずれかのオプションを選択してください。
      + **[キャンセルするタイミング]** — 明示的にキャンセルするまでキャパシティを予約します。
      + **[特定の時間]** — 指定された日付および時刻にキャパシティ予約を自動的にキャンセルします。

1. **[作成]** を選択します。

------
#### [ 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) コマンドレットを使用します。

```
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 は、キャパシティ予約の状態を常にモニタリングしています。

[最終的な整合性](https://docs.aws.amazon.com/ec2/latest/devguide/eventual-consistency.html)モデルとそれに続く Amazon EC2 API により、キャパシティ予約を作成した後、キャパシティ予約の状態が `active` であることが反映されるまでに最大 5 分かかる場合があります。この間、キャパシティ予約が `pending` 状態のままになる可能性があります。ただし、キャパシティ予約が既に使用可能になっている可能性があり、その場合は、キャパシティ予約でのインスタンスの起動の試みが成功します。

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

**キャパシティ予約を表示するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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) コマンドレットを使用します。

```
Get-EC2CapacityReservation `
    -CapacityReservationId cr-1234abcd56EXAMPLE
```

------

## キャパシティ予約の状態
<a name="capacity-reseration-states"></a>

キャパシティ予約には次の状態があります。


| 状態 | 説明 | 
| --- | --- | 
| 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 つのインスタンスを起動すると、キャパシティ予約の使用可能なキャパシティは 3 つ減少します。

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

**既存のキャパシティ予約でインスタンスを起動するには**

1. 手順に従って[インスタンスを起動](ec2-launch-instance-wizard.md)しますが、次のステップを完了してプレイスメントグループとキャパシティ予約の設定を指定するまでインスタンスを起動しないでください。

1. **[高度な詳細]** を展開し、以下の操作を行います。

   1. **[プレイスメントグループ]** で、インスタンスを起動するクラスタープレイスメントグループを選択してください。

   1. **[Capacity Reservation]** (キャパシティ予約) で、キャパシティ予約の設定に応じて、次のいずれかのオプションを選択してください。
      + **[なし]** — インスタンスがキャパシティ予約に起動しないようにします。インスタンスはオンデマンド型キャパシティーで実行されます。
      + **[開く]** — 選択したインスタンスの数に対して一致する属性と十分なキャパシティのあるキャパシティ予約にインスタンスを起動します。十分なキャパシティを持つ、一致するキャパシティ予約がない場合は、インスタンスはオンデマンドのキャパシティーを使用します。
      + **[キャパシティ予約の指定]** — 選択したキャパシティ予約にインスタンスを起動します。選択されたこの キャパシティ予約に選択したインスタンスの数に対して十分なキャパシティがない場合、インスタンスの起動に失敗します。
      + **[キャパシティ予約リソースグループの指定]** — 選択したキャパシティ予約グループで一致する属性および利用可能なキャパシティを持つ任意のキャパシティ予約にインスタンスを起動します。選択したグループに、一致する属性と使用可能な容量を持つキャパシティ予約がない場合、インスタンスはオンデマンド型キャパシティに起動します。
      + **[キャパシティ予約の指定]** — キャパシティ予約にインスタンスを起動します。キャパシティ予約 ID が指定されていない場合、インスタンスはオープンキャパシティ予約で起動します。キャパシティがない場合、インスタンスは起動に失敗します。
      + **[キャパシティ予約リソースグループのみを指定]** – キャパシティ予約リソースグループのキャパシティ予約でインスタンスを起動します。キャパシティ予約リソースグループ ARN が指定されていない場合、インスタンスはオープンキャパシティ予約で起動します。キャパシティがない場合、インスタンスは起動に失敗します。

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

次の例では、インスタンスを 1 つのキャパシティ予約にのみ起動します。キャパシティ予約 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) コマンドレットを使用します。

次の例では、属性と使用可能なキャパシティが一致する任意の開いているキャパシティ予約でインスタンスを起動します。

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

次の例では、インスタンスを 1 つのキャパシティ予約にのみ起動します。キャパシティ予約 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` に設定されており、かつキャパシティ予約でまだ実行されていない実行中のインスタンスは、変更されたキャパシティ予約を自動的に使用します。
+ インスタンスの適格性を変更するには、インスタンスが予約内で実行されている場合、Amazon EC2 はインスタンスの適格性を変更できないため、キャパシティ予約が完全にアイドル状態 (使用量ゼロ) である必要があります。

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

**キャパシティ予約を変更するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. [**キャパシティ予約**] を選択し、キャパシティ予約を選択して、次に [**Edit (編集)**] を選択してください。

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) コマンドレットを使用します。次の例では、8 つのインスタンスのキャパシティを予約するために、指定したキャパシティ予約を変更します。

```
Edit-EC2CapacityReservation `
    -CapacityReservationId cr-1234567890abcdef0 `
    -InstanceCount 8
```

------

# インスタンスのキャパシティ予約設定を変更する
<a name="capacity-reservations-modify-instance"></a>

停止したインスタンスの次のキャパシティ予約設定は、いつでも変更できます。
+ 一致する属性 (インスタンスタイプ、プラットフォーム、アベイラビリティーゾーン、テナンシー) と使用可能なキャパシティを持つ任意のキャパシティ予約で起動します。
+ 特定のキャパシティ予約でインスタンスを起動します。
+ キャパシティー予約グループ内で、属性が一致し、キャパシティーが使用可能な、いずれかのキャパシティー予約を起動します。
+ インスタンスがキャパシティ予約で起動しないようにします。

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

**インスタンスのキャパシティ予約設定を変更するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. [**インスタンス**] を選択し、変更するインスタンスを選択してください。インスタンスをまだ停止していない場合は、停止します。

1. **[アクション]**、**[インスタンス設定]**、**[キャパシティ予約の変更]** の順に選択してください。

1. [**キャパシティ予約**] で、以下のいずれかのオプションを選択してください。
   + **[開く]** — 選択したインスタンスの数に対して一致する属性と十分なキャパシティのあるキャパシティ予約にインスタンスを起動します。十分なキャパシティを持つ、一致するキャパシティ予約がない場合は、インスタンスはオンデマンドのキャパシティーを使用します。
   + **[なし]** — インスタンスがキャパシティ予約に起動しないようにします。インスタンスはオンデマンド型キャパシティーで実行されます。
   + **[キャパシティ予約の指定]** — 選択したキャパシティ予約にインスタンスを起動します。選択されたこの キャパシティ予約に選択したインスタンスの数に対して十分なキャパシティがない場合、インスタンスの起動に失敗します。
   + **[キャパシティ予約グループの指定]** — 選択したキャパシティ予約グループで一致する属性および利用可能なキャパシティを持つ任意のキャパシティ予約でインスタンスを起動します。選択したグループに、一致する属性と使用可能な容量を持つキャパシティ予約がない場合、インスタンスはオンデマンド型キャパシティに起動します。
   + **[キャパシティ予約の指定]** — キャパシティ予約にインスタンスを起動します。キャパシティ予約 ID が指定されていない場合、インスタンスはオープンキャパシティ予約で起動します。キャパシティがない場合、インスタンスは起動に失敗します。
   + **[キャパシティ予約リソースグループのみを指定]** – キャパシティ予約リソースグループのキャパシティ予約でインスタンスを起動します。キャパシティ予約リソースグループ ARN が指定されていない場合、インスタンスはオープンキャパシティ予約で起動します。キャパシティがない場合、インスタンスは起動に失敗します。

------
#### [ 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) コマンドレットを使用します。

次の例では、キャパシティ予約設定を `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>

キャパシティをキャパシティ予約間で移動し、必要に応じてリザーブドコンピューティングリソースを再配分できます。例えば、使用量が増加している予約に追加のキャパシティが必要で、別の予約に利用可能なキャパシティがある場合、2 つの予約間でキャパシティを再割り当てできます。

## キャパシティを移動するための前提条件
<a name="capacity-reservations-move-prereq"></a>

前提条件として、2 つのキャパシティ予約は次の要件を満たしている必要があります。
+ 両方の予約ともアクティブ状態である必要があります。
+ 両方の予約とも AWS アカウント で所有されている必要があります。異なる AWS アカウント が所有する予約間でキャパシティを移動することはできません。
+ 両方の予約には、次の内容が同じである必要があります。
  + インスタンスタイプ
  + プラットフォーム
  + アベイラビリティーゾーン (AZ)
  + テナンシー
  + 配置グループ
  + 終了時間

移動先キャパシティ予約インスタンス資格 (`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. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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) コマンドレットを使用します。次の例では、指定した移動元キャパシティ予約から指定した移動先キャパシティ予約に 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)」を使用している他のアカウントと共有できます。

既存のキャパシティ予約からキャパシティを分割すると、新規のキャパシティ予約が自動的に作成されます。分割されたインスタンスの数による合計キャパシティの減少を除き、既存の予約は変更されません。既存のキャパシティ予約で実行されているインスタンスは影響を受けません。既存の予約は、1 つの新規のキャパシティ予約のみに分割できます。

新しいキャパシティ予約は、タグを除き、既存のキャパシティ予約と同じ設定になります。デフォルトでは、新しいキャパシティ予約にはタグがありません。分割オペレーション中に新しいタグを指定できます。新しいキャパシティ予約は、必要に応じて作成後に変更することもできます。

分割するインスタンスの数を指定すると、デフォルトで利用可能なキャパシティが最初に分割され、次に適格な実行中のインスタンス (予約で使用されているキャパシティ) が分割されます。例えば、使用されている 5 インスタンスおよび利用可能な 3 インスタンスがあるキャパシティ予約から 4 インスタンスを分割した場合、利用可能な 3 インスタンスおよび使用されている 1 インスタンスが新規の予約に分割されます。

## キャパシティを分割する前提条件
<a name="capacity-reservations-split-prereq"></a>

前提条件として、キャパシティ予約は次の要件を満たしている必要があります。
+ ソース予約はアクティブ状態である必要があります。
+ ソース予約は AWS アカウント が所有されている必要があります。

**注記**  
利用可能なキャパシティを超える**分割する数量**を指定し、使用されているキャパシティを予約から分割すると、`open` として**キャパシティ予約仕様**で起動したインスタンスのみが分割されます。

## 考慮事項
<a name="capacity-reservations-split-considerations"></a>

キャパシティをある予約から新規の予約に分割するとき、次の考慮事項が適用されます。
+ 使用されているキャパシティは、いかなるアカウントと共有されていない「オープン」インスタンス資格を持つキャパシティ予約に対してのみ分割できます。
+ 使用されているキャパシティを分割すると、適格なインスタンスがランダムに選択されます。分割する実行中のインスタンスを指定することはできません。分割数量を満たすために十分な数の適格なインスタンスが見つからない場合、分割操作は失敗します。
+ 既存の予約から分割するインスタンスの最大数は、予約のサイズから 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. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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) コマンドレットを使用します。次の例では、指定したキャパシティ予約から 10 個のインスタンスを分割して、新しいキャパシティ予約を作成します。

```
New-EC2CapacityReservationBySplitting `
    -SourceCapacityReservationId cr-1234567890abdef0 `
    -InstanceCount 10
```

------

# キャパシティ予約のキャンセル
<a name="capacity-reservations-release"></a>

次の状態のキャパシティ予約をキャンセルできます。
+ `assessing`
+ `active` でコミットメント期間がないか、コミットメント期間が経過している。コミットメント期間中に将来の日付のキャパシティ予約をキャンセルすることはできません。

**注記**  
キャパシティブロックを変更またはキャンセルすることはできません。詳細については、「[機械学習用のキャパシティブロック](ec2-capacity-blocks.md)」を参照してください。

将来の日付のキャパシティ予約が `delayed` 状態になった場合、コミットメント期間は放棄され、`active` 状態になったらすぐにキャンセルできます。

キャパシティーの予約 をキャンセルすると、キャパシティーがリリースされ、使用のために予約されなくなります。

空のキャパシティーの予約 と実行中のインスタンスがある キャパシティーの予約 をキャンセルすることができます。実行中のインスタンスがあるキャパシティー予約をキャンセルした場合、インスタンスは、標準のオンデマンドインスタンス料金または割引料金 (一致する Savings Plans またはリージョンのリザーブドインスタンスがある場合) で、キャパシティー予約外で正常に動作し続けます。

キャパシティ予約をキャンセルすると、それをターゲットとするインスタンスは起動できなくなります。これらのインスタンスを異なる キャパシティ予約をターゲットに設定するように変更し、一致する属性と十分なキャパシティでオープンなキャパシティ予約に起動するか、キャパシティ予約への起動を回避します。詳細については、「[インスタンスのキャパシティ予約設定を変更する](capacity-reservations-modify-instance.md)」を参照してください。

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

**キャパシティ予約をキャンセルするには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. [**キャパシティ予約**] を選択し、キャンセルするキャパシティ予約を選択してください。

1. [**Cancel reservation (予約をキャンセル)**] 選択し、[**Cancel reservation (予約をキャンセル)**] を選択してください。

------
#### [ 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) コマンドレットを使用します。

```
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. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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) コマンドレットを使用します。

```
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. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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) コマンドレットを使用します。`-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、インスタンスタイプ、アベイラビリティーゾーン、プラットフォーム、テナンシー) がある場合、インスタンスはキャパシティ予約で自動的に実行されます。
  + *キャパシティ予約の指定* – キャパシティ予約によってターゲットされたインスタンスの起動のみが受け入れられた場合、リクエストでクラスタープレイスメントグループに加えてターゲットのキャパシティ予約を指定する必要があります。
  + *キャパシティ予約グループの指定* – 詳細については、「[Using Capacity Reservation in cluster placement groups with a Capacity Reservation group](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cpg-odcr-crg.html)」を参照してください。
+ *キャパシティ予約グループのみの指定* – 詳細については、「[Using Capacity Reservation in cluster placement groups with a Capacity Reservation group](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) コマンドレットを使用します。`-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 を使用して、*Resource Groups*と呼ばれるキャパシティー予約の論理コレクションを作成できます。リソースグループは、すべて同じ AWS リージョンにある AWS リソースの論理的なグループです。リソースグループの詳細については、『*AWS Resource Groups ユーザーガイド*』の「 [リソースグループとは](https://docs.aws.amazon.com/ARG/latest/userguide/)」を参照してください。

自分のアカウントで所有するキャパシティ予約および他の AWS アカウントから共有を受けているキャパシティ予約は、1 つのリソースグループに含めることができます。また、異なる属性 (インスタンスタイプ、プラットフォーム、アベイラビリティーゾーン、テナンシー) を持つキャパシティ予約も 1 つのリソースグループに入れることができます。

キャパシティ予約のリソースグループを作成すると、個別のキャパシティ予約ではなく、キャパシティ予約のグループをインスタンスのターゲットにできます。キャパシティ予約のグループをターゲットとするインスタンスは、一致する属性 (インスタンスタイプ、プラットフォーム、アベイラビリティーゾーン、テナンシー) と使用可能なキャパシティを持つグループ内のキャパシティ予約と一致します。一致する属性と使用可能な容量を持つキャパシティ予約がグループにない場合、インスタンスはオンデマンド型キャパシティを使用して実行されます。一致するキャパシティ予約が後の段階でターゲットグループに追加されると、インスタンスは自動的にマッチングされ、リザーブドキャパシティに移動されます。

グループでキャパシティ予約の意図しない使用を防ぐには、キャパシティ予約を明示的にターゲットとするインスタンスだけを受け入れるように、グループのキャパシティ予約を設定します。これを行うには、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` – リソースグループがインスタンス起動の対象となるようにします。
+ `AWS::ResourceGroups::Generic` で `allowed-resource-types` を `AWS::EC2::CapacityReservation` に設定 – リソースグループがキャパシティ予約のみを受け入れるようにします。

グループを作成した後に、そのグループに[キャパシティ予約を追加](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) コマンドレットを使用します。

```
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) コマンドレットを使用します。

次の例では、指定したグループに 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) コマンドレットを使用します。

次の例では、指定したグループから 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) コマンドレットを使用します。

```
Remove-RGGroup -GroupName MyCRGroup
```

------

# キャパシティ予約グループを持つクラスタープレイスメントグループでのキャパシティ予約の使用
<a name="using-cpg-odcr-crg"></a>

Amazon EC2 では、キャパシティ予約グループを持つクラスタープレイスメントグループでキャパシティ予約を使用するさまざまな起動方法が用意されています。ワークロードの要件に基づいてキャパシティ予約グループをターゲットにするため、次のいずれかの方法を選択できます。
+ *クラスタープレイスメントグループとキャパシティ予約グループの ARN の指定* – 選択したキャパシティ予約グループで一致する属性および利用可能なキャパシティを持つ利用可能なキャパシティ予約が使用されます。選択したグループに、一致する属性と使用可能な容量を持つキャパシティ予約がない場合、インスタンスはオンデマンド型キャパシティに起動します。
**注記**  
この方法でインスタンスを起動すると、インスタンスは指定されたクラスタープレイスメントグループに配置されます。
+ *キャパシティ予約グループのみの指定* – キャパシティ予約グループのみを指定することで、キャパシティ予約グループ内で使用可能なキャパシティがすべて使用されます。インスタンスの起動中にキャパシティは次の順序で使用されます。
  + クラスタープレイスメントグループに関連付けられていないキャパシティ予約。
  + キャパシティ予約グループ内の任意のクラスタープレイスメントグループでのキャパシティ予約。
  + グループに一致する属性および利用可能なキャパシティを持つキャパシティー予約がない場合、インスタンスはオンデマンド型キャパシティを使用して実行されます。クラスタープレイスメントグループには配置されません。
**注記**  
キャパシティ予約グループのみを指定してインスタンスを起動すると、インスタンスはクラスタープレイスメントグループで作成されたキャパシティ予約で起動されますが、インスタンスはクラスタープレイスメントグループには直接アタッチされません。

# ローカルゾーンでのキャパシティ予約
<a name="capacity-reservations-localzones"></a>

ローカルゾーンは、ユーザーに地理的に近い AWS リージョンを拡張したものです。ローカルゾーンで作成したリソースにより、非常に低いレイテンシーの通信がローカルユーザーに提供されます。詳細については、[AWS Local Zones](https://aws.amazon.com/about-aws/global-infrastructure/localzones/)をご参照ください。

VPC をその親 AWS リージョンからローカルゾーンに拡張するには、そのローカルゾーンに新しいサブネットを作成します。ローカルゾーンにサブネットを作成すると、VPC はそのローカルゾーンに拡張されます。ローカルゾーンのサブネットは、VPC 内の他のサブネットと同じように動作します。

Local Zones を使用すると、ユーザーに近い複数の場所にキャパシティ予約を配置できます。通常のアベイラビリティーゾーンでキャパシティ予約 を作成して使用するのと同じ方法で、Local Zones でキャパシティ予約を作成して使用します。同じ機能とインスタンスマッチング動作が適用されます。Local Zones でサポートされている料金モデルの詳細については、「[AWS Local Zones に関するよくある質問](https://aws.amazon.com/about-aws/global-infrastructure/localzones/faqs/)」を参照してください。

**考慮事項**  
ローカルゾーンでキャパシティー予約グループを使用することはできません。

**ローカルゾーンでキャパシティー予約を使用するには**

1. AWS アカウントでローカルゾーンの使用を有効にします。詳細については、「*AWS Local Zones ユーザーガイド*」の「[Getting started with AWS Local Zones](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html)」を参照してください。

1. ローカルゾーンにキャパシティー予約を作成します。**アベイラビリティーゾーン**には、 ローカルゾーンを選択してください。ローカルゾーンは、AWS リージョンコードの末尾に場所を示す識別子を付加して表します (`us-west-2-lax-1a` など)。詳細については、[キャパシティ予約の作成](capacity-reservations-create.md)を参照してください。

1. ローカルゾーン内にサブネットを作成します。**アベイラビリティーゾーン**には、 ローカルゾーンを選択してください。詳細については、「*Amazon VPC ユーザーガイド*」の「[Create a subnet in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html)」を参照してください。

1. インスタンスを起動します。**サブネット**には、ローカルゾーンのサブネット (`subnet-123abc | us-west-2-lax-1a` など) を選択し、**キャパシティー予約** には、ローカルゾーンで作成したキャパシティー予約に必要な仕様 (`open` または ID で指定したターゲット) を選択してください。詳細については、[既存のキャパシティ予約へのインスタンスの起動](capacity-reservations-launch.md)を参照してください。

# Wavelength Zone 内のキャパシティ予約
<a name="capacity-reservations-wavelengthzones"></a>

*AWS Wavelength* を使用することで、デベロッパーはモバイルデバイスおよびエンドユーザー向けに、非常にレイテンシーが低いアプリケーションを構築できます。Wavelength は標準の AWS コンピューティングおよびストレージサービスを通信事業者の 5G ネットワークのエッジにデプロイします。Amazon Virtual Private Cloud (VPC) は、1 つまたは複数の Wavelength Zone に拡張できます。その後、Amazon EC2 インスタンスなどの AWS リソースを使用して、極めて低いレイテンシーやリージョンの AWS サービスへの接続を必要とするアプリケーションを実行できます。詳細については、「[AWS Wavelength ゾーン](https://aws.amazon.com//wavelength/)」を参照してください。

オンデマンドのキャパシティ予約を作成する場合は、Wavelength Zone を選択し、Wavelength Zone に関連付けられたサブネットを指定することで、Wavelength Zone 内のキャパシティ予約にインスタンスを起動できます。Wavelength Zone は、AWS リージョンコードの末尾に場所を示す識別子を付加して表します (`us-east-1-wl1-bos-wlz-1` など)。

Wavelength Zoneは、すべてのリージョンで利用できるわけではありません。Wavelength Zone をサポートするリージョンについては*AWS Wavelength デベロッパーガイド*の[利用可能な Wavelength Zone](https://docs.aws.amazon.com/wavelength/latest/developerguide/wavelength-quotas.html) をご参照ください。

**考慮事項**  
Wavelength Zone でキャパシティ予約グループを使用することはできません。

**Wavelength Zone キャパシティ予約を使用するには**

1. AWS アカウントで Wavelength Zone の使用を有効にします。詳細については、*AWS Wavelengthデベロッパーガイド*の「[の使用開始AWS Wavelength](https://docs.aws.amazon.com/wavelength/latest/developerguide/get-started-wavelength.html)」を参照してください。

1. Wavelength Zone にキャパシティ予約を作成します。**[アベイラビリティーゾーン]**で、Wavelength を選択してください。Wavelength は、AWS リージョンコードの末尾に場所を示す識別子を付加して表します (`us-east-1-wl1-bos-wlz-1` など)。詳細については、[キャパシティ予約の作成](capacity-reservations-create.md)を参照してください。

1. Wavelength Zone にサブネットを作成します。**[アベイラビリティーゾーン]**で、Wavelength Zone を選択してください。詳細については、「*Amazon VPC ユーザーガイド*」の「[Create a subnet in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html)」を参照してください。

1. インスタンスを起動します。**サブネット**には、Wavelength Zone のサブネット (`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 リージョンの一部としてこのキャパシティーを運営、監視、管理します。

ユーザーは、自分のアカウントで作成した Outposts にキャパシティ予約を作成できます。これにより、自分のサイトにある Outpost で、コンピューティング性能を予約できるようになります。通常のアベイラビリティーゾーンでキャパシティー予約を作成して使用するのと同じ方法で、Outposts でもキャパシティー予約 を作成して使用できます。同じ機能とインスタンスマッチング動作が適用されます。

また、AWS を使用することで、Outposts にあるキャパシティ予約を自分の組織内の他の AWS Resource Access Manager アカウントと共有できます。キャパシティ予約の共有については、「[共有キャパシティ予約](capacity-reservation-sharing.md)」を参照してください。

**前提条件**  
Outpost は、自分のサイトにインストールする必要があります。詳細については、*AWS Outposts ユーザーガイド*の[Outpost を作成し、Outpost 容量を注文する](https://docs.aws.amazon.com/outposts/latest/userguide/order-outpost-capacity.html)を参照してください。

**考慮事項**
+ Outpost では、キャパシティ予約グループを使用することはできません。

**Outpost でキャパシティ予約を使用するには**

1. Outpost にサブネットを作成します。詳細については、*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**]、[**アクション**]、[**キャパシティー予約の作成**] の順に選択してください。

   1. 必要に応じてキャパシティ予約を設定し、[**作成**] を選択してください。詳細については、[キャパシティ予約の作成](capacity-reservations-create.md)を参照してください。
**注記**  
[**インスタンスタイプ**] ドロップダウンには、選択した Outpost でサポートされているインスタンスタイプのみが表示されます。また、[**アベイラビリティーゾーン**] ドロップダウンには、選択したアウトポストが関連付けられているアベイラビリティーゾーンのみが一覧表示されます。

1. キャパシティー予約 でのインスタンスの起動 [**サブネット**] では、ステップ 1 で作成したサブネットを選択してください。また、[**キャパシティー予約**] では、ステップ 2 で作成したキャパシティ予約を選択してください。詳細については、*AWS Outposts ユーザーガイド*の、[Outposts でインスタンスを起動する](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` の状態のキャパシティ予約です。その他の[状態](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-capacity-block.html) (`assessing` や `unsupported` など) のキャパシティ予約は共有できません。

## 関連サービス
<a name="cr-sharing-related"></a>

キャパシティ予約の共有は AWS Resource Access Manager AWS RAMと統合されます。AWS RAM は、AWS リソースを任意の AWS アカウントと共有したり、AWS Organizations 経由で共有したりするためのサービスです。AWS RAM を使用すると、*リソース共有*を作成することで、自身が所有するリソースを共有できます。リソース共有では、共有対象のリソースと、共有先となるコンシューマーを指定します。コンシューマーには、個人の AWS アカウントや、AWS Organizations 内の組織単位または組織全体を指定できます。

AWS RAM の詳細については、*[AWS RAM ユーザーガイド](https://docs.aws.amazon.com/ram/latest/userguide/)*を参照してください。

## アベイラビリティーゾーン間での共有
<a name="cr-sharing-azs"></a>

リソースがリージョンの複数のアベイラビリティーゾーンに分散されるようにするために、アベイラビリティーゾーンは各 アカウントの名前に個別にマッピングされます。このため、アカウントが異なると、アベイラビリティーゾーンの命名方法が異なる場合があります。例えば、`us-east-1a` アカウントのアベイラビリティーゾーン AWS の場所は、別の `us-east-1a` アカウントのアベイラビリティーゾーン AWS の場所と異なる可能性があります。

自身のアカウントを基準にしてキャパシティ予約の場所を特定するには、*アベイラビリティーゾーン ID* (AZ ID) を使用する必要があります。AZ ID は、すべての AWS アカウントで同じアベイラビリティーゾーンを一貫して示すための一意の識別子です。例えば、`use1-az1` は `us-east-1` リージョンの AZ ID であり、すべての AWS アカウントで同じ場所を示します。

**アカウントのアベイラビリティーゾーンの AZ ID を表示するには**

1. [https://console.aws.amazon.com/ram/home で AWS RAM](https://console.aws.amazon.com/ram/home) コンソールを開きます。

1. 現在のリージョンの AZ ID は、画面の右側にある [**お客様の AZ ID**] パネルに表示されます。

# キャパシティ予約の共有
<a name="sharing-cr"></a>

所有するキャパシティ予約を他の AWS アカウントと共有すると、それらのアカウントは所有者のリザーブドキャパシティにインスタンスを起動できます。オープンなキャパシティ予約を共有する場合は、意図しない形でキャパシティ予約が使用されないよう、次の点に注意してください。
+ キャパシティ予約の属性に一致するインスタンスをコンシューマーが実行している場合に、`CapacityReservationPreference` パラメータが `open` に設定され、リザーブドキャパシティ内での実行がまだであれば、共有キャパシティ予約が自動的に使用されます。
+ 一致する属性 (インスタンスタイプ、プラットフォーム、アベイラビリティーゾーン、テナンシー) を持ち、`CapacityReservationPreference` パラメータが `open` に設定されているインスタンスをコンシューマーが起動する場合、自動的に共有キャパシティ予約に起動されます。

キャパシティ予約を共有するには、リソース共有に追加する必要があります。リソース共有とは、AWS RAM アカウント間で自身のリソースを共有するための AWS リソースです。リソース共有では、共有対象のリソースと、共有先のコンシューマーを指定します。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. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**キャパシティーの予約**] を選択してください。

1. 共有する キャパシティ予約 を選択し、[**アクション**]、[**Share reservation**] の順に選択してください。

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) コマンドレットを使用します。

```
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. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**キャパシティーの予約**] を選択してください。

1. キャパシティ予約を選択して、[**共有**] タブを選択してください。

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) コマンドレットを使用します。

```
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 時間以内にリクエストを**承諾または拒否しない**場合、リクエストは期限切れとなり、キャパシティ予約で使用可能なキャパシティの料金は引き続き所有者のアカウントに請求されます。

請求が別のアカウントに割り当てられる期間、`Reservation` および `UnusedBox` 明細項目は、所有者のコストと使用状況レポート (CUR) ではなく、割り当てられたアカウントの CUR に表示されます。

次の表は、請求が別のアカウントに割り当てられる**前**に、キャパシティ予約の所有者とコンシューマーアカウントの CUR に表示される明細項目を示しています。


| アカウント | 請求が割り当てられる前の CUR 明細項目 | 
| --- | --- | 
| キャパシティ予約の所有者 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/assign-billing.html)  | 
| キャパシティ予約が共有されているコンシューマーアカウント |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/assign-billing.html)  | 

次の表は、請求が別のアカウントに割り当てられた**後**に、キャパシティ予約の所有者とコンシューマーアカウントの CUR に表示される明細項目を示しています。


| アカウント | 請求が割り当てられた後の CUR 明細項目 | 
| --- | --- | 
| キャパシティ予約の所有者 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/assign-billing.html)  | 
| 請求が割り当てられているコンシューマーアカウント |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/assign-billing.html)  | 
| キャパシティ予約が共有されているその他のコンシューマーアカウント |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/assign-billing.html)  | 

**注記**  
\$1 `BoxUsage` 明細項目は、キャパシティ予約で実行中のインスタンスがある場合にのみ、アカウントの CUR に表示されます。CUR 明細項目の詳細については、「[Monitoring Capacity Reservations](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>

共有キャパシティ予約の請求を割り当てるときは、次の点に注意してください。
+ 部分請求や分割請求の割り当てを行うことはできません。キャパシティ予約で使用可能なすべてのキャパシティの請求は、一度に 1 つのアカウントに割り当てることができます。
+ キャパシティ予約の使用可能なキャパシティは、時間の経過とともに変化する可能性があります。これは、割り当てられたアカウントの請求に影響します。例えば、キャパシティ予約の所有者がキャパシティ予約のサイズを大きくした場合、または他のコンシューマーアカウントがキャパシティ予約で実行されているインスタンスを停止または終了した場合、使用可能なキャパシティが増加する可能性があります。
+ 請求は、同じ AWS Organizations 支払者アカウントで統合されたコンシューマーアカウントにのみ割り当てることができます。コンシューマーが組織を離れた場合、またはキャパシティ予約が共有されなくなった場合、コンシューマーアカウントからの請求は自動的に取り消されます。
+ キャパシティ予約の所有者のみが、保留中の請求割り当てリクエストをキャンセルすることができます。また、キャパシティ予約の所有者のみが、リクエストが承諾された後に、割り当てられたアカウントからの請求を取り消すことができます。

# 共有 EC2 キャパシティ予約の請求を別のアカウントに割り当てる
<a name="request-billing-transfer"></a>

共有キャパシティ予約の使用可能なキャパシティの請求を別のアカウントに割り当てるには、キャパシティ予約の所有者が必要なアカウントへのリクエストを開始する必要があります。Amazon EC2 コンソールでは、このリクエストは*転送リクエスト*と呼ばれます。

キャパシティ予約の所有者が、キャパシティ予約で使用可能なキャパシティの請求をアカウントに割り当てることができるのは、次の場合のみです。
+ キャパシティ予約が既にそのアカウントと共有されている。
+ アカウントが、キャパシティ予約の所有者と同じ AWS Organizations 支払者アカウントに統合されている。

請求は、リクエストを承諾した後にのみ、指定されたアカウントに割り当てられます。

キャパシティ予約の所有者がリクエストを開始すると、Amazon EventBridge イベントがリクエストされたアカウントに送信されます。詳細については、「[共有キャパシティ予約の請求割り当てリクエストをモニタリングする](billing-ownership-events.md)」を参照してください。

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

**共有キャパシティ予約の請求を割り当てるには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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) コマンドレットを使用します。`-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. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションパネルで、**[キャパシティ予約]** を選択し、リクエストを表示する共有キャパシティ予約を選択してください。

1. **[使用可能なキャパシティの請求]** セクションには、最新のリクエストとその現在の状態が表示されます。

**(コンシューマーアカウント) 送信されたリクエストを表示するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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) コマンドレットを使用します。

```
Get-EC2CapacityReservationBillingRequest `
    -Role odcr-owner
```

**(コンシューマーアカウント) 送信されたリクエストを表示するには**  
[Get-EC2CapacityReservationBillingRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityReservationBillingRequest.html) コマンドレットを使用します。

```
Get-EC2CapacityReservationBillingRequest `
    -Role unused-reservation-billing-owner
```

------

リクエストは、次に示す状態のいずれかになります。


| 状態 | 説明 | 
| --- | --- | 
| pending | リクエストは承諾または拒否されていませんが、有効期限が切れていません。 | 
| accepted | リクエストは指定されたアカウントによって承諾されました。キャパシティ予約の使用可能なキャパシティの請求は、コンシューマーアカウントに割り当てられています。 | 
| rejected | リクエストはコンシューマーアカウントによって拒否されました。 | 
| cancelled | リクエストは、pending 状態のときにキャパシティ予約の所有者によってキャンセルされました。 | 
| revoked | 次のいずれかの理由により、コンシューマーアカウントから請求が取り消されました。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/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. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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) コマンドレットを使用します。

```
Approve-EC2CapacityReservationBillingOwnership `
    -CapacityReservationId cr-01234567890abcdef
```

**リクエストを拒否するには**  
[Deny-EC2CapacityReservationBillingOwnership](https://docs.aws.amazon.com/powershell/latest/reference/items/Deny-EC2CapacityReservationBillingOwnership.html) コマンドレットを使用します。

```
Deny-EC2CapacityReservationBillingOwnership `
    -CapacityReservationId cr-01234567890abcdef
```

------

# 共有 EC2 キャパシティ予約の請求割り当てリクエストをキャンセルまたは取り消す
<a name="cancel-billing-transfer"></a>

`pending` 請求割り当てリクエストをキャンセルできるのは、キャパシティ予約の所有者のみです。保留中のリクエストがキャンセルされた場合、`cancelled` 状態になり、キャパシティ予約の使用可能な (または*未使用の*) キャパシティの請求はキャパシティ予約の所有者に割り当てられたままになります。

リクエストが `accepted` になった後は、キャパシティ予約の所有者のみが割り当てられたアカウントからの請求を取り消すことができます。請求が取り消された場合、リクエストは `revoked` 状態になり、キャパシティ予約の使用可能なキャパシティの請求はキャパシティ予約の所有者に再割り当てされます。

リクエストがキャンセルまたは取り消されると、Amazon EventBridge イベントはキャパシティ予約の所有者と指定されたコンシューマーアカウントに送信されます。詳細については、「[共有キャパシティ予約の請求割り当てリクエストをモニタリングする](billing-ownership-events.md)」を参照してください。

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

**リクエストをキャンセルまたは取り消すには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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) コマンドレットを使用します。`-UnusedReservationBillingOwnerId` で、リクエストが送信された AWS アカウントの ID を指定します。

```
Unregister-EC2CapacityReservationBillingOwner `
    -CapacityReservationId cr-01234567890abcdef `
    -UnusedReservationBillingOwnerId 123456789012
```

------

# 共有キャパシティ予約の請求割り当てリクエストをモニタリングする
<a name="billing-ownership-events"></a>

Amazon EC2 は、請求割り当てリクエストの状態が変更されたときに Amazon EventBridge イベントを送信します。
+ リクエストが `accepted`、`rejected`、`expired`、`revoked` 状態になると、イベントはキャパシティ予約の所有者に送信されます。
+ リクエストが `pending`、`expired`、`cancelled`、`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)」を参照してください。

キャパシティ予約の所有者が別の支払いアカウントに属していて、キャパシティ予約がリージョンのリザーブドインスタンスまたは Savings Plans でカバーされている場合、キャパシティ予約の所有者には引き続きリージョンのリザーブドインスタンスまたは Savings Plans の料金が請求されます。この場合、キャパシティ予約の所有者はリージョンのリザーブドインスタンスまたは Savings Plans の料金を支払い、コンシューマーには共有キャパシティ予約で実行されるインスタンスに対して請求が行われます。

## インスタンス制限
<a name="shared-cr-limits"></a>

キャパシティーの予約 の使用量はすべて、キャパシティ予約の所有者のオンデマンドインスタンス制限の対象としてカウントされます。ここでは次の点について説明します。
+ 使用されていないリザーブドキャパシティ
+ キャパシティ予約の所有者が所有するインスタンスによる使用量
+ コンシューマーが所有するインスタンスによる使用量

共有キャパシティー内でコンシューマーによって起動されたインスタンスは、キャパシティ予約の所有者のオンデマンドインスタンス制限の対象としてカウントされます。コンシューマーのインスタンス制限は、コンシューマー自身が所有するオンデマンドインスタンスの制限と、コンシューマーがアクセスできる共有キャパシティ予約内で使用可能なキャパシティーの合計です。

# キャパシティー予約フリート
<a name="cr-fleets"></a>

*オンデマンドキャパシティー予約フリート*とは、キャパシティー予約のグループです。

キャパシティー予約フリートリクエストには、キャパシティー予約フリートの起動に必要なすべての設定情報が含まれます。1 つのリクエストを使用して、指定したターゲット容量まで、複数のインスタンスタイプにわたって、ワークロードに大量の Amazon EC2 キャパシティーを予約できます。

キャパシティー予約フリートを作成した後は、キャパシティー予約フリートの変更やキャンセルなど、フリートのキャパシティー予約の管理を一括で行うことができます。

**Topics**
+ [

## キャパシティー予約フリートの仕組み
](#cr-how-it-works)
+ [

## 考慮事項
](#considerations)
+ [

## 料金
](#pricing)
+ [概念と計画](crfleet-concepts.md)
+ [作成](create-crfleet.md)
+ [Modify](modify-crfleet.md)
+ [[Cancel] (キャンセル)](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)に依存します。

フリートの作成時に十分なキャパシティーがなく、その総ターゲット容量をすぐに満たすことができない場合、フリートは、要求されたキャパシティーを予約が完了するまで、キャパシティー予約を非同期的に作成しようとします。

フリートが総ターゲット容量に達すると、そのキャパシティーを維持しようとします。フリートのキャパシティー予約がキャンセルされた場合、フリートの設定に応じて、フリートは自動的に 1 つ以上のキャパシティー予約を作成して、失われたキャパシティーを置き換え、その総ターゲット容量を維持します。

フリート内のキャパシティー予約を、個別に管理することはできません。フリートを変更することによって、まとめて管理する必要があります。フリートを変更すると、フリートのキャパシティー予約が自動的に更新され、変更が反映されます。

現在、キャパシティー予約フリートは `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` – vCPU 数 `64`、重み = `64` ユニット
+ `m5.24xlarge` – vCPU 数 `96`、重み = `96` ユニット

インスタンスタイプの重みによって、キャパシティ予約フリートでキャパシティを予約する対象となる、インスタンスの数が決定されます。例えば、総ターゲット容量が `384` ユニットのキャパシティー予約フリートが、前述の例のインスタンスタイプと重みを使用する場合、フリートのキャパシティー予約は、`m4.16xlarge` を `6` インスタンス (総ターゲット容量 384/インスタンスタイプの重み 64 = 6 インスタンス) になることも、`m5.24xlarge` を `4` インスタンス (384/96 = 4) になることもあります。

インスタンスタイプのウェイトを割り当てない場合、またはインスタンスタイプの重みに `1` を割り当てた場合には、合計ターゲット容量は純粋にインスタンス数に基づきます。例えば、総ターゲット容量が `384` ユニットのキャパシティー予約フリートが前の例のインスタンスタイプを使用する場合であっても、重みを省略するか、両方のインスタンスタイプに重み `1` を指定すると、フリートのキャパシティー予約は、`m4.16xlarge` を `384` インスタンスか、`m5.24xlarge` を `384` インスタンスかのいずれかになります。

## インスタンスタイプ優先順位
<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 Capacity Manager 用のサービスリンクロールの使用](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) コマンドレットを使用します。

```
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) コマンドレットを使用します。

**例 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) コマンドレットを使用します。

```
Stop-EC2CapacityReservationFleet `
    -CapacityReservationFleetId crf-abcdef01234567890
```

------

# キャパシティー予約フリートでの設定例
<a name="crfleet-example-configs"></a>

次の例では、`m5.4xlarge` および `m5.12xlarge` という 2 つのインスタンスタイプを使用するキャパシティー予約フリートを作成します。

ここでは、指定されたインスタンスタイプによって提供される 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>

サービスリンクロールを手動で作成する必要はありません。AWS CLI コマンドの `create-capacity-reservation-fleet`、あるいは `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. アカウント内のキャパシティー予約フリートを削除するには、AWS CLI コマンドの `delete-capacity-reservation-fleet` または `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. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. 必要に応じてリージョンを変更します。ナビゲーションバーから、キャパシティ予約があるリージョンを選択してください。詳細については、[リージョンとエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html)を参照してください。

1. ナビゲーションペインで [**Metrics (メトリクス)**] を選択してください。

1. [**All metrics (すべてのメトリクス)**] で、[**EC2 Capacity Reservations (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)
+ [

## E メールと AWS Health ダッシュボードの通知
](#monitor-cr-utilization)

## Amazon EventBridge イベント
<a name="cr-underutilization-events"></a>

アカウントのキャパシティ予約の使用率が特定の期間に 20% を下回ると、AWS Health は Amazon EventBridge にイベントを送信します。EventBridge を使用することで、このようなイベントに対応するプログラム的なアクションをトリガーするルールを設定できます。例えば、7 日間の利用率が 20% を下回った場合に、キャパシティ予約を自動的にキャンセルするルールを作成できます。

EventBridge でのイベントは、JSON オブジェクトとして表されます。イベント固有のフィールドは、JSON オブジェクトの「detail (詳細)」セクションに表示されます。「event」 フィールドにはイベント名が入ります。「result」 フィールドには、イベントをトリガーしたアクションの完了したステータスが入ります。詳細については、「*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) ではサポートされていません。

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

  次の例は、1 つまたは複数のキャパシティ予約の 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% を下回ったときに E メール通知を受け取るには、Amazon SNS トピックを作成してから、`AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION` イベントの EventBridge ルールを作成します。

**Amazon SNS トピックを作成するには**

1. Amazon SNS コンソールの [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) を開いてください。

1. ナビゲーションペインで、[**Topics (トピック)**]、[**Create topic (トピックの作成)**] の順に選択してください。

1. [**Type (タイプ)**] で、[**Standard (標準)**] を選択してください。

1. **[名前]** に新しいトピックの名前を入力してください。

1. **[トピックの作成]** を選択してください。

1. [**Create subscription**] を選択してください。

1. **[プロトコル]** で **[E メール]** を選択し、次に **[エンドポイント]** に通知を受信する E メールアドレスを入力してください。

1. [**Create subscription**] を選択してください。

1. 上記で入力した E メールアドレスには、「`AWS Notification - Subscription Confirmation`」という件名の E メールメッセージが届きます。指示に沿って操作し、登録を確認します。

**EventBridge ルールを作成するには**

1. Amazon EventBridge コンソールの [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) を開いてください。

1. ナビゲーションペインで、[**Rules** (ルール)] を選択し、[**Create rule** (ルールの作成)] を選択してください。

1. **[名前]** に新しいルールの名前を入力してください。

1. **[ルールタイプ]** で、**[イベントパターンを持つルール]** を選択してください。

1. [**Next**] を選択してください。

1. **[イベントパターン]** では、次のいずれかを実行します。

   1. **[イベントソース]** で、**[AWS のサービス]** を選択してください。

   1. **[AWS のサービス]** で、**[AWS Health]** を選択してください。

   1. **[イベントタイプ]** で、**[EC2 ODCR 低使用率通知]** を選択してください。

1. [**Next**] を選択してください。

1. **[ターゲット 1]** で、以下を実行します。

   1. **[ターゲットタイプ]** で、**[AWS のサービス]** を選択してください。

   1. **[Select a target]** (ターゲットの選択) には、**[SNS topic]** (SNS トピック) を選択してください。

   1. **[トピック]** で、以前に作成したトピックを選択してください。

1. **[次へ]** を選択し、もう一度 **[次へ]** を選択してください。

1. [**Create rule**] を選択してください。

## E メールと AWS Health ダッシュボードの通知
<a name="monitor-cr-utilization"></a>

アカウントのキャパシティ予約のキャパシティ使用率が 20% を下回ると、AWS Health は次の E メールと Health Dashboard 通知を送信します。
+ 新しく作成されたキャパシティ予約のうち、直近の 24 時間の使用率が 20% を下回ったものについての個別通知です。
+ 直近の 7 日間の使用率が 20% を下回ったすべてのキャパシティ予約の概要通知です。

E メール通知および Health Dashboard 通知は、キャパシティ予約を所有する AWS アカウントに関連付けられている E メールアドレスに送信されます。通知には、次の情報が含まれます。
+ キャパシティ予約の ID。
+ キャパシティ予約のアベイラビリティーゾーン。
+ キャパシティ予約の平均使用率。
+ キャパシティ予約のインスタンスタイプとプラットフォーム (オペレーティングシステム)。

さらに、アカウントのキャパシティ予約の 24 時間のキャパシティ使用率と 7 日間のキャパシティ使用率が 20% を下回ると、AWS Health はイベントを EventBridge に送信します。EventBridge では、このようなイベントに応じて、E メール通知の送信や 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>
+ 中断可能なキャパシティ予約を直接変更またはキャンセルすることはできません。編集するには、ソースのキャパシティ予約から割り当てられたキャパシティを更新します。
+ 中断可能な予約では、表示、起動、タグ付け、共有、請求の割り当てのみを行うことができます。
+ ソースキャパシティ予約ごとに作成できる中断可能な割り当ては 1 つだけです。

### キャパシティ消費者
<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 つだけです。割り当てが既に存在する場合は、新しい割り当てを作成する前に、割り当てを変更またはキャンセルする必要があります。
+ 中断可能なキャパシティ予約には、一度に最大 1,000 個のインスタンスを割り当てることができます。

コンソールまたは AWS CLI を使用して、中断可能なキャパシティ予約を作成できます。

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

**中断可能なキャパシティ予約を作成するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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>

インスタンス消費者は、2 種類の 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` — 当社が再利用中にインスタンスを終了する場合

# 機械学習用のキャパシティブロック
<a name="ec2-capacity-blocks"></a>

ML 用のキャパシティブロックを使用すると、短期間の機械学習ワークロードをサポートするため、GPU ベースの高速コンピューティングインスタンスを将来の日付で予約できます。キャパシティブロック内で実行されるインスタンスは、[Amazon EC2 UltraClusters](https://aws.amazon.com/ec2/ultraclusters/) 内に自動的に互いに近く配置され、低レイテンシーでペタビットスケールのノンブロッキングネットワーキングを実現します。

キャパシティブロックを使用して、Amazon EC2 UltraServers のキャパシティを予約することもできます。UltraServers は、低レイテンシー、高帯域幅のアクセラレーター相互接続内で複数の Amazon EC2 インスタンスを接続します。UltraServers を使用することにより、トレーニング、ファインチューニング、推論において、コンピューティングとメモリを大量に消費する AI/ML ワークロードを処理できます。詳細については、「[Amazon EC2 UltraServers](https://aws.amazon.com/ec2/ultraservers/)」を参照してください。

キャパシティブロックを使用すると、GPU インスタンスのキャパシティを今後いつ使用できるかを確認でき、都合のよい時間にキャパシティブロックを開始するようにスケジュールできます。キャパシティブロックを予約すると、GPU インスタンスのキャパシティを予測して確保することができます。料金は必要な時間分しか発生しません。ML ワークロードを一度に数日間または数週間サポートするために GPU が必要であり、GPU インスタンスを使用していない間は予約の料金を支払いたくないという場合は、キャパシティブロックをお勧めします。

キャパシティブロックの一般的なユースケースは以下のとおりです。
+ **機械学習モデルトレーニングとファインチューニング** — 機械学習モデルトレーニングとファインチューニングを完了するために予約した GPU インスタンスに、中断なしにアクセスできます。
+ **ML 実験とプロトタイプ** — GPU インスタンスを必要とする実験の実行およびプロトタイプの構築を短期間で行えます。

キャパシティブロックは、一部の AWS リージョンで特定のインスタンスタイプで使用できます。詳細については、「[サポートされているインスタンスタイプとリージョン](#capacity-blocks-prerequisites)」を参照してください。

キャパシティブロックは、最大 8 週間先を開始時刻に設定して予約することができます。各キャパシティブロックには最大 64 件、キャパシティブロック全体では最大 256 件のインスタンスを含めることが可能です。

**Topics**
+ [

## サポートされているインスタンスタイプとリージョン
](#capacity-blocks-prerequisites)
+ [

## サポートされているプラットフォーム
](#capacity-blocks-platforms)
+ [

## 考慮事項
](#capacity-blocks-considerations)
+ [

## 関連リソース
](#capacity-blocks-related-resources)
+ [

# Amazon EC2 キャパシティブロックの仕組み
](capacity-blocks-how.md)
+ [

# キャパシティブロックの料金と請求
](capacity-blocks-pricing-billing.md)
+ [

# キャパシティブロックを見つけて購入する
](capacity-blocks-purchase.md)
+ [

# キャパシティブロックを使用してインスタンスを起動する
](capacity-blocks-launch.md)
+ [

# キャパシティブロックを表示する
](capacity-blocks-view.md)
+ [

# キャパシティブロックを拡張
](capacity-blocks-extend.md)
+ [

# キャパシティブロックを共有する
](capacity-blocks-share.md)
+ [

# UltraServer キャパシティブロックのリソースグループを作成する
](cb-group.md)
+ [

# EventBridge を使用してキャパシティブロックをモニタリングする
](capacity-blocks-monitor.md)
+ [

# AWS CloudTrail を使用したキャパシティブロック API コールのロギング
](capacity-blocks-logging-using-cloudtrail.md)

## サポートされているインスタンスタイプとリージョン
<a name="capacity-blocks-prerequisites"></a>

インスタンスおよび UltraServer キャパシティブロックは、次のインスタンスタイプと AWS リージョンで使用できます。

**注記**  
64 インスタンスのキャパシティブロックサイズは、すべての AWS リージョン のすべてのインスタンスタイプでサポートされているわけではありません。

### インスタンスキャパシティブロック
<a name="capacity-blocks-instance-prerequisites"></a>
+ **`p6-b300.48xlarge`**
  + 米国西部 (オレゴン) - `us-west-2`
+ **`p6-b200.48xlarge`**
  + 米国東部 (バージニア北部) - `us-east-1`
  + 米国東部 (オハイオ) — `us-east-2`
  + 米国西部 (オレゴン) - `us-west-2`
+ **`p5.4xlarge`**
  + 米国東部 (バージニア北部) - `us-east-1`
  + 米国東部 (オハイオ) — `us-east-2`
  + 米国西部 (オレゴン) - `us-west-2`
  + 欧州 (ロンドン) — `eu-west-2`
  + アジアパシフィック (ムンバイ) – `ap-south-1`
  + アジアパシフィック (東京) — `ap-northeast-1`
  + アジアパシフィック (シドニー) — `ap-southeast-2`
  + 南米 (サンパウロ) – `sa-east-1`
+ **`p5.48xlarge`**
  + 米国東部 (バージニア北部) - `us-east-1`
  + 米国東部 (オハイオ) — `us-east-2`
  + 米国西部 (北カリフォルニア) — `us-west-1`
  + 米国西部 (オレゴン) - `us-west-2`
  + 欧州 (ストックホルム) — `eu-north-1`
  + 欧州 (ロンドン) — `eu-west-2`
  + 南米 (サンパウロ) – `sa-east-1`
  + アジアパシフィック (東京) — `ap-northeast-1`
  + アジアパシフィック (ムンバイ) – `ap-south-1`
  + アジアパシフィック (シドニー) — `ap-southeast-2`
  + アジアパシフィック (ジャカルタ) — `ap-southeast-3`
  + 米国東部 (アトランタ) ローカルゾーン — `us-east-1-atl-2a`
+ **`p5e.48xlarge`**
  + 米国東部 (バージニア北部) - `us-east-1`
  + 米国東部 (オハイオ) — `us-east-2`
  + 米国西部 (北カリフォルニア) — `us-west-1`
  + 米国西部 (オレゴン) - `us-west-2`
  + 欧州 (ストックホルム) — `eu-north-1`
  + 欧州 (ロンドン) — `eu-west-2`
  + 欧州 (スペイン) — `eu-south-2`
  + 南米 (サンパウロ) – `sa-east-1`
  + アジアパシフィック (東京) — `ap-northeast-1`
  + アジアパシフィック (ソウル) – `ap-northeast-2`
  + アジアパシフィック (ムンバイ) – `ap-south-1`
  + アジアパシフィック (ジャカルタ) — `ap-southeast-3`
  + 米国西部 (フェニックス) ローカルゾーン — `us-west-2-phx-2a`
+ **`p4d.24xlarge`**
  + 米国東部 (バージニア北部) - `us-east-1`
  + 米国東部 (オハイオ) — `us-east-2`
  + 米国西部 (オレゴン) - `us-west-2`
+ **`p4de.24xlarge`**
  + 米国東部 (バージニア北部) - `us-east-1`
  + 米国西部 (オレゴン) - `us-west-2`
+ **`trn1.32xlarge`**
  + 米国東部 (バージニア北部) - `us-east-1`
  + 米国東部 (オハイオ) — `us-east-2`
  + 米国西部 (北カリフォルニア) — `us-west-1`
  + 米国西部 (オレゴン) - `us-west-2`
  + 欧州 (ストックホルム) — `eu-north-1`
  + アジアパシフィック (ムンバイ) – `ap-south-1`
  + アジアパシフィック (シドニー) — `ap-southeast-2`
  + アジアパシフィック (メルボルン) — `ap-southeast-4`
+ **`trn2.3xlarge `**
  + アジアパシフィック (メルボルン) — `ap-southeast-4`
  + 南米 (サンパウロ) – `sa-east-1`
+ **`trn2.48xlarge`**
  + 米国東部 (オハイオ) — `us-east-2`

### UltraServer キャパシティブロック
<a name="capacity-blocks-ultraserver-prerequisites"></a>
+ **`Trn2`**
  + 米国東部 (オハイオ) — `us-east-2`
+ **`P6e-GB200`**
  + 米国東部 (ダラス) ローカルゾーン — `us-east-1-dfw-2a`

## サポートされているプラットフォーム
<a name="capacity-blocks-platforms"></a>

ML 用のキャパシティブロックは、現在、デフォルトテナンシーのインスタンスおよび UltraServer のみをサポートしています。AWS マネジメントコンソール を使用してキャパシティブロックを購入する場合、デフォルトのプラットフォームは Linux/UNIX です。AWS Command Line Interface AWS CLIまたは AWS SDK を使用してキャパシティブロックを購入する場合、以下のプラットフォームオプションを使用できます。
+ Linux/UNIX
+ Red Hat Enterprise Linux
+ RHEL with HA
+ SUSE Linux
+ Ubuntu Pro

## 考慮事項
<a name="capacity-blocks-considerations"></a>

キャパシティブロックを使用するときは、事前に以下の詳細と制限を念頭におきます。
+ UltraServer キャパシティブロックに影響を与える障害が検出された場合、ユーザーに通知されますが、通常はキャパシティブロックのインスタンスを終了するアクションが実行されません。ワークロードへの意図しない中断を最小限に抑えるためです。この通知を受け取った後に UltraServer キャパシティブロックを現状のままで引き続き使用するか、UltraServer キャパシティブロックのインスタンスをすべて終了し、AWS サポートケースを送信することで修復をリクエストできます。サポートケースを受け取ったら、修復が完了した際にユーザーが通知されます。インスタンスを UltraServer キャパシティブロックに再起動できます。
+ `P6e-GB200` UltraServer キャパシティブロックの場合、キャパシティブロックの終了時刻の 60 分以上前にインスタンスを終了する必要があります。
+  ローカルゾーン内のキャパシティブロックを購入して使用するには、ローカルゾーンにオプトインされている必要があります。
+ 各キャパシティブロックには最大 64 件、キャパシティブロック全体では最大 256 件のインスタンスを含めることが可能です。
+ 早くて 30 分で開始できるキャパシティブロックサービスを記述できます。
+ キャパシティブロックは、協定世界時 (UTC) の午前 11 時 30 分に終了します。
+ キャパシティブロック内で実行しているインスタンスの終了プロセスは、予約の最終日の協定世界時 (UTC) 午前 11 時に始まります。
+ キャパシティブロックの開始時刻は最大 8 週間先を予約できます。
+ キャパシティブロックはキャンセルはできません。
+ UltraServer キャパシティブロックは AWS アカウント間や AWS 組織内で共有することはできません。
+ キャパシティブロックを[移動](capacity-reservations-move.md)または[分割](capacity-reservations-split.md)することはできません。
+ リソースグループで使用できるのは UltraServer キャパシティブロックのみです。インスタンスキャパシティブロックはリソースグループでは使用できません。詳細については、「[UltraServer キャパシティブロックのリソースグループを作成する](cb-group.md)」を参照してください。
+ AWS 組織内の全アカウントでキャパシティブロックに予約できるインスタンスの合計数は、特定の日に 256 インスタンスを超えることはできません。
+ キャパシティブロックを使用するには、インスタンスが予約 ID を明確にターゲットにしている必要があります。
+ キャパシティブロック内のインスタンスは、オンデマンドインスタンスの制限にはカウントされません。
+ カスタム AMI を使用する P5 インスタンスの場合は、[EFA に必要なソフトウェアと設定があることを確認してください](gpu-instances-started.md)。
+ Amazon EKS 管理された型ノードグループについては、「[Create a managed node group with Amazon EC2 Capacity Blocks for ML](https://docs.aws.amazon.com/eks/latest/userguide/capacity-blocks-mng.html)」を参照してください。Amazon EKS セルフ管理された型ノードグループについては、「[セルフ管理された型ノードで機械学習用のキャパシティブロックを使用する](https://docs.aws.amazon.com/eks/latest/userguide/capacity-blocks.html)」を参照してください。

## 関連リソース
<a name="capacity-blocks-related-resources"></a>

キャパシティブロックを作成したら、キャパシティブロックを使用して次の操作を実行できます。
+ インスタンスをキャパシティブロックで起動します。詳細については、「[キャパシティブロックを使用してインスタンスを起動する](capacity-blocks-launch.md)」を参照してください。
+ Amazon EC2 Auto Scaling グループを作成します。詳細については、「[Amazon EC2 Auto Scaling ユーザーガイド](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-template-capacity-blocks.html)」の「*Use Capacity Blocks for machine learning workloads*」を参照してください。
**注記**  
Amazon EC2 Auto Scaling または Amazon EKS を使用する場合は、キャパシティブロック予約の開始時にスケーリングを実行するようにスケジュールできます。スケジュールされたスケーリングでは、AWS が再試行を自動的に処理するため、一時的な障害を処理するための再試行ロジックの実装について心配する必要はありません。
+  AWS Parallel Computing Service を使用して機械学習ワークフローを強化します。詳細については、「[Capacity Blocks support for AWS Parallel Computing Service](https://aws.amazon.com/blogs/hpc/announcing-capacity-blocks-support-for-aws-parallel-computing-service/)」を参照してください。
+ AWS ParallelCluster で ML ワークフローを強化します。詳細については、「[Enhancing ML workflows with AWS ParallelCluster and Amazon EC2 Capacity Blocks for ML](https://aws.amazon.com/blogs/hpc/enhancing-ml-workflows-with-aws-parallelcluster-and-amazon-ec2-capacity-blocks-for-ml/)」を参照してください。

 AWS Parallel Computing Service の詳細については、「[AWS Parallel Computing Service とは](https://docs.aws.amazon.com/pcs/latest/userguide/what-is-service.html)」を参照してください。

 AWS ParallelClusterの詳細については、[とはAWS ParallelCluster](https://docs.aws.amazon.com/parallelcluster/latest/ug/what-is-aws-parallelcluster.html)を参照してください。

# Amazon EC2 キャパシティブロックの仕組み
<a name="capacity-blocks-how"></a>

キャパシティブロックは次の仕様で予約できます。
+ 最大 8 週間先の開始時刻を予約する
+ 予約期間を 1 ～ 14 日または最大 182 日の 7 の倍数の日数 (例: 21 日、28 日) に設定する
+ キャパシティブロックごとに最大 64 個のインスタンスを設定する
+ 複数のキャパシティブロック全体で最大 256 個のインスタンスを設定する

Amazon EC2 UltraServers では、各 UltraServer は 1 つのキャパシティブロックに対応します。1 つのリクエストで複数の UltraServer をリクエストできます。

 キャパシティブロックを使用して、`p6-b200`、`p5`、`p5e`、`p5en`、`p4d`、`p4de`、`trn1`、`trn2` の各インスタンスを予約することができます。キャパシティブロックを使用して、`P6e-GB200` および `Trn2` (プレビュー) の UltraServer タイプを購入できます。

キャパシティブロックを予約するには、インスタンスタイプまたは UltraServer タイプ、必要なインスタンスまたは UltraServer 数、日数、最も早い開始日、最も遅い終了日など、必要なキャパシティを最初に指定します。そうすると、その要件を満たす、利用可能なキャパシティブロックのサービスを確認できます。キャパシティブロックのサービスには、開始時刻、アベイラビリティーゾーン、予約料金などの詳細が記されています。キャパシティブロックサービスの料金は、サービスが提供される時点の需要と供給の状況によって異なります。キャパシティブロックの予約後に料金が変わることはありません。詳細については、「[キャパシティブロックの料金と請求](capacity-blocks-pricing-billing.md)」を参照してください。

キャパシティブロックのサービスを購入すると、選択した日付とインスタンス数で予約が作成されます。キャパシティブロックの予約が開始されたら、起動リクエストで予約 ID を指定すると、インスタンスの起動をターゲットに設定できます。

予約したすべてのインスタンスを使用できるのは、キャパシティブロックの終了時刻の 30 分前 (インスタンスタイプの場合) または 60 分前 (UltraServer タイプの場合) までです。キャパシティブロックの予約が残り 30 分 (インスタンスタイプの場合) または 60 分 (UltraServer タイプの場合) になると、キャパシティブロックで実行中のすべてのインスタンスの終了プロセスが開始されます。この時間を使ってインスタンスをクリーンアップしてから、キャパシティブロックを次の利用者に渡します。当社は、終了プロセスが始まる 10 分前に EventBridge を通じてイベントを送信します。詳細については、「[EventBridge を使用してキャパシティブロックをモニタリングする](capacity-blocks-monitor.md)」を参照してください。

# キャパシティブロックの料金と請求
<a name="capacity-blocks-pricing-billing"></a>

Amazon EC2 Capacity Blocks for ML では、料金は予約した分のみ発生します。キャパシティブロックの料金は、購入時のキャパシティブロックの需要と供給の状況に応じて異なります。キャパシティブロックサービスの料金は、予約前に確認できます。キャパシティブロックの料金は、予約時に前払いで請求されます。特定の日付範囲でキャパシティブロックを検索すると、利用可能なキャパシティブロックの中で最も安価なものが表示されます。キャパシティブロックの予約後に料金が変わることはありません。

キャパシティブロックを使用する場合、インスタンスの実行時に使用した、オペレーティングシステムの料金が請求されます。オペレーティングシステムの料金の詳細については、「[Amazon EC2 Capacity Blocks for ML Pricing](https://aws.amazon.com/ec2/capacityblocks/pricing/)」を参照してください。

## 請求
<a name="capacity-blocks-billing"></a>

キャパシティブロックサービスの料金は前払い制です。キャパシティブロックを購入した後、5 分から 12 時間以内にご利用の AWS アカウントに支払いが処理されます。支払いの処理中は、キャパシティブロックの予約リソースは `payment-pending` の状態となります。支払いがブロック開始時刻の少なくとも 5 分前、あるいは 12 時間以内 (いずれか早い方) に処理できない場合、キャパシティブロックは解放されて予約状態が `payment-failed` に変更されます。

料金の処理に成功すると、キャパシティブロックのリソース状態は `payment-pending` から `scheduled` に変わります。1 回限りの前払い料金が反映された請求書がお手元に届きます。請求書では、支払い金額をキャパシティブロックの予約 ID に関連付けることが可能です。

キャパシティブロックの予約が開始されると、その予約でインスタンスが実行されている間に使用した、オペレーティングシステムのみに基づいて料金が請求されます。ご自身の使用量および関連の料金は、AWS Cost and Usage Report で、使用した月の請求書で確認できます。

**注記**  
Savings Plans とリザーブドインスタンス割引はキャパシティブロックには適用されません。

**請求を表示する**  
請求書は AWS Billing and Cost Management コンソールで確認できます。キャパシティブロックの前払い料金は、予約の購入月に表示されます。

予約の開始後は、請求書にはブロック予約の使用時間と未使用の時間とが別々の行に表示されます。これらの行項目を使って、予約にどの程度の時間を使用したかを確認できます。プレミアムオペレーティングシステムを使用している場合は、使用時間の行には使用料金のみが表示されます。詳細については、「[キャパシティブロックの料金と請求](#capacity-blocks-pricing-billing)」を参照してください。未使用の時間には、追加料金は発生しません。

詳細については*AWS Billing and Cost Management ユーザーガイド*の[請求書の表示](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/getting-viewing-bill.html)を参照してください。

キャパシティブロックの開始日が予約の購入月とは異なる場合、前払い料金と予約の使用量は、異なる請求月で表示されます。ではAWS Cost and Usage Report、キャパシティブロックの予約 ID は前払い料金の **Reservation/ReservationARN** の行項目と、毎月の請求書の **LineItem/ResourceID** に記載されます。したがって、使用量を対応する前払い価格に関連付けることができます。

# キャパシティブロックを見つけて購入する
<a name="capacity-blocks-purchase"></a>

キャパシティブロックを予約するには、まず、自分のニーズを満たすキャパシティを、利用できる時間帯を見つける必要があります。予約できるキャパシティブロックを見つけるには、以下を指定します。
+ 必要なインスタンス数
+ インスタンスを必要とする期間
+ 予約が必要な日数の範囲

利用可能なキャパシティブロックサービスを見つけるには、予約期間とインスタンス数を指定します。予約期間は、**1 日単位で最大 14 日間まで、7 日単位で最大 182 日間まで**指定する必要があります。各キャパシティブロックには最大 64 件、キャパシティブロック全体では最大 256 件のインスタンスを含めることが可能です。

仕様に一致するキャパシティブロックをリクエストすると、最大 6 つの利用可能なブロックの詳細が提供されます。すべてのキャパシティブロックは UTC の午前 11 時 30 分に終了するため、同じ日に開始されるブロックには目的の期間に最も近い期間が含まれます。あるブロックには目的の期間より多少短い期間を含む一方、もう 1 つのブロックは目的の期間より多少長い期間を含みます。

サービスの詳細には、予約の開始時刻、予約のアベイラビリティーゾーン、予約の料金が記されています。詳細については、「[キャパシティブロックの料金と請求](capacity-blocks-pricing-billing.md)」を参照してください。

表示されているキャパシティブロックを購入することもできますし、検索条件を変えて利用可能な他のサービスを探すこともできます。サービスの有効期限は事前に設定されていませんが、サービスの利用は申し込み順となります。

キャパシティブロックのサービスを購入すると、キャパシティブロックが予約されたことを確認する返信がすぐに届きます。その後、アカウントに新しいキャパシティ予約が、予約タイプ `capacity-block` と `start-date` が、購入したサービスの開始時刻に設定されて、表示されます。キャパシティブロックに予約は、`payment-pending` の状態で作成されます。前払い料金の処理が完了すると、予約状態は `scheduled` に変更されます。詳細については、「[請求](capacity-blocks-pricing-billing.md#capacity-blocks-billing)」を参照してください。

**注記**  
 ローカルゾーン内のキャパシティブロックを購入して使用するには、ローカルゾーンにオプトインされている必要があります。

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

**キャパシティブロックを見つけ、購入するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. 画面上部のナビゲーションバーで、AWS リージョンを選択してください。64 インスタンスのキャパシティブロックサイズは、すべてのリージョンのすべてのインスタンスタイプでサポートされているわけではないため、この選択は重要です。

1. ナビゲーションペインで **[キャパシティ予約]**、**[キャパシティブロックの作成]** を選択します。

1. **[キャパシティブロックタイプ]** で、**[インスタンス]** または **[UltraServers]** を選択します。

1. **[キャパシティの属性]** ではキャパシティブロックの検索パラメータを定義できます。デフォルトでは、プラットフォームは Linux です。別のオペレーティングシステムを選択する場合は、AWS CLI を使用します。詳細については、「[サポートされているプラットフォーム](ec2-capacity-blocks.md#capacity-blocks-platforms)」を参照してください。

1. **[合計キャパシティ]** (インスタンスの場合) または **[UltraServer 数]** (UltraServers の場合) で、予約するインスタンスまたは UltraServer の数を指定します。

1. **[期間]** に予約が必要な日数を入力してください。

1. **[キャパシティブロックを検索する日付範囲]** で、予約の開始を希望する最も早い日付を入力してください。

1. **[キャパシティブロックを検索]** を選択してください。

1. 要件を満たすキャパシティブロックがある場合、**[おすすめのキャパシティブロック]** にそのサービスが表示されます。要件を満たすキャパシティブロックが複数ある場合、最も早く利用できるサービスが表示されます。他のキャパシティブロックサービスを表示するときは、検索条件を変更し、再度 **[キャパシティブロックを検索]** を選択してください。

1. 購入したいキャパシティブロックサービスが見つかったら、**[次へ]** を選択してください。

1. (オプション) **[タグを追加]** ページで、**[新しいタグを追加]** を選択してください。

1. **[確認と購入]** ページに、開始日と終了日、期間、インスタンスの合計数、料金が表示されます。
**注記**  
予約後は、キャパシティブロックをキャンセルできません。

1. ポップアップウィンドウの **[キャパシティブロックを購入]** で [確認] を選択し、**[購入]** を選択してください。

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

**インスタンスキャパシティブロックを検索する方法**  
「[describe-capacity-block-extension-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-block-offerings.html)」コマンドを使用します。

次の例では、インスタンスキャパシティブロックを見つけます。

```
aws ec2 describe-capacity-block-offerings \
--instance-type p5.48xlarge \
--instance-count 16 \
--start-date-range 2023-08-14T00:00:00Z \
--end-date-range 2023-10-22-T00:00:00Z \
--capacity-duration-hours 48 \
--all-availability-zones
```

次の例では、UltraServer キャパシティブロックを見つけます。

```
aws ec2 describe-capacity-block-offerings \
--ultraserver-type u-p6e-gb200x72 \
--ultraserver-count 1 \
--start-date-range 2023-08-14T00:00:00Z \
--end-date-range 2023-10-22-T00:00:00Z \
--capacity-duration-hours 48
```

**キャパシティブロックを購入するには**  
「[purchase-capacity-block](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-capacity-block.html)」コマンドを前の例の出力によるキャパシティブロックで提供される ID と一緒に使用します。

```
aws ec2 purchase-capacity-block \
--capacity-block-offering-id cb-0123456789abcdefg \
--instance-platform Linux/UNIX
```

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

**キャパシティブロックを見つける方法**  
[Get-EC2CapacityBlockOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityBlockOffering.html) コマンドレットを使用します。

次の例では、インスタンスキャパシティブロックを見つけます。

```
Get-EC2CapacityBlockOffering `
-InstanceType p5.48xlarge `
-InstanceCount 16 `
-CapacityDurationHour 48 `
-StartDateRange 2023-08-14T00:00:00Z `
-EndDateRange 2023-10-22-T00:00:00Z `
-AllAvailabilityZones $true
```

次の例では、UltraServer キャパシティブロックを見つけます。

```
Get-EC2CapacityBlockOffering `
-UltraserverType u-p6e-gb200x72 `
-UltraserverCount  1 `
-CapacityDurationHour 48 `   
-StartDateRange 2023-08-14T00:00:00Z `
-EndDateRange 2023-10-22-T00:00:00Z
```

**キャパシティブロックを購入するには**  
[New-EC2EC2CapacityBlock](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2EC2CapacityBlock.html) コマンドレットを前の例の出力からのキャパシティブロックの提供 ID と共に使用します。

```
New-EC2EC2CapacityBlock `
-CapacityBlockOfferingId cb-0123456789abcdefg `
-InstancePlatform Linux/UNIX
```

------

# キャパシティブロックを使用してインスタンスを起動する
<a name="capacity-blocks-launch"></a>

キャパシティブロックを使用するには、インスタンスの起動時にキャパシティブロックの予約 ID を指定する必要があります。キャパシティブロックでインスタンスを起動すると、起動したインスタンスの数だけ、使用できるキャパシティの数が減ります。例えば、購入したインスタンスのキャパシティが 8 インスタンスで、4 つのインスタンスを起動した場合、使用できるキャパシティは 4 つ減ります。

予約が終了する前にキャパシティブロックで実行中のインスタンスを終了すると、新しいインスタンスを代わりに起動することができます。キャパシティブロック内のインスタンスを停止または終了すると、インスタンスのクリーンアップに数分かかります。置き換える別のインスタンスを起動できるのは、その後です。この間、インスタンスは停止または `shutting-down` 状態になります。このプロセスが完了すると、インスタンスの状態が `stopped` か `terminated` に変わります。その後、キャパシティブロックの利用可能な容量が更新され、使用できる別のインスタンスが表示されます。

**要件**
+ キャパシティブロックがあるアベイラビリティーゾーンとは異なるアベイラビリティーゾーンのサブネットでインスタンスを起動することはできません。
+ インスタンスは、キャパシティブロックのプラットフォームとは異なるプラットフォームの AMI を使用して起動することはできません。
+  ローカルゾーン内のキャパシティブロックを使用するには、ローカルゾーンにオプトインされている必要があります。

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

**キャパシティブロックでインスタンスを起動するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. 画面上部のナビゲーションバーで、キャパシティブロックの予約の [リージョン] を選択してください。

1. Amazon EC2 コンソールダッシュボードで、[**インスタンスを起動**] を選択してください。

1. [インスタンスを起動する](ec2-launch-instance-wizard.md)ための手順に従います。

1. **[高度な詳細]** を展開し、**[購入オプション]** で **[キャパシティブロック]** を選択します。次に、以下のいずれかを行ってください。
   + 特定のキャパシティブロックでインスタンスを起動するには、[**キャパシティ予約**] で [**キャパシティ予約を指定**] を選択し、キャパシティブロックを選択します。
   + （*UltraServers のみ*) UltraServer キャパシティブロックリソースグループでインスタンスを起動するには、[**キャパシティ予約**] で [**キャパシティ予約リソースグループを指定**] を選択し、次にリソースグループを選択します。

1. **[インスタンスを起動]** を選択してください。

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

**キャパシティブロックを使用してインスタンスを起動するには**  
`instance-market-options MarketType` オプションで [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用します。

次の例では、インスタンスを特定のキャパシティブロックで起動します。

```
aws ec2 run-instances \
--image-id ami-0abcdef1234567890 \
--count 1 \
--instance-type p5.48xlarge \
--key-name my-key-pair \
--subnet-id subnet-0abcdef1234567890 \
--instance-market-options MarketType='capacity-block' \
--capacity-reservation-specification CapacityReservationTarget={CapacityReservationId=capacity_block_id}
```

次の例では、インスタンスを UltraServer のキャパシティブロックリソースグループに起動します。

```
aws ec2 run-instances \
--image-id ami-0abcdef1234567890 \
--count 1 \
--instance-type p6e-gb200.36xlarge \
--key-name my-key-pair \
--subnet-id subnet-0abcdef1234567890 \
--instance-market-options MarketType='capacity-block' \
--capacity-reservation-specification CapacityReservationTarget={CapacityReservationResourceGroupArn=resource_group_arn}
```

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

**キャパシティブロックでインスタンスを起動するには**  
次に定義されているように、`-InstanceMarketOption` オプションで [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) コマンドレットを使用します。

```
$marketoption = New-Object Amazon.EC2.Model.InstanceMarketOptionsRequest
$marketoption.MarketType = "capacity-block"
```

次の例では、インスタンスを特定のキャパシティ予約のみで起動します。

```
New-EC2Instance `
-ImageId ami-0abcdef1234567890 `
-InstanceType p5.48xlarge `
-KeyName "my-key-pair" `
-SubnetId subnet-0abcdef1234567890 `
-InstanceMarketOptions $marketoption `
-CapacityReservationTarget_CapacityReservationId capacity_block_id
```

次の例では、インスタンスを UltraServer のキャパシティブロックリソースグループで起動します。

```
New-EC2Instance `
-ImageId ami-0abcdef1234567890 `
-InstanceType p6e-gb200.36xlarge `
-KeyName "my-key-pair" `
-SubnetId subnet-0abcdef1234567890 `
-InstanceMarketOptions $marketoption `
-CapacityReservationTarget_CapacityReservationResourceGroupArn "resource_group_arn"
```

------

**関連リソース**
+ キャパシティブロックをターゲットとする起動テンプレートを作成するには、「[Amazon EC2 起動テンプレートにインスタンス起動パラメータを保存する](ec2-launch-templates.md)」を参照してください。
+ EC2 フリートを使用してキャパシティブロックでインスタンスを起動するには、「[チュートリアル: キャパシティブロックにインスタンスを起動するように EC2 フリートを設定する](ec2-fleet-launch-instances-capacity-blocks-walkthrough.md)」を参照してください。
+ キャパシティブロックを使用して EKS マネージド型ノードグループを設定するには、「**Amazon EKS ユーザーガイド**」の「[Capacity Blocks for ML を使用してマネージドノードグループを作成する](https://docs.aws.amazon.com/eks/latest/userguide/capacity-blocks-mng.html)」を参照してください。
+ キャパシティブロックを使用して AWS ParallelCluster を設定するには、「[ML on AWS ParallelCluster](https://catalog.workshops.aws/ml-on-aws-parallelcluster/en-US)」を参照してください。

# キャパシティブロックを表示する
<a name="capacity-blocks-view"></a>

キャパシティブロックを予約すると、AWS アカウントにキャパシティブロックの予約が表示されます。`start-date` と `end-date` を見ると、予約の開始日と終了日を確認できます。キャパシティブロック予約が始まるまで、利用可能なキャパシティは 0 と表示されます。キャパシティブロックで利用できるインスタンスの数は、タグキー `aws:ec2capacityreservation:incrementalRequestedQuantity` のタグ値を見ると確認できます。

キャパシティブロックの予約が始まると、予約状態は `scheduled` から `active` に変わります。Amazon EventBridge を通じて、キャパシティブロックが使用可能になったことを知らせるイベントが発行されます。詳細については、「[EventBridge を使用してキャパシティブロックをモニタリングする](capacity-blocks-monitor.md)」を参照してください。

キャパシティブロックには、以下のような状態があります。
+ `payment-pending` — 前払い料金の処理が完了していない。
+ `payment-failed` — 前払い料金の処理が 12 時間以内に完了しなかった。キャパシティブロックが解除された。
+ `scheduled` — 料金の処理は完了したが、キャパシティブロックの予約はまだ始まっていない。
+ `active` - リザーブドキャパシティを使用できる。
+ `expired` — キャパシティブロックの予約の有効期限が予約リクエストで指定された日時に自動的に切れた。リザーブドキャパシティーも使用できなくなります。

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

**キャパシティブロックを表示するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**キャパシティ予約**] を選択してください。

1. **[キャパシティ予約の概要]** ページに、すべてのキャパシティ予約リソースの詳細が記載されたリソーステーブルが表示されます。キャパシティブロック予約を検索するには、**[キャパシティ予約 ID]** の上にあるドロップダウンリストから**[キャパシティブロック]** を選択してください。表には、開始日、終了日、期間、状態など、キャパシティブロックに関する情報が表示されています。

1. キャパシティブロックの詳細は、表示するキャパシティブロックの予約 ID を選択すると、表示されます。**[キャパシティ予約の詳細]** ページには、予約のすべてのプロパティと、キャパシティブロックで使用中かつ使用可能なインスタンスの数が表示されています。
**注記**  
キャパシティブロック予約が始まるまで、利用可能なキャパシティは 0 と表示されます。キャパシティブロックが開始されたときに利用できるインスタンスの数は、タグキー `aws:ec2capacityreservation:incrementalRequestedQuantity` の以下のタグ値を使用して確認できます。

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

**キャパシティブロックを表示するには**  
デフォルトでは、[describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html) コマンドを使用すると、オンデマンドキャパシティ予約とキャパシティブロック予約の両方が一覧表示されます。キャパシティブロック予約のみを表示するには、タイプ `capacity-block` の予約をフィルタリングします。

```
aws ec2 describe-capacity-reservations \
    --filters Name=reservation-type,Values=capacity-block
```

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

**キャパシティブロックを表示するには**  
[Get-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityReservation.html) コマンドレットを使用します。デフォルトでは、オンデマンドキャパシティ予約とキャパシティブロック予約の両方が一覧表示されます。キャパシティブロック予約のみを表示するには、タイプ `capacity-block` の予約をフィルタリングします。

```
Get-EC2CapacityReservation `
    -Filter @{Name="reservation-type"; Values="capacity-block"}
```

------

# キャパシティブロックを拡張
<a name="capacity-blocks-extend"></a>

キャパシティブロックを使用するとワークロードのコンピューティングキャパシティを予約し、可用性と一貫性を確保できます。変化するニーズに対応するには、必要に応じて既存のキャパシティブロックの期間を延長できます。

キャパシティブロックを拡張するには、ステータスが `active` または `scheduled` であり、拡張機能が `payment-pending` でない必要があります。キャパシティブロックの期間は、期限が切れるまでの、1 時間以上 56 日以内で、延長するようにリクエストできます。キャパシティブロックは 1 日単位で合計最大 14 日間、7 日単位で合計最大 182 日間 (26 週間) まで延長できます。キャパシティブロックを拡張すると終了日が更新され、インスタンスが中断することなく継続的に実行できるようになります。
+ キャパシティブロックに適用できる拡張機能の数に制限はありません
+ キャパシティ予約 ID は、ブロックを拡張した後も変わりません。
+ キャパシティブロックは、サポートするために十分なキャパシティがある場合に限って拡張できます。ただし、キャパシティは保証されません。

## 請求
<a name="capacity-blocks-extend-billing"></a>

キャパシティブロックサービスの料金は前払い制です。請求書が支払われるまで、延長機能は `payment-pending` に残ります。支払いが 12 時間以内、あるいはキャパシティブロックの終了がスケジュールされる最大 35 分前 (いずれか早い方) に処理できない場合、拡張機能は正常に処理されず、ステータスは `payment-failed` に変更されます。キャパシティブロックの予約は `active` のままになり、元の終了日に終了します。

支払いが正常に処理されると、キャパシティブロックの拡張機能ステータスが `payment-succeeded` に変更され、キャパシティブロック予約の終了日が新しい終了日に更新されます。拡張機能の詳細はコンソールの **キャパシティブロック拡張機能の詳細** セクションで表示するか、[DescribeCapacityBlockExtensionHistory](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-block-extension-history.html) コマンドを使用して表示することもできます。

## キャパシティブロックを拡張
<a name="capacity-blocks-extend-procedure"></a>

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

**キャパシティブロックを延長するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**キャパシティ予約**] を選択してください。

1. **[キャパシティ予約の概要]** ページには、すべてのキャパシティ予約リソースの詳細が記載されたリソーステーブルが表示されます。拡張するキャパシティブロックの予約 ID を選択してください。

1. **[アクション]** ドロップダウンメニューで **[キャパシティブロックを拡張]** を選択してください。

1. **[期間]** で予約を延長する必要な日数を入力してください。

1. **[キャパシティブロックを検索]** を選択してください。

1. 要件を満たすキャパシティブロックがある場合、**[おすすめのキャパシティブロック]** にサービスが表示されます。他のキャパシティブロックサービスを表示するときは、検索条件を変更し、再度 **[キャパシティブロックを検索]** を選択してください。

1. 購入するキャパシティブロックのサービスが見つかったとき、**[延長]** を選択してください。

1. ポップアップウィンドウの **[キャパシティブロックの拡張]** に*確認*と入力したら、**[拡張]** を選択してください。

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

**キャパシティブロック延長を見つけるには**  
[describe-capacity-block-extension-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-block-extension-offerings.html) コマンドを使用します。次の例では、指定した予約の 48 時間のキャパシティブロック延長を検索します。

```
aws ec2 describe-capacity-block-extension-offerings \
    --capacity-reservation-id cr-1234567890abcdefg \
    --capacity-block-extension-duration-hours 48
```

**キャパシティブロックを延長するには**  
[purchase-capacity-block-extension](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-capacity-block-extension.html) コマンドを使用します。前の例の出力からの延長提供 ID を指定します。

```
aws ec2 purchase-capacity-block-extension \
    --capacity-block-extension-offering-id cbe-0123456789abcdefg \
    --capacity-reservation-id cr-1234567890abcdefg
```

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

**キャパシティブロック延長を見つけるには**  
[Get-EC2CapacityBlockExtensionOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityBlockExtensionOffering.html) コマンドレットを使用します。次の例では、指定した予約の 48 時間のキャパシティブロック延長を検索します。

```
Get-EC2CapacityBlockExtensionOffering `
    -CapacityReservationId cr-1234567890abcdefg `
    -CapacityBlockExtensionDurationHour 48
```

**キャパシティブロックを延長するには**  
[Invoke-EC2CapacityBlockExtension](https://docs.aws.amazon.com/powershell/latest/reference/items/Invoke-EC2CapacityBlockExtension.html) コマンドレットを使用します。前の例の出力からの延長提供 ID を指定します。

```
Invoke-EC2CapacityBlockExtension `
    -CapacityBlockExtensionOfferingId cbe-0123456789abcdefg `
    -CapacityReservationId cr-1234567890abcdefg
```

------

# キャパシティブロックを共有する
<a name="capacity-blocks-share"></a>

 キャパシティブロックを共有すると、キャパシティブロック所有者は Amazon EC2 キャパシティブロックを AWS Organization 内の他の AWS アカウントと共有できます。これにより、予約された GPU 容量をさまざまなチームやプロジェクトで最大限に活用して、キャパシティブロックを効率的に使用できます。

 キャパシティブロックを所有する AWS アカウント (所有者) はキャパシティブロックを他の AWS アカウント (コンシューマー) と共有できます。所有者は、キャパシティブロックを AWS Organization 内の複数の AWS アカウント、AWS Organization 内の 1 つの組織単位、または AWS Organization 全体と共有できます。コンシューマーは、自分が所有するキャパシティブロックにインスタンスを起動する場合と同じように、共有されているキャパシティブロックにインスタンスを起動できます。

## キャパシティブロック共有の前提条件
<a name="capacity-blocks-share-prereq"></a>

キャパシティブロックを共有するには、次の条件を満たす必要があります。
+ **キャパシティブロックを所有している必要があります** – 共有されているキャパシティブロックを共有することはできません。
+  **キャパシティブロックの状態はアクティブまたはスケジュール済みである必要があります** – 他の[状態](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-capacity-block.html) (`expired` や `payment-pending` など) のキャパシティブロックは共有できません。
+ **AWS Organization 内での共有のみ** – 所有者はキャパシティブロックを AWS Organization 内の複数の AWS アカウント、AWS Organization 内の 1 つの組織単位、または AWS Organization 全体と共有できます。
+  **UltraServer キャパシティブロックはサポートされていません** – Amazon EC2 UltraServers のキャパシティブロックは共有できません。
+ **アカウントの適格性** - キャパシティブロック共有は、新規の AWS アカウント、および制限付き請求履歴のある AWS アカウントでは利用できません。

## 関連サービス
<a name="capacity-blocks-share-related"></a>

キャパシティブロック共有は AWS Resource Access Manager (AWS RAM) と統合します。AWS RAM は、AWS リソースを任意の AWS アカウントと共有したり、AWS Organizations 経由で共有したりするためのサービスです。AWS RAM を使用した リソース共有。これにより、自身が所有する*リソースを共有*できます。リソース共有では、共有対象のリソースと、共有先となるコンシューマーを指定します。コンシューマーには、個人の AWS アカウントや、AWS Organizations 内の組織単位または組織全体を指定できます。

AWS RAM の詳細については、*[AWS RAM ユーザーガイド](https://docs.aws.amazon.com/ram/latest/userguide/)*を参照してください。

## 共有キャパシティブロックのアクセス許可
<a name="capacity-blocks-share-permissions"></a>

### 所有者のアクセス許可
<a name="capacity-blocks-share-permissions-owner"></a>

 キャパシティブロックの所有者は、キャパシティブロックの管理 (拡張、共有など) とそのキャパシティブロックに起動するインスタンスに引き続き責任を負います。所有者は、共有されているキャパシティブロックにコンシューマーが起動したインスタンスを変更することはできません。

### コンシューマーのアクセス許可
<a name="capacity-blocks-share-permissions-consumer"></a>

 コンシューマーは共有キャパシティにインスタンスを起動できます。コンシューマーは、それらのインスタンスを管理する責任があります。コンシューマーは、他のコンシューマーやキャパシティブロック所有者が所有するインスタンスを表示することや変更することはできません。コンシューマーが表示できるのは、共有キャパシティブロックの合計キャパシティと使用可能なキャパシティのみです。

## キャパシティブロックを共有する
<a name="capacity-blocks-sharing"></a>

キャパシティブロックを共有するには、キャパシティブロックをリソース共有に追加する必要があります。リソース共有とは、AWS アカウント間で自身のリソースを共有するための AWS RAM リソースです。

AWS Organization 全体と共有されているリソース共有にキャパシティブロックを追加した場合、組織内のコンシューマーには共有キャパシティブロックへのアクセス許可が付与されます。

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

**所有しているキャパシティブロックを Amazon EC2 コンソール経由で共有する**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**キャパシティ予約**] を選択してください。

1. 共有するキャパシティブロックを選択し、**[アクション]、[予約を共有]** の順に選択します。

1. キャパシティブロックの追加先となるリソース共有を選択し、**[キャパシティ予約を共有]** を選択します。

   共有されたキャパシティブロックにコンシューマーがアクセスできるようになるまで数分かかる場合があります。

**新しいリソース共有にキャパシティブロックを追加する**  
まず、AWS RAM コンソールを使用してリソース共有を作成する必要があります。詳細については、「*AWS RAM ユーザーガイド*」の「[Creating a resource share](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create)」を参照してください。

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

**自分が所有するキャパシティブロックを共有するには**  
 [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) および [associate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/associate-resource-share.html) コマンドを使用します。

```
aws ram create-resource-share \
    --name my-resource-share \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE
```

```
aws ram associate-resource-share \
    --resource-share-arn arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE
```

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

**自分が所有するキャパシティブロックを共有するには**  
 [New-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/New-RAMResourceShare.html) コマンドレットと [Connect-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/Connect-RAMResourceShare.html) コマンドレットを使用します。

```
New-RAMResourceShare `
    -Name my-resource-share `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE"
```

```
Connect-RAMResourceShare `
    -ResourceShareArn "arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE" `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE"
```

------

 キャパシティブロックは、所有権のステータスに関係なく、すべてのアカウントで**先着順**で動作します。キャパシティブロックを共有する場合、所有者の前にコンシューマーがインスタンスを起動すると、それらのインスタンスは、コンシューマーがインスタンスを終了するかキャパシティブロックの有効期限が切れる 30 分前までキャパシティを占有します。

## キャパシティブロックの共有を停止する
<a name="capacity-blocks-unsharing"></a>

 キャパシティブロックの共有は、ブロックの有効期限の 30 分前までいつでも停止できます。

**共有を停止した場合の結果:**
+ コンシューマーは、共有が解除されたキャパシティブロックで新しいインスタンスを起動できなくなります。
+ 実行中のインスタンスは、コンシューマーによって終了されない限り、キャパシティブロックの有効期限の 30 分前まで実行され続けます。

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

**所有しているキャパシティ予約の共有を Amazon EC2 コンソール経由で停止する**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**キャパシティ予約**] を選択してください。

1. キャパシティブロックを選択して、**[共有]** タブを選択します。

1.  **[共有]** タブに、キャパシティブロックが追加されたリソース共有のリストが表示されます。キャパシティブロックを削除するリソース共有を選択します。

1. **[リソース共有から削除]** を選択します。

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

**自分が所有するキャパシティブロックの共有を停止するには**  
[disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) コマンドを使用します。

```
aws ram disassociate-resource-share \
    --resource-share-arn arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE
```

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

**自分が所有するキャパシティブロックの共有を停止するには**  
[Disconnect-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/Disconnect-RAMResourceShare.html) コマンドレットを使用します。

```
Disconnect-RAMResourceShare `
    -ResourceShareArn "arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE" `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE"
```

------

## 共有キャパシティブロックの使用状況をモニタリングする
<a name="capacity-blocks-shared-monitor-usage"></a>

キャパシティブロックの所有者は、共有キャパシティブロックを使用しているアカウントをモニタリングし、アカウントごとにインスタンスの使用状況を追跡できます。

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

**キャパシティブロックの使用状況をモニタリングするには**  
[get-capacity-reservation-usage](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-capacity-reservation-usage.html) コマンドを使用します。

```
aws ec2 get-capacity-reservation-usage \
    --capacity-reservation-id cr-1234abcd56EXAMPLE
```

**この API を使用すると、所有者は次のことを行うことができます。**
+ キャパシティブロックを現在使用しているアカウントを表示する。
+ 各アカウントが実行しているインスタンスの数を確認する。

------

## インスタンスの終了通知
<a name="capacity-blocks-shared-instance-termination-notices"></a>

 キャパシティブロックの予約が終了する 40 分前になると、インスタンスが実行しているキャパシティブロックの所有者アカウントとコンシューマーアカウントに EventBridge イベントが送信され、予約で実行しているインスタンスが 10 分後に終了するが示されます。詳細については、「[EventBridge を使用してキャパシティブロックをモニタリングする](capacity-blocks-monitor.md)」を参照してください。

## キャパシティブロックの拡張
<a name="capacity-blocks-shared-extend"></a>

共有中、キャパシティブロックを拡張することができます。共有キャパシティブロックを拡張できるのは、所有者アカウントのみです。

 キャパシティブロックが拡張されると、所有者またはコンシューマーによって起動された実行中のインスタンスは自動的に新しい有効期限を継承し、コンシューマーは新しい有効期限までインスタンスを中断することなく共有キャパシティを引き続き使用できます。

## 料金と請求
<a name="capacity-blocks-shared-pricing-billing"></a>

 共有キャパシティブロックの請求は所有者に対して行われ、所有者はキャパシティブロックの購入時に前払いします。所有者は、キャパシティブロックで実行するインスタンスのオペレーティングシステムの料金も支払います。

 コンシューマーに対しては、共有キャパシティブロックで実行するインスタンスのオペレーティングシステムの料金のみが課金されます。コンシューマーには、キャパシティブロックの予約そのものに対する課金は行われません。

# UltraServer キャパシティブロックのリソースグループを作成する
<a name="cb-group"></a>

AWS Resource Groups を使用して、UltraServer キャパシティブロックの論理コレクションを作成できます。リソースグループを作成したら、アカウントで所有している UltraServer キャパシティブロックを追加できます。UltraServer キャパシティブロックを追加すると、個々のキャパシティブロックではなくリソースグループに対してインスタンスの起動をターゲットにできます。リソースグループをターゲットとするインスタンスは、一致する属性と使用可能な容量を持つグループ内の任意の UltraServer キャパシティブロックと一致します。一致する属性と使用可能な容量を持つ UltraServer キャパシティーブロックがリソースグループにない場合、インスタンスの起動は失敗します。

UltraServer キャパシティブロックに実行中のインスタンスがあるときにリソースグループから削除された場合、それらのインスタンスはキャパシティブロックで引き続き実行されます。グループ内の UltraServer キャパシティブロックがインスタンスの実行中に終了すると、それらのインスタンスは終了します。

インスタンスキャパシティブロックをリソースグループに追加することはできません。

UltraServer キャパシティブロックのリソースグループを作成するには、次のいずれかの方法を使用します。

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

**UltraServer キャパシティブロックのリソースグループを作成するには**  
[create-group](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/create-group.html)AWS CLI コマンドを使用し、`--configuration` に以下を指定します。

```
{
  "Configuration": [
    {
      "Type": "AWS::EC2::CapacityReservationPool",
      "Parameters": [
        {
          "Name": "instance-type",
          "Values": [
            "instance_type"
          ]
        },
        {
          "Name": "reservation-type",
          "Values": [
            "capacity-block"
          ]
        }
      ]
    },
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::CapacityReservation"
          ]
        }
      ]
    }
  ]
}
```

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

**UltraServer キャパシティブロックのリソースグループを作成するには**  
[New-RGGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-RGGroup.html) コマンドレットを使用します。[`-Configuration`] で、以下を指定します。

```
{
  "Configuration": [
    {
      "Type": "AWS::EC2::CapacityReservationPool",
      "Parameters": [
        {
          "Name": "instance-type",
          "Values": [
            "instance_type"
          ]
        },
        {
          "Name": "reservation-type",
          "Values": [
            "capacity-block"
          ]
        }
      ]
    },
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::CapacityReservation"
          ]
        }
      ]
    }
  ]
}
```

------

UltraServer キャパシティブロックのリソースグループを作成したら、次のいずれかの方法を使用して既存の UltraServer キャパシティブロックを追加します。

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

**UltraServer キャパシティブロックをリソースグループに追加するには**  
[group-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/group-resources.html) コマンドを使用します。`--group` には、作成したリソースグループの名前を指定します。`--resource-arns` には、追加する UltraServer キャパシティブロックの ARN を指定します。

```
aws resource-groups group-resources \
--group MyCRGroup \
--resource-arns CapacityReservationArn
```

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

**UltraServer キャパシティブロックをリソースグループに追加するには**  
[Add-RGResource](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-RGResource.html) コマンドレットを使用します。`-Group` には、作成したリソースグループの名前を指定します。`-ResourceArn ` には、追加する UltraServer キャパシティブロックの ARN を指定します。

次の例では、指定したグループに 2 つのキャパシティ予約を追加します。

```
Add-RGResource `
-Group MyCRGroup `
-ResourceArn CapacityReservationArn
```

------

# EventBridge を使用してキャパシティブロックをモニタリングする
<a name="capacity-blocks-monitor"></a>

キャパシティブロックの予約が始まると、Amazon EC2 は EventBridge を通じて、キャパシティが使用可能になったことを知らせるイベントを送信します。キャパシティブロック予約の終了 40 分前になると、予約で実行中のインスタンスが 10 分後に終了プロセスを開始することを知らせる、別のEventBridge イベントが手元に届きます。EventBridge イベントの詳細については、「[Amazon EventBridge イベント](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)」を参照してください。

キャパシティブロックに関して発生するイベントのイベント構造を以下に示します。

**キャパシティブロックの配信**  
以下に示す例は、キャパシティブロックの配信のイベントです。

```
{
  "customer_event_id": "[Capacity Reservation Id]-delivered",
  "detail_type": "Capacity Block Reservation Delivered",
  "source": "aws.ec2",
  "account": "[Customer Account ID]",
  "time": "[Current time]",
  "resources": [
    "[ODCR ARN]"
  ],
  "detail": {
    "capacity-reservation-id": "[ODCR ID]",
    "end-date": "[ODCR End Date]"
  }
}
```

**キャパシティブロックの有効期限切れの警告**  
以下に示す例は、キャパシティブロックの有効期限切れの警告のイベントです。

```
{
  "customer_event_id": "[Capacity Reservation Id]-approaching-expiry",
  "detail_type": "Capacity Block Reservation Expiration Warning",
  "source": "aws.ec2",
  "account": "[Customer Account ID]",
  "time": "[Current time]",
  "resources": [
    "[ODCR ARN]"
  ],
  "detail": {
    "capacity-reservation-id": "[ODCR ID]",
    "end-date": "[ODCR End Date]"
  }
}
```

**キャパシティ予約インスタンスの中断に関する警告**  
次の例は、EC2 キャパシティ予約インスタンスの中断警告のイベントを示しています。

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail_type": "EC2 Capacity Reservation Instance Interruption Warning",
    "source": "aws.ec2",
    "account": "[Customer Account ID]",
    "time": "[Current time]",
    "region": "[Region]",
    "resources": [
        "[Instance ARN]"
    ],
    "detail": {
        "instance-id": "[Instance ID]",
        "instance-action": "terminate",
        "instance-termination-time": "[Current time]",
        "availability-zone-id": "[Availability Zone ID]",
        "instance-lifecycle": "capacity-block"
    }
}
```

# AWS CloudTrail を使用したキャパシティブロック API コールのロギング
<a name="capacity-blocks-logging-using-cloudtrail"></a>

キャパシティブロックは、キャパシティブロックのユーザー、ロール、AWS サービスが実行したアクションを記録する AWS CloudTrail と連携しています。CloudTrail は、キャパシティブロックの API コールをイベントとしてキャプチャします。キャプチャされたコールには、キャパシティブロックコンソールからのコールと、キャパシティブロック API オペレーションへのコードコールが含まれています。証跡を作成する場合は、キャパシティブロックのイベントなど、Amazon S3 バケットへの CloudTrail イベントの継続的配信を有効にすることができます。証跡を設定しない場合でも、CloudTrail コンソールの **[イベント履歴]** で最新のイベントを表示できます。CloudTrail で収集された情報を使用して、キャパシティブロックに対するリクエスト、リクエスト元の IP アドレス、リクエスト者、リクエスト日時などの詳細を確認できます。

CloudTrail の詳細については、「[AWS CloudTrail ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)」を参照してください。

## CloudTrail のキャパシティブロック情報
<a name="capacity-blocks-info-in-cloudtrail"></a>

CloudTrail は、AWS アカウント を作成すると、その中で有効になります。キャパシティブロックでアクティビティが発生すると、そのアクティビティは **[イベント履歴]** で AWS のその他のサービスのイベントとともに CloudTrail イベントにレコードされます。最近のイベントは、AWS アカウント で表示、検索、ダウンロードできます。詳細については、 [CloudTrail イベント履歴でのイベントの表示](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)を参照してください。

イベント履歴のイベントなど、AWS アカウント のイベントの継続的な記録については、証跡を作成します。*証跡*により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。デフォルトでは、コンソールで証跡を作成するときに、証跡がすべての AWS リージョン に適用されます。証跡は、AWS パーティションのすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集したイベントデータをより詳細に分析し、それに基づいて対応するため、他の AWS サービスを構成できます。詳細については次を参照してください: 
+ [追跡を作成するための概要](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail がサポートされているサービスと統合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ 「[CloudTrail の Amazon SNS 通知の設定](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)」
+ [複数のリージョンから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)および[複数のアカウントから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

すべてのキャパシティブロックアクションは CloudTrail によってログ記録され、Amazon EC2 API リファレンスに記録されます。例えば、`CapacityBlockScheduled` と `CapacityBlockActive` の各アクションを呼び出すと、CloudTrail ログファイルにエントリが生成されます。

各イベントまたはログエントリには、誰がリクエストを生成したかという情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます: 
+ リクエストが、ルート認証情報と AWS Identity and Access Management (IAM) ユーザー認証情報のどちらを使用して送信されたか。
+ リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。
+ リクエストが別の AWS サービスによって行われたかどうか。

詳細については、「[CloudTrail userIdentity エレメント](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)」を参照してください。

## キャパシティブロックのログファイルエントリについて
<a name="understanding-service-name-entries"></a>

「トレイル」は、指定した Amazon S3 バケットにイベントをログファイルとして配信するように設定できます。CloudTrail のログファイルは、単一か複数のログエントリを含みます。イベントは、任意の出典からの単一のリクエストを表し、リクエストされたアクション、アクションの日時、リクエストパラメータなどに関する情報が含まれます。CloudTrail ログファイルは、パブリック API 呼び出しの順序付けられたスタックトレースではないため、特定の順序では表示されません。

以下は、次の CloudTrail ログエントリの例です。
+ [TerminateCapacityBlocksInstances](#understanding-capacity-blocks-entries-terminatecapacityblockinstances)
+ [CapacityBlockPaymentFailed](#understanding-capacity-blocks-entries-capacityblockpaymentfailed)
+ [CapacityBlockScheduled](#understanding-capacity-blocks-entries-capacityblockscheduled)
+ [CapacityBlockActive](#understanding-capacity-blocks-entries-capacityblockactive)
+ [CapacityBlockFailed](#understanding-capacity-blocks-entries-capacityblockfailed)
+ [CapacityBlockExpired](#understanding-capacity-blocks-entries-capacityblockexpired)

**注記**  
こちらの例では、データのプライバシーを保護するため一部のフィールドが削除されています。

### TerminateCapacityBlocksInstances
<a name="understanding-capacity-blocks-entries-terminatecapacityblockinstances"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "TerminateCapacityBlockInstances",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "accountId": "123456789012",
      "type": "AWS::EC2::Instance",
      "ARN": "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"
    }
    {
      "accountId": "123456789012",
      "type": "AWS::EC2::Instance",
      "ARN": "arn:aws:ec2:us-east-1:123456789012:instance/i-0598c7d356eba48d7"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      }
}
```

### CapacityBlockPaymentFailed
<a name="understanding-capacity-blocks-entries-capacityblockpaymentfailed"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockPaymentFailed",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "payment-failed"
      }
}
```

### CapacityBlockScheduled
<a name="understanding-capacity-blocks-entries-capacityblockscheduled"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockScheduled",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "scheduled"
      }
}
```

### CapacityBlockActive
<a name="understanding-capacity-blocks-entries-capacityblockactive"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockActive",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "active"
      }
 }
```

### CapacityBlockFailed
<a name="understanding-capacity-blocks-entries-capacityblockfailed"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockFailed",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "failed"
      }
 }
```

### CapacityBlockExpired
<a name="understanding-capacity-blocks-entries-capacityblockexpired"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockExpired",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "expired"
      }
 }
```