共用方式為


App Service 環境 v2 的可用性區域支援

重要

本文與隔離的 App Service 方案搭配使用 App Service 環境 v2。 App Service 環境 v1 和 v2 將在 2024 年 8 月 31 日淘汰。 有較新版本的 App Service 環境,其更易於使用,並且是在更強大的基礎結構上執行。 若要深入瞭解新版本,請從 App Service 環境簡介開始。 如果您目前使用 App Service 環境 v2,請遵循本文中的步驟來移轉至新版本。

2024 年 8 月 31 日之後,App Service 環境 v1 和 v2 硬體的解除委任將會開始,這可能會影響應用程式和數據的可用性和效能。 服務等級協定(SLA)和服務點數將不再適用於在 2024 年 8 月 31 日之後繼續生產 App Service 環境 v1 和 v2 工作負載。

您必須在 2024 年 8 月 31 日前完成移轉至 App Service 環境 v3,否則可能會刪除您的應用程式和資源。 我們將嘗試使用就地移轉功能,自動移轉任何剩餘的 App Service 環境 v1 和 v2,但Microsoft自動移轉之後,不會提出任何關於應用程式可用性的宣告或保證。 您可能需要執行手動設定來完成移轉,並優化您的 App Service 方案 SKU 選擇,以符合您的需求。 如果自動移轉不可行,將會刪除您的資源和相關聯的應用程式數據。 我們強烈敦促您立即採取行動,以避免上述任一極端案例。

如需 App Service 環境 v1/v2 淘汰的最新資訊,請參閱 App Service 環境 v1 和 v2 淘汰更新

App Service 環境 v2 (ASE) 可以部署到可用性區域 (AZ)。 客戶可以將內部負載平衡器 (ILB) ASE 部署到 Azure 區域內的特定 AZ。 如果您將 ILB ASE 釘選到特定 AZ,ILB ASE 所使用的資源將會釘選到指定的 AZ,或以區域備援方式部署在區域中。

明確部署到 AZ 的 ILB ASE 會被視為區域性資源,因為 ILB ASE 會釘選到特定區域。 下列 ILB ASE 相依性會釘選到指定的區域:

  • ASE 的內部負載平衡器 IP 位址
  • ASE 用來管理和執行 Web 應用程式的計算資源

部署在區域性 ILB ASE 上的 Web 應用程式的遠端檔案儲存體會使用區域備援儲存體 (ZRS)。

除非遵循本文所述的步驟,否則 ILB ASE 不會以區域性方式自動部署。 您無法將具有公開 IP 位址的外部 ASE 釘選到特定可用性區域。

您可以在下列任何區域中建立區域性 ILB ASE:

  • 澳大利亞東部
  • 加拿大中部
  • 美國中部
  • 美國東部
  • 美國東部 2
  • 美國東部 2 (EUAP)
  • 法國中部
  • 日本東部
  • 北歐
  • 西歐
  • 東南亞
  • 英國南部
  • 美國西部 2

部署在區域 ILB ASE 上的應用程式會繼續執行,並在該 ASE 上提供流量,即使相同區域中的其他區域遇到中斷也一樣。 包括應用程式服務方案調整、應用程式建立、應用程式設定和應用程式發佈的非執行階段行為,仍可能會受到其他可用性區域中斷的影響。 區域性 ILB ASE 的區域釘選部署只會確保已部署應用程式的持續運作時間。

如何在可用性區域中部署 App Service 環境

必須使用 ARM 範本建立區域性 ILB ASE。 一旦透過 ARM 範本建立區域性 ILB ASE,就可以透過 Azure 入口網站 和 CLI 來檢視和互動。 只有在初始建立區域性 ILB ASE 時,才需要 ARM 範本。

ARM 範本中唯一需要用來指定區域性 ILB ASE 的變更是新的 zones 屬性。 視 ILB ASE 應釘選到的邏輯可用性區域而定,zones 屬性應該設定為值「1」、「2」或「3」。

下列 ARM 範本程式碼片段範例顯示新的 zones 屬性,其指定 ILB ASE 應該釘選到區域 2。

"resources": [
    {
        "type": "Microsoft.Web/hostingEnvironments",
        "kind": "ASEV2",
        "name": "yourASENameHere",
        "apiVersion": "2015-08-01",
        "location": "your location here",
        "zones": [
            "2"
        ],
        "properties": {
            "name": "yourASENameHere",
            "location": "your location here",
            "ipSslAddressCount": 0,
            "internalLoadBalancingMode": "3",
            "dnsSuffix": "contoso-internal.com",
            "virtualNetwork": {
                "Id": "/subscriptions/your-subscription-id-here/resourceGroups/your-resource-group-here/providers/Microsoft.Network/virtualNetworks/your-vnet-name-here",
                "Subnet": "yourSubnetNameHere"
            }
        }
    }
]

若要使應用程式區域成為備援區域,您必須部署兩個區域性 ILB ASE。 這兩個區域性 ILB ASE 必須位於不同的可用性區域中。 接著,您必須將應用程式部署到每個 ILB ASE 中。 建立應用程式之後,您必須設定負載平衡解決方案。 建議的解決方案是部署區域性 ILB ASE 的區域備援應用程式閘道上游。

區域內資料落地

部署在可用性區域中的 ILB ASE 只會將客戶資料儲存在已部署區域性 ILB ASE 的區域內。 網站檔案內容以及儲存於 App Service 的客戶提供的設定和密碼都會保留在部署區域性 ILB ASE 的區域內。

客戶可遵循先前「如何在可用性區域中部署 App Service 環境」一節所述的步驟,以確保單一區域資料落地。 根據這些步驟設定 App Service 環境,部署在可用性區域中的 App Service 環境可滿足區域資料落地需求,包括 Azure 信任中心中指定的需求。

客戶可遵循下列步驟,以驗證 App Service 環境是否已正確設為將資料儲存在單一區域中:

  1. 使用資源總管,瀏覽至 App Service 環境的 ARM 資源。 ASE 會列在 providers/Microsoft.Web/hostingEnvironments之下。
  2. 如果 zones 屬性存在於 ARM JSON 語法的檢視中,而且包含值為「1」、「2」或「3」的單一值 JSON 陣列,則 ASE 會進行區域性部署,且客戶資料會保留在相同的區域中。
  3. 如果 zones 屬性不存在,或此屬性沒有如先前指定的有效區域值,則 ASE 不會進行區域性部署,且客戶資料不會以獨佔方式儲存在相同的區域中。