EC2 Fleet 的屬性型執行個體類型選擇 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

EC2 Fleet 的屬性型執行個體類型選擇

建立 EC2 Fleet 時,您必須指定一或多個執行個體類型,以在機群中設定隨需執行個體和 Spot 執行個體。做為手動指定執行個體類型的替代方式,您可以指定執行個體必須具有的屬性,然後 Amazon EC2 會識別具有這些屬性的所有執行個體類型。這就是所謂的屬性型執行個體類型選項。例如,您可以指定執行個體所需的 vCPU 數目下限和上限,然後 EC2 Fleet 將使用符合這些 vCPU 需求的任何可用執行個體類型來啟動執行個體。

屬性型執行個體類型選擇非常適合可對其使用哪些執行個體類型具有彈性的工作負載和架構,例如執行容器或 Web 機群、處理大數據,以及實作持續整合和部署 (CI/CD) 工具時。

優勢

屬性型執行個體類型選擇具有下列優勢:

  • 輕鬆使用正確的執行個體類型 — 有這麼多可用的執行個體類型,因此尋找適合您工作負載的執行個體類型可能非常耗時。當您指定執行個體類型屬性時,執行個體類型會自動具有工作負載所需的屬性。

  • 簡化的組態 — 若要為 EC2 叢集手動指定多個執行個體類型,您必須為每個執行個體類型建立個別的啟動範本覆寫。但是,有了屬性型執行個體類型選擇,若要提供多個執行個體類型,您只需要在啟動範本或在啟動範本覆寫中指定執行個體屬性。

  • 自動使用新的執行個體類型 — 當您指定執行個體屬性而非執行個體類型時,您的叢集可以在發行時使用新一代執行個體類型,即「future 校對」叢集的配置。

  • 執行個體類型彈性 — 當您指定執行個體屬性而非執行個體類型時,EC2 Fleet 可以從各種執行個體類型中選取以啟動 Spot 執行個體,這遵循 Spot 執行個體類型彈性的最佳實務

屬性型執行個體類型選擇的運作方式

若要在機群組態中使用屬性型執行個體類型選擇,請將執行個體類型清單取代為執行個體所需的執行個體屬性清單。EC2 Fleet 將在具有所指定執行個體屬性的任何可用執行個體類型上啟動執行個體。

執行個體屬性的類型

您可以指定數個執行個體屬性來表示運算需求,例如:

  • vCPU 計數 — 每個執行個體的 vCPUs 數目下限和上限。

  • 記憶體 — 每個執行個體 GiBs的記憶體下限和最大記憶體。

  • 本機儲存區 — 是否使用 EBS 或執行個體儲存磁碟區作為本機儲存區。

  • 高載效能 — 是否使用 T 執行個體系列,包括 T4G、T3A、T3 和 T2 類型。

如需每個屬性和預設值的說明,請參閱 Amazon EC2 API 參考InstanceRequirements中的。

要在何處設定屬性型執行個體類型選擇

根據您使用的是主控台還是 AWS CLI,您可以指定以屬性為基礎之執行個體類型選取的執行個體屬性,如下所示:

在主控台中,您可以在下列機群組態元件中指定執行個體屬性:

  • 在啟動範本中,則參考機群請求中的啟動範本

在中 AWS CLI,您可以在下列一或所有叢集組態元件中指定執行個體屬性:

  • 在啟動範本中,則參考機群請求中的啟動範本

  • 在啟動範本覆寫中

    如果想要混合使用不同 AMI 的執行個體,您可以在多個啟動範本覆寫中指定執行個體屬性。例如,不同的執行個體類型可以使用 x86 和 ARM 型處理器。

  • 在啟動規格中

EC2 Fleet 在佈建機群時如何使用屬性型執行個體類型選擇

EC2 Fleet 以下列方式佈建機群:

  • EC2 Fleet 可識別具有所指定屬性的執行個體類型。

  • EC2 Fleet 會使用價格保護來決定要排除哪些執行個體類型。

  • EC2 叢集會根據具有相符執行個體類型的區域或可用區域,決定 AWS 要考慮從中啟動執行個體的容量集區。

  • EC2 Fleet 會套用指定的分配策略,以決定要從哪些容量集區中啟動執行個體。

    請注意,屬性型執行個體類型選擇不會挑選要從中佈建機群的容量集區;這是分配策略的任務。可能有大量的執行個體類型具有指定的屬性,而其中一些可能很昂貴。Spot 和隨需的 lowest-price 預設分配策略保證 EC2 Fleet 將從最便宜的容量集區中啟動執行個體。

    如果您指定分配策略,EC2 Fleet 將根據指定的分配策略啟動執行個體。

    • 若為 Spot 執行個體,屬性型執行個體類型選擇支援 price-capacity-optimizedcapacity-optimizedlowest-price 分配策略。

    • 若為隨需執行個體,屬性型執行個體類型選擇支援 lowest-price 分配策略。

  • 如果具有所指定執行個體屬性的執行個體類型沒有容量,則無法啟動任何執行個體,而且機群會傳回錯誤。

