使用 Azure App Service Migration Assistant 移轉 Web 應用程式

已完成

既然評定已判斷可將 Web 應用程式移轉至 Azure App Service 後,您可以完成移轉。 但是 Migration Assistant 要做些什麼? 如何運作? 而且,當其要求選擇各種設定時,您該如何選擇?原因為何?

Migration Assistant 移轉 Web 應用程式的方式

Migration Assistant 會從收集 Azure 帳戶的重要詳細資料來展開移轉程序,然後執行移轉。

首先,登入 Azure 帳戶,並使用唯一的代碼來建立 Migration Assistant 工作階段與帳戶的關聯。 接下來,選擇訂用帳戶、資源群組和網站的網域名稱。 您可選擇建立新的 App Service 方案來裝載應用程式,或選取現有的方案。 這項選擇將影響裝載應用程式的地理區域。 您也能建立此移轉工作與現有 Azure Migrate 專案的關聯。 最後,您可選擇略過資料庫設定,或選擇設定混合式連線,以啟用資料庫連線。

在 Migration Assistant 收集並驗證您的選擇之後,就會開始工作。 其會在選取的區域和資源群組中建立所需 App Service 資源。 其會壓縮 Web 應用程式的來源檔案,並使用 App Service 部署 API 來部署這些檔案。 最後,其會執行選用的移轉步驟,例如協助設定混合式連線。

成功移轉之後,您即必須執行所有移轉後工作。 這些工作可能包括:

  • 手動將 web.config 檔案中的應用程式設定和連接字串移至 Azure App Service。
  • 將資料從內部部署 SQL Server 執行個體移轉至 Azure SQL Database。
  • 設定 TLS/SSL 憑證。
  • 設定自訂網域名稱。
  • 在 Microsoft Entra ID 中設定權限。

您也可以決定變更 App Service 主控方案和其他設定,例如自動調整和部署位置。

移轉案例

下圖描述典型的 Web 應用程式,其裝載的架構會將網頁伺服器部署在周邊網路 (也稱為 DMZ、非軍事區域和遮蔽式子網路) 中。 應用程式伺服器 (可透過 HTTP 存取的 Web API) 及資料庫伺服器會裝載於內部網路區域的防火牆後。

A graphic representation of typical web app deployment scenario with app services and data deployed in an intranet zone and a perimeter network.

移轉之後,網站和 Web API 會裝載在單一 App Service Web 應用程式上。 資料庫會移至 Azure SQL Database 執行個體。 兩者都會部署到單一資源群組中。

A graphical representation of web app migration to Azure App Service and Azure SQL Database.

因為移轉至 Azure SQL Database 之故,客戶會體驗到增加的復原和備援。

App Service 方案

在移轉期間,Migration Assistant 會:

  • 建立 App Service 主控方案。
  • 將 Web 應用程式部署至單一 Premium P1v2 VM 執行個體。

若您不熟悉 Azure App Service,請務必了解您的 Web 應用程式、主控方案,以及裝載您 Web 應用程式之 VM 執行個體間的重要差異。

App Service 主控方案會根據設計支援的預期工作負載來劃分成數層。 主控方案會影響:

  • 可用來執行應用程式的虛擬機器執行個體數目上限,以及這些虛擬機器的效能特性。
  • VPN 混合式連線、網路隔離和自動調整等功能的可用性。
  • 服務等級協定 (SLA)。

例如,免費層和共用層適用於小型的概念證明和測試,所以不提供 SLA 和多應用程式共用的虛擬機器。 在服務等級另一端的隔離服務方案則適用於使用最先進硬體、更多 RAM,以及更快速處理器和 SSD 儲存體,並在私人專用虛擬網路環境中執行的任務關鍵性工作負載。

在每個主控方案中,您都可選取執行個體大小。 執行個體大小會影響:

  • 核心數目、RAM 數量,以及磁碟儲存體數量。
  • 定價。

您可將多個 Web 應用程式部署到單一主控方案 (類似在單一 IIS 執行個體上執行多個 Web 應用程式)。 所有 Web 應用程式都共用相同的 VM 執行個體。

如需詳細資訊,請參閱 App Service 概觀

資料庫移轉

Azure App Service Migration Assistant 不會將資料庫移轉至 Azure SQL Database。 事實上,您根本不需要將資料庫移轉至 Azure。 在此情況下,Migration Assistant 會協助設定內部部署資料庫的混合式連線,以作為選擇性步驟。

雖然可在生產環境中使用混合式連線,但建議考慮對效能的影響。 您接著可將混合式連線視為在將資料移至 Azure SQL Database 之前的暫時性解決方案。 資料的混合式連線在開發或測試案例中可能也有幫助。

如果您選取 [設定混合式連線] 選項,則 Migration Assistant 會提示您在伺服器上下載並執行混合式連線管理員。 混合式連線管理員會將在 Azure App Service 中執行的 Web 應用程式連線到 Azure 服務匯流排轉送,以加速與內部部署資料庫端點的連線。

下圖為已移轉的 Web 應用程式、內部部署資料庫、混合式連線管理員和轉送混合式連線之間的整體關聯性概觀。

Pictorial representation of a web app connected to a database endpoint via Hybrid Connection Manager on-premises and the Relay hybrid connection in Azure.

如需詳細資訊,請參閱 Azure App Service 混合式連線 (機器翻譯)。

若要執行移轉,則可使用 Data Migration Assistant。 如需詳細資訊,請參閱 Data Migration Assistant 總覽 (機器翻譯)。

您也許會對另一個 Learn 課程模組使用 Data Migration Assistant (DMA) 評定和轉換 SQL Server 資料庫感興趣。

Azure Migrate 專案是什麼?

前文曾提及,您可以建立移轉與 Azure Migrate 專案的關聯。 Azure Migrate 是與移轉相關的各項作業中樞。 組織會使用 Azure Migrate 擷取想要移轉至 Azure 的所有伺服器和服務相關資訊。 其可使用這項資訊作為探索和評量的方式,以判斷其遷移工作的範圍。 他們可適當地規劃、通知專案關係人、判斷成本、追蹤移轉狀態等。

Azure Migrate 支援主要的移轉案例,例如:

  • 移轉 Windows 和 Linux 伺服器 (無論那些伺服器是裝載於 VMware 或 Hyper-V、實體伺服器,甚至是其他雲端的 VM)。
  • 移轉 SQL Server 和其他資料庫,包括資料。
  • 移轉虛擬桌面。
  • 使用 Azure App Service Migration Assistant 移轉 Web 應用程式。

因此,如果您已經設定 Azure Migrate 專案,則可在移轉期間指定專案的名稱。 此步驟會將移轉詳細資料和狀態儲存在您的 Azure Migrate 中樞。

概括回顧

在本單元中,我們討論了幾項概念:

  • 如果 Azure App Service Migration Assistant 評定判斷 Migration Assistant 可以移轉您的 Web 應用程式,其就會收集您的 Azure 帳戶資訊、在 Azure 中建立新的 App Service 資源,並將您的應用程式部署至這些資源。
  • 移轉後,可能需要執行更多步驟,以讓 Web 應用程式回到正常工作狀態。
  • App Service 主控方案會決定 Web 應用程式可用的功能、硬體類型和 SLA。 執行個體大小會決定核心的數目、可用的 RAM 和儲存體數量。
  • 單一執行個體可裝載多個 Web 應用程式。 所有應用程式都會在所有執行個體上調整規模。
  • 在移轉期間,Migration Assistant 會協助設定內部部署資料庫伺服器的混合式連線。
  • 在移轉期間,Migration Assistant 可將進度記錄到現有的 Azure Migrate 專案。