View a markdown version of this page

プレイスメントグループにキャパシティ予約を使用する - Amazon Elastic Compute Cloud

プレイスメントグループにキャパシティ予約を使用する

プレイスメントグループでキャパシティ予約を作成して、ワークロードの Amazon EC2 コンピューティングキャパシティを予約できます。

プレイスメントグループでキャパシティ予約を作成すると、必要なときと必要な期間中に、プレイスメントグループでコンピューティングキャパシティにアクセスできるようになります。必要に応じて再びスケールアップできるように、キャパシティの利用を維持しながらスケールダウンできます。

プレイスメントグループでキャパシティ予約を作成したら、他の AWS アカウントと共有できます。詳細については、「プレイスメントグループでキャパシティ予約の共有」を参照してください。

サポートされている配置戦略

次の戦略を使用するプレイスメントグループでキャパシティ予約を作成できます。

  • クラスター

  • 精度時間

注記

スプレッドとパーティションプレイスメントグループは、キャパシティ予約をサポートしていません。

サポートされているインスタンスタイプ、利用可能なリージョン、配置戦略にの詳細ついては、「Amazon EC2 インスタンスのプレイスメントグループ」を参照してください。

制限事項

プレイスメントグループでキャパシティ予約を作成する場合、以下の点をご配慮ください。

  • 既存のキャパシティ予約がプレイスメントグループにない場合は、キャパシティ予約を変更してプレイスメントグループ内でキャパシティを予約することはできません。プレイスメントグループでキャパシティを予約するには、プレイスメントグループでキャパシティ予約を作成する必要があります。

  • プレイスメントグループでキャパシティ予約を作成した後、プレイスメントグループ外のキャパシティを予約するように変更することはできません。

  • プレイスメントグループの既存のキャパシティ予約を変更するか、プレイスメントグループに追加のキャパシティ予約を作成して、プレイスメントグループのリザーブドキャパシティを増やすことができます。ただし、容量不足エラーが発生する可能性が高くなります。

  • キャパシティ予約は、所有しているプレイスメントグループからのみ共有できます。キャパシティ予約は、所有していないプレイスメントグループから共有することはできません。

  • active なキャパシティ予約を持つプレイスメントグループは削除できません。プレイスメントグループのキャパシティ予約をすべて削除する前に、キャンセルする必要があります。

プレイスメントグループでキャパシティ予約を使用する

プレイスメントグループにキャパシティ予約を使用するには、次のステップを実行してください。

注記

既存のプレイスメントグループでキャパシティ予約を作成する場合、ステップ 1 をスキップします。ステップ 2 と 3 では、既存のプレイスメントグループの ARN を指定します。

ステップ 1: (条件付き) キャパシティ予約を使用するプレイスメントグループを作成する

新規のプレイスメントグループを作成する必要がある場合にのみ、このステップを実行します。既存のプレイスメントグループを使用するには、このステップをスキップします。ステップ 2 と 3 では、プレイスメントグループの ARN を使用します。

Console
プレイスメントグループを作成するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで、[Placement Groups] (プレイスメントグループ)、[Create placement group] (プレイスメントグループの作成) の順に選択してください。

  3. [Name] (名前) で、プレイスメントグループのわかりやすい名前を指定します。

  4. [配置戦略] には、配置戦略を選択します。

  5. [グループの作成] を選択してください。

  6. [プレイスメントグループ] テーブルの [グループ ARN] 列で、作成したプレイスメントグループの ARN をメモします。これは次のステップで必要になります。

AWS CLI
プレイスメントグループを作成するには

create-placement-group コマンドを使用します。

aws ec2 create-placement-group \ --group-name MyPG \ --strategy strategy

出力で返されるプレイスメントグループ ARN は次のステップで必要となるので、メモしておいてください。

PowerShell
プレイスメントグループを作成するには

New-EC2PlacementGroup コマンドレットを使用します。

New-EC2PlacementGroup ` -GroupName my-placement-group ` -Strategy strategy

出力で返されるプレイスメントグループ ARN は次のステップで必要となるので、メモしておいてください。

ステップ 2: プレイスメントグループでキャパシティ予約を作成する

キャパシティ予約を作成するときと同じ方法で、プレイスメントグループでキャパシティ予約を作成します。ただし、キャパシティ予約の作成先となるプレイスメントグループの ARN も指定する必要があります。

考慮事項
  • 指定したプレイスメントグループは available 状態になっている必要があります。プレイスメントグループが pendingdeletingdeleted の状態になっている場合、リクエストは失敗します。

  • キャパシティ予約とプレイスメントグループは、同じアベイラビリティーゾーンに存在する必要があります。キャパシティ予約を作成するリクエストで、プレイスメントグループのアベイラビリティーゾーンとは異なるアベイラビリティーゾーンが指定されている場合、リクエストは失敗します。

  • キャパシティ予約は、プレイスメントグループでサポートされているインスタンスタイプに対してのみ作成できます。サポートされていないインスタンスタイプを指定すると、リクエストは失敗します。

  • プレイスメントグループで open キャパシティ予約を作成し、一致する属性 (プレイスメントグループ ARN、インスタンスタイプ、アベイラビリティーゾーン、プラットフォーム、テナンシー) を持つ既存の実行中のインスタンスがある場合、これらのインスタンスはキャパシティ予約で自動的に実行されます。

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

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

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