價格保護

價格保護是一項功能,可防止 EC2 Fleet 使用您認為過於昂貴的執行個體類型,即使它們剛好符合您指定的屬性也一樣。要使用價格保護,請設置價格閾值。然後,當 Amazon EC2 選取具有屬性的執行個體類型時,就會排除定價高於閾值的執行個體類型。

Amazon EC2 計算價格閾值的方式如下:

  • Amazon EC2 會先從符合屬性的執行個體類型中識別出價格最低的執行個體類型。

  • 然後,Amazon EC2 會採用您為價格保護參數指定的值 (以百分比表示),並將其與已識別執行個體類型的價格相乘。結果是用作價格閾值的價格。

隨需執行個體和 Spot 執行個體有不同的價格門檻。

當您使用以屬性為基礎的執行個體類型選項建立叢集時,預設會啟用價格保護。您可以保留預設值,也可以指定自己的值。

您也可以關閉價格保護。若要指出沒有價格保護閾值,請指定較高的百分比值,例如999999

如何識別最低價執行個體類型

Amazon EC2 透過識別與指定屬性相符的執行個體類型中最低價格的執行個體類型,來決定要依據價格閾值的價格。它通過以下方式執行此操作:

  • 它首先查看與您的屬性匹配的當前一代 C,M 或 R 實例類型。如果找到任何相符項目,就會識別價格最低的執行個體類型。

  • 如果沒有相符項目,則會查看符合您屬性的任何目前產生的執行個體類型。如果找到任何相符項目,就會識別價格最低的執行個體類型。

  • 如果沒有相符項目,就會查看符合屬性的任何上一代執行個體類型,並識別價格最低的執行個體類型。

隨需執行個體價格保

隨需執行個體類型的價格保護閾值是以比識別的最低價隨需執行個體類型 (OnDemandMaxPricePercentageOverLowestPrice) 高的百分比來計算。您可以指定您願意支付的更高百分比。如果您未指定此參數,則系統會使用預設值來計算比識別價格高出 20% 的價格保護閾值。20

例如,如果識別的隨需執行個體價格為且您指定25,則價格閾值會高出 25% 0.42710.4271它的計算方式如下:0.4271 * 1.25 = 0.533875. 計算的價格是您願意為隨需執行個體支付的最高價格,在此範例中,Amazon EC2 將排除任何成本超過的隨需執行個體類型0.533875

競價型實例價格保護

根據預設,Amazon EC2 會自動套用最佳競價型執行個體價格保護,以持續從各種執行個體類型中進行選取。您也可以自行手動設定價格保護。但是,讓 Amazon EC2 為您執行此操作可以提高 Spot 容量滿足的可能性。

您可以使用下列其中一個選項手動指定價格保護。如果您手動設定價格保護,建議您使用第一個選項。

  • 已識別最低價格隨需執行個體類型的百分比 [MaxSpotPriceAsPercentageOfOptimalOnDemandPrice]

    例如,如果識別的隨需執行個體類型價格為且您指定60,則價格閾值為 60% 0.42710.4271它的計算方式如下:0.4271 * 0.60 = 0.25626. 計算的價格是您願意為競價型執行個體支付的最高價格,在此範例中,Amazon EC2 將排除任何成本超過的競價型執行個體類型0.25626

  • 高於識別的最低價 Spot 執行個體類型的百分比 [SpotMaxPricePercentageOverLowestPrice]

    例如,如果識別的競價型執行個體類型價格為且您指定25,則價格閾值將高出 25% 0.18080.1808它的計算方式如下:0.1808 * 1.25 = 0.226. 計算的價格是您願意為競價型執行個體支付的最高價格,在此範例中,Amazon EC2 將排除任何成本超過的競價型執行個體類型0.266。我們不建議使用此參數,因為現貨價格可能會波動,因此您的價格保護閾值也可能會波動。

指定價格保護閾值

如要指定價格保護閾值

