キャパシティーの予約 の操作 - Amazon Elastic Compute Cloud

キャパシティーの予約 の操作

キャパシティーの予約の使用を開始するには、必要なアベイラビリティーゾーンにキャパシティーの予約を作成します。次に、インスタンスをリザーブドキャパシティーに起動し、そのキャパシティーの使用率をリアルタイムで表示して、必要に応じてキャパシティーを増減することができます。

デフォルトでは、キャパシティーの予約 は、新しいインスタンスと、一致する属性 (インスタンスタイプ、プラットフォーム、およびアベイラビリティーゾーン) を持つ実行中のインスタンスを自動的に一致させます。つまり、一致する属性を持つインスタンスがキャパシティーの予約で自動的に実行されます。ただし、特定のワークロードに対して キャパシティーの予約 を指定することもできます。これにより、リザーブドキャパシティーで実行できるインスタンスを明示的に制御できます。

予約が終了する方法を指定できます。キャパシティーの予約 をキャンセルするか、指定した時刻に自動的に終了させるかのどちらかから選択できます。終了時間を指定する場合、キャパシティーの予約 は指定した時刻の 1 時間以内にキャンセルされます。例えば、2019 年 5 月 31 日、13:30:55 を指定すると、キャパシティーの予約 は 2019 年 5 月 31 日の 13:30:55 と 14:30:55 の間に終了することが保証されます。予約が終了すると、インスタンスを キャパシティーの予約 のターゲットにすることはできなくなります。リザーブドキャパシティーで実行されているインスタンスは、中断されずに引き続き実行されます。キャパシティーの予約 をターゲットにしているインスタンスが停止している場合は、キャパシティーの予約 ターゲット設定を削除するか、別の キャパシティーの予約 をターゲットに設定するまで再開できません。

キャパシティーの予約 の作成

キャパシティーの予約 を作成すると、すぐにキャパシティーが利用可能になります。このキャパシティーは、キャパシティーの予約 がアクティブであれば、使用のために予約されており、いつでもインスタンスを起動することができます。キャパシティーの予約 がオープンの場合、新しいインスタンスと一致する属性を持つ既存のインスタンスは キャパシティーの予約 のキャパシティーで自動的に実行されます。キャパシティーの予約 が targeted の場合、インスタンスはそれがリザーブドキャパシティーで実行されるように具体的に設定する必要があります。

次のいずれかが当てはまる場合、キャパシティーの予約 を作成するリクエストは失敗する可能性があります。

  • Amazon EC2 には、リクエストに対応する十分なキャパシティ-がありません。時間をおいてからもう一度試すか、別のアベイラビリティーゾーンを試すか、キャパシティ-を小さくしてみてください。インスタンスタイプとサイズに応じてアプリケーションに柔軟性がある場合は、別のインスタンス属性を試してみてください。

  • リクエストされた数量は、選択したインスタンスファミリーに対するオンデマンドインスタンスの上限を超えています。インスタンスファミリーに対するオンデマンドインスタンスの上限を上げて、もう一度試してください。詳細については、「オンデマンドインスタンス の制限」を参照してください。

