使用在 Amazon EC2 上自動設置 UiPath RPA機器人 AWS CloudFormation - AWS 方案指引

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

使用在 Amazon EC2 上自動設置 UiPath RPA機器人 AWS CloudFormation

創建者拉胡爾·沙拉德·蓋克瓦德博士 () 和泰米爾塞爾文 P () AWS AWS

環境:PoC 或試點

技術:基礎設施; DevOps

工作負載:所有其他工作

AWS服務:Amazon CloudWatch; EC2 Image Builder; AWS Systems Manager 器; AWS CloudFormation

Summary

此模式說明如何在 Amazon 彈性運算雲端 (AmazonRPA) 執行個體上部署機器人程序自動化 (EC2) 機器人。它使用 I EC2mage Builder 管道來創建自定義 Amazon 機器映像(AMI)。AMI是預先設定的虛擬機器 (VM) 映像檔,其中包含要部署EC2執行個體的作業系統 (OS) 和預先安裝的軟體。此模式使用AWS CloudFormation 模板在自定義上安裝 UiPath Studio 社區版AMI。 UiPath 是一種可以RPA幫助您設置機器人以自動執行任務的工具。

作為此解決方案的一部分,EC2Windows 執行個體是使用基礎來啟動AMI,而 UiPath Studio 應用程式則安裝在執行個體上。此病毒碼會使用 Microsoft 系統準備工具 (Sysprep) 工具來複製自訂的 Windows 安裝。之後,它將刪除主機信息並AMI從實例中創建最終信息。然後,您可以使用 final AMI 與您自己的命名慣例和監視設定,視需求啟動執行個體。

注意:此模式不提供有關使用RPA機器人的任何信息。如需相關資訊,請參閱UiPath 文件。您也可以根據您的需求自訂安裝步驟,使用此模式來設定其他RPA機器人應用程式。

此模式提供下列自動化功能和優點:

  • 應用程式部署和共用:您可以建置 Amazon 以進行應EC2AMIs用程式部署,並透過 I EC2 mage Builder 管道在多個帳戶之間共用,該管道使用AWS CloudFormation 範本做為基礎設施即程式碼 (IaC) 指令碼。

  • Amazon EC2 佈建和擴展: CloudFormation IaC 範本提供自訂電腦名稱序列和活動目錄加入自動化。

  • 可觀察性和監控:該模式設置了 Amazon CloudWatch 儀表板以幫助您監控 Amazon EC2 指標(例如CPU和磁盤使用情況)。

  • RPA為您的業務帶來的好處:RPA由於機器人可以自動且一致地執行分配的任務,因此可 RPA還可以提高速度和生產力,因為它消除了不增加價值的操作並處理重複的活動。

先決條件和限制

前提

架構

在 Amazon 上設定RPA機器人的目標架構 EC2
  1. 系統管理員會在ec2-image-builder.yaml檔案AMI中提供基礎 Windows,並在 CloudFormation 主控台中部署堆疊。

  2. CloudFormation 堆疊會部署 EC2 Image Builder 管線,其中包括下列資源:

    • Ec2ImageInfraConfiguration

    • Ec2ImageComponent

    • Ec2ImageRecipe

    • Ec2AMI

  3. EC2Image Builder 管線會使用基礎來啟動暫存的 Windows EC2 執行個體,AMI並安裝必要的元件 (在本例中為 UiPath Studio)。

  4. EC2映 Image Builder 會移除所有主機資訊,並AMI從 Windows 伺服器建立。

  5. 您可以使用自訂更新ec2-provisioning yaml檔案,AMI並根據您的需求啟動數個EC2執行個體。

  6. 您可以使用 CloudFormation 範本部署計數巨集。此巨集為 CloudFormation 資源提供 Count 屬性,因此您可以輕鬆地指定相同類型的多個資源。

  7. 您可以更新 CloudFormation ec2-provisioning.yaml檔案中巨集的名稱並部署堆疊。

  8. 系統管理員會根據需求更新ec2-provisioning.yaml檔案並啟動堆疊。

  9. 範本會透過 UiPath Studio 應用程式部署EC2執行個體。

工具