在建立 EC2 機群時,為屬性型執行個體類型選擇設定機群,然後執行下列作業:

  • 如要指定隨需執行個體價格保護閾值,請於 JSON 組態檔案的 InstanceRequirements 結構中,對於 OnDemandMaxPricePercentageOverLowestPrice,以百分比形式輸入價格保護閾值。

  • 若要指定競價型執行個體價格保護閾值,請在 JSON 設定檔的InstanceRequirements結構中,指定下列其中一個參數:

    • 對於MaxSpotPriceAsPercentageOfOptimalOnDemandPrice,以百分比輸入價格保護閾值。

    • 對於SpotMaxPricePercentageOverLowestPrice,以百分比輸入價格保護閾值。

如需有關建立機群的詳細資訊,請參閱 建立具有屬性型執行個體類型選擇的 EC2 Fleet

注意

建立 EC2 機群時,若您將 TargetCapacityUnitType 設定為 vcpumemory-mib,則價格保護閾值會根據每個 vCPU 或每個記憶體的價格進行套用,而非每個執行個體的價格。

考量事項

  • 您可以在 EC2 Fleet 中指定執行個體類型或執行個體屬性,但不能同時指定兩者。

    使用 CLI 時,啟動範本覆寫將覆寫啟動範本。例如,如果啟動範本包含執行個體類型,且啟動範本覆寫包含執行個體屬性,則執行個體屬性所識別的執行個體將覆寫啟動範本中的執行個體類型。

  • 使用 CLI 時,若將執行個體屬性指定為覆寫,您也無法指定權重或優先順序。

  • 您最多可以在請求組態中指定四個 InstanceRequirements 結構。

建立具有屬性型執行個體類型選擇的 EC2 Fleet

您可以使用 AWS CLI,將機群設定為使用屬性型執行個體類型選擇。

若要建立具有屬性型執行個體類型選取的 EC2 機群 (AWS CLI)

使用 create-fleet (AWS CLI) 命令建立 EC2 Fleet。指定 JSON 檔案中的機群組態。

aws ec2 create-fleet \ --region us-east-1 \ --cli-input-json file://file_name.json

範例 file_name.json 檔案

下列範例包含將 EC2 機群設定為使用屬性型執行個體類型選取的參數,其後是文字說明。

{ "SpotOptions": { "AllocationStrategy": "price-capacity-optimized" }, "LaunchTemplateConfigs": [{ "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [{ "InstanceRequirements": { "VCpuCount": { "Min": 2 }, "MemoryMiB": { "Min": 4 } } }] }], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }

屬性型執行個體類型選取的屬性在 InstanceRequirements 結構中予以指定。在此範例中,會指定兩個屬性:

  • VCpuCount – 至少指定 2 個 vCPU。由於未指定最大值,因此沒有最大限制。

  • MemoryMiB – 至少指定 4 MiB 的記憶體。由於未指定最大值,因此沒有最大限制。

將會識別任何具有 2 個或更多 vCPU 和 4 MiB 或更多記憶體的執行個體類型。但是,當 EC2 機群佈建機群時,價格保護和分配策略可能會排除某些執行個體類型。

如需可指定之所有可能屬性的清單和說明,請參閱 Amazon EC2 API 參考InstanceRequirements中的。

注意

InstanceRequirements 併入機群組態中時,必須排除 InstanceTypeWeightedCapacity;它們無法與執行個體屬性同時決定機群組態。

JSON 也包含下列機群組態:

  • "AllocationStrategy": "price-capacity-optimized" – 機群中 Spot 執行個體的分配策略。

  • "LaunchTemplateName": "my-launch-template", "Version": "1" – 啟動範本包含一些執行個體組態資訊,但如果指定了任何執行個體類型,則會由 InstanceRequirements 中指定的屬性進行覆寫。

  • "TotalTargetCapacity": 20 – 目標容量為 20 個執行個體。

  • "DefaultTargetCapacityType": "spot" – 預設容量為 Spot 執行個體。

  • "Type": "instant" – 機群的要求類型為 instant

有效和無效的組態範例

如果您使 AWS CLI 用建立 EC2 叢集,則必須確定叢集組態有效。下列範例顯示有效和無效的組態。

當組態包含下列項目時,視為無效:

  • 同時具有 OverridesInstanceRequirements 的單一 InstanceType

  • 兩個 Overrides 結構, 一個具有 InstanceRequirements,而另一個具有 InstanceType

  • 兩個在同一 InstanceRequirements 內具有重疊屬性值的 LaunchTemplateSpecification 結構

有效組態:具有覆寫的單一啟動範本

下列組態有效。其包含一個啟動範本和一個 Overrides 結構 (其中包含一個 InstanceRequirements 結構)。範例組態的文字說明如下。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "My-launch-template", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 2, "Max": 8 }, "MemoryMib": { "Min": 0, "Max": 10240 }, "MemoryGiBPerVCpu": { "Max": 10000 }, "RequireHibernateSupport": true } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 5000, "DefaultTargetCapacityType": "spot", "TargetCapacityUnitType": "vcpu" } } }
InstanceRequirements