コンソールを使用して キャパシティーの予約 を作成するには

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

  2. [キャパシティーの予約]、[作成キャパシティーの予約] の順に選択します。

  3. キャパシティーの予約 の作成ページの、[Instance Details (インスタンスの詳細)] セクションで、以下の設定を指定します。起動するインスタンスのインスタンスタイプ、プラットフォーム、アベイラビリティーゾーンは、ここで指定するインスタンスタイプ、プラットフォーム、アベイラビリティーゾーンと一致する必要があります。一致しない場合、キャパシティーの予約 は適用されません。例えば、開いているキャパシティーの予約が一致しない場合、このキャパシティーの予約を明示的に対象とするインスタンスの起動は失敗します。

    1. [Instance Type (インスタンスのタイプ)] — リザーブドキャパシティーに起動するインスタンスのタイプ。

    2. [Launch EBS-optimized instances (EBS 最適化インスタンスを起動する)] — EBS 最適化インスタンスのキャパシティーを予約するかどうかを指定します。このオプションは、一部のインスタンスタイプではデフォルトで選択されています。EBS 最適化インスタンスの詳細については、「Amazon Elastic Block Store」を参照してください。

    3. [Attach instance store at launch (起動時にインスタンスストアをアタッチ)] — キャパシティーの予約 に起動されたインスタンスが一時的なブロックレベルのストレージを使用するかどうかを指定します。インスタンスストアボリューム上のデータは、関連付けられたインスタンスの運用中のみ維持されます。

    4. [プラットフォーム] — インスタンスのオペレーティングシステム。詳細については、「サポートされているプラットフォーム」を参照してください。サポートされている Linux プラットフォームの詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「サポートされているプラットフォーム」を参照してください。

    5. [アベイラビリティーゾーン] — キャパシティーを予約するアベイラビリティーゾーン。

    6. [テナンシー] — 共有ハードウェア(デフォルト)を実行するか専有インスタンスを実行するかを指定します。

    7. (オプション) [Placement group ARN] (プレイスメントグループ ARN) — キャパシティ予約が作成されるクラスタープレイスメントグループの ARN。詳細については、「クラスタープレイスメントグループでのキャパシティ予約」を参照してください。

    8. [数量] — キャパシティーを予約するインスタンスの数。選択したインスタンスタイプの残りの オンデマンドインスタンス 制限を超える数量を指定すると、そのリクエストは拒否されます。

  4. [Reservation details (予約の詳細)] セクションで次のように設定します。

    1. [Reservation Ends (予約終了)] — 次のいずれかのオプションを選択します。

      • [Manually (手動)] — 明示的にキャンセルするまで容量を予約してください。

      • [Specific time (特定の時間)] — 指定された日時にキャパシティーの予約を自動的に解除します。

    2. [Instance eligibility (インスタンスの利用資格)] — 次のいずれかのオプションを選択します。

      • [open (開く)] — (デフォルト) キャパシティーの予約 は、一致する属性 (インスタンスタイプ、プラットフォーム、およびアベイラビリティーゾーン) を持つインスタンスに一致します。一致する属性を持つインスタンスを起動すると、そのインスタンスはリザーブドキャパシティーに自動的に配置されます。

      • [targeted (指定済み)] — キャパシティーの予約は、一致する属性 (インスタンスタイプ、プラットフォーム、およびアベイラビリティーゾーン) を持つインスタンスのみを受け入れ、明示的に予約を行います。

  5. [Request reservation (リクエスト予約)] を選択します。

AWS CLI を使用してキャパシティ予約を作成するには

create-capacity-reservation コマンドを使用します。詳細については、「サポートされているプラットフォーム」を参照してください。サポートされている Linux プラットフォームの詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「サポートされているプラットフォーム」を参照してください。

例えば、次のコマンドで作成する キャパシティーの予約 では、us-east-1a アベイラビリティーゾーンで SQL Server AMI を Windows で実行する 3 つの m5.2xlarge インスタンスの容量を予約します。

aws ec2 create-capacity-reservation --instance-type m5.2xlarge --instance-platform Windows with SQL Server --availability-zone us-east-1a --instance-count 3

既存の キャパシティーの予約 へのインスタンスの起動

インスタンスを起動するときに、インスタンスを任意の open キャパシティーの予約 に起動するか、特定の キャパシティーの予約 に起動するか、または キャパシティーの予約 のグループに起動するかを指定できます。一致する属性 (インスタンスタイプ、プラットフォーム、およびアベイラビリティーゾーン) と十分なキャパシティーがある場合にのみ、インスタンスを キャパシティーの予約 に起動することができます。または、一致する属性と使用可能な容量を持つ open キャパシティーの予約 がある場合でも、キャパシティーの予約 でインスタンスを実行しないように設定できます。

キャパシティーの予約 にインスタンスを起動すると、起動されたインスタンスの数だけ使用可能なキャパシティーが減少します。例えば、3 つのインスタンスを起動すると、キャパシティーの予約 の使用可能なキャパシティーは 3 つ減少します。

コンソールを使用して既存の キャパシティーの予約 でインスタンスを起動するには

  1. [ダッシュボード] または [インスタンス] から [インスタンスの起動] を選択して、起動インスタンスウィザードを開きます。

  2. Amazon Machine Image (AMI) とインスタンスタイプを選択します。

  3. インスタンスの詳細設定ページの内容を完了します。[キャパシティーの予約] で、以下のいずれかのオプションを選択します。

    • [なし] — インスタンスが キャパシティーの予約 に起動しないようにします。インスタンスはオンデマンド型キャパシティーで実行されます。

    • [Open (開く)] — 選択したインスタンスの数に対して一致する属性と十分なキャパシティ-のある キャパシティーの予約 にインスタンスを起動します。十分なキャパシティーを持つ、一致する キャパシティーの予約 がない場合は、インスタンスはオンデマンドのキャパシティーを使用します。

    • [Target by ID] (ID 別ターゲット) — 選択した キャパシティーの予約 にインスタンスを起動します。選択されたこの キャパシティーの予約 に選択したインスタンスの数に対して十分なキャパシティーがない場合、インスタンスの起動に失敗します。

    • [Target by group] (グループ別ターゲット) — 選択した キャパシティーの予約 グループ内で一致する属性と使用可能な容量を持つ任意の キャパシティーの予約 にインスタンスを起動します。選択したグループに、一致する属性と使用可能な容量を持つ キャパシティーの予約 がない場合、インスタンスはオンデマンド型キャパシティーに起動します。

  4. インスタンスを起動する残りのステップを完了します。

