叢集置放群組中的容量保留 - 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. https://console.aws.amazon.com/ec2/ 開啟 Amazon 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,因為下一個步驟會需要此 ARN。

AWS CLI

使用 AWS CLI 建立叢集置放群組

使用 create-placement-group 命令。對於 --group-name,指定置放群組的描述性名稱,然後為 --strategy 指定 cluster

下列範例會建立一個名為 MyPG 且使用 cluster 置放策略的置放群組。

C:\> aws ec2 create-placement-group \ --group-name MyPG \ --strategy cluster

記下命令輸出中傳回的置放群組 ARN,因為下一個步驟會需要此 ARN。

步驟 2:在叢集置放群組中建立容量保留

在叢集置放群組中建立容量保留的方式與建立任何容量保留的方式相同。但是,您還必須指定要在其中建立容量保留的叢集置放群組的 ARN。如需詳細資訊,請參閱 建立 容量預留

考量

  • 指定的叢集置放群組必須處於 available 狀態。如果叢集置放群組處於 pendingdeletingdeleted 狀態,請求將失敗。

  • 容量保留和叢集置放群組必須位於相同的可用區域中。如果建立容量保留請求指定的可用區域不同於叢集置放群組的可用區域,則請求將失敗。

  • 您只能為叢集置放群組支援的執行個體類型建立容量保留。若您指定不支援的執行個體類型,請求就會失敗。如需詳細資訊,請參閱 叢集放置群組的規則與限制

  • 如果您在叢集置放群組中建立 open 容量保留,並且存在具有相符屬性 (置放群組 ARN、執行個體類型、可用區域、平台和租期) 的現有執行中執行個體,這些執行個體就會自動在容量保留中執行。

  • 如果符合以下條件之一,則您建立容量預留的請求可能會失敗:

    • Amazon EC2 沒有足夠的容量可滿足請求。請稍後再試、嘗試其他可用區域,或是嘗試較小的容量。如果您的工作負載因應各種執行個體類型和大小,請嘗試不同的執行個體屬性。

    • 請求的數量超過所選執行個體系列的隨需執行個體限制。請提高執行個體系列的隨需執行個體限制,然後再試一次。如需詳細資訊,請參閱 隨需執行個體 限制

您可以使用下列其中一種方法來在叢集置放群組中建立容量保留。

Console

使用主控台建立容量預留

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

  2. 選擇 容量預留,接著選擇 Create 容量預留 (建立 容量預留)

  3. 在 Create a Capacity Reservation (建立容量保留) 頁面上,根據需要設定執行個體類型、平台、可用區域、租期、數量和結束日期。

  4. 對於 Placement group ARN (置放群組 ARN),指定要在其中建立容量保留的叢集置放群組的 ARN。

  5. 選擇 Create (建立 OpsItem)。

如需詳細資訊,請參閱 建立 容量預留

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"

如需詳細資訊,請參閱 使用現有的 容量預留 啟動執行個體