本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon OpenSearch 服務中配置異地同步備份域
為了防止資料遺失並在服務中斷時將 Amazon Ser OpenSearch vice 叢集停機時間降至最低,您可以將節點分配到同一區域中的兩個或三個可用區域 (稱為異地同步備份的組態)。可用區域是每個 AWS 區域內的隔離位置。
對於執行生產工作負載的網域,我們建議使用異地同步備份搭配待命部署選項,該選項會建立下列組態:
-
跨三個區域部署的網域。
-
專用主節點和資料節點的最新一代執行個體類型。
-
三個專用主節點和三個(或三個中的倍數)資料節點。
-
您網域中的每個索引至少有兩個複本,或三個資料副本 (包括主要節點和複本) 的倍數。
本節的其餘部分提供有關這些配置的說明和上下文。
異地同步備份含待機
具備待命功能的異地同步備份是 Amazon Ser OpenSearch vice 網域的一種部署選項,可提供 99.99% 的可用性、生產工作負載的一致效能,以及簡化的網域組態和管理。當您將異地同步備份與待命模式搭配使用時,網域能夠抵禦基礎架構故障,不會影響效能或可用性。此部署選項透過強制執行許多最佳作法來達成此標準,例如指定的資料節點計數、主節點計數、執行個體類型、複本計數、軟體更新設定和 Auto-Tune 開啟。
當您將異地同步備份與待命搭配使用時, OpenSearch Service 會跨三個可用區域建立一個網域,每個區域都包含完整的資料複本,並且資料平均分佈在每個區域中。您的網域會將其中一個區域中的節點保留為待命狀態,這表示它們不會提供搜尋要求。當 OpenSearch Service 偵測到基礎架構中的故障時,它會在不到一分鐘的時間內自動啟動待命節點。網域會繼續提供索引和搜尋要求,而且任何影響都會限制在執行容錯移轉所需的時間內。不會重新分配資料或資源,這會導致叢集效能不受影響,也不會有可用性降低的風險。異地同步備份提供備用功能,無需額外費用。
您有兩個選項可以建立待命狀態的網域AWS Management Console。首先,您可以使用 Easy create 建立方法建立網域, OpenSearch Service 會自動使用預先決定的設定,其中包括下列項目:
-
三個可用區域,其中一個作為待命
-
三個專用的主節點和數據節點
-
在網域上啟用自動調整
-
用於數據節點的 GP3 存儲
您也可以選擇「標準」建立方法,然後選取「備用網域」作為部署選項。這可讓您自訂網域,同時仍強制執行待命關鍵功能,例如三個區域和三個主節點。建議您選擇三個之倍數的資料節點計數 (可用區域數目)。
建立網域之後,您可以瀏覽至網域詳細資料頁面,然後在叢集組態索引標籤中,確認具有待命功能的 3-AZ 顯示在可用區域下。
如果您在將現有網域移轉至備用狀態的異地同步備份時發生問題,請參閱疑難排解指南中的異地同步備份移轉至異地同步備份
限制
當您設定具備待命狀態的異地同步備份網域時,請考慮下列限制:
-
節點上的碎片總數不能超過 1000,集群上的碎片總數不能超過 75000,並且單個碎片的大小不能超過 65 GB。
-
具備待命功能的異地同步備份僅適用於
m5
c5
、r5
、r6g
、c6g
m6g
、r6gd
和i3
執行個體類型。如需支援執行個體的詳細資訊,請參閱支援的執行個體類 -
您只能使用佈建的 IOPS SSD、一般用途 SSD (GP3) 或執行個體支援的儲存裝置與待命狀態。
異地同步備份 (不含
OpenSearch 服務仍支援異地同步備份 (無待命),提供 99.9% 的可用性。節點分佈在可用區域,可用性取決於可用區域的數量和資料副本。而在待命狀態下,您必須使用最佳做法來設定網域,而無需待命,您可以選擇自己的可用區域、節點和複本數量。除非您現有的工作流程會因為建立待命網域而中斷,否則我們不建議使用此選項。
如果您選擇此選項,我們仍建議您選取三個可用區域,以便在節點、磁碟和單一可用區域故障時保持彈性。發生故障時,叢集會將資料重新分配至剩餘資源,以維持可用性和備援。此資料移動會增加叢集上的資源使用量,而且可能會影響效能。如果叢集的大小不正確,可能會遇到降級的可用性,這在很大程度上違反異地同步備份的目的。
設定不待命的網域的唯一方法AWS Management Console是選擇「標準」建立方法,然後選取「不含待命的網域」作為您的部署選項。
碎片分佈
如果啟用異地同步備份 (不含待命),則應為叢集中的每個索引建立至少一個複本。如果沒有複本, OpenSearch 服務就無法將您的資料副本散發到其他可用區域。還好任何索引的預設組態是複本計數 1。如下圖所示, OpenSearch Service 會盡最大努力將主要碎片及其對應的複本碎片分發到不同的區域。
除了按可用區域分配碎片之外, OpenSearch 服務還會按節點分配它們。然而,特定網域組態會導致不平衡的碎片計數。請考慮以下網域:
-
5 個資料節點
-
5 個主要碎片
-
2 個複本
-
3 個可用區域
在此情況下, OpenSearch Service 必須多載一個節點,才能跨區域散佈主要和複本碎片,如下圖所示。
為了避免這些可能會造成個別節點壓力並損害效能的情況,建議您選擇異地同步備份搭配待命模式,或者當您計劃每個索引有兩個或多個複本時,選擇三個倍數的執行個體計數。
專用主節點分佈
即使您在設定網域時選取了兩個可用區域, OpenSearch Service 也會自動將專用主節點分配到三個可用區域。此分發可協助防止區域發生服務中斷時的叢集停機時間。如果建議的三個專用主節點和一個可用區域在您使用時發生故障,您的叢集仍具有專用主節點的仲裁 (2),並且可以選擇新的主節點。下圖示範了此組態。
如果您選擇了在三個可用區域中已無法使用的上一代執行個體類型,則適用以下狀況:
-
如果您為網域選擇了三個可用區域, OpenSearch 服務會擲回錯誤。請選擇不同的執行個體類型,然後再試一次。
-
如果您為網域選擇了兩個可用區域, OpenSearch Service 會將專用主節點分散到兩個區域。
可用區域中斷
可用區域中斷雖然極少發生,但仍有可能出現。下表列出不同多個可用區在中段期間的組態和行為。表格中的最後一列適用於具備待命功能的異地同步備份,而所有其他資料列的組態僅適用於異地同步備份 (不含待命)。
區域中的可用區域數量 | 您選擇的可用區域數量 | 專用主節點數目 | 如果一個可用區域中斷時的行為 |
---|---|---|---|
2 或以上 | 2 | 0 |
停機。您的叢集會失去一半的資料節點,且必須至少替換剩餘可用區域中的其中一個,然後才能選擇主節點。 |
2 | 2 | 3 |
50/50 的停機機會。 OpenSearch Service 將兩個專用的主節點分配到一個可用區域,另一個可用區域:
|
3 或以上 | 2 | 3 |
沒有停機時間。 OpenSearch Service 會自動將專用主節點分配到三個可用區域,因此剩餘的兩個專用主節點可以選擇一個主節點。 |
3 或以上 | 3 | 0 |
不會停機。概略而言您資料節點的三分之二仍然可以選擇主節點。 |
3 或以上 | 3 | 3 |
不會停機。剩餘的兩個專用主節點可以選擇主節點。 |
在所有組態中,無論原因為何,節點故障都可能導致叢集的剩餘資料節點經歷一段時間的負載增加,而 OpenSearch Service 會自動設定新節點以取代現在遺漏的節點。
例如,如果三個區域組態中的可用區域中斷,則三分之二的資料節點必須處理與叢集一樣多的請求。當處理這些請求時,剩餘的節點也會在上線時複製碎片到新節點,而這可能近一步影響效能。如果可用性與您的工作負載息息相關,請考慮在叢集中新增資源,以便舒緩此問題。
注意
OpenSearch 服務會以透明方式管理異地同步備份網域,因此您無法手動模擬可用區域中斷情況。