AWS CLI を使用して既存のキャパシティ予約の中でインスタンスを起動するには

run-instances コマンドを使用して --capacity-reservation-specification パラメータを指定します。

次の例では、属性と使用可能なキャパシティーが一致する任意の開いている キャパシティーの予約 で t2.micro インスタンスを起動します。

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-1234567890abcdef1 --capacity-reservation-specification CapacityReservationPreference=open

次の例では、t2.micro インスタンスをtargetedのキャパシティーの予約に起動します。

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-1234567890abcdef1 --capacity-reservation-specification CapacityReservationTarget={CapacityReservationId=cr-a1234567}

次の例では、t2.micro インスタンスを キャパシティーの予約 グループに起動します。

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-1234567890abcdef1 --capacity-reservation-specification CapacityReservationTarget={CapacityReservationResourceGroupArn=arn:aws:resource-groups:us-west-1:123456789012:group/my-cr-group}

キャパシティーの予約 の変更

アクティブな キャパシティーの予約 の属性は、作成後に変更できます。期限が切れた後、または明示的にキャンセルした後で、キャパシティーの予約 を変更することはできません。

キャパシティーの予約 を変更する際は、数量を増減するだけで、解放される方法を変更することができます。キャパシティーの予約 のインスタンスタイプ、EBS 最適化、インスタンスストア設定、プラットフォーム、アベイラビリティーゾーン、またはインスタンスの利用資格は変更できません。これらの属性を変更する必要がある場合は、予約をキャンセルし、必要な属性を持つ新しいものを作成することをお勧めします。

選択したインスタンスタイプの残りの オンデマンドインスタンス 制限を超える新しい数量を指定すると、その更新は失敗します。

コンソールを使用して キャパシティーの予約 を変更するには

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

  2. [キャパシティーの予約] を選択し、キャパシティーの予約 を選択して、次に [Edit (編集)] を選択します。

  3. 必要に応じて、[Quantity (数量)] または [Reservation ends (予約終了)] オプションを選択し、[Save changes (変更の保存)] を選択します。

AWS CLI を使用してキャパシティ予約を変更するには

modify-capacity-reservations コマンドを使用します。

例えば、次のコマンドは、8 つのインスタンスの容量を予約するために キャパシティーの予約 を変更します。

aws ec2 modify-capacity-reservation --capacity-reservation-id cr-1234567890abcdef0 --instance-count 8

インスタンスの キャパシティーの予約 設定の変更

停止したインスタンスの次のキャパシティーの予約設定は、いつでも変更できます。

  • 一致する属性 (インスタンスタイプ、プラットフォーム、およびアベイラビリティーゾーン) と使用可能なキャパシティーを持つ任意の キャパシティーの予約 で起動します。

  • 特定の キャパシティーの予約 でインスタンスを起動します。

  • キャパシティー予約グループ内で、属性が一致し、キャパシティーが使用可能な、いずれかのキャパシティー予約を起動します。

  • インスタンスが キャパシティーの予約 で起動しないようにします。

コンソールを使用して、インスタンスの キャパシティーの予約 設定を変更するには

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

  2. [インスタンス] を選択し、変更するインスタンスを選択します。インスタンスをまだ停止していない場合は、停止します。

  3. [アクション]、[キャパシティーの予約 設定を変更する] の順に選択します。

  4. [キャパシティーの予約] で、以下のいずれかのオプションを選択します。

    • [Open (開く)] — 選択したインスタンスの数に対して一致する属性と十分なキャパシティ-のある キャパシティーの予約 にインスタンスを起動します。十分なキャパシティーを持つ、一致する キャパシティーの予約 がない場合は、インスタンスはオンデマンドのキャパシティーを使用します。

    • [なし] — インスタンスが キャパシティーの予約 に起動しないようにします。インスタンスはオンデマンド型キャパシティーで実行されます。

    • [Specify Capacity Reservation (キャパシティー予約の指定)] — 選択した キャパシティーの予約 にインスタンスを起動します。選択されたこの キャパシティーの予約 に選択したインスタンスの数に対して十分なキャパシティーがない場合、インスタンスの起動に失敗します。

    • [Specify Capacity Reservation group (キャパシティー予約グループの指定)] — 選択した キャパシティーの予約 グループ内で一致する属性と使用可能なキャパシティーを持つ キャパシティーの予約 にインスタンスを起動します。選択したグループに、一致する属性と使用可能な容量を持つ キャパシティーの予約 がない場合、インスタンスはオンデマンド型キャパシティーに起動します。

