選單

本頁面使用了機器翻譯。某些內容可能不盡完善。請告訴我們如何改進。

分享意見

AWS 可用區、區域和放置組詳解

目錄

分享本頁

Aviv Degani
Aviv Degani

企業組織使用的應用程式需要不同的可用性等級和不同的 SLA 目標。應用程式的關鍵性或高要求與其吞吐量、回應速度和故障復原時間的要求成正比。在製定AWS 高可用性最佳實務時,同樣需要考慮這些因素。

根據部署的具體要求,將運算和儲存資源分佈在 AWS 可用區,並結合放置群組,是解決 AWS 高可用性挑戰的一種方法。優化這些選項的組合,再加上 Cloud Volumes ONTAP HA 部署,可以滿足每一層提出的需求。

本文將回顧這些 AWS 高可用性最佳實踐,並介紹單可用區、多可用區和放置群組的用例。我們也將探討 Cloud Volumes ONTAP HA 作為儲存層解決方案所帶來的額外優勢。

本文將涵蓋以下內容:

什麼是 AWS 區域和可用區?

可用區是每個 AWS 區域內的高可用性資料中心。一個區域代表一個獨立的地理區域。每個可用區都擁有獨立的電力、冷卻和網路。當整個可用區發生故障時,AWS 可以將工作負載故障轉移到同一區域內的其他可用區,這種功能稱為「多可用區」冗餘。

AWS Regions

每個 AWS 區域都是隔離的,獨立於其他區域運行,但每個區域內的可用區透過低延遲鏈路連接,以提供複製和容錯能力。如果您將所有資料和執行個體託管在單一可用區中,而該可用區發生故障,則這些資料和執行個體將無法存取。

這種隔離的目的是為了滿足具有高資料主權和合規性要求的工作負載,這些工作負載不允許使用者資料流出特定的地理區域。AWS 可用區的結構具有低延遲和與其他區域的完全隔離,能夠很好地滿足這些工作負載的需求。

查看 AWS 全球基礎架構中所有可用區域的完整清單

AWS 區域對比可用區

在不同區域運作工作負載與在同一區域內的不同可用區運作工作負載之間存在兩個關鍵的運作差異。

地理分佈

AWS 區域和可用區的地理分佈對應用程式的效能和可靠性起著至關重要的作用。

如果將應用程式部署在單一區域的多個可用區中,雖然可以實現一定程度的高可用性和容錯能力,但低於部署在不同區域所提供的效能。如果一個可用區發生故障,應用程式可以在另一個可用區繼續運行,不會中斷。但是,如果整個區域發生故障,應用程式將無法運作。

另一方面,將應用程式部署在多個區域意味著即使整個區域發生故障(這種情況非常罕見),應用程式也可以繼續運行。跨區域部署還具有其他優勢,例如降低全球用戶的延遲和加快災難復原速度。

運算和資料傳輸成本

就成本而言,AWS 資源的位置會產生重大影響。由於本地需求、基礎設施成本和當地稅法等因素,每個 AWS 區域的服務定價都不同。例如,在亞太(孟買)區域運行 EC2 執行個體的成本可能高於在美國東部(維吉尼亞北部)區域運行相同執行個體的成本。但是,在同一區域的不同可用區上運行工作負載的成本通常相同。

此外,資料傳輸成本會因資料傳輸的地點而異,例如在同一區域內、不同區域之間,或區域與公共網路之間。在同一區域內或同一區域內的不同可用區之間傳輸資料通常比跨區域或傳輸到公共網路更便宜。

選擇 AWS 區域時需要考慮的參數

為了獲得最佳結果,在選擇用於託管和部署應用程式的 AWS 區域和可用區之前,需要考慮一些關鍵參數。

以下列表提供了需要考慮的最重要參數:

參數 1:延遲和距離-選擇距離最近的區域以獲得低延遲。
快速連接到伺服器可確保更快的載入和傳輸速度,從而帶來更好的使用者體驗。您可以透過選擇距離大多數客戶群最近的 AWS 區域來實現這一點。雲端與最終用戶之間的距離越短,延遲就越低。例如,如果您的大多數客戶在北美區域存取您的應用程式,那麼選擇美國或加拿大區域的可用區將獲得最佳效果。

