다음을 사용하여 Amazon에서 자동으로 UiPath RPA EC2 봇을 설정합니다. AWS CloudFormation - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

다음을 사용하여 Amazon에서 자동으로 UiPath RPA EC2 봇을 설정합니다. AWS CloudFormation

제작: 라훌 샤라드 가이콰드 박사 () 와 타밀셀반 P () AWS AWS

환경: PoC 또는 파일럿

기술: 인프라, DevOps

워크로드: 기타 모든 워크로드

AWS서비스: 아마존 CloudWatch, EC2 Image Builder, AWS Systems Manager, AWS CloudFormation

요약

이 패턴은 Amazon Elastic Compute Cloud (AmazonRPA) 인스턴스에 로봇 프로세스 자동화 () 봇을 배포하는 방법을 설명합니다. EC2 EC2Image Builder 파이프라인을 사용하여 사용자 지정 Amazon 머신 이미지 (AMI) 를 생성합니다. AMIAn은 운영 체제 (OS) 와 인스턴스 EC2 배포를 위한 사전 설치된 소프트웨어가 포함된 사전 구성된 가상 머신 (VM) 이미지입니다. 이 패턴은 AWS CloudFormation 템플릿을 사용하여 사용자 지정에 UiPath Studio Community 에디션을 설치합니다. AMI UiPath 작업을 자동화하도록 로봇을 설정하는 데 도움이 되는 RPA 도구입니다.

이 솔루션의 일환으로 베이스를 AMI 사용하여 EC2 Windows 인스턴스를 시작하고 인스턴스에 UiPath Studio 애플리케이션을 설치합니다. 이 패턴은 Microsoft System Preparation(Sysprep) 도구를 사용해서 사용자 지정 Windows 설치를 복제합니다. 그런 다음 호스트 정보를 제거하고 AMI 인스턴스에서 최종 정보를 생성합니다. 그런 다음 고유한 명명 규칙 및 모니터링 AMI 설정과 함께 최종 버전을 사용하여 필요에 따라 인스턴스를 시작할 수 있습니다.

참고: 이 패턴은 봇 사용에 RPA 대한 어떠한 정보도 제공하지 않습니다. 자세한 내용은 UiPath 설명서를 참조하십시오. 이 패턴을 사용하여 요구 사항에 따라 설치 단계를 사용자 지정하여 다른 RPA 봇 애플리케이션을 설정할 수도 있습니다.

이 패턴은 다음과 같은 자동화 및 이점을 제공합니다.

  • 애플리케이션 배포 및 공유: AWS CloudFormation 템플릿을 코드형 인프라 (IaC) 스크립트로 사용하는 EC2 Image Builder 파이프라인을 통해 애플리케이션 배포를 EC2 AMIs 위한 Amazon을 구축하고 여러 계정에서 공유할 수 있습니다.

  • Amazon EC2 프로비저닝 및 확장: CloudFormation IaC 템플릿은 사용자 지정 컴퓨터 이름 시퀀스와 Active Directory 가입 자동화를 제공합니다.

  • 관찰 가능성 및 모니터링: 이 패턴은 Amazon CloudWatch 대시보드를 설정하여 Amazon EC2 지표 (예: 디스크 사용량) 를 모니터링하는 데 도움이 됩니다. CPU

  • RPA비즈니스에 미치는 이점: 로봇이 할당된 작업을 자동으로 일관되게 수행할 수 있으므로 정확성이 RPA 향상됩니다. RPA또한 부가가치를 창출하지 않는 작업을 없애고 반복적인 작업을 처리하므로 속도와 생산성이 향상됩니다.

사전 조건 및 제한 사항

사전 조건

아키텍처

