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

重要

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

自 2024 年 1 月 29 日起,您無法再使用任何可用的方法建立新的 App Service 環境 v2 資源,包括 ARM/Bicep 範本、Azure 入口網站、Azure CLI 或 REST API。 您必須在 2024 年 8 月 31 日之前移轉至 App Service 環境 v3,以避免資源刪除和資料遺失。

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 不會進行區域性部署,且客戶資料不會以獨佔方式儲存在相同的區域中。