Share via


Azure Spring 應用程式中的可靠性

本文包含有關 Azure Spring 應用程式透過可用性區域跨區域災害復原和商務持續性支援所獲得區域復原能力的詳細資訊。

可用性區域支援

Azure 可用性區域是每個 Azure 區域內至少三個實體獨立的資料中心群組。 每個區域內的資料中心都配備了獨立的電源、冷卻和網路基礎結構。 可用性區域的作用是在一個區域受影響時 (例如本機區域失敗時),讓其餘兩個區域支援區域服務、容量和高可用性。

這類失敗的範圍可從軟體和硬體故障,擴及到如地震、淹水和火災的事件。 Azure 服務的備援和邏輯隔離功能可以容錯。 如需深入了解 Azure 的可用性區域,請參閱區域和可用性區域

已啟用 Azure 可用性區域的服務是設計來提供正確的可靠性和彈性層級。 您可以透過兩種方式加以設定。 可採用區域備援 (可跨區域自動複寫) 或分區 (將執行個體釘選在特定區域)。 兩種方法可以結合使用。 如需區域與區域備援架構的詳細資訊,請參閱使用可用性區域和區域的建議

Azure Spring 應用程式支援區域備援。 當您建立啟用區域備援的 Azure Spring 應用程式服務執行個體時,Azure Spring 應用程式會自動將基本資源散發到基礎 Azure 基礎結構的邏輯區段。 基礎計算資源會將 VM 散發到所有可用性區域以確保其計算能力。 基礎儲存體資源可以跨多個可用性區域來複寫資料,如此一來,即使資料中心出現故障,資料也依然可用。 這可以提供更高等級的可用性,並且在硬體故障或計劃性維護事件中提供保護。

必要條件

  • 基本層不提供區域備援。

  • Azure Spring 應用程式可在下列區域支援可用性區域:

    • 澳大利亞東部
    • 巴西南部
    • 加拿大中部
    • 美國中部
    • 東亞
    • 美國東部
    • 美國東部 2
    • 法國中部
    • 德國中西部
    • 歐洲北部
    • 日本東部
    • 南韓中部
    • 南非北部
    • 美國中南部
    • 東南亞
    • 英國南部
    • 西歐
    • 美國西部 2
    • 美國西部 3

建立已啟用可用性區域的 Azure Spring 應用程式執行個體

注意

您只能在建立 Azure Spring 應用程式服務執行個體時啟用區域備援。 您無法在建立後變更區域備援屬性。

您可以使用 Azure CLIAzure 入口網站,在 Azure Spring 應用程式中啟用區域備援。

若要使用 Azure CLI 在 Azure Spring 應用程式中建立啟用區域備援的服務,在建立服務時需包含 --zone-redundant 參數,如以下範例所示:

az spring create \
    --resource-group <your-resource-group-name> \
    --name <your-Azure-Spring-Apps-instance-name> \
    --location <location> \
    --zone-redundant true

啟用已啟用可用性區域的自有資源

您可以在 Azure Spring 應用程式中啟用自有資源,例如自有的永續性儲存體。 不過,您必須確實地為資源啟用區域備援。 如需詳細資訊,請參閱如何在 Azure Spring 應用程式中啟用您自己的永續性儲存體

區域關閉體驗

當應用程式執行個體因為其所在 VM 位於失敗區域而失敗時,Azure Spring 應用程式會在其他可用性區域中的其他 VM 節點上,為失敗的應用程式建立新的應用程式執行個體。 在此期間,使用者可能會遇到短暫的中斷。 使用者不需要進行任何動作,服務便會還原受影響的 Azure Spring 應用程式執行個體。

定價

啟用區域備援不需要額外的成本。 您只需要支付啟用區域備援所需的標準方案或企業方案的費用。

跨區域災害復原和商務持續性

災害復原 (DR)是指從重大影響事件中復原,例如自然災害或不成功的部署 (導致停機和資料遺失)。 無論原因為何,解決災害的最佳辦法是定義完善且經過測試的 DR 方案,以及主動支援 DR 的應用程式設計。 開始制定災害復原方案之前,請參閱設計災害復原策略的建議

Microsoft 在災害復原方面,採取共同責任模型。 在共同責任模型中,Microsoft 確保基準基礎結構和平台服務可供使用。 此時許多 Azure 服務不會自動複寫資料,或從故障區域恢復並交叉複寫到另一個已啟用的區域。 您需要為這些服務制定適合工作負載的災害復原方案。 在 Azure 平台即服務 (PaaS) 供應項目上執行的多數服務,都有提供支援災害復原的功能和指導,您可以使用特定服務功能復原,制定災害復原方案。

