View a markdown version of this page

使用 appcmd.exe 將 IIS 託管應用程式遷移至 Amazon EC2 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 appcmd.exe 將 IIS 託管應用程式遷移至 Amazon EC2

Deepak Kumar,Amazon Web Services

摘要

當您將網際網路資訊服務 (IIS) 託管的應用程式遷移至 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體時,您需要解決幾個身分驗證挑戰。這些挑戰包括重新輸入應用程式集區身分的網域登入資料,以及可能為適當的網站功能重新產生機器金鑰。此模式說明在 Amazon EC2 執行個體上使用 IIS 備份和還原功能的乾淨遷移方法。此方法使用 appcmd.exe 在目標 Amazon EC2 執行個體上解除安裝和重新安裝 IIS,以便成功遷移 IIS 託管的網站、應用程式集區身分和機器金鑰。

先決條件和限制

先決條件

  • AWS 帳戶 目標伺服器的作用中 。

  • 具有託管網站的功能來源 IIS 伺服器。

  • 了解 IIS 工作原則,例如管理和組態。

  • 來源和目標伺服器上的系統管理員存取權。

  • 已完成將來源 IIS 伺服器遷移至目標 AWS 帳戶。您可以使用遷移工具 AWS Transform MGN,例如 Amazon Machine Image (AMI) 快照型方法或其他遷移工具。

  • 來源和目標伺服器上的 Windows Server 2012 R2 或更新版本。

  • 兩個伺服器上皆已安裝 Microsoft .NET Framework 4.5 或更新版本 (aspnet_regiis.exe 金鑰容器操作需要)

  • 將備份檔案和匯出金鑰 XML 檔案從來源傳輸到目標伺服器的方法,例如 Amazon Simple Storage Service (Amazon S3)、共用網路磁碟機或安全複本。

  • 來源和目標 IIS 執行個體必須執行相同的 IIS 版本 (8.5 或 10.0)。

限制

產品版本

  • IIS 8.5 或 IIS 10.0

Architecture

來源技術堆疊  

  • 安裝 IIS 8.5 或 IIS 10.0 的 Windows Server

目標技術堆疊  

  • 安裝 IIS 8.5 或 IIS 10.0 的 Windows Server

  • AWS Transform MGN

目標架構

下圖顯示此模式的工作流程和架構元件。

將 IIS 託管應用程式遷移至 Amazon EC2 的工作流程。

解決方案包含下列步驟:

  1. 在公司資料中心的來源 IIS 伺服器上安裝和設定 AWS 複寫代理程式。此代理程式會啟動複寫程序,並管理資料傳輸至 AWS。

  2. AWS 複寫代理程式會建立與 MGN 的安全連線,並開始複寫來源伺服器資料,包括 IIS 組態、網站和應用程式檔案。

  3. MGN 會使用複寫的資料在應用程式子網路中啟動 Amazon EC2 執行個體。目標 Amazon EC2 執行個體會執行 IIS,並包含已遷移的應用程式及其相關聯的 Amazon Elastic Block Store (Amazon EBS) 磁碟區。在初始複寫之後,MTN 會繼續同步變更,直到您準備好切換到新環境為止。

工具

AWS 服務

其他工具

  • 適用於 Windows Server 的網際網路資訊服務 (IIS) 是 Web 伺服器,具有可擴展且開放的架構,可在 Web 上託管任何內容。IIS 提供一組管理工具,包括管理和命令列工具 (例如 appcmd.exe)、受管程式碼和指令碼 APIs,以及 Windows PowerShell 支援。

最佳實務

  • 安全匯出的金鑰檔案 – 包含匯出的私有金鑰的 XML 檔案應該安全地傳輸 (傳輸中加密),並在遷移成功後從來源和目標伺服器刪除。

  • 在非生產環境中測試 – 在生產環境中執行之前,在測試伺服器上執行備份和還原程序。

  • 文件應用程式集區身分 – 遷移之前,請記錄所有應用程式集區身分憑證,因為您必須在還原後重新輸入密碼。

  • 分別備份 SSL 憑證 – appcmd.exe 備份不包含 SSL 或 TLS 憑證。使用 Certificates MMC snap-in 或 PowerShell 分別匯出這些項目

  • 驗證 Web 內容檔案 – IIS 組態備份不包含 Web 應用程式檔案 (wwwroot 內容)。請確定這些項目已透過伺服器映像進行遷移 AWS Transform MGN。

