從命令提示字元執行自動化 - 上的雲端遷移工廠 AWS

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

從命令提示字元執行自動化

雖然我們建議透過 Web 介面執行自動化任務,但您可以從自動化伺服器上的命令列手動執行自動化指令碼。這提供其他選項,讓組織無法或不想在環境中使用 AWS CMF Credentials Manager、 AWS Secrets Manager 和 AWS Systems Manager 的組合,或者如果使用者上的 AWS Cloud Migration Factory 需要提供多重要素身分驗證 (MFA) 一次性存取碼,才能登入 上的 Cloud Migration Factory AWS。

從命令列執行指令碼時,無法在 Web 介面的任務檢視中使用任務歷史記錄和日誌。日誌輸出只會導向命令列輸出。指令碼仍然可以在 上 AWS APIs存取 Cloud Migration Factory,以讀取和更新記錄,以及透過 提供的其他函數APIs。

我們建議您將指令碼存放在指令碼程式庫或其他中央位置,以確保您存取和使用最新版本的指令碼,或目前核准使用的版本。

手動執行自動化套件

本節說明在 上從 Cloud Migration Factory 下載套件, AWS 並在自動化伺服器上手動執行套件的步驟。您也可以使用來源特定的下載步驟取代步驟 1 和 2,以遵循其他指令碼來源位置的程序。

  1. 如果指令碼存放在 的 Cloud Migration Factory 中 AWS,請遵循下載指令碼套件中涵蓋的步驟,以取得自動化套件壓縮檔案。

  2. 將 zip 檔案複製到自動化伺服器上的位置,例如 c:\migrations\scripts,然後解壓縮內容。

  3. FactoryEndpoints.json檔案複製到每個解壓縮的指令碼資料夾。使用包含伺服器之 Cloud Migration Factory 執行個體的特定API端點,或此自動化任務將參考的其他記錄,來設定 檔案。如需如何建立此檔案的詳細資訊,請參閱建立 FactoryEndpoints.json

  4. 從命令列中,確定您在解壓縮套件的根目錄中,並執行下列命令:

python [package master script file] [script arguments]

套件主要指令碼檔案 – 可從 MasterFileName 金鑰Package-Structure.yml下的 取得。

指令碼引數 – 有關引數的資訊,請參閱 Arguments金鑰Package-Structure.yml下的 。

  1. 指令碼將請求 Cloud Migration Factory on AWS APIs 和遠端伺服器所需的憑證。在此程序期間,任何手動輸入的憑證都會快取在記憶體中,以避免再次輸入相同的憑證。如果您輸入指令碼引數來存取使用 Credentials Manager 功能存放的秘密,則需要存取 AWS Secrets Manager 和相關聯的秘密。如果秘密擷取因任何原因失敗,指令碼會提示使用者憑證。

建立 FactoryEndpoints.json

建議您在 AWS解決方案上部署 Cloud Migration Factory 時建立此檔案一次,因為內容在初始部署後不會變更,並存放在自動化伺服器的中央位置。此檔案會在AWSAPI端點和其他金鑰參數上提供具有 Cloud Migration Factory 的自動化指令碼。檔案的預設內容範例如下所示:

{ "UserApi": "cmfuserapi", "VpceId": "", "ToolsApi": "cmftoolsapi", "Region": "us-east-1", "UserPoolId": "us-east-1_AbCdEfG", "UserPoolClientId": "123456abcdef7890ghijk", "LoginApi": "cmfloginapi" }
注意

編寫已部署 AWS Cloud Migration Factory 執行個體檔案所需的大多數資訊,都可以從 AWS CloudFormation 已部署堆疊的輸出索引標籤取得,但 除外UserPoolClientId。完成下列步驟以取得此值:

  1. 導覽至 Amazon Cognito 主控台。

  2. 開啟使用者集區組態

  3. 選取應用程式整合 ,以提供應用程式用戶端組態

{ "UserApi": <UserApi-value>, "Region": <Region-value>, "UserPoolId": <UserPoolId-value>, "UserPoolClientId": <Amazon-Cognito-user-pool-app-clients-console>, "LoginApi: <LoginApi-value> }

Replace (取代) <LoginApi-value>, <UserApi-value>, <Region-value><UserPoolId-value> 以及您從 AWS CloudFormation 輸出主控台擷取的對應值。請勿將正斜線 (/) 新增至 的結尾URLs。

檔案具有選用DefaultUser金鑰。您可以將此金鑰的值設定為預設使用者 ID,用於存取 AWS 執行個體上的 Cloud Migration Factory,以避免每次都必須輸入。提示 Cloud Migration Factory 使用者 ID 時,您可以輸入使用者 ID,或按 Enter 鍵使用預設值。您只能在手動執行指令碼時執行此操作。