Azure Spring 應用程式服務不提供異地災害復原,但仔細規劃可幫助您避免遇到停機問題。

若要確保高可用性和災害防護,請將裝載於 Azure Spring 應用程式中的應用程式部署到多個區域。 Azure 會提供配對區域清單,以便您根據清單規劃您的應用程式部署。

設計結構時,請考慮下列重要因素:

  • 區域可用性。 若要將網路延遲和傳輸時間降到最低,請選擇支援 Azure Spring 應用程式區域備援的區域,或選擇靠近您使用者的地理區域。
  • Azure 配對區域。 請在您選擇的地理區域內選擇配對的區域,以確保協調的平台更新和排定優先順序的復原工作 (如有需要) 順利進行。
  • 服務可用性。 決定您的配對區域是否應執行熱/熱、熱/暖,或熱/冷。

使用 Azure 流量管理員來路由傳送流量

Azure 流量管理員是以 DNS 為基礎的流量負載平衡器,可以將網路流量分散到多個區域。 使用 Azure 流量管理員,將客戶導向最靠近的 Azure Spring 應用程式服務執行個體。 若要獲得最佳效能和備援能力,請先透過 Azure 流量管理員引導所有應用程式流量,然後再將流量傳送至您的 Azure Spring 應用程式服務執行個體。 如需詳細資訊,請參閱什麼是流量管理員?

如果您在多個區域中有 Azure Spring 應用程式中的應用程式,Azure 流量管理員可以控制每個區域中的應用程式流量流程。 使用執行個體 IP 為每個服務執行個體定義 Azure 流量管理員端點。 您應該要連線至指向 Azure Spring 應用程式服務執行個體的 Azure 流量管理員 DNS 名稱。 Azure 流量管理員負載會平衡已定義端點間的流量。 如果資料中心遭受災害攻擊,Azure 流量管理員會將來自該區域的流量導向其配對,以確保服務持續性。

請利用下列步驟來建立 Azure Spring 應用程式執行個體的 Azure 流量管理員執行個體:

  1. 在兩個不同的區域中建立 Azure Spring 應用程式執行個體。 例如,在美國東部和西歐建立服務執行個體,如下表所示。 每個執行個體都可做為流量的主要和容錯移轉端點。

    服務名稱 Location 應用程式
    service-sample-a 美國東部 gateway / auth-service / account-service
    service-sample-b 西歐 gateway / auth-service / account-service
  2. 為服務執行個體設定自訂網域。 如需詳細資訊,請參閱教學課程:將現有的自訂網域對應至 Azure Spring Apps。 成功設定之後,兩個服務執行個體皆會繫結至相同的自訂網域,如 bcdr-test.contoso.com

  3. 建立流量管理員與兩個端點。 如需指示,請參閱快速入門:使用 Azure 入口網站建立流量管理員設定檔,以產生下列流量管理員設定檔:

    • 流量管理員 DNS 名稱:http://asa-bcdr.trafficmanager.net
    • 端點設定檔:
    設定檔 類型 Target 優先順序 自訂標頭設定
    端點 A 設定檔 外部端點 service-sample-a.azuremicroservices.io 1 host: bcdr-test.contoso.com
    端點 B 設定檔 外部端點 service-sample-b.azuremicroservices.io 2 host: bcdr-test.contoso.com
  4. 在 DNS 區域中建立 CNAME 記錄,如下列範例:bcdr-test.contoso.com CNAME asa-bcdr.trafficmanager.net

環境現在已設定完成。 如果您使用了連結文章中的範例值,您應該可以使用 https://bcdr-test.contoso.com 來存取應用程式。

使用 Azure Front Door 和 Azure 應用程式閘道來路由傳送流量

Azure Front Door 是全球可用且可調整的進入點,使用 Microsoft 全球周邊網路來建立快速、安全且可大規模調整的 Web 應用程式。 Azure Front Door 提供與 Azure 流量管理員相同的多重異地備援和路由至最接近的區域。 Azure Front Door 也提供進階功能,例如 TLS 通訊協定終止、應用層處理和 WEB 應用流程防火牆 (WAF)。 如需詳細資訊,請參閱什麼是 Azure Front Door?

下圖顯示多區域備援、虛擬網路整合式 Azure Spring 應用程式服務執行個體的架構。 此圖顯示具有自訂網域的應用程式閘道和 Front Door 的正確反向 Proxy 設定。 此架構以在虛擬網路中使用端對端 TLS 公開應用程式中所述的案例為基礎。 此方法會將兩個應用程式與閘道整合的 Azure Spring 應用程式虛擬網路插入執行個體結合成異地備援執行個體。

Diagram showing the architecture of a multi-region Azure Spring Apps service instance.

下一步