View a markdown version of this page

關於路由控制 - Amazon Application Recovery Controller (ARC)

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

關於路由控制

路由控制會使用 Amazon Route 53 中的運作狀態檢查來重新導向流量,這些運作狀態檢查是以與復原群組中儲存格的最上層資源相關聯的 DNS 記錄所設定,例如 Elastic Load Balancing 負載平衡器。您可以將流量從一個儲存格重新導向到另一個儲存格,例如,將路由控制狀態更新為 Off(停止流量流到一個儲存格),並將另一個路由控制狀態更新為 On(啟動流量流到另一個)。變更流量流程的程序是與路由控制相關聯的 Route 53 運作狀態檢查,在 ARC 更新之後,根據對應的路由控制狀態將其設定為運作狀態或運作狀態不佳。

路由控制支援容錯移轉具有 DNS 端點的任何 AWS 服務。您可以更新路由控制狀態,以容錯移轉流量進行災難復原,或偵測應用程式的延遲下降或其他問題。

您也可以設定路由控制的安全規則,以確保使用路由控制重新路由流量不會影響可用性。如需詳細資訊,請參閱建立路由控制的安全規則

請務必注意,路由控制本身並非監控端點基礎運作狀態的運作狀態檢查。例如,與 Route 53 運作狀態檢查不同,路由控制不會監控回應時間或 TCP 連線時間。路由控制是一種簡單的開關,可控制運作狀態檢查。一般而言,您會變更狀態以重新導向流量,而該狀態變更會將流量移至整個應用程式堆疊的特定端點,或防止路由至整個應用程式堆疊。例如,在簡單案例中,當您將路由控制狀態從 變更為 OnOff,它會更新與 DNS 容錯移轉記錄相關聯的 Route 53 運作狀態檢查,以將流量從端點移出。

如何使用路由控制

若要更新路由控制狀態,以便重新路由流量,您必須連線到 ARC 中的其中一個叢集端點。如果您嘗試連線的端點無法使用,請嘗試使用另一個叢集端點變更狀態。您應該準備好變更路由控制狀態的程序,以輪換方式嘗試每個端點,因為叢集端點會循環顯示可用和無法使用的狀態,以進行定期維護和更新。

當您建立路由控制時,您可以設定 DNS 記錄,將路由控制運作狀態檢查與每個應用程式複本前面的 Route 53 DNS 名稱建立關聯。例如,若要控制兩個負載平衡器之間的流量容錯移轉,請在兩個區域中各建立一個路由控制運作狀態檢查,並將其與兩個 DNS 記錄建立關聯,例如具有容錯移轉路由政策的別名記錄,以及個別負載平衡器的網域名稱。

您也可以使用 ARC 路由控制搭配 Route 53 運作狀態檢查和 DNS 記錄集,並使用具有加權路由政策的 DNS 記錄,來設定更複雜的流量容錯移轉案例。若要查看詳細範例,請參閱下列 AWS 部落格文章中有關容錯移轉使用者流量的章節:使用 Amazon Application Recovery Controller (ARC) 建置高彈性的應用程式,第 2 部分:多區域堆疊

當您 AWS 區域 使用路由控制啟動 的容錯移轉時,由於流量流程涉及的步驟,您可能不會立即看到流量移出 區域。視用戶端行為和連線重複使用而定,區域中現有的進行中連線也可能需要一小段時間才能完成。根據您的 DNS 設定和其他因素,現有的連線可能會在幾分鐘內完成,或者可能需要更長的時間。如需詳細資訊,請參閱確保流量轉移快速完成

路由控制的優點

相較於使用傳統運作狀態檢查重新路由流量,ARC 中的路由控制有一些好處。例如:

  • 路由控制可讓您容錯移轉整個應用程式堆疊。這與 Amazon EC2 執行個體根據資源層級運作狀態檢查而容錯移轉堆疊的個別元件相反。

  • 路由控制為您提供安全、簡單的手動覆寫,您可以用來轉移流量以進行維護,或在內部監視器未偵測到問題時從故障中復原。

  • 您可以將路由控制與安全規則搭配使用,以防止全自動化運作狀態檢查型自動化可能發生的常見副作用,例如容錯移轉至尚未準備好進行容錯移轉的待命基礎設施。

以下是將路由控制整合到您的容錯移轉策略中的範例,以改善應用程式的彈性和可用性 AWS。

您可以透過跨區域執行多個 (通常是三個) 備援複本 AWS ,在 上支援高可用性 AWS 的應用程式。然後,您可以使用 Amazon Route 53 路由控制將流量路由到適當的複本。

例如,您可以將一個應用程式複本設定為作用中,並為應用程式流量提供服務,而另一個則是待命複本。當您的作用中複本發生故障時,您可以在該處重新路由使用者流量,以還原應用程式的可用性。您應該根據監控和運作狀態檢查系統的資訊,決定要從複本失敗還是失敗。

如果您想要啟用更快的復原,您可以為架構選擇的另一個選項是主動-主動實作。使用此方法時,您的複本會同時處於作用中狀態。這表示您只需將流量重新路由到另一個作用中複本,即可將使用者移離受損的應用程式複本,從失敗中復原。