共用方式為


使用就地移轉功能移轉至 App Service 環境 v3

注意

本文所述的移轉功能會用於將 App Service 環境 v1 和 v2 自動就地 (相同子網路) 移轉至 App Service 環境 v3。 如果您尚未要求 30 天的寬限期,請檢閱寬限期概觀,然後移至 Azure 入口網站並瀏覽每個 App Service 環境的 [移轉] 刀鋒視窗,以要求寬限期。

如果您要尋找並存移轉功能的相關資訊,請參閱使用並存移轉功能移轉至 App Service 環境 v3。 如果您要尋找手動移轉選項的相關資訊,請參閱手動移轉選項。 如需有助於決定適合您移轉選項的說明,請參閱移轉路徑決策樹。 如需 App Service 環境 v3 的詳細資訊,請參閱 App Service 環境 v3 概觀

App Service 現在可以自動將 App Service 環境 v1 和 v2 版移轉至 App Service 環境 v3。 有不同的移轉選項。 檢閱移轉路徑決策樹,以決定哪個選項最適合您的使用案例。 App Service 環境 v3 提供舊版的優點和功能差異。 進行移轉之前,請務必先檢閱 App Service 環境 v3 的支援功能,以降低非預期應用程式問題的風險。

就地移轉功能可將移轉至 App Service 環境 v3 的過程自動化,方法是在相同的子網路中升級現有的 App Service 環境。 此移轉選項最適合想要移轉至 App Service 環境 v3 的客戶,且對其網路設定變更最少。 您也必須能夠支援大約一小時的應用程式停機時間。 如果您不支援停機,請參閱端移轉功能手動移轉選項

重要

建議您先將此功能用於開發環境,再移轉任何生產環境,以確保沒有任何非預期的問題。 請使用頁面底部的按鈕,提供與本文或功能相關的任何意見反應。

支援的案例

目前,就地移轉功能在下列區域不支援移轉至 App Service 環境 v3:

由 21Vianet 營運的 Microsoft Azure

  • 中國東部 2
  • 中國北部 2

您可以使用就地移轉功能,來移轉下列 App Service 環境組態。 下表提供在根據現有 App Service 環境使用就地移轉功能時 App Service 環境 v3 組態。 只要環境位於支援區域備援的區域,所有支援的 App Service 環境都可以使用就地移轉功能移轉至區域備援 App Service 環境 v3。 您可以在移轉程序期間設定區域備援

組態 App Service 環境 v3 設定
內部負載平衡器 (ILB) App Service 環境 v2 ILB App Service 環境 v3
外部 (ELB/網際網路對應且具有公用 IP) App Service 環境 v2 ELB App Service 環境 v3
具有自訂網域尾碼的 ILB App Service 環境 v2 具有自訂網域尾碼的 ILB App Service 環境 v3
ILB App Service 環境 v1 ILB App Service 環境 v3
ELB App Service 環境 v1 ELB App Service 環境 v3
具有自訂網域尾碼的 ILB App Service 環境 v1 具有自訂網域尾碼的 ILB App Service 環境 v3
釘選區域的 App Service 環境 v2 具有選用區域備援組態的 App Service 環境 v3

如果您希望新的 App Service 環境 v3 使用自訂網域尾碼,而且您目前還沒使用,則一旦移轉完成後,就可以隨時設定自訂網域尾碼。 如需詳細資訊,請參閱設定 App Service 環境的自訂網域尾碼

您可以瀏覽至 Azure 入口網站中的 App Service 環境,然後選取左側 [設定] 底下的 [設定],以尋找 App Service 環境的版本。 您也可以使用 Azure 資源總管,並檢閱 App Service 環境的 kind 屬性值。

就地移轉功能限制

以下為使用就地移轉功能時的限制:

  • 新的 App Service 環境 v3 位於舊環境所使用的現有子網路中。
  • 您無法變更 App Service 環境所在的區域。
  • ELB App Service 環境無法移轉至 ILB App Service 環境 v3,反之亦然。
  • 如果您現有的 App Service 環境使用自訂網域尾碼,您必須在移轉程序期間設定 App Service 環境 v3 的自訂網域尾碼。
    • 如果不再使用自訂網域尾碼,移轉完成後即可將其移除。

App Service 環境 v3 目前不支援您可能搭配目前 App Service 環境 v1 或 v2 版使用的下列功能。

  • 使用您的應用程式設定以 IP 為基礎的 TLS/SSL 繫結。
  • 如果虛擬網路中已設定的自訂 DNS 伺服器無法解析指定的名稱,則 App Service 環境 v3 不會回復至 Azure DNS。 如果需要此行為,請確定您有公用 DNS 的轉寄站,或將 Azure DNS 包含在自訂 DNS 伺服器清單中。

就地移轉功能不支援下列情節。 如果您的 App Service 環境屬於下列其中一個類別,請參閱手動移轉選項

  • 傳統虛擬網路中的 App Service 環境 v1
  • 使用 IP SSL 位址的 ELB App Service 環境 v2
  • 使用 IP SSL 位址的 ELB App Service 環境 v1
  • App Service 環境的名稱不符合字元限制。 包含網域尾碼的整個名稱必須是 64 個字元或以下。 例如:ILB 的 my-ase-name.appserviceenvironment.net 和 ELB 的 my-ase-name.p.azurewebsites.net,都必須是 64 個字元或以下。 如果您不符合字元限制,則必須手動移轉。 特別針對 App Service 環境名稱的字元限制如下:
    • ILB App Service 環境名稱字元限制:36 個字元
    • ELB App Service 環境名稱字元限制:42 個字元

