自動化 Windows Word AWS Managed Services 的工作負載前擷取活動 - AWS 方案指引

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

自動化 Windows Word AWS Managed Services 的工作負載前擷取活動

由 Jacob Zhang (AWS)、Calvin Yeh (AWS) 和 Dwayne Bordelon (AWS) 建立

程式碼儲存庫:GitHub

環境:生產

來源:Windows Servers

目標:AWS Managed Services

R 類型:重新託管

技術:遷移

AWS 服務:AWS CloudFormationWord;AWS 受管服務;AWS Systems Manager;Amazon S3

Summary

在 Amazon Web Services (AWS) Cloud 上,AWS Managed Services (AMS) 使用 AMS 工作負載擷取 (WIGS) 將現有工作負載移至 AMS 受管 VPC。此模式描述了自動化常見工作負載前擷取活動的解決方案,例如升級 NET 和 Windows PowerShell ,以及執行 AMS 維護的 Windows WIGS 擷取前驗證。模式也為執行結果提供統一的使用者介面。它將執行擷取前活動的 AWS Systems Manager Command 文件封裝為 AWS CloudFormation Word 範本。範本可以重複部署,而無需存取 Systems Manager 本身或與 AMS 的自動化衝突。

業務背景

遷移至 AMS 需要使用包含 EC2 元件的 AMS 受管 Amazon Machine Images (AMIs) 來佈建新的 Amazon Elastic Compute Cloud (Amazon AMS) 執行個體。在現有資料中心執行的任何工作負載或應用程式都必須重新部署到從這些 EC2 啟動的新 AMS 執行個體AMIs。為了避免在過程中進行可能大量的手動工作,AMS 團隊建立了 AMS 工作負載擷取 (WIGS) 工作流程,將自訂映像加入 AMS。

Windows 執行個體必須符合一些先決條件,才能進行 WIGS 程序。Windows PowerShell 指令碼通常用於執行必要的準備 (WIGS 準備),並檢查執行個體是否已準備好使用 WIGs (WIGS 擷取前驗證)。準備和驗證程序需要工程師在每個伺服器上花費 15-30 分鐘,並逐一手動登入和執行指令碼。

商業驅動程式

傳統上,使用 Systems Manager,您可以自動化操作任務,例如執行 Windows PowerShell 指令碼。不過,由於 AMS 自動化與使用者自動化之間的風險增加和頻繁衝突,AMS 通常不會授予使用者 Systems Manager 存取權。

對於使用 AWS Application Migration Service (AWS MGN) 的大量遷移,啟動測試或切換執行個體時, C:\Program Files (x86)\AWS Replication Agent\post_launch folder中的 Windows PowerShell 指令碼通常會自動執行。不過,如果在執行個體啟動期間立即執行,這些指令碼通常會與 AMS 的自動化衝突。因此,啟動可能會失敗,而未提供故障診斷所需的執行結果。

此模式可解決這些問題,並提供有效的自動化解決方案。

先決條件和限制

先決條件

  • 已完成具有 AWS 加入的作用中 AMS 帳戶。

  • AWS 帳戶中的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。如果帳戶中沒有您可以控制的 S3 儲存貯體,請使用變更請求 (RFC) 建立一個。

  • 從 CFN 儲存庫下載的 PreWIGs_Word.json 範本。 ams-auto-prewigs-windows

  • 您套用此模式的伺服器必須符合下列要求:

    • 執行 Windows Server 2012 或更新版本。

    • 在沙盒VPC遷移子網路中啟動或準備啟動。

    • 安裝 AWS Systems Manager Agent (SSM Agent)。

    • 連接 AWS Identity and Access Management (IAM) 執行個體設定檔。執行個體設定檔必須具有許可,才能從相同 AWS 帳戶中的 S3 儲存貯體下載檔案。符合上述要求的執行個體描述檔通常已在舊版遷移設定期間建立。

    • 可從 AWS Systems Manager Fleet Manager 檢視。

限制

  • WIGS前活動取決於您的環境和業務需求。您可能需要對此模式進行細微修改,以符合您的特定需求。

產品版本

  • 此模式使用 Windows Server 2012、2012 R2、2016 和 2019 進行測試。理論上,它適用於較新的 Windows 版本。它不適用於較早的 Windows 版本。

架構

架構圖顯示下列項目:

  1. 具有遷移子網路的沙盒VPC,其中包含尚未準備的伺服器。

  2. 存放 CloudFormation 範本使用之指令碼的 S3 儲存貯體。

  3. CloudFormation 範本會部署 Systems Manager Command 文件。程序會反覆執行,直到步驟完成為止。

  4. 已準備執行個體,並製作 RFCs for WIGS。

  5. 在 AMS 受管 VPC 中,AMS 受管子網路包含工作負載擷取後的伺服器。

沙盒和 AWS 受管 VPCs,以及 S3 儲存貯體、 CloudFormation 範本和命令文件。