若要使用屬性型執行個體選擇,您必須在組態中包含 InstanceRequirements 結構,並為機群中的執行個體指定所需的屬性。

在上述範例中,指定了下列執行個體屬性:

  • VCpuCount – 執行個體類型必須具有最少 2 個,最多 8 個的 vCPU。

  • MemoryMiB – 執行個體類型必須具有最多 10240 MiB 的記憶體。最小值若為 0,表示沒有最小限制。

  • MemoryGiBPerVCpu – 執行個體類型必須具有每個 vCPU 最多 10,000 MiB 的記憶體。Min 為選用參數。若省略它,表示沒有最小限制。

TargetCapacityUnitType

TargetCapacityUnitType 參數會指定目標容量的單位。在範例中,目標容量為 5000,而目標容量單位類型為 vcpu,它們一起指定了所需的目標容量,即 5,000 個 vCPU。EC2 Fleet 將啟動足夠的執行個體,以便機群中的 vCPU 總數為 5,000 個 vCPU。

有效組態:具有多個的單一啟動範本 InstanceRequirements

下列組態有效。其包含一個啟動範本和一個 Overrides 結構 (其中包含兩個 InstanceRequirements 結構)。InstanceRequirements 中指定的屬性是有效的,因為這些值不重疊—第一個 InstanceRequirements 結構會指定 0-2 個 vCPU 的VCpuCount,而第二個 InstanceRequirements 結構則會指定 4-8 個 vCPU。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } }, { "InstanceRequirements": { "VCpuCount": { "Min": 4, "Max": 8 }, "MemoryMiB": { "Min": 0 } } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } } }

有效組態:兩個啟動範本,每個都具有覆寫

下列組態有效。其包含兩個啟動範本,每個都具有一個 Overrides 結構 (其中包含一個 InstanceRequirements 結構)。這個組態有助於同一個機群中的 armx86 架構支援。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "armLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } }, { "LaunchTemplateSpecification": { "LaunchTemplateName": "x86LaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } } }

有效組態:僅限指定的 InstanceRequirements,沒有重疊的屬性值

下列組態有效。其包含兩個 LaunchTemplateSpecification 結構,每個都有一個啟動範本和一個 Overrides 結構 (其中包含一個 InstanceRequirements 結構)。InstanceRequirements 中指定的屬性是有效的,因為這些值不重疊—第一個 InstanceRequirements 結構會指定 0-2 個 vCPU 的VCpuCount,而第二個 InstanceRequirements 結構則會指定 4-8 個 vCPU。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } } ] }, { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyOtherLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 4, "Max": 8 }, "MemoryMiB": { "Min": 0 } } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } } }

組態無效:Overrides 包含 InstanceRequirementsInstanceType

下列組態無效。Overrides 結構同時包含 InstanceRequirementsInstanceType。針對 Overrides,您可以指定 InstanceRequirementsInstanceType,但不能同時指定兩者。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } }, { "InstanceType": "m5.large" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } } }

組態無效:兩個 Overrides 包含 InstanceRequirementsInstanceType

下列組態無效。Overrides 結構同時包含 InstanceRequirementsInstanceType。您可以指定 InstanceRequirementsInstanceType,但不能同時指定兩者,即使它們處於不同的 Overrides 結構也一樣。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } } ] }, { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyOtherLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceType": "m5.large" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } } }

組態無效:重疊屬性值

下列組態無效。兩個 InstanceRequirements 結構每個都包含 "VCpuCount": {"Min": 0, "Max": 2}。這些屬性的值重疊,這會導致容量集區重複。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } }, { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } } }

預覽具有所指定屬性的執行個體類型

您可以使用 get-instance-types-from-instance-要求 AWS CLI 指令來預覽符合您指定屬性的執行個體類型。這特別有助於解決在不啟動任何執行個體的情況下要在請求組態中指定哪些屬性。請注意,該命令不會考慮可用容量。

