本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用命令提示字元的自動移轉活動清單
注意
建議您從 AWS 主控台上的雲端移轉工廠執行自動化。您可以使用下列步驟來執行自動化指令碼。請務必從 GitHub 存放庫下載自動化指令碼,並使用從命令提示字元執行自動化中的步驟設定自動化伺服器,並遵循設定移轉自動化伺服器的AWS權限中的指示設定任務。
AWS解決方案上的雲端移轉工廠會部署自動化移轉活動,讓您可以在移轉專案中運用這些活動。您可以遵循下列移轉活動,並根據您的業務需求進行自訂。
在開始任何活動之前,請確認您是以具有範圍內來源伺服器本機系統管理員權限的網域使用者身分登入移轉自動化伺服器。
重要
您必須以系統管理員使用者身分登入,才能完成本節中列出的活動。
請依照相同順序使用下列程序,使用範例自動化指令碼和活動來執行解決方案的完整測試執行。
檢查先決條
與範圍內的來源伺服器 Connect,以驗證必要的先決條件,例如 TCP 1500、TCP 443、根磁碟區可用空間、.NET 架構版本和其他參數。複製時需要這些先決條件。
在進行先決條件檢查之前,您必須在一個源服務器上手動安裝第一個代理,因此這將在 EC2 中創建一個複製服務器,我們將連接到該服務器進行端口 1500 測試。安裝後,AWS應用程式遷移服務 (AWSMGN) 會在 Amazon Elastic Compute Cloud (Amazon EC2) 中建立複寫伺服器。在此活動中,您將需要驗證從來源伺服器到複寫伺服器的 TCP 連接埠 1500。如需有關在來源伺服器上安裝 AWS MGN 代理程式的詳細資訊,請參閱《應用程式移轉服務使用者指南》中的安裝指示。
登入移轉自動化伺服器時,請遵循下列程序來檢查必要條件。
-
以系統管理員身分登入,開啟命令提示字元 (
CMD.exe
)。 -
導航到該
c:\migrations\scripts\script_mgn_0-Prerequisites-checks
文件夾並運行以下 Python 命令:
python 0-Prerequisites-checks.py --Waveid
<wave-id>
--ReplicationServerIP<rep-server-ip>
<wave-id>用適當的值替換和
< rep-server-ip >
:
-
Waveid
這是一個唯一的整數值,用於識別您的遷移波。 -
此
ReplicationServerIP
值可識別複製伺服器 IP 位址。將此值變更為 Amazon EC2 IP 地址。若要尋找此位址,請登入AWS Management Console,搜尋 [複寫],選取其中一個複製伺服器,然後複製私人 IP 位址。如果複寫是透過公用網際網路進行,請改用公用 IP 位址。
-
指令碼會自動擷取指定波形的伺服器清單。
然後,指令碼會檢查 Windows 伺服器的必要條件,並fail
針對每次檢查傳回pass
或狀態。
注意
當 PowerShell 指令碼不受信任時,您可能會收到如下所示的安全性警告。在中執行下列命令 PowerShell 以解決此問題:
Unblock-File C:\migrations\scripts\script_mgn_0-Prerequisites-checks\0-Prerequisites-Windows.ps1
接下來,指令碼會檢查 Linux 伺服器。
一旦檢查完成,腳本將返回每個服務器的最終結果。
![指令碼最終結果](images/script-final-result.png)
如果伺服器未通過一或多個先決條件檢查,您可以檢閱完成檢查時提供的詳細錯誤訊息,或捲動記錄檔詳細資料,以識別錯誤的伺服器。
此指令碼也會更新移轉工廠 Web 介面中解決方案的移轉狀態,如範例專案的下列螢幕擷取畫面所示。
安裝複寫代理程式
注意
安裝代理程式之前,請確定已在每個目標帳戶中初始化 AWS MGN。
使用下列程序,在範圍內的來源伺服器中自動安裝複寫代理程式。
-
在遷移自動化服務器中,簽名是以管理員身份,打開命令提示符(
CMD.exe
)。 -
導航到該
c:\migrations\scripts\script_mgn_1-AgentInstall
文件夾並運行以下 Python 命令:
python 1-AgentInstall.py --Waveid
<wave-id>
以適當的 Wave ID 值取代 < wave-id >,以便在已識別的波形中的所有伺服器上安裝複寫代理程式。指令碼會將代理程式逐一安裝在相同波形中的所有來源伺服器上。
注意
若要重新安裝代理程式,您可以新增--force
引數。
-
指令碼會產生清單,識別針對指定波形所包含的來源伺服器。此外,還可以提供在多個帳戶中識別的服務器以及不同的操作系統版本。
如果此浪潮中包含 Linux 電腦,您必須輸入 Linux sudo 登入認證才能登入這些來源伺服器。
安裝程序會在視窗上開始,然後繼續進行每個 Linux AWS 帳戶。
![安裝複寫代理](images/install-replication-agents.png)
注意
當 PowerShell 指令碼不受信任時,您可能會收到如下所示的安全性警告。在中執行下列命令 PowerShell 以解決此問題:
Unblock-File C:\migrations\scripts\script_mgn_1-AgentInstall\1-Install-Windows.ps1
指令碼完成複寫代理程式的安裝後,會顯示結果。檢閱錯誤訊息的結果,以識別無法安裝代理程式的伺服器。您將需要在故障的伺服器上手動安裝代理程式。如果手動安裝不成功,請前往AWS支援中心
![用戶端安裝結果](images/install-agent-result.png)
此指令碼也會在「移轉工廠」Web 介面中提供移轉狀態,如範例專案的下列螢幕擷取畫面所示。
推送啟動後的指令碼
AWS 應用程式遷移服務支援啟動後指令碼,協助您自動執行作業系統層級的活動,例如在啟動目標執行個體後安裝/解除安裝軟體。此活動會根據識別要移轉的伺服器,將啟動後指令碼推送至 Windows 及/或 Linux 電腦。
從移轉自動化伺服器使用下列程序,將啟動後指令碼推送至 Windows 機器。
-
以管理員身份登錄,打開命令提示符(
CMD.exe
)。 -
導航到該
c:\migrations\scripts\script_mgn_1-FileCopy
文件夾並運行以下 Python 命令:
python 1-FileCopy.py --Waveid
<wave-id>
--WindowsSource<file-path>
--LinuxSource<file-path>
以<wave-id>適當的 Wave ID 值以及
<file-path>指令碼所在之來源的完整檔案路徑取代。例如:
c:\migrations\scripts\script_mgn_1-FileCopy
。此命令會將來源資料夾中的所有檔案複製到目標資料夾。
注意
必須提供下列兩個引數中的至少一個: WindowsSource、 LinuxSource。如果您提供 WindowsSource 路徑,則此腳本只會將文件推送到 Windows 服務器在這一波中 LinuxSource,與僅在此波中將文件推送到 Linux 服務器相同。提供兩者都會將文件推送到 Windows 和 Linux 服務器。
-
指令碼會產生清單,識別針對指定波形所包含的來源伺服器。此外,還可以提供在多個帳戶中識別的服務器以及不同的操作系統版本。
如果此浪潮中包含 Linux 電腦,您必須輸入 Linux sudo 登入認證才能登入這些來源伺服器。
-
指令碼會將檔案複製到目標資料夾。如果目標資料夾不存在,解決方案會建立目錄並通知您此動作。
確認複製狀態
此活動會自動驗證範圍內來源伺服器的複寫狀態。指令碼每五分鐘重複一次,直到指定波形中所有來源伺服器的狀態變更為 [正常] 狀態為止。
使用移轉自動化伺服器的下列程序來確認複製狀態。
-
以系統管理員身分登入,開啟命令提示字元 (
CMD.exe
)。 -
導航到該
\migrations\scripts\script_mgn_2-Verify-replication
文件夾並運行以下 Python 命令:
python 2-Verify-replication.py --Waveid
<wave-id>
以<wave-id>適當的 Wave ID 值取代,以確認複寫狀態。此指令碼會驗證特定波形中所有伺服器的複寫詳細資料,並更新解決方案中識別之來源伺服器的複寫狀態屬性。
-
指令碼會產生清單,識別針對指定波形所包含的伺服器。
準備好啟動的範圍內來源伺服器的預期狀態為 [正常]。如果您收到伺服器的不同狀態,則該伺服器尚未準備好啟動。
下列範例波形的螢幕擷取畫面顯示目前波形中的所有伺服器都已完成複製,且已準備好進行測試或切換。
![用戶端安裝結果](images/replication-status.png)
或者,您可以在「移轉工廠」Web 介面中確認狀態。
驗證目標執行個體狀態
此活動會檢查相同波形中所有範圍內來源伺服器的開機程序,以驗證目標執行個體的狀態。目標執行個體最多可能需要 30 分鐘才能啟動。您可以登入 Amazon EC2 主控台、搜尋來源伺服器名稱並檢查狀態,以手動檢查狀態。您會收到一則健康狀態檢查訊息,說明已通過 2/2 次檢查,表示從基礎架構的角度來看,執行個體健康狀態良好。
不過,對於大規模移轉,檢查每個執行個體的狀態是非常耗時的,因此您可以執行此自動化指令碼,以驗證指定波形中所有來源伺服器的 2/2 檢查通過狀態。
使用移轉自動化伺服器的下列程序來驗證目標執行個體的狀態。
-
以系統管理員身分登入,開啟命令提示字元 (
CMD.exe
)。 -
導航到該
c:\migrations\scripts\script_mgn_3-Verify-instance-status
文件夾並運行以下 Python 命令:
python 3-Verify-instance-status.py --Waveid
<wave-id>
以<wave-id>適當的 Wave ID 值取代,以確認執行個體狀態。此指令碼會驗證此波中所有來源伺服器的執行個體啟動程序。
-
指令碼會傳回指定波形的伺服器清單和執行個體 ID 的清單。
-
接著,指令碼會傳回目標執行個體 ID 清單。
注意
如果您收到錯誤訊息,指出目標執行個體 ID 不存在,則啟動工作可能仍在執行中。請等待幾分鐘,然後再繼續。
-
您將收到執行個體狀態檢查,指出您的目標執行個體是否通過 2/2 運作狀態檢查。
注意
如果您的目標執行個體在第一次進行 2/2 健康狀態檢查時失敗,可能是因為開機程序需要更長的時間才能完成。我們建議在第一次健康檢查後約一小時進行第二次健康檢查。這樣可以確保啟動過程完成。如果第二次運作狀態檢查失敗,請前往AWS支援中心
關閉範圍內的來源伺服器
此活動會關閉與移轉相關的範圍內來源伺服器。驗證來源伺服器的複寫狀態之後,您就可以關閉來源伺服器,以停止從用戶端應用程式到伺服器的交易。您可以在切換視窗中關閉來源伺服器。手動關閉來源伺服器每部伺服器可能需要五分鐘的時間,而且對於大浪來說,總共可能需要幾個小時。相反,您可以運行此自動化腳本來關閉給定波中的所有服務器。
使用移轉自動化伺服器的下列程序來關閉與移轉相關的所有來源伺服器。
-
以系統管理員身分登入,開啟命令提示字元 (
CMD.exe
)。 -
導航到該
c:\migrations\scripts\script_mgn_3-Shutdown-all-servers
文件夾並運行以下 Python 命令:Python 3-Shutdown-all-servers.py –Waveid
<wave-id>
-
以<wave-id>適當
的 Wave ID 值取代,以關閉來源伺服器。
-
指令碼會傳回指定波形的伺服器清單和執行個體 ID 的清單。
-
指令碼會先在指定的波形中關閉 Windows 伺服器。Windows 伺服器關閉之後,指令碼會繼續進入 Linux 環境,並提示您輸入登入認證。成功登入後,指令碼會關閉 Linux 伺服器。
擷取目標執行個體 IP
此活動會擷取目標執行個體 IP。如果 DNS 更新是您環境中的手動程序,您必須取得所有目標執行個體的新 IP 位址。不過,您可以使用自動化指令碼,將指定波形中所有執行個體的新 IP 位址匯出至 CSV 檔案。
使用移轉自動化伺服器的下列程序來擷取目標執行個體 Ips。
-
以系統管理員身分登入,開啟命令提示字元 (
CMD.exe
)。 -
導航到該
c:\migrations\scripts\script_mgn_4-Get-instance-IP
文件夾並運行以下 Python 命令:
Python 4-Get-instance-IP.py -–Waveid
<wave-id>
以<wave-id>適當的 Wave ID 值取代,以取得目標執行個體的新 IP 位址。
-
指令碼會傳回伺服器清單和目標執行個體 ID 資訊。
-
然後指令碼將傳回目標伺服器 IP。
指令碼會將伺服器名稱和 IP 位址資訊匯出至 CSV 檔案 (<wave-id>-
<project-name>-Ips.csv),並將其放置在與遷移指令碼 (
c:\migrations\scripts\script_mgn_4-Get-instance-IP
) 相同的目錄中。
CSV 檔案會提供執行個體名稱和執行個體 IP 詳細資料。如果執行個體包含多個 NIC 或 IP,它們都會以逗號列出並分隔。
驗證目標伺服器連線
此活動會驗證目標伺服器的連線。更新 DNS 記錄之後,您可以使用主機名稱連線到目標執行個體。在此活動中,您會檢查以判斷您是否可以使用遠端桌面通訊協定 (RDP) 或透過安全殼層 (SSH) 存取登入作業系統。您可以個別手動登入每部伺服器,但是使用自動化指令碼測試伺服器連線會更有效率。
使用移轉自動化伺服器的下列程序來驗證目標伺服器的連線。
-
以管理員身份登錄,打開命令提示符(
CMD.exe
)。 -
導航到該
c:\migrations\scripts\script_mgn_4-Verify-server-connection
文件夾並運行以下 Python 命令:
Python 4-Verify-server-connection.py -–Waveid
<wave-id>
以<wave-id>適當的 Wave ID 值取代,以取得目標執行個體的新 IP 位址。
注意
此指令碼使用預設的 RDP 連接埠 3389 和安全殼層連接埠 22。<rdp-port><ssh-port>如果需要,您可以新增下列引數以重設為預設連接埠:--RDPort- SSHport。
-
指令碼會傳回伺服器清單。
-
此指令碼會傳回 RDP 和 SSH 存取的測試結果。