分享方式:


移轉至 App Service 環境 v3

注意

有兩個自動化移轉功能可協助您升級至 App Service 環境 v3。 如需深入了解這些功能,並協助您決定適合您移轉選項的說明,請參閱移轉路徑決策樹。 請考慮其中一個自動化選項,以取得 App Service Environment v3 的更快速路徑。

如果您目前使用 App Service 環境 v1 或 v2,便有機會將工作負載移轉至 App Service 環境 v3。 App Service 環境 v3 的優點和功能差異,為工作負載提供更強化的支援,並可降低整體成本。 如果您的環境符合移轉路徑決策樹中所述的準則,請考慮使用自動化移轉功能

如果您的 App Service 環境不支援移轉功能,您必須使用其中一個手動方法來移轉至 App Service Environment v3。

必要條件

案例:您有一個在 App Service 環境 v1 或App Service 環境 v2 上執行的應用程式,而您需要該應用程式在 App Service 環境 v3 上執行。

對於任何未使用自動化移轉功能的移轉方法,您需要使用您所選擇的方法,建立 App Service 環境 v3 資源和新的子網路。

App Service 環境 v1/v2 與 App Service 環境 v3 之間的網路變更牽涉到新的 IP 位址 (針對對應網際網路環境的環境,還牽涉到其他 IP 位址)。 您必須更新依賴這些 IP 的任何基礎結構。 請務必考慮輸入相依性變更,例如 Azure Load Balancer 連接埠。

單一子網路中不能有多個 App Service 環境。 如果您需要將現有的子網路用於新的 App Service 環境 v3 資源,您必須先刪除現有的 App Service 環境,才能建立新的子網路。 在此案例中,建議您備份應用程式,然後在建立和設定環境之後,在新的環境中加以還原。 此程序會造成應用程式停機,因為需要時間:

  • 刪除舊環境。
  • 建立 App Service 環境 v3 資源。
  • 設定任何基礎結構和連線的資源,以便與新環境一起執行。
  • 將您的應用程式部署到新的環境。

移轉應用程式前的檢查清單

  • 建立 App Service 環境 v3 資源。
  • 使用與新環境相關聯的 IP 位址更新任何網路相依性。
  • 規劃停機 (如果適用)。
  • 決定在新環境中重新建立應用程式的程序。

調整環境的大小和規模

App Service 環境 v3 使用隔離式 v2 Azure App Service 方案,其定價和大小與隔離式方案不同。 請參閱價格詳細資料,了解為確保適當容量,應如何調整新環境的大小和規模。 與先前的版本相比,為 App Service 環境 v3 建立 App Service 方案的方法沒有任何差異。

評估備份和還原

您可以使用備份和還原功能,在移轉至新環境時,將應用程式組態、檔案內容和資料庫連線至您的應用程式。

您必須設定應用程式的自訂備份,才能將其還原至 App Service 環境 v3。 自動備份不支援不同 App Service 環境版本的還原。 如需自訂備份的詳細資訊,請參閱自動與自訂備份顯示設定 App Service 應用程式自訂備份選項的螢幕擷取畫面。

您可以選取備份,並將其還原至 App Service 環境 v3 資源中的 App Service。 您必須建立要還原至的 App Service 方案,才能還原應用程式。 您可以選擇將備份還原至生產位置、現有的位置,或您在還原程序期間建立的新位置。

顯示如何在 App Service 環境 v3 中使用備份還原 App Service 的螢幕擷取畫面。

福利 限制
快速 - 每個應用程式應該只需 5-10 分鐘。 支援僅限於特定的資料庫類型
您可以同時還原多個應用程式。 (您必須個別設定每個應用程式的還原)。 舊環境、新環境與支援資源 (例如應用程式、資料庫、儲存體帳戶和容器) 必須位於相同的訂用帳戶中。
應用程式內 MySQL 資料庫會自動備份 (不含任何設定)。 備份上限是 10 GB 的應用程式和資料庫內容。 其中最多 4 GB 的內容可以是資料庫備份。 如果備份大小超出此限制,您就會收到錯誤。
您可以將應用程式還原為之前狀態的快照集。 不支援使用啟用防火牆的儲存體帳戶作為備份目的地。
若要在新舊環境散發流量,您可以整合 Azure 流量管理員Azure 應用程式閘道 不支援使用具有私人端點的儲存體帳戶進行備份和還原。
開始還原前,您可以在新環境中建立空的 Web 應用程式,以加速程序。 僅支援自訂備份。

將您的應用程式複製至 App Service 環境 v3

複製您的應用程式是另一項功能,可用來在 App Service 環境 v3 上安裝 Windows 應用程式。 複製應用程式的限制與 App Service 備份功能的限制相同。 如需詳細資訊,請參閱在 Azure App Service 中備份應用程式

注意

僅有 Windows 上的 App Service 方案支援複製應用程式。