運作方式

  • 此模式封裝在 AWS CloudFormation Word 範本中,允許基礎設施作為程式碼 (IaC) 可重複部署。對於每個需要此自動化的 AWS 帳戶,您只需要部署此範本一次。

  • 自動化會套用至部署此模式之 EC2 帳戶中具有標籤索引鍵 AutoPreWIGs Word的所有 AWS 執行個體。第一次啟動具有標籤索引EC2 AutoPreWIGsWord 的 Amazon Word Windows 執行個體時,自動化會執行下列任務。

    1. 將 Windows PowerShell 升級到 5.1 版,將 .NET 升級到 4.5.2 版。執行個體可能會重新啟動數次,具體取決於其現有的 Windows PowerShell 和 .NET 版本。每次重新開機後,升級都會繼續,直到完成為止。此步驟使用從 Windows PowerShell 指令碼修改的 CloudFormation 範本中的內嵌程式碼,以及伺服器重新啟動的特定 Systems Manager 指引。

    2. 從 Amazon S3 下載並執行您已自訂的 Windows PowerShell 指令碼,以準備 Amazon EC2 Windows 執行個體WIGS。如需詳細資訊,請參閱 Epics 區段。

    3. 從 WIGS 安裝 Windows AWS 擷取前驗證 PowerShell 模組。

    4. 執行 Windows WIGS 擷取前驗證,並讓結果可在 Systems Manager State Manager 中檢視。

工具

  • CloudFormationAWS – AWS CloudFormation Word 是一項協助您建立模型和設定 AWS 資源的服務。您可以使用 來描述您想要的所有 AWS 資源及其相依性,以便將這些資源啟動並設定為堆疊。,此模式使用 a CloudFormation 範本來自動部署此模式的資源。

  • AWS Managed Services – AWS Managed Services (AMS) 是一種企業服務,可持續管理 AWS 基礎設施。對 AMS 環境中的基礎設施所做的變更必須透過 RFC 進行。

  • AWS Systems Manager – AWS Systems Manager (先前稱為 SSM) 是一種 AWS 服務,可用來在 AWS 上檢視和控制您的基礎設施。使用 Systems Manager 主控台,您可以檢視來自多個 AWS 服務的操作資料,並跨 AWS 資源自動化操作任務。此模式使用 Systems Manager 執行和檢視WIGS前活動的執行結果。

  • Amazon S3 – Amazon Simple Storage Service (Amazon S3) 是一種物件儲存服務,可提供業界領先的可擴展性、資料可用性、安全性和效能。此模式使用 Amazon S3 來存放下載的 CloudFormation 範本和 Windows PowerShell 指令碼。

Epics

任務描述所需的技能

根據業務需求對伺服器執行必要的變更。

如果您需要在擷取伺服器之前自動套用變更,請建立名為 的 Windows PowerShell 指令碼ingestion-prep.ps1。 

重要:指令碼不得包含重新啟動伺服器的指示,也不得要求管理員權限。

PowerShell 指令碼

移除 AMS 不支援的軟體。

AMS 需要某些軟體,例如防毒應用程式和 VMware 工具,才能在 WIGS 執行之前移除。在指令碼中 ingestion-prep.ps1包含解除安裝。如需有關不支援之軟體的詳細資訊,請參閱 AWS 文件

PowerShell 指令碼
任務描述所需的技能

在 S3 中建立資料夾。

在部署此模式的相同 AWS 帳戶中的 S3 儲存貯體中,建立資料夾。 

一般 AWS

上傳指令碼。

將您在上一個史詩中建立的PreWIGs_CFN.jsonCloudFormation 範本和ingestion-prep.ps1WindowsPowerShell 指令碼上傳至 Amazon S3 資料夾。

一般 AWS
任務描述所需的技能

選取變更類型。

導覽至 AMS 主控台以建立 RFC。使用從 CloudFormation (CFN) 範本建立堆疊變更類型。

一般 AMS

設定 CloudFormation 範本路徑的執行參數。

執行組態區段中,展開其他組態。在 CloudFormation 範本 S3 端點方塊中,將 URL 貼到 CloudFormation 範本。

一般 AMS

指定 Amazon S3 資料夾的路徑。

參數下,使用 ScriptSource 作為名稱。針對,輸入包含 Windows PowerShell 指令碼的 S3 資料夾路徑。請務必使用 https://xxx URL 而非 s3://xxx URI,並在結尾包含 /

一般 AMS

部署堆疊。

若要部署堆疊,請選擇建立

一般 AMS

將 RFC 升級至 AMS Ops。

RFC Ops 團隊必須手動實作該 AMS,因為它使用 Systems Manager 部署具有 的資源,且需要安全審查。建立 RFC 後,系統會自動拒絕該 Word。選擇 RFC,並將通訊新增至 RFC,說明 請手動執行。記下 RFC ID,並使用服務請求進行升級。

一般 AMS
任務描述所需的技能

將 AutoPreWIGs Word標籤新增至執行個體。

記下您要套用此自動化的所有執行個體的 IDs,並等待至少 30 分鐘讓執行個體完成 AMS 實作的自動化。提交自動 RFC 以使用 AutoPreWIGsWord 作為索引鍵新增標籤,並以 1 等任何字串作為值。 

在您新增標籤後幾分鐘,自動化就會套用。

一般 AMS

驗證自動化結果。

開啟 Systems Manager 主控台,然後選擇 State Manager。選擇名稱為 AMS-PreWIG-Prep-and-Validation-Association關聯 ID。在執行歷史記錄索引標籤上,您可以看到自動化的結果。

一般 AMS

修正所有錯誤。

如果自動化失敗,請選擇其執行 ID。您可以查看每個 EC2 執行個體的執行結果。若要查看自動化每個步驟的詳細資訊,請選擇輸出。如果特定步驟失敗,請使用輸出錯誤區段中的資訊來診斷問題。

遷移工程師

移除 AutoPreWIGs Word標籤。

重要:修正錯誤後,如果有,請提交自動 RFC 以移除 AutoPreWIGs Word標籤。如果您不移除標籤,WIGS 將會失敗。

一般 AMS
任務描述所需的技能

提交 RFCs for WIGS。

現在執行個體已準備好進行工作負載擷取,請提交 RFCs for WIGS。

一般 AMS

相關資源