App Service 平台會審查 App Service 環境,以確認就地移轉支援。 如果您的情節未通過所有驗證檢查,您將無法使用就地移轉功能來進行移轉。 如果環境狀況不良或處於暫停狀態,則在進行所需的更新之前,您將無法移轉。

注意

App Service 環境 v3 不支援 IP SSL。 如果您使用 IP SSL,必須先移除所有 IP SSL 繫結,才能移轉至 App Service 環境 v3。 在移除所有 IP SSL 繫結之後,此移轉功能便會支援您的環境。

疑難排解

如果 App Service 環境未通過驗證檢查,或嘗試以不正確的順序執行移轉步驟,您可能會看到下列其中一個錯誤訊息:

錯誤訊息 描述 建議
移轉只能在 ARM VNET 中的 ASE 上呼叫,而此 ASE 位於傳統 VNET 中。 傳統 VNet 中的 App Service 環境無法使用就地移轉功能進行移轉。 使用其中一個手動移轉選項進行移轉。
ASEv3 移轉尚未就緒。 基礎基礎結構尚未準備好支援 App Service 環境 v3。 如果您想要立即移轉,請使用其中一個手動移轉選項進行移轉。 否則,請等候就地移轉功能在您的區域中變成可供使用。
無法在此 ASE 上呼叫移轉,請連絡支援人員以取得移轉的協助。 需要支援人員的參與才能移轉此 App Service 環境。 此問題可能是因為此環境所使用的自訂設定所造成。 請開立支援案例,洽詢支援人員來解決問題。
如果任何網站上啟用 IP SSL,則無法呼叫移轉。 具有已啟用 IP SSL 網站的 App Service 環境無法使用移轉功能進行移轉。 從 App Service 環境中的所有應用程式移除 IP SSL,以啟用移轉功能。
產生 IP 位址之前,無法呼叫完整移轉。 如果您在完成移轉前步驟之前嘗試移轉,就會出現此錯誤。 在您嘗試移轉之前,請確定您已完成所有移轉前步驟。 請參閱移轉的逐步指南
此 ASE 不允許移轉至 ASEv3。 您將無法使用移轉功能進行移轉。 使用其中一個手動移轉選項進行移轉。
訂用帳戶具有太多 App Service 環境。 請先移除一些環境,再嘗試建立更多項目。 已符合訂用帳戶的 App Service 環境配額 移除不必要的環境,或連絡支援人員以檢閱您的選項。
<ZoneRedundant><DedicatedHosts><ASEv3/ASE> 不適用於此位置。 如果您嘗試在不支援其中一個要求功能的區域中移轉 App Service 環境,將會出現此錯誤。 如果您想要立即移轉,請使用其中一個手動移轉選項進行移轉。 否則,請等待移轉功能支援此 App Service 環境設定。
必須先完成作用中的升級,才能在此 ASE 上呼叫移轉。 App Service 環境無法在平台升級期間進行移轉。 您可以從 Azure 入口網站設定升級喜好設定。 升級需要 8-12 小時或更長的時間,視 App Service 環境的大小 (執行個體/核心數目) 而定。 請等候升級完成,然後進行移轉。
正在進行 App Service 環境管理作業。 您的 App Service 環境正在進行管理作業。 這些作業可能包括部署或升級等活動。 在這些作業完成之前,會將移轉封鎖。 完成這些作業之後,您將能夠進行移轉。
此訂用帳戶無法使用移轉功能。 需要支援人員的參與才能移轉此 App Service 環境。 請開立支援案例,洽詢支援人員來解決問題。
目前不支援 InteralLoadBalancingMode。 將 InternalLoadBalancingMode 設為某些值的 App Service 環境目前無法使用移轉功能進行移轉。 Microsoft 小組必須手動變更 InternalLoadBalancingMode。 請開立支援案例,洽詢支援人員來解決問題。 要求更新 InternalLoadBalancingMode 以允許移轉。

使用就地移轉功能進行移轉程序的概觀

就地移轉是由一系列必須依序遵循的步驟所組成。 提供步驟子集要點。 請務必了解這些步驟期間會發生什麼情況,以及您的環境和應用程式如何受到影響。 檢閱下列資訊並準備好移轉之後,請遵循逐步指南

使用 App Service 環境的就地移轉功能來驗證是否支援移轉

平台會驗證您可以使用就地移轉功能來移轉 App Service 環境。 如果您的 App Service 環境未通過所有驗證檢查,目前便無法使用就地移轉功能來進行移轉。 如需驗證失敗可能原因的詳細資料,請參閱疑難排解一節。 如果環境狀況不良或處於暫停狀態,則在進行所需的更新之前,您將無法移轉。 如果您無法使用就地移轉功能進行移轉,請參閱手動移轉選項

