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

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

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

由 Dr. Rahul Sharad Gaikwad (AWS) 和 Tamilselvan P (AWS) 建立

Summary

此模式說明如何在 Amazon Elastic Compute Cloud (AmazonRPA) 執行個體上部署機器人程序自動化 (EC2) 機器人。它使用 EC2 Image Builder 管道來建立自訂 Amazon Machine Image (AMI)。AMI 是預先設定的虛擬機器 (VM) 映像,其中包含作業系統 (OS) 和預先安裝的軟體來部署EC2執行個體。此模式使用 AWS CloudFormation 範本在自訂 上安裝 UiPath Studio Community EditionAMI。 UiPath 是一種RPA工具,可協助您設定機器人來自動化任務。

作為此解決方案的一部分,EC2Windows 執行個體是透過使用基本 啟動AMI,而 UiPath Studio 應用程式安裝在執行個體上。模式使用 Microsoft System Preparation (Sysprep) 工具來複製自訂 Windows 安裝。之後,它會移除主機資訊,並從AMI執行個體建立最終版本。然後,您可以使用具有自己的命名慣例和監控設定的最終 AMI來隨需啟動執行個體。

注意

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

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

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

  • Amazon EC2 佈建和擴展: CloudFormation IaC 範本提供自訂電腦名稱序列和 Active Directory 聯結自動化。

  • 可觀測性和監控:模式會設定 Amazon CloudWatch 儀表板,以協助您監控 Amazon EC2指標 (例如 CPU和磁碟用量)。

  • RPA 對您業務的好處: RPA 提高準確性,因為機器人可以自動且一致地執行指派的任務。 RPA也會提高速度和生產力,因為它會移除不增加價值並處理重複活動的操作。

先決條件和限制

先決條件

架構

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

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

    • Ec2ImageInfraConfiguration

    • Ec2ImageComponent

    • Ec2ImageRecipe

    • Ec2AMI

  3. EC2 Image Builder 管道會使用 基礎啟動暫時性 Windows EC2執行個體,AMI並安裝必要的元件 (在此情況下為 UiPath Studio)。

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

  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 Elastic Compute Cloud (Amazon EC2) 在AWS雲端中提供安全且可調整大小的運算容量。您可以視需要啟動任意數量的虛擬伺服器,,並快速進行擴展或縮減。

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

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

  • AWS Identity and Access Management (IAM) 可協助您安全地控制對 AWS 資源的存取。透過 IAM,您可以集中管理許可,以控制使用者可以存取哪些AWS資源。您可以使用 IAM 來控制 (已登入) 的身分驗證和授權使用資源的 (許可)。

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

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

  • AWS Systems Manager Agent (SSM Agent) 可協助 Systems Manager 更新、管理和設定EC2執行個體、邊緣裝置、內部部署伺服器和虛擬機器 (VMs)。

程式碼儲存庫

此模式的程式碼可在 GitHub UiPath RPA使用 儲存庫的機器人設定 CloudFormation中使用。模式也會使用巨集AWS CloudFormation 儲存庫提供的巨集。

最佳實務

  • AWS 每月發行新的 WindowsAMIs。這些包含最新的作業系統修補程式、驅動程式和啟動代理程式。我們建議您AMI在啟動新執行個體或建置自訂映像時使用最新的 。

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

史詩

任務描述所需的技能

設定EC2映像建置器管道。

  1. UiPath RPA 使用儲存庫複製機器人設定 CloudFormation,或從儲存庫下載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映像建置器設定。

EC2 Image Builder 設定包括基礎設施組態、分佈設定和安全掃描設定。若要檢視設定:

  1. 開啟 EC2 Image Builder 主控台

  2. 從導覽窗格中,導覽至各種映像建置器設定。

注意

最佳實務是,您應該僅透過 CloudFormation 範本對 EC2 Image Builder 進行任何更新。

AWS DevOps

檢視映像管道。

若要檢視部署的影像管道:

  1. 在EC2映像建置器主控台上,從導覽窗格中選擇映像管道

  2. 選取您建立的映像管道。

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

AWS DevOps

檢視映像建置器日誌。

EC2 映像建置器日誌會彙總在 CloudWatch 日誌群組中。若要檢視 中的日誌 CloudWatch:

  1. 開啟 CloudWatch 主控台

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

  3. 選擇日誌群組名稱。 EC2Image Builder 日誌會在日誌群組 中彙總/aws/imagebuilder/XXX

  4. 檢查個別日誌串流中的最新日誌,是否有在執行映像管道時遇到的任何錯誤。

EC2 Image Builder 日誌也會存放在 S3 儲存貯體中。若要檢視儲存貯體中的日誌:

  1. 開啟 Amazon S3 主控台

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

AWS DevOps

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

  1. 從位置 https://download.uipath.com/.UiPathStudioCommunitymsi 下載 UiPath Studio 的 .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. 封裝 Count 巨集範本。範本使用 AWS Serverless Application Model (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

如果您想要使用 主控台,請遵循先前 epic 或 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. 重複第一個史詩中的步驟 (或遵循CloudFormation 文件中的指示) 來部署 ec2-provisioning.yaml

AWS DevOps

檢視 Amazon EC2設定。

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

  1. 開啟 Amazon EC2主控台

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

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

AWS DevOps

檢視 CloudWatch 儀表板。

  1. 開啟 CloudWatch 主控台

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

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

注意

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

儀表板提供這些指標:CPUUtilizationDiskUtilizationMemoryUtilizationNetworkInNetworkOutStatusCheckFailed

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::Count 收到格式不正確的回應

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

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

相關資源

GitHub 儲存庫

AWS 參考

其他參考