AWS 服務的價格因區域而異,價格取決於實體基礎設施成本和稅費等因素。不同區域之間的價格差異可能高達數百美元,因此選擇合適的區域是降低不必要成本的關鍵。您可以使用官方價格計算器來確定哪個區域最符合您的需求。您也可以查看 NetApp 的 AWS 計算器,它可以幫助您計算包含儲存服務成本的總擁有成本 (TCO)。

參數 2:成本-選擇性價比最高的區域。

下表列出了 1TB 資料傳輸在不同區域的價格,供您參考。

data transfer out cost

參數 3:合規性和安全性-保護公司資產

每個國家或聯盟都有不同的合規規範和規則來保護使用者資料。某些區域可能禁止與其他區域之間的資料傳輸。違反此類合規規定可能會導致訴訟,並對您的組織造成嚴重的財務和聲譽損失。此外,如果您提供全球服務,則應考慮使用多個 AWS 區域和可用區,以便為您的客戶提供最快速、最可靠的服務。

參數 4:服務等級協定 (SLA)-選擇合適的參數以獲得更優質的服務。

AWS 服務根據其獨特的可用性和參數提供不同的 SLA。如果您按照 AWS 設計部署應用程式,AWS 將更好地履行 SLA。在選擇區域和可用區時,請將所有其他參數與您的需求一併考慮,以確保它們能夠提供託管和部署應用程式的最佳解決方案。

什麼是多可用區部署?

對於關鍵任務型工作負載(例如企業資料庫-無論託管在 Amazon EC2 執行個體上或 Amazon 原生資料庫服務(例如 Amazon RDS)上),多可用區分佈模型可在整個可用區發生重大故障時提供高可用性。

關鍵生產應用程式即使無法承受適度的停機時間也能從此模型中受益,並且必須將此類一般故障視為現實的可能性。應用程式的上層元件也同樣如此。如果應用程式的所有 Web 服務都託管在單一可用區中,那麼即使底層資料庫採用高可用性多可用區配置,如果 Web 層僅託管在單一可用區中,也無濟於事。

從高可用性的角度來看,在單一可用區部署中,如果可用區發生故障,則所有服務都會停止運行,且復原時間目標會顯著提高。更不用說期間會發生的資料遺失了。

多可用區部署的其他重要優點包括:

  • 備份期間不會出現 I/O 延遲,因為備份是從備用執行個體進行的。
  • 在應用修補程式或執行維護升級時不會中斷 I/O。
  • 使用負載平衡時回應速度更快。如果某個可用區資源緊張,其他可用區中的執行個體可以分擔流量。

當然,並非所有應用程式用例都需要多可用區部署。臨時測試、開發部署或任何非關鍵用例都可以託管在單一可用區中,從而避免運行多可用區帶來的額外成本。甚至有些高強度、極低延遲的用例更適合單可用區模型。

AWS 放置群組

簡而言之,放置群組是 AWS 提供的一種配置選項,可讓您以特定方式將一組相互依賴的執行個體放置在這些執行個體所在的底層硬體上。這些執行個體可以放置得很近、分佈在不同的機架中,或分佈在不同的可用區中。讓我們仔細看看您可以選擇的每種放置群組類型,以及最適合每種分佈選項的工作負載類型:

1.叢集放置群組

叢集放置群組配置允許您將一組相互關聯的執行個體放置在彼此靠近的位置,以實現最佳吞吐量和盡可能低的延遲。此選項僅允許您將執行個體打包在同一可用區內,可以是同一 VPC 內,也可以是位於對等 VPC 之間。

叢集放置群組的優點在於,這些執行個體之間的通訊不僅限於 5 Gbps 的單流流量,而是可以達到 10 Gbps 的單流(點對點)流量,聚合流量最高可達 25 Gbps。高效能運算 (HPC) 網路密集型應用程式是此部署模型的最佳用例。運算工程、即時事件串流、基因組定序、天文模型和地球氣候運算模型都是此類雲端分組用例的範例。

2.分割放置群組

透過分割放置群組,您可以將執行個體分組到不同的邏輯分割區中,這些邏輯分割區構成一個放置群組。這樣做的目的是讓每個邏輯分割區都建置在獨立的硬體機架上,從而避免常見的硬體故障。如果一個機架發生故障,只會影響該邏輯分割區上的執行個體。每個邏輯分割區由多個執行個體組成。分割放置群組選項可讓您將這些分割區放置在單一可用區內,或放置在相同區域內的多可用區設定中。