驗證也會檢查您的 App Service 環境是否處於移轉所需的最低組建。 此組建可能比使用例行平台升級/維護週期部署的標準組建還新。 最低組建會定期更新,以確保有最新的錯誤修正和改進。 如果您的 App Service 環境不在最低組建上,則必須自行開始升級。 此升級是一個標準程序,其中 App Service 環境不會受到影響,但您無法在升級進行時調整或變更 App Service 環境。 在升級完成之前,您無法移轉。 視環境大小而定,升級可能需要 8-12 小時或更長的時間才能完成。 如果您規劃移轉的特定時間範圍,則應該在規劃的移轉時間前 24-48 小時執行驗證檢查,以確保您有時間進行升級。

為新的 App Service 環境 v3 產生 IP 位址

平台會建立新的輸入 IP (如果您要移轉 ELB App Service 環境) 和新輸出 IP 位址。 這些 IP 在建立的同時,不會使現有 App Service 環境活動中斷,但您無法調整或變更現有的環境。 完成這個處理序大約需要 15 分鐘。

完成後,系統會提供您未來 App Service 環境 v3 使用的新 IP。 這些新 IP 對您現有的環境不會有任何影響。 在移轉步驟期間關閉現有環境之前,會繼續使用現有環境所使用的 IP。

使用新的 IP 更新相依資源

建立新的 IP 之後,就會將新的預設輸出至網際網路公用位址。 為了準備移轉,您可以調整任何外部防火牆、DNS 路由、網路安全群組,以及依賴這些 IP 的任何其他資源。 針對 ELB App Service 環境,您也會有新的輸入 IP 位址,可用來設定具有流量管理員Azure Front Door 等服務的新端點。 您必須負責更新受新 App Service 環境 v3 相關聯 IP 位址變更所影響的任何資源。 在您進行所有必要的更新之前,請勿繼續進行下一個步驟。 此步驟也是在移至 App Service 環境 v3 時檢閱輸入和輸出網路相依性變更的好時機,包括對目前使用連接埠 80 的 Azure Load Balancer 健全狀態探查的連接埠變更。

委派您的 App Service 環境子網路

App Service 環境 v3 需要其所位在的子網路具有 Microsoft.Web/hostingEnvironments 的單一委派。 如果未委派 App Service 環境的子網路或將其委派給不同的資源,則移轉不會成功。

確認執行個體大小變更

在移轉過程中,App Service 方案會從隔離轉換為對應的隔離 v2 層。 例如,I2 會轉換成 I2v2。 應用程式可能會在移轉後過度佈建,因為隔離式方案 v2 層對於每個對應執行個體大小具有更多的記憶體和 CPU。 移轉完成後,您將有機會視需要調整環境。 如需詳細資訊,請檢閱 SKU 詳細資料

確保您的資源沒有任何鎖定

虛擬網路鎖定將會在移轉期間封鎖平台作業。 如果虛擬網路具有鎖定,則您需要先將其移除,才能進行移轉。 移轉完成之後,可以視需要重新新增鎖定。 鎖定可以存在於三個不同的範圍:訂用帳戶、資源群組和資源。 當您在父範圍套用鎖定時,該範圍內的所有資源都會都繼承相同的鎖定。 如果您已在訂用帳戶、資源群組或資源範圍套用鎖定,則需要在移轉之前移除那些鎖定。 如需鎖定和鎖定繼承的詳細資訊,請參閱鎖定您的資源以保護基礎結構

確定沒有任何封鎖移轉的 Azure 原則

Azure 原則可用來拒絕對特定主體的資源建立和修改。 如果您有一個原則,該原則使您無法建立 App Service 環境或修改子網路,則必須在移轉之前將其移除。 移轉完成之後,可以視需要重新新增原則。 如需 Azure 原則的詳細資訊,請參閱 Azure 原則概觀

選擇您的 App Service 環境 v3 設定

您的 App Service 環境 v3 可以跨可用性區域部署在支援 v3 的區域。 此架構稱為區域備援。 只能在建立 App Service 環境期間設定區域備援。 如果您想要讓新的 App Service 環境 v3 成為區域備援,請在移轉程序期間啟用設定。 只要您使用支援 App Service 環境 v3 區域備援的區域,就可以將使用就地移轉功能所移轉的任何 App Service 環境設定為區域備援。 如果您現有的環境位於不支援區域備援的區域,就會停用組態選項,而且您將無法進行設定。 就地移轉功能不支援變更區域。 如果您想要使用不同的區域,請使用其中一個手動移轉選項

注意

啟用區域備援可能會導致額外的費用。 如需詳細資訊,請檢閱區域備援定價模型

如果現有 App Service 環境使用自訂網域尾碼,則系統會提示您為新的 App Service 環境 v3 設定自訂網域尾碼。 您必須提供自訂網域名稱、受控識別和憑證。 如需關於 App Service 環境 v3 自訂網域尾碼的詳細資訊,包括需求、逐步指示和最佳做法,請參閱設定 App Service 環境的自訂網域尾碼。 即使您不想再使用,也必須為新的環境設定自訂網域尾碼。 移轉完成後,您可以視需要移除自訂網域尾碼設定。