透過使用指定屬性來預覽例證類型清單 AWS CLI
  1. (選擇性) 若要產生所有可指定的可能屬性,請使用 get-instance-types-from-instance-需求指令和參數。--generate-cli-skeleton您可以選擇性地將輸出導向至檔案來儲存它,方法是使用 input > attributes.json

    aws ec2 get-instance-types-from-instance-requirements \ --region us-east-1 \ --generate-cli-skeleton input > attributes.json

    預期的輸出結果

    { "DryRun": true, "ArchitectureTypes": [ "i386" ], "VirtualizationTypes": [ "hvm" ], "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 0 }, "MemoryMiB": { "Min": 0, "Max": 0 }, "CpuManufacturers": [ "intel" ], "MemoryGiBPerVCpu": { "Min": 0.0, "Max": 0.0 }, "ExcludedInstanceTypes": [ "" ], "InstanceGenerations": [ "current" ], "SpotMaxPricePercentageOverLowestPrice": 0, "OnDemandMaxPricePercentageOverLowestPrice": 0, "BareMetal": "included", "BurstablePerformance": "included", "RequireHibernateSupport": true, "NetworkInterfaceCount": { "Min": 0, "Max": 0 }, "LocalStorage": "included", "LocalStorageTypes": [ "hdd" ], "TotalLocalStorageGB": { "Min": 0.0, "Max": 0.0 }, "BaselineEbsBandwidthMbps": { "Min": 0, "Max": 0 }, "AcceleratorTypes": [ "gpu" ], "AcceleratorCount": { "Min": 0, "Max": 0 }, "AcceleratorManufacturers": [ "nvidia" ], "AcceleratorNames": [ "a100" ], "AcceleratorTotalMemoryMiB": { "Min": 0, "Max": 0 }, "NetworkBandwidthGbps": { "Min": 0.0, "Max": 0.0 }, "AllowedInstanceTypes": [ "" ] }, "MaxResults": 0, "NextToken": "" }
  2. 使用上一個步驟的輸出來建立 JSON 組態檔,並將其設定如下:

    注意

    您必須提供 ArchitectureTypesVirtualizationTypesVCpuCountMemoryMiB 的值。您可以省略其他屬性;省略時,就會使用預設值。

    如需每個屬性及其預設值的說明,請參閱 Amazon EC2 命令列參考中的 get-instance-types-from-執行個體需求

    1. 針對 ArchitectureTypes,指定一或多種類型的處理器架構。

    2. 針對 VirtualizationTypes,指定一或多種類型的虛擬化。

    3. 針對 VCpuCount,指定 vCPU 數目下限和上限。若要指定沒有下限,請針對 Min,指定 0。若要指定沒有上限,請省略 Max 參數。

    4. 針對 MemoryMiB,指定記憶體的數量下限和上限 (以 MiB 為單位)。若要指定沒有下限,請針對 Min,指定 0。若要指定沒有上限,請省略 Max 參數。

    5. 您可以選擇性地指定一或多個其他屬性,以進一步限制傳回的執行個體類型清單。

  3. 若要預覽具有您在 JSON 檔案中指定之屬性的執行個體類型,請使用 get-instance-types-from-instance 要求命令,並使用參數指定 JSON 檔案的名稱和路徑。--cli-input-json您可以選擇性地格式化要以表格格式出現的輸出。

    aws ec2 get-instance-types-from-instance-requirements \ --cli-input-json file://attributes.json \ --output table

    範例 attributes.json 文件

    在此範例中,JSON 檔案中包含必要的屬性。它們是 ArchitectureTypesVirtualizationTypesVCpuCountMemoryMiB。此外,選用 InstanceGenerations 屬性也包含在內。請注意,對於 MemoryMiB,可以省略 Max,以表示沒有限制。

    { "ArchitectureTypes": [ "x86_64" ], "VirtualizationTypes": [ "hvm" ], "InstanceRequirements": { "VCpuCount": { "Min": 4, "Max": 6 }, "MemoryMiB": { "Min": 2048 }, "InstanceGenerations": [ "current" ] } }

    範例輸出

    ------------------------------------------ |GetInstanceTypesFromInstanceRequirements| +----------------------------------------+ || InstanceTypes || |+--------------------------------------+| || InstanceType || |+--------------------------------------+| || c4.xlarge || || c5.xlarge || || c5a.xlarge || || c5ad.xlarge || || c5d.xlarge || || c5n.xlarge || || d2.xlarge || ...
  4. 在識別符合您需求的執行個體類型之後,請記下您使用的執行個體屬性,以便在設定機群請求時可以使用它們。