那麼,哪些類型的負載最適合這種模型呢?需要分散式部署和複製的大數據儲存就是很好的例子。HDFS 或 Cassandra 等大型檔案系統也非常適合。分割放置群組可讓您查看哪些執行個體放置在哪些分割區中,從而使 Hadoop 或 Cassandra 能夠感知拓撲結構並正確配置資料複製。任何需要大數據分析、資料報告或大規模索引的用例也都非常適合分割放置群組。

3.分散放置群組

在分散放置群組中,每個執行個體運行在獨立的實體硬體機架上。因此,如果您部署五個執行個體並將它們放入這種類型的放置群組中,則這五個執行個體中的每一個都將位於不同的機架上,擁有自己的網路存取和電源,無論是在單一可用區內還是在多可用區架構中。

分散放置群組的設定可能與分割放置群組類似,但主要區別在於分割放置群組由每個分割區上的多個執行個體組成,而分散放置群組只是分佈在不同機架或可用區中的單一執行個體。

建議將此模型用於少量關鍵業務執行個體。您可以在此處執行少量 SQL 資料庫執行個體或 Web 應用程式層。此設定是冗餘的理想用例,因為它對分割和叢集放置群組提供的強大運算能力的要求較低。

Cloud Volumes ONTAP HA for AWS

Cloud Volumes ONTAP HA 配置提供 AWS 高可用性。此方案運行在兩台 Amazon EC2 運算執行個體上,並將所有資料儲存在底層 Amazon EBS 儲存中,可防止因故障導致的任何資料遺失,並在 60 秒內復原。

在此 Cloud Volumes ONTAP 配對中,所有資料在兩個節點之間鏡像,採用雙活配置(兩個節點均服務於用戶端)或主備配置(一個節點作為備用)。在這兩種配置下,每次寫入新資料時都會同步鏡像資料。此配置可以部署在單一可用區場景或多可用區場景中:

  • 單可用區:兩個 Cloud Volumes ONTAP 節點位於相同可用區。NetApp Cloud Manager 會自動使用分散放置群組配置部署兩個節點,以避免常見的運算故障。
  • 多可用區:每個 Cloud Volumes ONTAP 節點位於不同的可用區,從而消除可用區作為單點故障的風險,而原生 Amazon EBS 儲存複製功能不具備此功能。在這種高可用性配置中,您需要設定一個帶有浮動 IP 位址的 AWS Transit Gateway,以確保故障轉移正常運作,並提供永久的 NAS 或任何資料存取。

Cloud Volumes ONTAP HA 需要三個 Amazon EC2 執行個體才能運作:兩個主節點負責所有儲存工作,一個小型中介 t2.micro 執行個體負責調節和管理自動故障轉移和故障回復相關任務。復原點目標 (RPO) 為零,由於資料採用同步鏡像,因此始終保持一致;復原時間目標 (RTO) 為 60 秒或更短,確保在故障轉移到另一個節點後資料能夠再次可用。

AWS 也提供其他原生儲存層冗餘功能,例如 Amazon EBS。如前所述,Amazon EBS 僅在單一可用區內的伺服器之間進行複製。如果您僅使用 Amazon EBS 來實現儲存層冗餘,則需要建立 Amazon S3 快照並將其傳輸到不同的可用區,這會產生額外的成本。其他 AWS 原生高可用性功能(例如 Amazon EFS)僅透過 NFS 匯出儲存的資料,目前不支援 Windows 執行個體。

結論

本文提供的所有關於 AWS 高可用性最佳實踐的資訊都指向三個主要結論:

  1. 在多可用區配置中,由於整個可用區本身被排除在單點故障之外,可靠性會更高。
  2. 不同的工作負載有不同的需求,它們可能更適合單一可用區部署或多可用區部署。
  3. 無論採用單一可用區模式或多可用區模式,Cloud Volumes ONTAP HA 都能在儲存層提供冗餘和快速復原,滿足集中式儲存的需求。而且,它的價格更低或與之相當,相較於運行在原始 Amazon EBS 儲存上。

您的業務連續性至關重要。Cloud Volumes ONTAP 可協助您確保業務連續性。

Drift chat loading