如果移轉包含自訂網域尾碼,針對 App Service 環境 v3,自訂網域將不再顯示在入口網站 [概觀] 頁面的 [基本資訊] 區段中,因為其適用於 App Service 環境 v1/v2。 相反地,針對 App Service 環境 v3,請移至 [自訂網域尾碼] 頁面,您可在其中確認已正確設定自訂網域尾碼。 此外,在 App Service 環境 v2 上,如果您有自訂網域尾碼,預設主機名稱會包含您的自訂網域尾碼,且格式為 APP-NAME.internal.contoso.com。 在 App Service 環境 v3 上,預設主機名稱一律會使用預設網域尾碼,且格式為 APP-NAME.ASE-NAME.appserviceenvironment.net。 這是因為當您新增自訂網域尾碼時,App Service 環境 v3 會保留預設網域尾碼。 使用 App Service 環境 v2 時,只有單一網域尾碼。

移轉至 App Service 環境 v3

完成先前的步驟之後,您應該盡快繼續進行移轉。

重要

移轉期間會禁止調整規模,因此您應該在開始移轉之前將環境調整為所需的大小。 如果您已啟用了自動調整,若在移轉開始之前發生調整事件,則必須等到調整事件完成後才能開始移轉。 您應該在開始移轉之前停用自動調整以避免此問題。 如果您需要在移轉之後調整環境,您可以在移轉完成後執行此動作。

針對 App Service 環境 v2 到 v3 的移轉,需要三到六小時的服務窗口。 服務時間範圍取決於從 v1 移轉到 v3 的環境大小,最多需要六小時。 在需要服務小組手動介入的極少數情況下,可能會延長服務窗口。 在移轉期間,會封鎖調整和環境設定,並發生下列事件:

  • 現有的 App Service 環境已關閉,並由新的 App Service 環境 v3 取代。
  • App Service 環境中的所有 App Service 方案都會從隔離式方案轉換為隔離式方案 v2 層。
  • App Service 環境上的所有應用程式都會暫時關閉。 在此期間,您應該預期大約一小時的停機
  • App Service 環境使用的公用位址會變更為在 IP 產生步驟中產生的 IP。

移轉程序期間提供下列狀態:

狀態 描述
驗證和準備移轉。 平台正在驗證移轉支援,並執行必要的檢查。
部署 App Service 環境 v3 基礎結構。 您的新 App Service 環境 v3 基礎結構佈建中。
等候基礎結構完成。 平台正在驗證您的新基礎結構,並執行必要的檢查。
設定網路功能。 移轉停機時間已啟動。 無法存取應用程式。 平台正在刪除您的舊基礎結構,並將所有應用程式移至新的 App Service 環境 v3。 您的應用程式已關閉,因此不會接受流量。
執行移轉後驗證。 平台正在執行必要的檢查,以確保移轉成功。
完成移轉。 平台正在完成移轉。

與 IP 產生步驟一樣,在此程序中您無法調整、修改 App Service 環境或將應用程式部署到其中。 移轉完成時,舊 App Service 環境上的應用程式會在新的 App Service 環境 v3 上執行。

使用就地移轉功能

必要條件

確保您了解移轉至 App Service 環境 v3 如何影響您的應用程式。 檢閱移轉流程,以了解流程時間軸,以及何時何處需要您參與。 另請檢閱常見問題集,其可回答您的一些問題。

確保您的虛擬網路、資源群組、資源或訂用帳戶上沒有任何鎖定。 鎖定會在移轉期間封鎖平台作業。

確保沒有任何 Azure 原則會封鎖移轉所需的動作,包括子網路修改和 Azure App Service 資源建立。 封鎖資源修改和建立的原則可能會導致移轉停滯或失敗。

移轉期間會封鎖調整規模,因此您應該在開始移轉之前,將環境調整為所需的大小。 如果您需要在移轉之後調整環境,您可以在移轉完成後執行此動作。 如果您已啟用了自動調整,若在移轉開始之前發生調整事件,則會阻止您的移轉,直到調整事件完成為止。 您應該在開始移轉之前停用自動調整以避免此問題。

建議您使用 Azure 入口網站以進行就地移轉體驗。 如果您決定使用 Azure CLI 進行移轉,請遵循此處所述的步驟,並依照撰寫的內容依序進行,因為您正在進行 Azure REST API 呼叫。 建議您使用 Azure CLI 進行這些 API 呼叫。 如需其他方法的相關資訊,請參閱 Azure REST API 參考

如需此指南,請安裝 Azure CLI 或使用 Azure Cloud Shell,並使用 Bash 殼層。。

注意

建議您使用 Bash 殼層來執行本指南中提供的命令。 命令可能與 PowerShell 慣例和逸出字元不相容。

1.取得您的 App Service 環境識別碼

執行下列命令來取得您的 App Service 環境識別碼,並將其儲存為環境變數。 將名稱和資源群組的預留位置取代為您所要移轉 App Service 環境的值。 如果您的虛擬網路和 App Service 環境位於相同的資源群組中,則 ASE_RGVNET_RG 會相同。

ASE_NAME=<Your-App-Service-Environment-name>
ASE_RG=<Your-ASE-Resource-Group>
VNET_RG=<Your-VNet-Resource-Group>
ASE_ID=$(az appservice ase show --name $ASE_NAME --resource-group $ASE_RG --query id --output tsv)

2.驗證是否支援移轉

下列命令會檢查您的 App Service 環境是否支援移轉,並驗證您的 App Service 環境是否採用支援的組建版本可進行移轉。

az rest --method post --uri "${ASE_ID}/migrate?api-version=2021-02-01&phase=validation"