針對在 Windows 上使用 App Service 且無法使用移轉功能的使用者,建議您使用此解決方案。 您必須先設定新的 App Service 環境 v3 資源,才能複製任何應用程式。 複製應用程式可能需要 30 分鐘才能完成。

若要使用 PowerShell 複製應用程式,請參閱指示

若要使用 Azure 入口網站複製應用程式:

  1. Azure 入口網站中,移至您現有的 App Service 方案。 選取 [開發工具] 下的 [複製應用程式]

  2. 使用新 App Service 環境 v3 資源的詳細資料填入必要欄位:

    1. 針對 [資源群組],選取現有的資源群組,或建立新的資源群組。
    2. 針對 [名稱],請為您的應用程式指定名稱。 此名稱可以與舊應用程式的名稱相同,但新環境的網站預設 URL 會不同。 您必須更新任何自訂 DNS 或連線的資源,並指向新的 URL。
    3. 針對 [區域] 使用您的 App Service 環境 v3 名稱。
    4. 如果您想要複製部署來源,請選取 [複製部署來源] 核取方塊。
    5. 針對 Windows 方案,如果您已經建立一個 App Service 方案,或者您可以建立新的方案,則可以從新的環境中使用現有的 App Service 方案。 新 App Service 環境 v3 資源中可用的 App Service 方案會出現在挑選清單中。
    6. 針對 SKU 和大小,如果您要建立新的 App Service 方案,請使用其中一個隔離式方案 v2 選項來視需要修改記憶體和 CPU。 App Service 環境 v3 使用的是隔離式 v2 方案,相較於隔離式方案,每個對應的執行個體大小具有更多記憶體和 CPU。 如需詳細資訊,請參閱 App Service 環境 v3 價格詳細資料

此螢幕擷取畫面顯示使用入口網站將應用程式複製到 App Service Environment v3 的選項。

福利 限制
您可以使用 PowerShell 將複製自動化。 僅支援 Windows 上的 App Service 方案。
您可以同時複製多個應用程式。 (必須個別或透過指令碼為每個應用程式設定複製)。 支援僅限於特定的資料庫類型
若要在新舊環境散發流量,您可以整合 Azure 流量管理員Azure 應用程式閘道 舊環境、新環境與支援資源 (例如應用程式、資料庫、儲存體帳戶和容器) 必須位於相同的訂用帳戶中。

在 App Service 環境 v3 上手動建立您的應用程式

如果移轉功能不支援您的應用程式,或您想要採取更手動的路由,您可以遵循您用於現有 App Service 環境的相同流程來部署應用程式。

您可以匯出現有應用程式的 Azure Resource Manager 範本 ARM 範本、App Service方案,及任何其他支援的資源,然後部署至新環境,或搭配新環境使用。 若要只匯出應用程式的範本,請移至您的 App Service 方案。 在 [自動化] 底下,選取 [匯出範本]

Azure 入口網站左窗格上匯出範本選項的螢幕擷取畫面。

您也可以直接從資源群組匯出多個資源的範本。 移至您的資源群組,選取需要樣本的資源,然後選取 [匯出範本]

從資源群組匯出資源範本的選項螢幕擷取畫面。

若要在 App Service 環境 v3 安裝應用程式,您必須針對 ARM 範本進行下列初始變更:

  • 將 App Service 方案的 sku 參數更新為隔離式 v2 方案:

    "type": "Microsoft.Web/serverfarms",
    "apiVersion": "2021-02-01",
    "name": "[parameters('serverfarm_name')]",
    "location": "East US",
    "sku": {
        "name": "I1v2",
        "tier": "IsolatedV2",
        "size": "I1v2",
        "family": "Iv2",
        "capacity": 1
    },
    
  • 將應用程序部署到的 App Service 方案 (serverfarm) 參數更新為與 App Service 服務 v3 相關聯的方案。

  • 將裝載環境設定檔 (hostingEnvironmentProfile) 參數更新為新的 App Service 環境 v3 資源識別碼。

  • ARM 樣本匯出包含資源提供者針對資源公開的所有屬性。 移除所有非必要屬性,例如指向舊應用程式網域的屬性。 例如,您可以將 sites 資源簡化為下列範例:

    "type": "Microsoft.Web/sites",
    "apiVersion": "2021-02-01",
    "name": "[parameters('site_name')]",
    "location": "East US",
    "dependsOn": [
        "[resourceId('Microsoft.Web/serverfarms', parameters('serverfarm_name'))]"
    ],
    "properties": {
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('serverfarm_name'))]",
        "siteConfig": {
            "linuxFxVersion": "NODE|14-lts"
         },
        "hostingEnvironmentProfile": {
            "id": "[parameters('hostingEnvironments_externalid')]"
        }
    }
    

