Elastic Robot Orchestration Setup For AWS (Step by step guide)

How to setup Elastic Robot Orchestration Setup for AWS?

This article is a step by step guide to configure Elastic Robot Orchestration on Amazon Web Services. It is complementary to the Elastic Robot Orchestration documentation.

Note: It is recommended to follow the below steps in the order that they are presented

Setup in Amazon Web Services (AWS)

  1. Creating the machine / Machine template

Depending on what model is required to be used, Automatic Machine Provisioning or Manual Provisioning (Bring Your Own Machine - BYOM) either create an EC2 Image by following Setup in AWS: Create an AWS EC2 Image or simply create a new instance.

Consider a sample new EC2 Instance with Win 2019 Base, t3.micro (no other settings applied)

Note:

  • Join the machine to a domain, otherwise log in and create a local user that would serve as the Robot User.
  • Do not install any UiPath software to those machines. Only install the applications that will be used by the Robot.

  1. Add 'AmazonSSMManagedInstanceCore' policy to the EC2 Instance (Only for BYOM)

  1. Go to IAM -> Roles -> Create role

  1. From "Trusted entity type" select "AWS Service" and from "Use Case" select "EC2"

  1. From Permissions policies, select "AmazonSSMManagedInstanceCore"

  1. Proceed to the next screen, name the policy and create the role
  2. From EC2 Console, right-click on the instance, select Security -> Modify IAM Role

image.png

  1. Add the previously created role and select "Update IAM role"

  1. Create the AWS User and assign permission policies
    1. Access AWS IAM -> Users -> Add users

  1. Give it an User name and add apply the following Permission Policies: AmazonEC2FullAccess, AmazonSSMFullAccess, AWSCloudFormationFullAccess, IAMFullAccess

Note: Those permissions ensure that the User will have all the necessary rights to manage the machines. Use them only to test the scenario and, if required granulate them, speak with the AWS Admin to create a custom role with those permissions.

  1. Create the Access Key
  1. From IAM -> Users -> Select the new user -> Select "Security credentials" -> Select "Create access key"

  1. Select an usage option (will not impact the key) and proceed. Once the access key is created, copy the credentials and store them somewhere safe as you will need them later.

image.png

Setup in UiPath Cloud Orchestrator

  1. Create your AWS Connection
    1. Go to Orchestrator -> Tenant -> Settings -> Cloud Connections -> Click on the plus sign and select AWS

  1. Name the connection and use the Access Key and Secret that were generated above to create the connection. If successful, it should show the below message:

  1. Create the Machine Pool
    1. Go to Orchestrator -> Machines -> Add machine -> Elastic Robot Pool

  1. Give it a name and assign at least one unattended license

  1. Select your Cloud Connection, Profile scheduling and Region (the one on which your EC2 instance is).
  2. Choose if the pool needs manage the machine creation or to select specific machines. For this Demo, own machine has been selected

  1. Create the Robot User and configure the unattended robot
    1. Create a Robot account from Cloud -> Admin -> Account and Groups and add it to your Tenant via Orchestrator -> Manage Access.
    2. Make sure to provide the following Roles: Automation User (Folder), Allow to be automation user (Tenant), Robot (Folder and Tenant)
    3. For the Unattended Robot setup, add the username as '.\username' for local users or 'domain\username' for domain joined user.

  1. From Robot Settings, switch the toggle on for Login to console and select No to prevent the Robot from timing out.

  1. Add the Machine Pool, Robot User and your process(es) to the same folder.



Information:

Running your first process

  1. The first run on each machine might take a long time (couple of hours) to be completed, as the Elastic Robot Orchestration will install and connect the Robot first.
  2. Start your process -> Select the Robot Account and the Machine Pool

  1. At first, the below message may be seen in the Job info. This is appearing because the Robot installation is not complete yet:

  1. Go to Tenant -> Machines -> Select your AWS Machine Pool -> Add or Manage VMs to monitor it

  1. After a few minutes, it should identify the Host Name and show the Machine Status as "Starting"

  1. In AWS EC2 console, see the Instance status as Starting or Running

  1. From this point, the Robot should get installed and the process should finish successfully. The EC2 instance will be turned off in ~1h if the machine is left idle after the process run.

A post was split to a new topic: Why a machine added to the pool displays as “running” despite being stopped in the AWS Console during Elastic Robot Orchestration?