キャパシティーの予約 グループの操作
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::Generic
でallowed-resource-types
をAWS::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-arnsarn: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"
}
]
}
注記
コマンド出力には、自身が所有するキャパシティ予約と共有を受けているキャパシティ予約が含まれます。
キャパシティ予約が属するグループを表示する
グループからキャパシティ予約を削除する
グループから キャパシティーの予約 を削除するには
ungroup-resources AWS CLI コマンドを使用します。group
には、キャパシティーの予約 を削除するグループの ARN を指定し、resources
には、削除する キャパシティーの予約 の ARN を指定します。複数の キャパシティーの予約 を削除するには、ARN をスペースで区切ります。
次の例では、MyCRGroup
という名前のグループから 2 つの キャパシティーの予約 を削除します。
aws resource-groups ungroup-resources --group
MyCRGroup
--resource-arnsarn: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"
}
}