クラスタープレイスメントグループでのキャパシティ予約 - Amazon Elastic Compute Cloud

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

クラスタープレイスメントグループでキャパシティ予約を作成して、ワークロードの Amazon EC2 コンピューティング性能を予約できます。クラスタープレイスメントグループは、ネットワークレイテンシーが低く、ネットワークスループットが高いという利点があります。

クラスタープレイスメントグループでキャパシティ予約を作成すると、必要なときに、必要な期間中、クラスタープレイスメントグループのコンピューティング性能に確実にアクセスできるようになります。これは、コンピューティングのスケーリングを必要とする高パフォーマンス (HPC) ワークロードのキャパシティを予約するのに最適です。これにより、キャパシティを使用できる状態を維持しながらクラスターをスケールダウンできるため、必要に応じて再びスケールアップすることができます。

制約事項

クラスタープレイスメントグループでキャパシティ予約を作成する場合は、以下の点を常に考慮します。

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

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

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

  • クラスタープレイスメントグループで作成されたキャパシティ予約を共有することはできません。

  • active 容量予約を持つクラスタープレイスメントグループは削除できません。クラスタープレイスメントグループ内のすべての容量予約を削除する前に、それらをキャンセルする必要があります。

クラスタープレイスメントグループでのキャパシティ予約の操作

クラスタープレイスメントグループでキャパシティ予約の使用を開始するには、次のステップを実行します。

注記

既存のクラスタープレイスメントグループでキャパシティ予約を作成する場合は、ステップ 1 をスキップします。次に、ステップ 2 と 3 で、既存のクラスタープレイスメントグループの ARN を指定します。既存のクラスタープレイスメントグループの ARN を確認する方法の詳細については、「describe-placement-groups」を参照してください。

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

このステップは、新しいクラスタープレイスメントグループを作成する必要がある場合にのみ実行します。既存のクラスタープレイスメントグループを使用する場合は、このステップをスキップし、ステップ 2 と 3 で、そのクラスタープレイスメントグループの ARN を使用します。既存のクラスタープレイスメントグループの ARN を確認する方法の詳細については、「describe-placement-groups」を参照してください。

クラスタープレイスメントグループは、次のいずれかの方法で作成できます。

Console

コンソールを使用してクラスタープレイスメントグループを作成するには

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

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

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

  4. [Placement strategy] (プレイスメント戦略) で、[Cluster] (クラスター) を選択します。

  5. [Create group] (グループの作成) を選択します。

  6. 作成したクラスタープレイスメントグループの ARN を検索します。

    $ aws ec2 describe-placement-groups --group-names placement_group_name

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

AWS CLI

AWS CLI を使用してクラスタープレイスメントグループを作成するには

create-placement-group コマンドを使用します。--group-name でプレイスメントグループのわかりやすい名前を指定し、--strategycluster を指定します。

次の例では、cluster プレイスメント戦略を使用する、MyPG という名前のプレイスメントグループを作成します。

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

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

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

キャパシティ予約を作成するのと同じ方法で、クラスタープレイスメントグループでキャパシティ予約を作成します。ただし、キャパシティ予約を作成するクラスタープレイスメントグループの ARN も指定する必要があります。詳細については、キャパシティーの予約 の作成 を参照してください。

考慮事項

  • 指定したクラスタープレイスメントグループは available 状態になっている必要があります。クラスタープレイスメントグループが pendingdeleting、または deleted 状態になっていると、リクエストは失敗します。

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

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

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

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

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

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

次のいずれかの方法で、クラスタープレイスメントグループでキャパシティ予約を作成できます。

Console

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

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

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

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

  4. [Placement group ARN] (プレイスメントグループ ARN) で、キャパシティ予約が作成されるクラスタープレイスメントグループの ARN を指定します。

  5. [Create] を選択します。

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

AWS CLI

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

create-capacity-reservation コマンドを使用します。--placement-group-arn で、キャパシティ予約が作成されるクラスタープレイスメントグループの ARN を指定します。

$ aws ec2 create-capacity-reservation \ --instance-type instance_type \ --instance-platform platform \ --availability-zone az \ --instance-count quantity \ --placement-group-arn placement_group_ARN

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

ステップ 3: クラスタープレイスメントグループでインスタンスを起動する

キャパシティ予約でインスタンスを起動するのと同じ方法で、クラスタープレイスメントグループのキャパシティ予約でインスタンスを起動します。ただし、インスタンスを起動するクラスタープレイスメントグループの ARN も指定する必要があります。詳細については、キャパシティーの予約 の作成 を参照してください。

考慮事項

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

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

  • キャパシティ予約がキャパシティ予約グループに含まれる場合は、リクエストでクラスタープレイスメントグループに加えてターゲットキャパシティ予約グループを指定する必要があります。詳細については、キャパシティーの予約 グループの操作 を参照してください。

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

Console

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

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

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

  3. [Configure Instance Details] (インスタンスの詳細設定) ページの内容を完了します。

    1. [Placement group] (プレイスメントグループ) で、[Add instance to placement group] (プレイスメントグループにインスタンスを追加) を選択して [Add to existing placement group] (既存のプレイスメントグループに追加) を選択し、インスタンスを起動するクラスタープレイスメントグループを選択します。

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

      • [Open] (開く) — 一致する属性と十分な容量を持つ、クラスタープレイスメントグループの open キャパシティ予約でインスタンスを起動します。

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

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

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

詳細については、既存の キャパシティーの予約 へのインスタンスの起動 を参照してください。

AWS CLI

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

run-instances コマンドを使用します。特定のキャパシティ予約またはキャパシティ予約グループをターゲットにする必要がある場合は、--capacity-reservation-specification パラメータを指定します。--placement で、GroupName パラメータを指定し、前のステップで作成したプレイスメントグループの名前を指定します。

次のコマンドでは、クラスタープレイスメントグループの targeted キャパシティ予約でインスタンスが起動されます。

$ aws ec2 run-instances \ --image-id ami_id \ --count quantity \ --instance-type instance_type \ --key-name key_pair_name \ --subnet-id subnetid \ --capacity-reservation-specification CapacityReservationTarget={CapacityReservationId=capacity_reservation_id} \ --placement "GroupName=cluster_placement_group_name"

詳細については、既存の キャパシティーの予約 へのインスタンスの起動 を参照してください。