史詩

任務說明所需的技能

建立 IIS 託管網站、組態金鑰和WAS金鑰的備份。

若要為 IIS 託管網站、組態金鑰 (iisConfigurationKey) 和WAS金鑰 (iisWasKey) 建立備份,請在來源伺服器上使用 appcmd.exe。使用下列步驟:

  1. 以管理員身分開啟命令提示字元。

  2. 執行下列命令:cd c:\windows\system32\inetsrv

  3. 執行下列命令,將 取代<backupname>為您的值: appcmd.exe add backup "<backupname>

若要匯出組態金鑰和WAS金鑰,請執行下列動作:

  1. 建立匯出目錄: mkdir C:\temp

  2. 執行下列命令:cd c:\windows\Microsoft.NET\Framework64\v4.0.30319

  3. 執行下列命令:aspnet_regiis.exe -px "iisConfigurationKey" C:\temp\iisConfKey.xml -pri

  4. 執行下列命令:aspnet_regiis.exe -px "iisWasKey" C:\temp\iisWasKey.xml -pri

IIS 管理員
任務說明所需的技能

在目標伺服器上解除安裝 IIS。

若要解除安裝目標伺服器上的 IIS,請使用下列步驟:

  1. 使用管理員權限登入伺服器。

  2. 前往伺服器管理員

  3. 選擇管理移除角色和功能下一步下一步

  4. 清除 Web 伺服器 (IIS) 核取方塊,然後選擇下一步下一步

  5. 選取自動重新啟動目的地伺服器核取方塊。解除安裝程序完成後,系統會重新啟動。

  6. 前往 C:\Windows\System32\inetsrv並確認此資料夾為空,以驗證 IIS 是否已成功解除安裝。

IIS 管理員

在目標伺服器上安裝 IIS。

若要在目標伺服器上安裝 IIS,請使用下列步驟:

  1. 使用管理員權限登入伺服器。

  2. 前往伺服器管理員

  3. 選擇新增角色和功能下一步下一步下一步下一步

  4. 選取 Webserver IIS 核取方塊。出現提示時,請選擇新增功能

  5. 選擇應用程式開發新增功能選取所有功能中顯示的所有核取方塊。您可以在確認之前選取精細層級的功能。

  6. 選擇 Install (安裝)

IIS 管理員
任務說明所需的技能

還原 IIS 網站和組態。

若要還原您從目標伺服器上的來源伺服器建立的 IIS 備份,請使用下列步驟:

  1. backup資料夾中建立名為 的C:\windows\system32\inetsrv資料夾,然後將來源備份資料夾放在其中。

  2. 開啟命令提示字元並以管理員身分執行。

  3. 執行下列命令:cd C:\windows\system32\inetsrv

  4. 執行下列命令:C:\windows\system32\inetsrv\appcmd.exe list backup

  5. 執行下列命令:C:\windows\system32\inetsrv\appcmd.exe restore backup <sourcebackup>

  6. 執行下列命令:cd c:\windows\Microsoft.NET\Framework64\v4.0.30319

  7. 執行下列命令:aspnet_regiis.exe -pi "iisConfigurationKey" C:\temp\iisConfKey.xml -exp

  8. 執行下列命令:aspnet_regiis.exe -pi "iisWasKey" C:\temp\iisWasKey.xml -exp

  9. 重設 IIS,然後前往應用程式集區身分和網站進階設定以重新輸入密碼。

  10. 開啟 IIS Manager 並確認已還原所有網站、應用程式集區和虛擬目錄。

  11. 瀏覽至每個網站,確認其正確提供內容。

  12. 確認還原成功後,從 刪除匯出的金鑰檔案C:\temp

    del C:\temp\iisConfKey.xml

    del C:\temp\iisWasKey.xml

IIS 管理員

相關資源

AWS 文件

AWS 方案指引

Microsoft 資源

其他資訊

  • appcmd.exe 備份包括:應用程式集區、網站、全域組態和 IIS 結構描述。它不包含 Web 內容檔案、SSL 憑證或共用組態檔案。

  • 對於大規模 IIS 陣列遷移,請考慮使用 PowerShell Web 管理模組進行指令碼化備份和還原操作。