執行個體置放 - AWS Outposts 高可用性設計和架構考量

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

執行個體置放

Outpost 運算主機的數量有限。如果您的應用程式在 Outposts 上部署多個相關執行個體;無需其他組態,執行個體可以部署在相同主機或相同機架的主機上。目前,您可以使用三種機制來分發執行個體,以降低在相同基礎設施上執行相關執行個體的風險:

Multi-Outpost 部署 – 類似於 區域中的多可用區域策略,您可以部署 Outpost 來分隔資料中心,並將應用程式資源部署到特定的 Outpost。這可讓您在所需的 Outpost (一組邏輯機架) 上執行執行個體。使用直接 VPC 路由跨多個 Outpost 進行內部 VPC 通訊是另一種策略,可用於使用 Outpost 本機閘道 (LGW) 在 Outpost 上的子網路之間建立路由,將工作負載分散到相同 VPC 內的多個 Outpost。可以使用多 Outpost 策略來防止機架和資料中心故障模式,如果 Outpost 錨定到不同的 AZs 或區域, 也可以提供對 AZ 或區域故障模式的保護。如需多輸出站架構的詳細資訊,請參閱較大的故障模式

Outposts 上的 Amazon EC2 置放群組 (單一-Outpost 多機架執行個體置放) – 您可以在帳戶中建立的 Outpost 置放群組。這樣,您就可以在站點上的 Outpost 中跨基礎硬體分散執行個體。在 Outpost 中建立具有分散策略的置放群組時,可以選擇讓置放群組在主機層級或是機架層級分散執行個體。

分散置放群組提供一種簡單的方式,將單一執行個體分散到機架或主機,以減少相關故障的可能性。您只能將與 Outpost 中主機數量相同的執行個體部署到 群組。

圖表顯示具有三個機架的 Outpost 上的 EC2 分散置放群組

具有三個機架的 Outpost 上的 EC2 分散置放群組

您也可以使用分割區置放群組將執行個體分散到多個機架。使用自動分佈將執行個體分散到群組中的分割區,或將執行個體部署到選取的目標分割區。將執行個體部署到目標分割區可讓您將選取的資源部署到相同的機架,同時將其他資源分散到機架。例如,如果您有邏輯 Outpost 具有三個機架,則建立具有三個分割區的分割區置放群組可讓您將資源分散到整個機架。

圖表顯示具有三個機架的 Outpost 上的 EC2 分割區置放群組

Outpost 上具有三個機架的 EC2 分割區置放群組

創意伺服器槽 – 如果您有單一機架 Outpost 或您在 Outposts 上使用的服務不支援置放群組,則您可以使用創意槽,以確保執行個體不會部署在相同的實體伺服器上。如果相關執行個體是相同的 EC2 執行個體大小,則您可能可以槽化伺服器,以限制每個伺服器上設定的該大小的槽數 – 將槽分散到伺服器上。伺服器槽化會限制可在單一伺服器上執行的執行個體數量 (該大小)。

例如,請考慮先前圖 13 中顯示的槽配置。如果您的應用程式需要部署三個m5.4xlarge執行個體到使用此槽配置設定的 Outpost,EC2 會將每個執行個體放在個別的伺服器上,而且這些執行個體不可能在相同的伺服器上執行,只要槽組態不會變更為在伺服器上開啟其他m5.4xlarge插槽。

  • Outpost 上使用 Amazon EC2 置放群組,以控制執行個體在單一邏輯 Outpost 中跨機架置放。

  • 與其訂購具有單一中型或大型 Outpost 機架的 Outpost,請考慮將容量分割為兩個小型或中型機架,以讓您利用 EC2 置放群組在機架之間分配執行個體的能力。

  • Outposts 上的 Amazon EC2 Placement 群組可用來影響 EKS 節點群組、EKS Local Cluster 控制平面節點和 ECS 任務的位置。

  • 使用內部 VPC 通訊將工作負載分散到相同 VPC 內的多個 Outpost。