AWS CLI を使用してインスタンスのキャパシティ予約の設定を変更するには

modify-instance-capacity-reservation-attributes コマンドを使用します。

例えば、次のコマンドは、インスタンスの キャパシティーの予約 設定を open または none に変更します。

aws ec2 modify-instance-capacity-reservation-attributes --instance-id i-1234567890abcdef0 --capacity-reservation-specification CapacityReservationPreference=none|open

例えば、次のコマンドは、特定の キャパシティーの予約 をターゲットにするようにインスタンスを変更します。

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-1:123456789012:group/my-cr-group}

キャパシティーの予約 の表示

キャパシティーの予約には次の状態があります。

  • active— キャパシティ-を使用できます。

  • expired — キャパシティーの予約 は、予約リクエストで指定された日時に自動的に有効期限が切れました。リザーブドキャパシティー も使用できなくなります。

  • cancelled— キャパシティーの予約 はキャンセルされました。リザーブドキャパシティー も使用できなくなります。

  • pending — キャパシティーの予約 リクエストは成功しましたが、キャパシティーのプロビジョニングはまだ保留中です。

  • failed — キャパシティーの予約 リクエストは失敗しました。有効でないリクエストパラメータ、キャパシティー制約、またはインスタンス制限の制約のため、リクエストが失敗する可能性があります。失敗したリクエストを 60 分間表示できます。

注記

結果整合性モデルの後に Amazon EC2 API が続くため、キャパシティ予約を作成した後、コンソールと describe-capacity-reservations が応答するまでに最大 5 分ほどかかることがあります。これは、キャパシティ予約が active 状態であることを示しています。この間、コンソールと describe-capacity-reservations レスポンスは、キャパシティ予約が pending 状態であることを示す場合があります。ただし、キャパシティ予約が既に使用可能になっている場合があり、その予約でインスタンスを起動してみることができます。

コンソールを使用して キャパシティーの予約 を表示するには

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

  2. [キャパシティーの予約] を選択して、表示する キャパシティーの予約 を選択します。

  3. [この予約の起動インスタンスを表示する]。

AWS CLI を使用してキャパシティ予約を表示するには

describe-capacity-reservations コマンドを使用します。

例えば、次のコマンドは、すべての キャパシティーの予約 について説明します。

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" } ] }

キャパシティーの予約 のキャンセル

リザーブドキャパシティーが不要になったら、いつでも キャパシティーの予約 をキャンセルできます。キャパシティーの予約 をキャンセルすると、キャパシティーが解放され、使用のために予約されなくなります。

空の キャパシティーの予約 と実行中のインスタンスがある キャパシティーの予約 をキャンセルすることができます。実行中のインスタンスがあるキャパシティー予約をキャンセルした場合、インスタンスは、標準のオンデマンドインスタンス料金または割引料金 (一致する Savings Plan またはリージョンのリザーブドインスタンスがある場合) で、キャパシティー予約外で正常に動作し続けます。

キャパシティーの予約 をキャンセルすると、それをターゲットとするインスタンスは起動できなくなります。これらのインスタンスを異なる キャパシティーの予約 をターゲットに設定するように変更し、一致する属性と十分なキャパシティーでオープンな キャパシティーの予約 に起動するか、キャパシティーの予約 への起動を回避します。詳細については、「インスタンスの キャパシティーの予約 設定の変更」を参照してください。

コンソールを使用して キャパシティーの予約 をキャンセルするには

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

  2. [キャパシティーの予約] を選択し、キャンセルする キャパシティーの予約 を選択します。

  3. [Cancel reservation (予約をキャンセル)] 選択し、[Cancel reservation (予約をキャンセル)] を選択します。

AWS CLI を使用してキャパシティ予約をキャンセルするには

cancel-capacity-reservation コマンドを使用します。

例えば、次のコマンドは、ID が cr-1234567890abcdef0 である キャパシティーの予約 をキャンセルします。

aws ec2 cancel-capacity-reservation --capacity-reservation-id cr-1234567890abcdef0