使用 容量預留 群組 - Amazon Elastic Compute Cloud

使用 容量預留 群組

您可以使用 AWS Resource Groups 建立容量預留的邏輯集合,稱為資源群組。資源群組是所有位於相同 AWS 區域的 AWS 資源邏輯群組。如需資源群組的詳細資訊,請參閱 AWS Resource Groups 使用者指南中的什麼是資源群組?

您可以在單一資源群組中包含多個具有不同屬性的 容量預留 (執行個體類型、平台和可用區域)。

當您為 容量預留 建立資源群組時,您可以將執行個體鎖定為 容量預留 群組,而非個別的 容量預留。目標鎖定在具有相符屬性 (執行個體類型、平台和可用區域) 和可用容量之群組中,任何與 容量預留 相符之 容量預留 群組的執行個體。如果群組沒有具有相符屬性和可用容量的,則執行個體 容量預留 會使用隨需容量執行。如果稍後階段將相符的 容量預留 新增至目標群組,則執行個體會自動比對並移入其預留容量。

若要避免在群組中意外使用 容量預留,請將群組中的 容量預留 設定為僅接受明確以容量保留為目標的執行個體。若要這樣做,請在使用 Amazon EC2 主控台建立 容量預留 時,將執行個體資格設定為已鎖定目標 (舊主控台) 或僅指定此保留的執行個體 (新主控台)。使用 AWS CLI 時,請在建立容量保留時指定 --instance-match-criteria targeted。這樣做可確保只有明確鎖定目標群組或群組中的 容量預留 執行個體才能在群組中執行。

如果群組中的 容量預留 在其有執行中的執行個體時被取消或過期,則這些執行個體會自動移至群組中具有相符屬性和可用容量的另一個 容量預留。如果群組中剩餘的 容量預留 沒有相符的屬性和可用容量,則執行個體會以隨需容量執行。如果稍後階段將相符的 容量預留 新增至目標群組,則執行個體會自動移至其預留容量中。

為您的 容量預留 建立群組

使用 create-group AWS CLI 指令。在 name 提供群組的描述性名稱,並在 configuration 指定兩個 Type 請求參數:

  • AWS::EC2::CapacityReservationPool 可確保將資源群組鎖定為執行個體啟動的目標

  • AWS::ResourceGroups::Genericallowed-resource-types 設為 AWS::EC2::CapacityReservation 確保資源群組僅接受「容量預留」

例如,以下命令會建立名為 MyCRGroup 的群組。

C:\> 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,請使用 describe-capacity-reservations AWS CLI 命令並指定容量預留的 ID。

例如,下列命令會在名為 MyCRGroup 的群組中新增兩個 容量預留。

C:\> 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 的群組列出 容量預留。

C:\> 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 的群組。

C:\> 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" } ] }

檢視已新增特定容量預留的群組 (主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 容量預留,選取要檢視的 容量預留,然後選擇檢視

    已新增 容量預留 的群組會列在群組卡片中。

從群組中移除 容量預留

使用 ungroup-resources AWS CLI 命令。在 group 指定要從中移除 容量預留 的群組 ARN,並在 resources 指定要移除的 容量預留 的 ARN。若要移除多個 容量預留,請使用空格分隔 ARN。

下列範例會從名為 MyCRGroup 的群組中移除兩個 容量預留。

C:\> 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 的檔案。

C:\> aws resource-groups delete-group --group MyCRGroup

下面顯示了範例輸出。

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