如果沒有錯誤,則支援您的移轉,而且您可以繼續進行下一個步驟。

如果您需要開始升級,以將 App Service 環境升級至支援的組建版本,請執行下列命令。 只有在驗證步驟失敗並指示升級 App Service 環境時,才執行此命令。

az rest --method post --uri "${ASE_ID}/migrate?api-version=2021-02-01&phase=PreMigrationUpgrade"

3.為您的新 App Service 環境 v3 資源產生 IP 位址

執行下列命令以建立新的 IP 位址。 此步驟約需要 15 分鐘來完成。 請不要在這段時間調整或變更您現有的 App Service 環境。

az rest --method post --uri "${ASE_ID}/migrate?api-version=2021-02-01&phase=premigration"

執行下列命令檢查此步驟的狀態:

az rest --method get --uri "${ASE_ID}?api-version=2021-02-01" --query properties.status

如果步驟進行中,您會取得 Migrating 的狀態。 取得 Ready 的狀態之後,執行下列命令來檢視新的 IP。 如果您沒有立即看到新的 IP,請稍候幾分鐘,然後再試一次。

az rest --method get --uri "${ASE_ID}/configurations/networking?api-version=2021-02-01"

4.使用新的 IP 更新相依資源

使用新的 IP,更新您的任何資源或網路元件,以確保新的環境功能在移轉完成後如預期般運作。 進行任何必要的更新,這是您的責任。

5.委派您的 App Service 環境子網路

App Service 環境 v3 需要其所位在的子網路具有 Microsoft.Web/hostingEnvironments 的單一委派。 舊版不需要此委派。 您必須確認已正確委派子網路,並在移轉之前更新委派 (如必要)。 您可以執行下列命令或移至 Azure 入口網站中的子網路來更新委派。

az network vnet subnet update --resource-group $VNET_RG --name <subnet-name> --vnet-name <vnet-name> --delegations Microsoft.Web/hostingEnvironments

6.確認虛擬網路上沒有鎖定

虛擬網路鎖定將會在移轉期間封鎖平台作業。 如果虛擬網路具有鎖定,則您需要先將其移除,才能進行移轉。 如有必要,您可以在移轉完成後再新增鎖定。

使用下列命令來檢查您的虛擬網路是否具有任何鎖定:

az lock list --resource-group $VNET_RG --resource <vnet-name> --resource-type Microsoft.Network/virtualNetworks

使用下列命令來刪除任何現有的鎖定:

az lock delete --resource-group $VNET_RG --name <lock-name> --resource <vnet-name> --resource-type Microsoft.Network/virtualNetworks

如需檢查訂用帳戶或資源群組是否具有鎖定的相關命令,請參閱鎖定的 Azure CLI 參考

7.準備您的設定

如果您的現有環境位於支援區域備援的區域,您可以讓新的 App Service 環境 v3 資源區域做為備援。 您可以將 zoneRedundant 屬性設定為 true,以設定區域備援。

如果您的現有 App Service 環境使用自訂網域尾碼,您必須在移轉程序期間,為新的 App Service 環境 v3 資源設定自訂網域尾碼。 如果您未設定自訂網域尾碼,且目前使用一個自訂網域尾碼,移轉會失敗。 如果您嘗試在移轉期間將自訂網域尾碼新增至未設定網域的環境,則移轉也會失敗。 如需關於 App Service 環境 v3 自訂網域尾碼的詳細資訊,包括需求、逐步指示和最佳做法,請參閱 App Service 環境的自訂網域尾碼

注意

如果您要設定自訂網域尾碼,當您在 Azure Key Vault 上新增網路權限時,請確定您的金鑰保存庫允許從您在步驟 3 中產生的 App Service 環境的新輸出 IP 位址存取。 如果您使用私人端點存取金鑰保存庫,請確保您已正確設定私人存取。

如果您的移轉不包含自訂網域尾碼,且您未啟用區域備援,則您可以繼續進行移轉。

若要進行這些設定,請根據您的案例,使用下列詳細資料建立名為 parameters.json 的檔案。 如果此功能不適合您的移轉,則請勿包含自訂網域尾碼屬性。 注意 zoneRedundant 屬性的值,因為此設定在移轉之後無法復原。 根據您現有的App Service 環境版本來設定 kind 屬性的值。 kind 屬性可接受的值為 ASEV1ASEV2

如果您要在不使用自訂網域尾碼並且啟用區域備援的情況下進行移轉,請使用此程式碼:

{
    "type": "Microsoft.Web/hostingEnvironments",
    "name": "sample-ase-migration",
    "kind": "ASEV2",
    "location": "westcentralus",
    "properties": {
        "zoneRedundant": true
    }
}

如果您要針對您的自訂網域尾碼設定使用使用者指派的受控識別,並且啟用區域備援,請使用此程式碼:

{
    "type": "Microsoft.Web/hostingEnvironments",
    "name": "sample-ase-migration",
    "kind": "ASEV2",
    "location": "westcentralus",
    "properties": {
        "zoneRedundant": true,
        "customDnsSuffixConfiguration": {
            "dnsSuffix": "internal.contoso.com",
            "certificateUrl": "https://contoso.vault.azure.net/secrets/myCertificate",
            "keyVaultReferenceIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asev3-migration/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ase-managed-identity"
        }
    }
}