Amazon에서 RPA 봇을 설정하기 위한 타겟 아키텍처 EC2
  1. 관리자는 ec2-image-builder.yaml 파일에 기본 Windows를 제공하고 AMI 콘솔에 스택을 배포합니다. CloudFormation

  2. CloudFormation 스택은 다음 리소스를 포함하는 EC2 Image Builder 파이프라인을 배포합니다.

    • Ec2ImageInfraConfiguration

    • Ec2ImageComponent

    • Ec2ImageRecipe

    • Ec2AMI

  3. EC2Image Builder 파이프라인은 베이스를 AMI 사용하여 임시 Windows EC2 인스턴스를 시작하고 필요한 구성 요소 (이 경우 UiPath Studio) 를 설치합니다.

  4. EC2Image Builder는 모든 호스트 정보를 제거하고 Windows AMI 서버에서 호스트 정보를 생성합니다.

  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자동화되고 안전한 방식으로 인프라 리소스를 모델링하고 관리할 수 있도록 도와줍니다.

  • CloudWatchAmazon은 온프레미스 및 기타 클라우드에서 AWS 리소스와 애플리케이션을 관찰하고 모니터링할 수 있도록 지원합니다.

  • Amazon Elastic Compute Cloud (Amazon EC2) 는 클라우드에서 안전하고 크기 조정이 AWS 가능한 컴퓨팅 파워를 제공합니다. 필요한 만큼 가상 서버를 시작하고 빠르게 스케일 업하거나 스케일 다운할 수 있습니다.

  • EC2Image Builder는 온프레미스 AWS 또는 온프레미스에서 사용할 가상 머신 및 컨테이너 이미지의 구축, 테스트 및 배포를 간소화합니다.

  • EventBridgeAmazon은 기존 시스템 또는 SaaS (Software as a Service) 애플리케이션 AWS 전반에서 대규모로 이벤트 기반 애플리케이션을 구축할 수 있도록 지원합니다.

  • AWSIdentity 및 Access Management (IAM) 를 사용하면 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있습니다. 를 사용하면 사용자가 액세스할 수 있는 AWS 리소스를 제어하는 권한을 중앙에서 관리할 수 있습니다. IAM 리소스를 사용할 수 있는 인증 (로그인) 및 권한 부여 (권한 보유) 를 제어하는 IAM 데 사용합니다.

  • AWSLambda는 서버를 프로비저닝하거나 관리하지 않고도 거의 모든 유형의 애플리케이션 또는 백엔드 서비스에 대한 코드를 실행할 수 있는 서버리스 이벤트 기반 컴퓨팅 서비스입니다. 200개 이상의 AWS 서비스 및 SaaS 애플리케이션에서 Lambda 함수를 호출하고 사용한 만큼만 비용을 지불할 수 있습니다.

  • Amazon Simple Storage Service(S3)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.

  • AWSSystems Manager 에이전트 (SSM에이전트) 는 Systems Manager가 EC2 인스턴스, 에지 디바이스, 온프레미스 서버 및 가상 머신을 업데이트, 관리 및 구성하는 데 도움이 됩니다 (VMs).

코드 리포지토리

이 패턴의 코드는 CloudFormation 리포지토리를 사용하는 GitHub UiPath RPA 봇 설정에서 사용할 수 있습니다. 또한 이 패턴은 AWS CloudFormation Macros 리포지토리에서 사용할 수 있는 매크로를 사용합니다.

모범 사례

  • AWSAMIs매달 새 Windows를 릴리스합니다. 여기에는 최신 OS 패치, 드라이버 및 시작 에이전트가 포함됩니다. 새 인스턴스를 시작하거나 사용자 지정 이미지를 직접 빌드할 AMI 때는 최신 버전을 사용하는 것이 좋습니다.

  • 이미지 빌드 중에 사용 가능한 모든 Windows 또는 Linux 보안 패치를 적용합니다.

에픽

작업설명필요한 기술