AWS服務

  • AWS CloudFormation協助您以自動化且安全的方式建立基礎架構資源的模型和管理。

  • Amazon 可 CloudWatch協助您在內部部署和其他雲端上AWS觀察和監控資源和應用程式。

  • Amazon 彈性運算雲端 (Amazon EC2) 在雲端提供安全且可調整大小的運算容量。AWS您可以視需要啟動任意數量的虛擬伺服器,,並快速進行擴展或縮減。

  • EC2Image Builder 可簡化虛擬機器和容器映像的建置、測試和部署,以供內部部署AWS或內部部署使用。

  • Amazon 可 EventBridge協助您跨AWS現有系統或軟體即服務 (SaaS) 應用程式大規模建置事件驅動型應用程式。

  • AWSIdentity and Access Management (IAM) 可協助您安全地控制AWS資源的存取。您可以使用集中管理權限IAM,以控制使用者可以存取的AWS資源。您可IAM以用來控制誰要經過驗證 (登入) 和授權 (具有權限) 來使用資源。

  • AWSLambda 是一種無伺服器、事件驅動的運算服務,可讓您針對幾乎任何類型的應用程式或後端服務執行程式碼,而無需佈建或管理伺服器。您可以從 200 多個AWS服務和 SaaS 應用程式呼叫 Lambda 函數,而且只需按使用量付費。

  • Amazon Simple Storage Service (Amazon S3) 是雲端物件儲存服務,可協助您存放、保護和擷取任意數量的資料。

  • AWSSystems Manager 代理程式 (SSM代理程式) 可協助系統管理員更新、管理及設定EC2執行個體、邊緣裝置、內部部署伺服器及虛擬機器 (VMs)。

代碼存儲庫

此模式的代碼可以在使用 CloudFormation存儲庫的 GitHub UiPath RPA機器人設置中獲得。該模式還使用 AWS CloudFormation Macros 存儲庫中可用的宏。

最佳實務

  • AWSAMIs每個月都會發布新的視窗。其中包含最新的 OS 修補程式、驅動程式和啟動代理程式。建議您在啟動新執行個體或建立自訂映像檔時使用最AMI新版本。

  • 在映像檔建置期間套用所有可用的 Windows 或 Linux 安全性修補程式

史诗

任務描述所需技能

設定 I EC2 mage Builder 管線。

  1. 使用 CloudFormation儲存庫複製UiPath RPA機器人設定,或從存放庫下載ec2-image-builder.yaml範本。

  2. 登入AWS管理主控台,然後開啟主AWS CloudFormation 控台

  3. 選擇建立堆疊

  4. Specify template (指定範本) 區段中,選擇 Upload a template file (上傳範本檔案)

  5. 從您的電腦找出並上傳ec2-image-builder.yaml範本,然後選擇 [下一步]。

  6. 為您的堆棧提供輸入參數或接受默認值。選擇 Next (下一步)

    注意:參數的數量和值可能會根據您的輸入值而有所不同。

  7. 選擇性地設定堆疊選項,然後選擇 [下一步]。

  8. 檢閱您的堆疊詳細資料。

  9. 在畫面結尾,選取確認權能的核取方塊,然後選擇 [提交]。

  10. 監視堆疊的進度。狀態為時CREATE_COMPLETE,表示部署就緒。

AWS DevOps

檢視 EC2 Image Builder 設定。

EC2Image Builder 設定包括基礎結構組態、散佈設定和安全性掃描設定。若要檢視設定:

  1. 開啟EC2映 Image Builder 主控台

  2. 從導覽窗格中,導覽至各種 Image Builder 設定。

備註:最佳作法是,您應該只透過 CloudFormation 範本對 EC2 Image Builder 進行任何更新。

AWS DevOps

檢視影像管線。

若要檢視已部署的映像管線:

  1. 在 EC2 Image Builder 主控台上,從導覽窗格中選擇映像管線

  2. 選取您建立的影像管線。

  3. 檢視輸出影像、映像配方、基礎設施組態、分發設定、Amazon EventBridge 規則和標籤的組態詳細資料。

AWS DevOps

檢視 Image Builder 記錄。

EC2Image Builder 記錄會彙總在記 CloudWatch 錄群組中。若要檢視中的記錄檔 CloudWatch:

  1. 開啟主CloudWatch 控台

  2. 在導覽窗格中依序選擇 Logs (日誌)、Log groups (日誌群組)。

  3. 選擇記錄群組名稱。EC2Image Builder 記錄會彙總到記錄群組中/aws/imagebuilder/XXX

  4. 檢查個別記錄資料流中的最新記錄檔,以瞭解執行映像管線時遇到的任何錯誤。

EC2Image Builder 日誌也存放在 S3 儲存貯體中。若要檢視值區中的記錄:

  1. 開啟 Amazon S3 主控台

  2. Buckets (儲存貯體) 清單中,選擇您的儲存貯體名稱。日誌會彙總到 S3 儲存貯體中<stack-name>-XXXXXX

AWS DevOps

將 UiPath 檔案上傳到 S3 儲存貯體。

  1. 從以下位置下載工 UiPath 作室的.msi檔案 https://download.uipath.com/ UiPathStudioCommunity .msi。

  2. 上傳 至 S3 儲存貯體。

  3. 在使用者資料區段的行號 310 中,更新ec2-image-builder.yaml範本中的值區名稱和檔案金鑰。

AWS DevOps
任務描述所需技能