如果您要針對您的自訂網域尾碼設定使用系統指派的受控識別,並且不要啟用區域備援,請使用此程式碼:

{
    "type": "Microsoft.Web/hostingEnvironments",
    "name": "sample-ase-migration",
    "kind": "ASEV2",
    "location": "westcentralus",
    "properties": {
        "customDnsSuffixConfiguration": {
            "dnsSuffix": "internal.contoso.com",
            "certificateUrl": "https://contoso.vault.azure.net/secrets/myCertificate",
            "keyVaultReferenceIdentity": "SystemAssigned"
        }
    }
}

8.移轉至 App Service 環境 v3 並檢查狀態

完成上述所有步驟之後,您就可以開始移轉。 請確定您了解移轉的影響

此步驟最多需要三到六小時才能將 v2 移轉到 v3,以及最多需要六小時才能將 v1 移轉到 v3,視環境大小而定。 在該期間,應用程式大約會有一小時的停機。 在此步驟期間,將會封鎖對現有 App Service 環境的調整、部署和修改。

如果您要啟用區域備援和/或設定自訂網域尾碼,則在下列命令中包含 body 參數。 如果這兩個設定都不適合您的移轉,您可以從命令中移除參數。

az rest --method post --uri "${ASE_ID}/migrate?api-version=2021-02-01&phase=fullmigration" --body @parameters.json

執行下列命令來檢查移轉的詳細狀態。 如需狀態的詳細資訊,請參閱移轉狀態描述

第一個命令會取得移轉的作業識別碼。 複製 ID 屬性的值。

az rest --method get --uri "${ASE_ID}/operations?api-version=2022-03-01"

將下列命令中作業識別碼的預留位置取代為您複製的值。 此命令會傳回移轉的詳細狀態。 您可以視需要執行此命令,以取得最新的狀態。

az rest --method get --uri "${ASE_ID}/operations/<operation-id>/details/default?api-version=2022-09-01"

取得 Ready 狀態之後,移轉即已完成,且您會有 App Service 環境 v3 資源。 您的應用程式現在正在您的新環境中執行。

執行下列命令或移至 Azure 入口網站,以取得新環境的詳細資料。

az appservice ase show --name $ASE_NAME --resource-group $ASE_RG

1.驗證是否支援移轉

Azure 入口網站中,移至您要移轉的 App Service 環境的 [移轉] 頁面。 您可以選取 App Service 環境 [概觀] 頁面頂端的橫幅,或選取左側功能表上的 [移轉] 項目,以移至 [移轉] 頁面。

顯示移轉存取點的螢幕擷取畫面。

選取 [就地] 移轉選項以開始就地移轉程序。 如果您選取並存移轉的選項,則會前往該移轉程序的文件。 如果您想要使用就地移轉功能,請勿選取並存移轉選項。

顯示具有移轉選項的資料表的螢幕擷取畫面。

在 [移轉] 頁面上,平台會驗證是否支援您的 App Service 環境進行移轉。 選取 [驗證],然後確認您要繼續進行驗證。 驗證程序需要幾秒鐘的時間。

顯示用於驗證移轉資格的按鈕的螢幕擷取畫面。

如果不支援您的環境進行移轉,橫幅會出現在頁面頂端,並包括錯誤訊息與原因。 如需在您不符合移轉資格時會出現的錯誤訊息描述,請參閱疑難排解

顯示範例入口網站訊息,指出移轉功能不支援 App Service 環境的螢幕擷取畫面。

如果您需要開始升級,以將 App Service 環境升級至支援的組建版本,則會提示您開始升級,視環境的大小而定,可能需要 8-12 小時或更長的時間。 選取 [升級] 以開始升級。 升級完成時,您會通過驗證,並可以使用移轉功能來開始移轉。

如果支援您的 App Service 環境進行移轉,請繼續進行流程中的下一個步驟。 [移轉] 頁面會透過一系列步驟引導您完成移轉。

顯示程序中有未完成步驟的範例移轉頁面的螢幕擷取畫面。

2.為您的新 App Service 環境 v3 資源產生 IP 位址

在 [取得新的 IP 位址] 底下,確認您了解含意,然後選取 [開始] 按鈕。 此步驟約需要 15 分鐘來完成。 您無法在此期間調整或變更您現有的 App Service 環境。

3.使用新的 IP 更新相依資源

當上一個步驟完成時,將顯示新 App Service 環境 v3 資源的 IP 位址。 使用新的 IP 來更新任何資源和網路元件,使得新的環境功能在移轉完成後如預期般運作。 進行任何必要的更新,這是您的責任。

顯示在移轉前期間所產生的範例 IP 的螢幕擷取畫面。

4.委派您的 App Service 環境子網路

App Service 環境 v3 需要其所位在的子網路具有 Microsoft.Web/hostingEnvironments 的單一委派。 舊版不需要此委派。 您必須確認已正確委派子網路,並在移轉之前更新委派 (如必要)。 入口網站會顯示子網路的連結,以便您可以確認並視需要更新。

顯示使用入口網站中子網路委派的螢幕擷取畫面。

5.確認執行個體大小變更

選取 [確認] 按鈕,以確認您了解 App Service 方案已隨著移轉的一部分,從隔離轉換成對應的隔離 v2 層。