EC2Image Builder 파이프라인을 설정합니다.

  1. CloudFormation리포지토리를 사용하여 UiPath RPA 봇 설정을 복제하거나 리포지토리에서 ec2-image-builder.yaml 템플릿을 다운로드하십시오.

  2. AWS관리 콘솔에 로그인하고 AWS CloudFormation 콘솔을 엽니다.

  3. 스택 생성을 선택합니다.

  4. 템플릿 지정 섹션에서 템플릿 파일 업로드를 선택합니다.

  5. 컴퓨터에서 ec2-image-builder.yaml 템플릿을 찾아 업로드한 후 다음을 선택합니다.

  6. 스택에 대한 입력 파라미터를 제공하거나 기본값을 수락합니다. Next(다음)를 선택합니다.

    참고: 파라미터의 수와 값은 입력 값에 따라 달라질 수 있습니다.

  7. 선택적으로 스택 옵션을 구성한 후 다음을 선택합니다.

  8. 스택 세부 정보를 검토합니다.

  9. 화면 끝에서 확인란을 선택하여 기능을 확인한 다음 제출을 선택합니다.

  10. 스택의 진행 상황을 모니터링합니다. 상태가 CREATE_COMPLETE이면 배포가 준비된 것입니다.

AWS DevOps

EC2Image Builder 설정 보기

EC2Image Builder 설정에는 인프라 구성, 배포 설정 및 보안 검사 설정이 포함됩니다. 다음과 같이 설정을 확인합니다.

  1. EC2Image Builder 콘솔을 엽니다.

  2. 탐색 창에서 다양한 Image Builder 설정으로 이동합니다.

참고: 가장 좋은 방법은 CloudFormation 템플릿을 통해서만 EC2 Image Builder를 업데이트하는 것입니다.

AWS DevOps

이미지 파이프라인을 확인합니다.

다음과 같이 배포된 이미지 파이프라인을 확인합니다.

  1. EC2Image Builder 콘솔의 탐색 창에서 이미지 파이프라인을 선택합니다.

  2. 생성한 이미지 파이프라인을 선택합니다.

  3. 출력 이미지, 이미지 레시피, 인프라 구성, 배포 설정, Amazon EventBridge 규칙 및 태그의 구성 세부 정보를 확인합니다.

AWS DevOps

Image Builder 로그를 확인합니다.

EC2Image Builder 로그는 CloudWatch 로그 그룹으로 집계됩니다. 로그인을 CloudWatch 보려면:

  1. CloudWatch 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 로그, 로그 그룹을 선택합니다.

  3. 로그 그룹 이름을 선택합니다. EC2Image Builder 로그는 로그 그룹에 /aws/imagebuilder/XXX 집계됩니다.

  4. 이미지 파이프라인을 실행할 때 발생한 오류가 있는지 각 로그 스트림의 최신 로그를 확인합니다.

EC2Image Builder 로그는 S3 버킷에도 저장됩니다. 다음과 같이 버킷에서 로그를 확인합니다.

  1. Amazon S3 콘솔을 엽니다.

  2. 버킷 목록에서 버킷 이름을 선택합니다. 로그는 S3 버킷 <stack-name>-XXXXXX에 집계됩니다.

AWS DevOps

UiPath 파일을 S3 버킷에 업로드합니다.

  1. https://download.uipath.com/ UiPathStudioCommunity .msi 위치에서 UiPath 스튜디오용 .msi 파일을 다운로드하십시오.

  2. 파일을 S3 버킷에 업로드합니다.

  3. ec2-image-builder.yaml 템플릿의 사용자 데이터 섹션 라인 번호 310에서 버킷 이름과 파일 키를 업데이트합니다.

AWS DevOps
작업설명필요한 기술

Count 매크로를 배포합니다.

  1. 카운트 CloudFormation 매크로를 복제하거나 다운로드하십시오.

  2. Count 폴더로 이동합니다.

  3. CloudFormation 아티팩트를 저장하려면 S3 버킷이 필요합니다. 아직 S3 버킷이 없는 경우, aws s3 mb s3://<bucket name> 이름으로 한 개를 생성합니다.

  4. Count 매크로 템플릿을 패키징합니다. 템플릿은 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 엔지니어

Count 매크로를 테스트합니다.

매크로의 기능을 테스트하려면 매크로와 함께 제공된 예제 템플릿을 실행합니다. 

aws cloudformation deploy \ --stack-name Count-test \ --template-file test.yaml \ --capabilities CAPABILITY_IAM
DevOps 엔지니어
작업설명필요한 기술

Amazon EC2 프로비저닝 템플릿을 배포합니다.