部署計數巨集。

  1. 克隆或下載計數 CloudFormation 宏

  2. 導覽至 Count 資料夾。

  3. 您將需要 S3 儲存貯體來存放 CloudFormation 成品。如果您還沒有 S3 儲存貯體,請使用名稱建立一個儲存貯體aws s3 mb s3://<bucket name>

  4. Package「計數」巨集範本。範本使用AWS無伺服器應用程式模型 (SAM),因此必須先進行轉換,然後才能部署它。

    aws cloudformation package \ --template-file template.yaml \ --s3-bucket <your bucket name here> \ --output-template-file packaged.yaml

    例如:

    aws cloudformation package \ --template-file template.yaml \ --s3-bucket count-macro-ec2 \ --output-template-file packaged.yaml
  5. 部署封裝範本以建立 CloudFormation 堆疊。

    aws cloudformation deploy \ --stack-name Count-macro \ --template-file packaged.yaml \ --capabilities CAPABILITY_IAM

如果您想使用控制台,請按照上一篇史詩或CloudFormation 文檔中的說明進行操作。 

DevOps 工程師

測試「計數」巨集。

若要測試巨集的功能,請嘗試啟動巨集隨附的範例範本。 

aws cloudformation deploy \ --stack-name Count-test \ --template-file test.yaml \ --capabilities CAPABILITY_IAM
DevOps 工程師
任務描述所需技能

部署 Amazon EC2 佈建範本。

若要使用下列方式部署EC2映像管線 CloudFormation:

  1. GitHub 存放庫下載ec2-provisioning.yaml範本,或在複製存放庫時在您的電腦上尋找範本。

  2. 開啟主CloudFormation 控台

  3. 重複第一個 Epic 中的步驟(或按照CloudFormation 文檔中的說明)進行部署ec2-provisioning.yaml

AWS DevOps

查看 Amazon EC2 設置。

Amazon EC2 設定包括安全性、聯網、儲存、狀態檢查、監控和標記組態。若要檢視這些組態:

  1. 打開 Amazon EC2 控制台

  2. 在導覽窗格中,選擇「執行個體」,然後選取EC2由 Amazon EC2 佈建範本建立的執行個體。

  3. 在執行個體摘要中,選取索引標籤以檢視對應的 Amazon EC2 設定。

AWS DevOps

檢視 CloudWatch 儀表板。

  1. 開啟主CloudWatch 控台

  2. 在導覽窗格中,選擇 Dashboards (儀表板)。

  3. 選擇具有您的堆疊名稱的儀表板。

附註:佈建堆疊之後,需要花費一些時間將指標填入儀表板。

儀表板提供以下指標:CPUUtilizationDiskUtilizationMemoryUtilizationNetworkIn、、NetworkOutStatusCheckFailed

AWS DevOps

檢視記憶體和磁碟使用量的自訂指標。

  1. CloudWatch 主控台上,選擇 [儀表板]。

  2. 在導覽窗格中,選擇 Metrics (指標)、All metrics (所有指標)。

  3. 選擇 [自訂命名空間]。CWAgent

AWS DevOps

檢視記憶體和磁碟使用狀況的警示。

  1. CloudWatch 主控台的導覽窗格中,選擇 [儀表板]。

  2. 選擇 所有警示

AWS DevOps

驗證快照生命週期規則。

  1. 打開 Amazon EC2 控制台

  2. 在導覽窗格中,選擇 Lifecycle Manager (生命週期管理器)。

  3. 確認生AMI命週期的設定。

AWS DevOps
任務描述所需技能

刪除堆疊。

當 PoC 或試驗專案完成時,我們建議您刪除建立的堆疊,以確保您不需要支付這些資源的費用。

  1. 開啟主AWS CloudFormation 控台。 

  2. 在瀏覽窗格中,選擇「堆疊」,然後選取您先前建立的一個或兩個您要刪除的堆疊。此堆疊目前必須正在執行。

  3. 在 stack details (堆疊詳細資訊) 窗格中,選擇 Delete (刪除)

  4. 出現提示時,選擇 Delete stack (刪除堆疊)

重要事項:堆疊刪除作業在開始後無法停止。堆疊繼續進行到 DELETE_IN_PROGRESS (正在刪除) 狀態。

如果刪除失敗,堆棧將處於狀DELETE_FAILED態。如需解決方案,請參閱AWS CloudFormation 疑難排解文件中的刪除堆疊失敗

如需有關防止堆疊遭到意外刪除的資訊,請參閱AWS CloudFormation 文件中的防止堆疊遭到刪除

AWS DevOps

故障診斷

問題解決方案

部署 Amazon EC2 佈建範本時,您會收到以下錯誤訊息:從轉換 123xxxx:: 計數收到格式錯誤的回應

這是已知問題。(請參閱AWS CloudFormation 宏存儲庫中的自定義解決方案和 PR。)

若要修正此問題,請開啟 AWS Lambda 主控台並index.py使用GitHub 儲存庫中的內容進行更新。 

相關資源

GitHub 儲存庫

AWS參考

其他參考