Console
キャパシティ予約を作成するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. [キャパシティ予約]、[作成キャパシティ予約] の順に選択してください。

  3. [キャパシティ予約を作成] ページで、必要に応じてインスタンスタイプ、プラットフォーム、アベイラビリティーゾーン、テナンシー、数量、および終了日を指定します。

  4. [プレイスメントグループ] には、キャパシティ予約の作成先となるプレイスメントグループの ARN を選択します。

  5. [作成] を選択します。

詳細については「キャパシティ予約の作成」を参照してください。

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

create-capacity-reservation コマンドを使用します。--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 コマンドレットを使用します。-PlacementGroupArn には、キャパシティ予約の作成先となるプレイスメントグループの ARN を指定します。

Add-EC2CapacityReservation ` -InstanceType instance_type ` -InstancePlatform platform ` -AvailabilityZoneId az_id ` -InstanceCount quantity ` -PlacementGroupArn "placement_group_arn"

ステップ 3: プレイスメントグループのキャパシティ予約にインスタンスを起動する

次のいずれかの方法により、プレイスメントグループにあるキャパシティ予約にインスタンスを起動できます。

  • インスタンスの起動先となるプレイスメントグループの ARN の指定 – プレイスメントグループの ARN を指定すると、Amazon EC2 はこのプレイスメントグループにインスタンスを起動します。次のいずれかの方法を使用します。

    • open の指定 — インスタンスの起動リクエストでキャパシティ予約を指定する必要はありません。インスタンスに、指定したプレイスメントグループのキャパシティ予約に一致する属性 (プレイスメントグループ ARN、インスタンスタイプ、アベイラビリティーゾーン、プラットフォーム、テナンシー) がある場合、インスタンスはキャパシティ予約で自動的に実行されます。

    • キャパシティ予約の指定 – キャパシティ予約がターゲットされたインスタンスの起動のみを承諾した場合、リクエストのプレイスメントグループに加えて、ターゲットのキャパシティ予約を指定する必要があります。

    • キャパシティ予約グループの指定 – 詳細については、「Using Capacity Reservation in placement groups with a Capacity Reservation group」を参照してください。

  • キャパシティ予約グループのみの指定 – 詳細については、「Using Capacity Reservation in placement groups with a Capacity Reservation group」を参照してください。

  • キャパシティ予約のみの指定 – プレイスメントグループのキャパシティ予約にインスタンスを起動できます。

    注記

    キャパシティ予約のみまたはキャパシティ予約グループのみを指定してインスタンスを起動すると、インスタンスはプレイスメントグループで作成されたキャパシティ予約に起動されますが、インスタンスはプレイスメントグループには直接アタッチされません。

Console
既存のキャパシティ予約でインスタンスを起動するには
  1. 手順に従ってインスタンスを起動しますが、次のステップを完了してプレイスメントグループとキャパシティ予約の設定を指定するまでインスタンスを起動しないでください。

  2. [高度な詳細] を展開し、以下の操作を行います。

    1. [プレイスメントグループ] には、インスタンスの起動先となるプレイスメントグループを選択します。

    2. [Capacity Reservation] (キャパシティ予約) で、キャパシティ予約の設定に応じて、次のいずれかのオプションを選択してください。

      • [開く] – 一致する属性と十分なキャパシティを持つプレイスメントグループの open キャパシティ予約にインスタンスを起動する方法。

      • [ID 別のターゲット] — ターゲットインスタンスの起動のみを受け入れるキャパシティ予約でインスタンスを起動します。

      • [グループ別のターゲット] — 選択したキャパシティ予約グループ内で一致する属性と使用可能なキャパシティを持つ任意のキャパシティ予約にインスタンスを起動します。

  3. [Summary] (概要) パネルでインスタンスの設定を確認し、[Launch instance] (インスタンスを起動) を選択してください。詳細については「コンソールのインスタンス起動ウィザードを使用して EC2 インスタンスを起動する」を参照してください。

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

run-instances コマンドを使用します。特定のキャパシティ予約またはキャパシティ予約グループをターゲットにする必要がある場合は、--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=placement_group_name"
PowerShell
既存のキャパシティ予約でインスタンスを起動するには

New-EC2Instance コマンドレットを使用します。-Placement で、GroupName パラメータを指定し、前のステップで作成したプレイスメントグループの名前を指定します。

New-EC2Instance ` -ImageId ami-0abcdef1234567890 ` -InstanceType instance_type ` -KeyName key_pair_name ` -SubnetId subnet-0abcdef1234567890 ` -CapacityReservationTarget_CapacityReservationId capacity_reservation_id ` -Placement_GroupName placement_group_name

プレイスメントグループでキャパシティ予約の共有

キャパシティ予約のみを共有するか、キャパシティ予約と作成先のプレイスメントグループを両方とも共有することで、プレイスメントグループでキャパシティ予約を共有できます。

キャパシティ予約のみを共有することで、そのキャパシティ予約に対してのみコンシューマーアカウントにアクセスを許可します。コンシューマーアカウントには、キャパシティ予約が作成されるプレイスメントグループの表示またはアクセスはできません。コンシューマーアカウントによるアクセスをきめ細かく制御できます。コンシューマーアカウントには、プレイスメントグループに関する情報 (ARN を含む) が表示されません。

プレイスメントグループとキャパシティ予約を共有すると、プレイスメントグループはコンシューマーアカウントに表示されて、アクセスできるようになります。インスタンスを起動したり、独自のキャパシティ予約を作成したりすることができます。

詳細については、以下のリソースを参照してください。