다음을 사용하여 EC2 CloudFormation 이미지 파이프라인을 배포하려면

  1. 리포지토리에서 ec2-provisioning.yaml 템플릿을 다운로드하거나, GitHub 리포지토리를 복제한 경우 컴퓨터에서 찾을 수 있습니다.

  2. CloudFormation 콘솔을 엽니다.

  3. 첫 번째 에픽의 단계를 반복하거나 CloudFormation 설명서의 지침을 따라 ec2-provisioning.yaml 배포하세요.

AWS DevOps

아마존 EC2 설정 보기.

Amazon EC2 설정에는 보안, 네트워킹, 스토리지, 상태 확인, 모니터링 및 태그 구성이 포함됩니다. 다음과 같이 이러한 구성을 확인합니다.

  1. Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 [Instances] 를 선택한 다음 Amazon EC2 프로비저닝 템플릿으로 만든 EC2 인스턴스를 선택합니다.

  3. 인스턴스 요약에서 탭을 선택하여 해당하는 Amazon EC2 설정을 확인합니다.

AWS DevOps

CloudWatch 대시보드 보기.

  1. CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 대시보드를 선택합니다.

  3. 해당하는 스택 이름이 있는 대시보드를 선택합니다.

참고: 스택을 프로비저닝한 후 대시보드를 지표로 채우는 데 시간이 걸립니다.

대시보드는CPUUtilization, DiskUtilization, MemoryUtilization, NetworkIn, NetworkOut, StatusCheckFailed 지표를 제공합니다.

AWS DevOps

메모리 및 디스크 사용량에 대한 사용자 지정 지표를 확인합니다.

  1. CloudWatch 콘솔에서 대시보드를 선택합니다.

  2. 탐색 창에서 지표, 모든 지표를 선택합니다.

  3. 사용자 지정 네임스페이스, 를 선택합니다. CWAgent

AWS DevOps

메모리 및 디스크 사용량에 대한 경보를 확인합니다.

  1. CloudWatch 콘솔의 탐색 창에서 대시보드를 선택합니다.

  2. 모든 경보를 선택합니다.

AWS DevOps

스냅샷 수명 주기 규칙을 확인합니다.

  1. Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 수명 주기 관리자를 선택합니다.

  3. AMI라이프사이클 설정을 확인합니다.

AWS DevOps
작업설명필요한 기술

스택을 삭제합니다.

PoC 또는 파일럿 프로젝트가 완료되면 이러한 리소스에 대한 요금이 부과되지 않도록 생성한 스택을 삭제하는 것이 좋습니다.

  1. AWS CloudFormation 콘솔을 엽니다. 

  2. 탐색 창에서 스택을 선택한 다음 이전에 만든 스택 중 삭제하려는 하나 또는 두 개의 스택을 선택합니다. 스택이 현재 실행 중이어야 합니다.

  3. 스택 세부 정보 창에서 삭제를 선택합니다.

  4. 메시지가 나타나면 스택 삭제를 선택합니다.

중요: 스택 삭제 작업은 시작된 후에는 중지할 수 없습니다. 스택이 DELETE_IN_PROGRESS 상태로 바뀝니다.

삭제에 실패하면 스택이 DELETE_FAILED 상태가 됩니다. 해결 방법은 AWS CloudFormation 문제 해결 설명서에서 스택 삭제 실패를 참조하십시오.

스택이 실수로 삭제되지 않도록 보호하는 방법에 대한 자세한 내용은 AWS CloudFormation 설명서의 스택 삭제 보호를 참조하십시오.

AWS DevOps

문제 해결

문제Solution

Amazon EC2 프로비저닝 템플릿을 배포할 때 다음 오류가 발생합니다. transform 123xxxx: :Count에서 잘못된 형식의 응답을 받았습니다.

이는 알려진 문제입니다. (매크로 리포지토리의 사용자 지정 솔루션 및 PR을 참조하십시오.) AWS CloudFormation

이 문제를 해결하려면 AWS Lambda 콘솔을 열고 리포지토리의 콘텐츠로 index.py 업데이트하십시오. GitHub  

관련 리소스

GitHub 리포지토리

AWS참고 문헌

추가 참조