視您設定應用程式的方式而定,可能需要進行其他變更。 例如,如果您針對舊環境和新環境使用系統指派的受控識別以及相同的應用程式名稱,則可能會發生衝突。 若要解決此衝突且避免停機,您可使用使用者指派的受控識別。

您可以使用 Azure 入口網站、Azure CLI 或 PowerShell,部署 ARM 範本

手動遷移

就地移轉功能會自動化移轉至 App Service 環境 v3 的過程,並將所有應用程式傳輸至新環境。 此移轉期間大約會停機一小時。 如果您的應用程式不能發生任何停機,建議您使用並存移轉功能,這是一種零停機移轉選項,因為新環境是建立於不同的子網路。 如果您也選擇不使用並存移轉功能,您可以使用其中一個手動選項,在 App Service 環境 v3 中重新建立您的應用程式。

您可以使用應用程式閘道,在新舊環境間散發流量。 如果您使用的是內部 Load Balancer (ILB) App Service 環境,請使用額外的後端集區建立 Azure 應用程式閘道,在環境間散發流量。 如需 ILB App Service 環境與對應網際網路 App Service 環境的詳細資訊,請參閱應用程式閘道整合

您也可以使用 Azure Front DoorAzure 內容傳遞網路Azure 流量管理員等服務,在環境間散發流量。 使用這些服務讓您可以受控制的方式測試新環境,並協助您以自己的步調移至新環境。

完成新環境的移轉及任何測試後,請刪除舊的 App Service 環境、舊環境上的應用程式,及您不再需要的任何支援資源。 未刪除的任何資源將會繼續收費。

常見問題集

  • 如何知道我是否應該使用其中一個手動選項移轉至 App Service 環境 v3?
    如需有助於決定適合您移轉選項的說明,請參閱移轉路徑決策樹。 如果您的環境符合移轉路徑決策樹中所述的準則,請考慮使用其中一個自動化移轉功能,以更快速地移轉至 App Service 環境 v3。 如果您需要緩慢地將應用程式移至新的環境,並在整個流程中進行驗證,建議您進行手動移轉。

  • 在移轉時是否有停機的問題?
    停機時間取決於您的移轉程序。 如果您有可在移轉時將流量指向的不同 App Service 環境,或者您可使用不同的子網路來建立新的環境,則不會停機。 如果您必須使用相同的子網路,在刪除舊環境、建立 App Service 環境 v3 資源、建立新的 App Service 方案、重新建立應用程式以及更新使用新 IP 位址的任何資源時,都會發生停機。

  • 我需要變更應用程式的任何相關資訊,才能在 App Service 環境 v3 上執行應用程式?
    否。 在 App Service 環境 v1 和 v2 上執行的應用程式不需要進行任何修改,即可在 App Service 環境 v3 上執行。 如果您使用 IP SSL,必須先移除 IP SSL 繫結,才能進行移轉。

  • 如果我的 App Service 環境有一個自訂網域尾碼怎麼辦?
    移轉功能支援此移轉案例。 如果您不想使用移轉功能,也可以使用手動方法進行移轉。 您可以在建立 App Service 環境 v3 資源或之後的任何時間設定自訂網域尾碼

  • 如果我的 App Service 環境 v2 資源已釘選區域,該怎麼辦?
    App Service 環境 v3 不支援區域釘選功能。 您可以選擇在建立 App Service 環境 v3 資源時啟用區域備援。

  • 我 App Service 環境中的哪些屬性將會變更?
    檢閱 App Service 環境 v3 與舊版之間的功能差異。 針對 ILB App Service 環境,您要保留相同的 ILB IP 位址。 針對網際網路對應 App Service 環境,公用 IP 位址和輸出 IP 位址會變更。

    網際網路對應 App Service 環境先前針對輸入和輸出都有單一 IP。 對於 App Service 環境 v3,它們是有區分的。 如需詳細資訊,請參閱 App Service 環境 v3 網路功能。

  • 備份和還原是否支援將應用程式從 App Service 環境 v2 移至 v3? 只要您使用自訂備份進行還原,備份和還原功能就支援在 App Service 環境版本之間還原應用程式。 自動備份不支援還原到不同的 App Service 環境版本。

  • 在 2024 年 8 月 31 日之後,我的 App Service 環境 v1 和 v2 資源會發生什麼事?
    2024 年 8 月 31 日之後,如果您尚未移轉至 App Service 環境 v3,則您的 App Service 環境 v1 和 v2 資源和部署的應用程式將無法再使用。

    App Service 環境 v1 和 v2 裝載於雲端服務 (傳統) 架構上執行的 App Service 縮放單位。 由於此結構將於 2024年 8 月 31 日淘汰,因此 App Service 環境 v1 和 v2 將無法在該日期之後使用。 請移轉至 App Service 環境 v3,讓您的應用程式持續執行,或儲存或備份您需要維護的任何資源或資料。

下一步