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

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

AWS Resource Groups を使用して、Resource Groupsと呼ばれるキャパシティー予約の論理コレクションを作成できます。リソースグループは、すべて同じ AWS リージョンにある AWS リソースの論理的なグループです。リソースグループの詳細については、『AWS Resource Groups ユーザーガイド』の「 リソースグループとは」を参照してください。

自分のアカウントで所有するキャパシティ予約および他の AWS アカウントから共有を受けているキャパシティ予約は、1 つのリソースグループに含めることができます。また、異なる属性 (インスタンスタイプ、プラットフォーム、アベイラビリティーゾーン) を持つキャパシティ予約も 1 つのリソースグループに含めることができます。

キャパシティ予約のリソースグループを作成すると、個別のキャパシティ予約ではなく、キャパシティ予約のグループをインスタンスのターゲットにできます。キャパシティーの予約 のグループをターゲットとするインスタンスは、属性 (インスタンスタイプ、プラットフォーム、アベイラビリティーゾーン) と使用可能な容量を持つグループ内の キャパシティーの予約 と一致します。一致する属性と使用可能な容量を持つ キャパシティーの予約 がグループにない場合、インスタンスはオンデマンド型キャパシティーを使用して実行されます。一致する キャパシティーの予約 が後の段階でターゲットグループに追加されると、インスタンスは自動的にマッチングされ、リザーブドキャパシティーに移動されます。

グループで キャパシティーの予約 の意図しない使用を防ぐには、キャパシティー予約を明示的にターゲットとするインスタンスだけを受け入れるように、グループの キャパシティーの予約 を設定します。これを行うには、Amazon EC2 コンソールを使用して キャパシティーの予約 を作成するときに、[Instance eligibility (インスタンスの適格性)] を [targeted (ターゲット)] (古いコンソール) または [Only instances that specify this reservation (この予約を指定するインスタンスのみ)] (新しいコンソール) に設定します。AWS CLI を使用する場合は、キャパシティ予約の作成時に --instance-match-criteria targeted を指定します。これにより、グループまたはグループ内の キャパシティーの予約 を明示的にターゲットとするインスタンスのみが、グループ内で実行できるようになります。

実行中のインスタンスがある間にグループの キャパシティーの予約 がキャンセルまたは期限切れになった場合、インスタンスは、一致する属性と使用可能な容量を持つグループ内の別の キャパシティーの予約 に自動的に移動されます。一致する属性と使用可能な容量を持つ キャパシティーの予約 がグループに残っていない場合、インスタンスはオンデマンド型キャパシティーで実行されます。一致する キャパシティーの予約 が後の段階でターゲットグループに追加されると、インスタンスは自動的にリザーブドキャパシティーに移動されます。

キャパシティ予約グループを作成する

キャパシティ予約のグループを作成するには

create-group AWS CLI コマンドを使用します。name で、グループのわかりやすい名前を指定し、configuration で、次の 2 つの Type リクエストパラメータを指定します。

  • AWS::EC2::CapacityReservationPool を指定して、リソースグループがインスタンス起動の対象となるようにします。

  • AWS::ResourceGroups::Genericallowed-resource-typesAWS::EC2::CapacityReservation に設定して、リソースグループがキャパシティー予約のみを受け入れるようにします。

例えば、次のコマンドは、MyCRGroup という名前のグループを作成します。

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

出力例を次に示します。

{ "GroupConfiguration": { "Status": "UPDATE_COMPLETE", "Configuration": [ { "Type": "AWS::EC2::CapacityReservationPool" }, { "Type": "AWS::ResourceGroups::Generic", "Parameters": [ { "Values": [ "AWS::EC2::CapacityReservation" ], "Name": "allowed-resource-types" } ] } ] }, "Group": { "GroupArn": "arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup", "Name": "MyCRGroup" } }

キャパシティ予約をグループに追加するには

共有されているキャパシティ予約をグループに追加し、そのキャパシティ予約の共有が解除されると、そのキャパシティ予約はグループから自動的に削除されます。

キャパシティーの予約 をグループに追加するには

group-resources AWS CLI コマンドを使用します。group には、キャパシティーの予約 を追加するグループの名前を指定し、resources には、追加する キャパシティーの予約 の ARN を指定します。複数の キャパシティーの予約 を追加するには、ARN をスペースで区切ります。追加する キャパシティー予約 の ARN を取得するには、AWS CLI の describe-capacity-reservations コマンドを使用して、キャパシティー予約 の ID を指定します。

例えば、次のコマンドは、MyCRGroup という名前のグループに 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

出力例を次に示します。

{ "Failed": [], "Succeeded": [ "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1", "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890" ] }

グループのキャパシティ予約を表示する

特定のグループの キャパシティーの予約 を表示するには

list-group-resources AWS CLI コマンドを使用します。group に、グループの名前を指定します。

例えば、次のコマンドは、MyCRGroup という名前のグループ内の キャパシティーの予約 をリストします。

$ aws resource-groups list-group-resources --group MyCRGroup

出力例を次に示します。

{ "QueryErrors": [], "ResourceIdentifiers": [ { "ResourceType": "AWS::EC2::CapacityReservation", "ResourceArn": "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1" }, { "ResourceType": "AWS::EC2::CapacityReservation", "ResourceArn": "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890" } ] }
注記

コマンド出力には、自身が所有するキャパシティ予約と共有を受けているキャパシティ予約が含まれます。

キャパシティ予約が属するグループを表示する

AWS CLI
特定のキャパシティ予約が追加されたグループを表示するには

get-groups-for-capacity-reservation AWS CLI コマンドを使用します。

例えば、次のコマンドは、キャパシティーの予約 cr-1234567890abcdef1 が追加されたグループをリストします。

$ aws ec2 get-groups-for-capacity-reservation --capacity-reservation-id cr-1234567890abcdef1

出力例を次に示します。

{ "CapacityReservationGroups": [ { "OwnerId": "123456789012", "GroupArn": "arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup" } ] }
注記

共有しているキャパシティ予約を指定した場合、コマンドは所有しているキャパシティ予約グループのみを返します。

Amazon EC2 console
特定のキャパシティ予約が追加されたグループを表示するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで [キャパシティーの予約] を選択し、表示する キャパシティーの予約 を選択して、[表示] を選択します。

    キャパシティーの予約 が追加されたグループは、[グループ] カードにリストされます。

注記

共有しているキャパシティ予約を選択した場合、コンソールには所有しているキャパシティ予約グループのみが表示されます。

グループからキャパシティ予約を削除する

グループから キャパシティーの予約 を削除するには

ungroup-resources AWS CLI コマンドを使用します。group には、キャパシティーの予約 を削除するグループの ARN を指定し、resources には、削除する キャパシティーの予約 の ARN を指定します。複数の キャパシティーの予約 を削除するには、ARN をスペースで区切ります。

次の例では、MyCRGroup という名前のグループから 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

出力例を次に示します。

{ "Failed": [], "Succeeded": [ "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-0e154d26a16094dd", "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890" ] }

キャパシティ予約グループを削除する

グループを削除するには

delete-group AWS CLI コマンドを使用します。[group] で、削除するグループの名前を選択します。

例えば、次のコマンドは、MyCRGroup という名前のグループを削除します。

$ aws resource-groups delete-group --group MyCRGroup

出力例を次に示します。

{ "Group": { "GroupArn": "arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup", "Name": "MyCRGroup" } }