顯示移轉時確認執行個體大小變更的螢幕擷取畫面。

6.確認虛擬網路沒有鎖定

虛擬網路鎖定將會在移轉期間封鎖平台作業。 如果虛擬網路具有鎖定,則您需要先將其移除,才能進行移轉。 如需如何檢查訂用帳戶或資源群組是否具有鎖定的詳細資料,請參閱設定鎖定

顯示尋找和移除虛擬網路鎖定位置的螢幕擷取畫面。

7.選擇您的設定

如果您的現有環境位於支援區域備援的區域,您可以讓新的 App Service 環境 v3 資源區域做為備援。

如果要設定區域備援,請選取 [已啟用] 核取方塊。

顯示用於在支援區域中為 App Service 環境啟用區域備援的核取方塊的螢幕擷取畫面。

如果您的環境位於不支援區域備援的區域,該核取方塊就會停用。 如果您需要區域備援 App Service 環境 v3 資源,請使用其中一個手動移轉選項,並在支援區域備援的其中一個區域中建立該資源。

如果您的現有 App Service 環境使用自訂網域尾碼,則必須為新的 App Service 環境 v3 資源設定自訂網域尾碼。 如果此情況適合您,則會出現用於自訂網域尾碼的設定選項。 在提供必要資訊之前,您無法移轉。

如果您要使用自訂網域尾碼,但目前尚未設定尾碼,則您可以在移轉完成後設定一個自訂網域尾碼。 如需關於 App Service 環境 v3 自訂網域尾碼的詳細資訊,包括需求、逐步指示和最佳做法,請參閱 App Service 環境的自訂網域尾碼

注意

如果您要設定自訂網域尾碼,當您在 Azure Key Vault 上新增網路權限時,請確定您的金鑰保存庫允許從您在步驟 2 中產生的 App Service 環境的新輸出 IP 位址存取。 如果您使用私人端點存取金鑰保存庫,請確保您已正確設定私人存取。

顯示用於新增自訂網域尾碼連結的螢幕擷取畫面。

新增自訂網域尾碼的詳細資料之後,即可使用 [移轉] 按鈕。

顯示已新增設定詳細資料且環境已就緒進行移轉的螢幕擷取畫面。

8.移轉至 App Service 環境 v3

完成上述所有步驟之後,您就可以開始移轉。 確定您了解移轉的影響,包括這段時間會發生什麼情況。

此步驟最多需要三到六小時才能將 v2 移轉到 v3,以及最多需要六小時才能將 v1 移轉到 v3,視環境大小而定。 在此步驟期間,將會封鎖對現有 App Service 環境的調整和修改。

注意

在罕見的情況下,開始移轉之後,您可能會在入口網站中看到「移轉至 App Service 環境 v3 失敗」的通知。 有一個已知的錯誤,即使移轉正在進行,也有可能觸發此通知。 檢查 App Service 環境的活動記錄檔,以判斷此錯誤訊息的有效性。 在大部分情況下,重新整理頁面可解決問題,且錯誤訊息會消失。 如果錯誤訊息持續發生,請連絡支援人員以尋求協助。

顯示移轉開始後潛在錯誤通知的螢幕擷取畫面。

目前,只有當您使用 Azure CLI 時,才能取得詳細的移轉狀態。 如需詳細資訊,請參閱移轉至 App Service 環境 v3 的 Azure CLI 小節。 即使使用入口網站執行移轉,也可以使用 CLI 來檢查移轉的狀態。

移轉完成時,您會具有 App Service 環境 v3 資源,而且您的所有應用程式都會在新環境中執行。 您可以檢查 App Service 環境的 [設定] 頁面,以確認環境的版本。

如果您的移轉包含自訂網域尾碼,網域會出現在 App Service 環境 v1/v2 入口網站 [概觀] 頁面的 [基本資訊] 區段中,但它不再會出現在App Service 環境 v3 中。 相反地,針對 App Service 環境 v3,請移至 [自訂網域尾碼] 頁面,以確認已正確設定自訂網域尾碼。 如果您不再需要該設定,也可以將設定移除,或如果您先前沒有設定,則可進行設定。

顯示 App Service 環境 v3 自訂網域尾碼設定頁面的螢幕擷取畫面。

注意

如果您的移轉包含自訂網域尾碼,則因為已知錯誤,您的自訂網域尾碼組態可能會在移轉完成後顯示為降級。 您的 App Service 環境仍應如預期般運作。 降級的狀態應該會在 6-8 小時內自行解決。 如果設定在8小時後降級,或您的自訂網域尾碼無法運作,請連絡客戶支援。

範例降級自訂網域尾碼組態的螢幕擷取畫面。

定價

移轉 App Service 環境不需要任何成本。 使用就地移轉功能時,一旦在移轉程序期間關閉之前的 App Service 環境,系統就會立即停止收費。 一旦部署 App Service 環境 v3,系統就會開始向您收費。 如需 App Service 環境 v3 定價的詳細資訊,請參閱定價詳細資料

當您從舊版移轉至 App Service 環境 v3 時,便會發生您應該考慮、可能會降低每月成本的案例。 請考慮保留節省方案,以進一步降低成本。 如需節省成本的機會資訊,請參閱升級至 App Service 環境 v3 之後節省成本的機會

注意

由於將 App Service 方案會從隔離式方案轉換為隔離式方案 v2,因此在移轉之後,您的應用程式可能會在移轉後過度佈建,因為隔離式方案 v2 層對於每個對應執行個體大小具有更多的記憶體和 CPU。 移轉完成後,您將有機會視需要調整環境。 如需詳細資訊,請檢閱 SKU 詳細資料

縮小 App Service 方案的規模

App Service 環境 v3 可用的 App Service 方案 SKU 會在隔離 v2 (Iv2) 層上執行。 相較於隔離層,每個對應層的核心數目和 RAM 數目實際上都增加一倍。 移轉時,App Service 方案會轉換成對應的層。 例如,I2 執行個體會轉換成 I2v2。 雖然 I2 有兩個核心和 7 GB RAM,但 I2v2 有四個核心和 16 GB 的 RAM。 如果預期容量需求維持不變,則您會遇到過度佈建的情況,並為您未使用的計算和記憶體付費。 在此案例中,您可以將 I2v2 執行個體相應減少為 I1v2,最終獲得與先前擁有類似的核心和 RAM 數目。

常見問題集

  • 如果目前不支援移轉我的 App Service 環境,該怎麼辦?
    目前您無法使用就地移轉功能進行移轉。 如果您有不支援的環境,且想要立即移轉,請參閱手動移轉選項
  • 如何選擇哪個移轉選項適合我?
    檢閱移轉路徑決策樹,以決定哪個選項最適合您的使用案例。
  • 如何知道我是否應該使用就地移轉功能?
    此就地移轉功能最適合想要移轉至 App Service 環境 v3,且網路組態變更最少的客戶,且可支援大約一小時的應用程式停機。 如果您不支援停機,請參閱端移轉功能手動移轉選項。 就地移轉功能會在與現有環境相同的子網路中建立 App Service 環境 v3,並使用相同的網路基礎結構。 如果您有這些特定 IP 的任何相依性,您可能需要考慮輸入和輸出 IP 位址變更。
  • 在移轉時是否有停機的問題?
    是,在移轉步驟期間,您應該預期三至六小時的服務保留時間,而其中約有一小時的停機,因此請據以規劃。 如果您有不同的 App Service 環境,可以在使用就地移轉功能時將流量指向其中,您就可以避免應用程式停機。 如果您沒有另一個 App Service 環境,且無法支援停機,請參閱端移轉功能手動移轉選項
  • 移轉之後,我需要對應用程式執行任何動作,才能在新 App Service 環境上執行嗎?
    不需要,因為在舊環境上執行的所有應用程式都會自動移轉至新的環境,並按照以前的方式執行。 使用者不需要輸入任何資料。
  • 如果我的 App Service 環境有一個自訂網域尾碼怎麼辦?
    就地移轉功能支援此移轉情節
  • 如果我的 App Service 環境已釘選區域,該怎麼辦?
    目前使用移轉功能進行移轉時,支援區域釘選 App Service 環境 v2 情節。 App Service 環境 v3 不支援區域釘選。 移轉至 App Service 環境 v3 時,您可以選擇是否設定區域備援。
  • 具有 IP SSL 位址的 App Service 環境是什麼? 在 App Service 環境 v3 上不支援 IP SSL。 您必須先移除所有 IP SSL 繫結,才能使用移轉功能或其中一個手動選項進行移轉。 如果想要使用就地移轉功能,一旦您移除所有 IP SSL 繫結,就會通過該驗證檢查,並繼續進行自動化移轉。
  • 我 App Service 環境中的哪些屬性將會變更?
    您將使用 App Service 環境 v3,因此請務必檢閱與舊版相較之下的功能差異。 對於 ILB App Service 環境,您會保留相同的 ILB IP 位址。 對於網際網路面向 App Service 環境,公用 IP 位址和輸出 IP 位址都會變更。 ELB App Service 環境的注意事項,先前有一個供輸入和輸出的 IP。 對於 App Service 環境 v3,它們是有區分的。 如需詳細資訊,請參閱 App Service 環境 v3 網路功能。 如需 App Service 環境版本的完整比較,請參閱 App Service 環境版本比較
  • 如果移轉失敗或移轉期間發生非預期的問題,會發生什麼事?
    如果發生非預期的問題,支援小組會提供協助。 您應該先移轉開發環境,再處理任何生產環境,以了解移轉程序,並了解其如何影響工作負載。
  • 我的舊 App Service 環境會發生什麼事?
    如果您決定使用就地移轉功能來移轉 App Service 環境,舊的環境會關閉、刪除,且所有應用程式都會移轉至新的環境。 舊環境將無法再提供存取。 您將無法復原至舊環境。
  • 2024 年 8 月 31 日之後,我的 App Service 環境 v1/v2 資源會有什麼變化?
    2024 年 8 月 31 日之後,如果您尚未移轉至 App Service 環境 v3,則 App Service 環境 v1/v2s 和在其中部署的應用程式將無法再使用。 應用服務環境 v1/v2 裝載在雲端服務 (傳統) 架構上執行的應用服務縮放單位上,該架構將於 2024 年 8 月 31 日淘汰。 因此,該日期後將無法再使用 App Service 環境 v1/v2。 移轉至 App Service 環境 v3,讓您的應用程式保持執行或儲存或備份您需要維護的任何資源或資料。

下一步