Configurar bots de RPA da UiPath automaticamente no Amazon EC2 usando o AWS CloudFormation - Recomendações da AWS

Configurar bots de RPA da UiPath automaticamente no Amazon EC2 usando o AWS CloudFormation

Dr. Rahul Sharad Gaikwad e Tamilselvan P, Amazon Web Services

Resumo

Esse padrão explica como você pode implantar bots de automação de processos robóticos (RPA) em instâncias do Amazon Elastic Compute Cloud (Amazon EC2). Um pipeline do EC2 Image Builder é utilizado para criar uma imagem de máquina da Amazon (AMI) personalizada. Uma AMI é uma imagem de máquina virtual (VM) pré-configurada que contém o sistema operacional (OS) e o software pré-instalado para implantar instâncias do EC2. Esse padrão usa modelos do AWS CloudFormation para instalar a edição UiPath Studio Community na AMI personalizada. O UiPath é uma ferramenta de RPA que ajuda você a configurar robôs para automatizar suas tarefas.

Como parte dessa solução, as instâncias EC2 do Windows são iniciadas usando a AMI básica, e o aplicativo UiPath Studio é instalado nas instâncias. O padrão usa a ferramenta Microsoft System Preparation (Sysprep) para duplicar uma instalação personalizada do Windows. Depois disso, ele remove as informações do host e cria uma AMI final da instância. Em seguida, você pode executar as instâncias sob demanda usando a AMI final com suas próprias convenções de nomenclatura e configuração de monitoramento.

Observação: esse padrão não fornece nenhuma informação sobre o uso de bots de RPA. Para obter mais informações, consulte a Documentação do UiPath. Você também pode usar esse padrão para configurar outros aplicativos de bot RPA personalizando as etapas de instalação com base em seus requisitos.

Esse padrão fornece as seguintes automações e benefícios:

  • Implantação e compartilhamento de aplicativos: você pode criar AMIs do Amazon EC2 para implantação de aplicativos e compartilhá-las em várias contas por meio de um pipeline do EC2 Image Builder, que usa modelos do AWS CloudFormation como scripts de infraestrutura como código (IaC).

  • Provisionamento e escalabilidade do Amazon EC2: os modelos do CloudFormation IaC fornecem sequências personalizadas de nomes de computadores e automação de junção do Active Directory.

  • Observabilidade e monitoramento: o padrão configura os painéis do Amazon CloudWatch para ajudar você a monitorar as métricas do Amazon EC2 (como uso de CPU e disco).

  • Benefícios da RPA para sua empresa: a RPA melhora a precisão porque os robôs podem realizar tarefas atribuídas de forma automática e consistente. A RPA também aumenta a velocidade e a produtividade porque remove operações que não agregam valor e lida com atividades repetitivas.

Pré-requisitos e limitações

Pré-requisitos

Arquitetura

Arquitetura de destino para configurar bots de RPA no Amazon EC2
  1. O administrador fornece a AMI básica do Windows no arquivo ec2-image-builder.yaml e implanta a pilha no console do CloudFormation.

  2. A pilha do CloudFormation implanta o pipeline do EC2 Image Builder, que inclui os seguintes recursos:

    • Ec2ImageInfraConfiguration

    • Ec2ImageComponent

    • Ec2ImageRecipe

    • Ec2AMI

  3. O pipeline do EC2 Image Builder inicia uma instância temporária do Windows EC2 usando a AMI básica e instala os componentes necessários (nesse caso, o UiPath Studio).

  4. O EC2 Image Builder remove todas as informações do host e cria uma AMI a partir do Windows Server.

  5. Você atualiza o arquivo ec2-provisioning yaml com a AMI personalizada e executa várias instâncias do EC2 com base em seus requisitos.

  6. Você implanta a macro Count usando um modelo do CloudFormation. Essa macro fornece uma propriedade Count para os recursos do CloudFormation para que você possa especificar facilmente vários recursos do mesmo tipo.

  7. Você atualiza o nome da macro no arquivo ec2-provisioning.yaml CloudFormation e implanta a pilha.

  8. O administrador atualiza o arquivo ec2-provisioning.yaml com base nos requisitos e inicia a pilha.

  9. O modelo implanta instâncias do EC2 com o aplicativo UiPath Studio.

Ferramentas

Serviços da AWS

  • O AWS CloudFormation ajuda você a modelar e gerenciar recursos de infraestrutura de forma automatizada e segura.

  • O Amazon CloudWatch ajuda você a observar e monitorar recursos e aplicativos na AWS, on-premises e em outras nuvens.

  • O Amazon Elastic Compute Cloud (Amazon EC2) oferece uma capacidade computacional escalável na Nuvem AWS. Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.

  • O EC2 Image Builder simplifica a criação, o teste e a implantação de máquinas virtuais e imagens de contêineres para uso na AWS ou on-premises.

  • O Amazon EventBridge ajuda você a criar aplicativos orientados por eventos em grande escala na AWS, em sistemas existentes ou em aplicativos de software como serviço (SaaS).

  • O AWS Identity and Access Management (IAM) ajuda você a controlar de modo seguro o acesso a recursos da AWS. Com o IAM, é possível gerenciar, de maneira centralizada, permissões que controlam quais recursos da AWS os usuários poderão acessar. Com o IAM, você controla quem pode se autenticar (fazer login) e quem tem autorização (permissões) para acessar os recursos.

  • O AWS Lambda é um serviço computacional com tecnologia sem servidor e orientado a eventos que permite executar o código em praticamente qualquer tipo de aplicativo ou serviço de backend sem o provisionamento ou gerenciamento de servidores. Você chama as funções do Lambda a partir de mais de 200 serviços da AWS e aplicativos de SaaS e pagar somente pelo que usar.

  • O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

  • O AWS Systems Manager Agent (SSM Agent) ajuda o Systems Manager a atualizar, gerenciar e configurar instâncias, servidores on-premises e máquinas virtuais (VMs) do EC2.

Repositórios de códigos

O código desse padrão está disponível na configuração do bot RPA do UiPath no GitHub usando o repositório CloudFormation. O padrão também usa uma macro que está disponível no repositório de macros do AWS CloudFormation.

Práticas recomendadas

  • A AWS lança novas AMIs do Windows todos os meses. Elas contêm os drivers, agentes de execução e patches do SO mais recentes. Recomendamos utilizar o AMI mais recente ao executar novas instâncias ou ao criar suas próprias imagens personalizadas.

  • Aplique todos os patches de segurança disponíveis para Windows ou Linux durante a criação de imagens.

Épicos

TarefaDescriçãoHabilidades necessárias

Configurar um pipeline do EC2 Image Builder.

  1. Clone a configuração do bot RPA do UiPath usando o repositório CloudFormation ou baixe o modelo ec2-image-builder.yaml do repositório.

  2. Faça login no Console de Gerenciamento da AWS e abra o Console do AWS CloudFormation.

  3. Selecione Criar pilha.

  4. Na seção Specify template (Especificar modelo) escolha Upload a template file (Fazer upload de um arquivo de modelo).

  5. Localize e carregue o modelo ec2-image-builder.yaml do seu computador e escolha Próximo.

  6. Forneça os parâmetros de entrada para a pilha ou aceite os valores padrão. Escolha Próximo.

    nota

    A quantidade e os valores dos parâmetros podem variar conforme os valores que você fornecer.

  7. Opcionalmente, configure as opções de pilha e escolha Próximo.

  8. Revise os detalhes da sua pilha.

  9. No final da tela, marque a caixa de seleção para reconhecer os recursos e, em seguida, escolha Enviar.

  10. Monitore o progresso da pilha. Quando o status estiver CREATE_COMPLETE, a implantação estará pronta.

AWS DevOps

Visualizar as configurações do EC2 Image Builder.

As configurações do EC2 Image Builder incluem configuração de infraestrutura, configurações de distribuição e configurações de verificação de segurança. Para ver as configurações:

  1. Abra o console do EC2 Image Builder.

  2. No painel de navegação, navegue até várias configurações do Image Builder.

nota

Como prática recomendada, você deve fazer qualquer atualização no EC2 Image Builder apenas por meio do modelo do CloudFormation.

AWS DevOps

Visualize o pipeline de imagens.

Para ver o pipeline de imagens implantado:

  1. No console do EC2 Image Builder, escolha pipelines de imagens no painel de navegação.

  2. Selecione o pipeline de imagens que você criou.

  3. Veja os detalhes de configuração das imagens de saída, fórmula da imagem, configuração da infraestrutura, configurações de distribuição, e regras e das tags do Amazon EventBridge.

AWS DevOps

Veja os logs do Image Builder.

Os logs do EC2 Image Builder são agregados em grupos de log do CloudWatch. Para visualizar os logs no console do CloudWatch:

  1. Abra o console do CloudWatch.

  2. No painel de navegação, selecione Logs, Grupos de log.

  3. Escolha o nome do grupo de logs. Os logs do Image Builder do EC2 são agregados no grupo de logs /aws/imagebuilder/XXX.

  4. Verifique os logs mais recentes no respectivo fluxo de logs para ver se há erros encontrados ao executar o pipeline de imagens.

Os logs do EC2 Image Builder também são armazenados em um bucket do S3. Para visualizar os logs no bucket:

  1. Abra o console Amazon S3.

  2. Na lista Buckets (Buckets), escolha o nome do bucket. Os logs são agregados no bucket do S3 <stack-name>-XXXXXX.

AWS DevOps

Faça upload do arquivo do UiPath em um bucket do S3.

  1. Baixe o arquivo .msi para o UiPath Studio no local https://download.uipath.com/UiPathStudioCommunity.msi.

  2. Faça upload do arquivo em um bucket do S3.

  3. Atualize o nome do bucket e a chave do arquivo no modelo ec2-image-builder.yaml, na seção de dados do usuário, linha número 310.

AWS DevOps
TarefaDescriçãoHabilidades necessárias

Implantar a macro Count.

  1. Clone ou baixe a macro Count CloudFormation.

  2. Navegue para a pasta Count.

  3. Você precisará de um bucket do S3 para armazenar os artefatos do CloudFormation. Se você ainda não tiver um bucket do S3, crie um com o nome aws s3 mb s3://<bucket name>.

  4. Empacote o modelo de macro Count. O modelo usa o AWS Serverless Application Model (SAM), portanto, ele deve ser transformado antes que você possa implantá-lo.

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

    Por exemplo:

    aws cloudformation package \ --template-file template.yaml \ --s3-bucket count-macro-ec2 \ --output-template-file packaged.yaml
  5. Implante o modelo empacotado para criar uma pilha do CloudFormation.

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

Se você quiser usar o console, siga as instruções no épico anterior ou na documentação do CloudFormation

Engenheiro de DevOps

Testar a macro Count.

Para testar os recursos da macro, tente iniciar o modelo de exemplo fornecido com a macro. 

aws cloudformation deploy \ --stack-name Count-test \ --template-file test.yaml \ --capabilities CAPABILITY_IAM
Engenheiro de DevOps
TarefaDescriçãoHabilidades necessárias

Implante o modelo de provisionamento do Amazon EC2.

Para implantar o EC2 Image Pipeline usando o CloudFormation:

  1. Baixe o modelo ec2-provisioning.yaml do repositório do GitHub ou localize-o no seu computador se você clonou o repositório.

  2. Abra o console do AWS CloudFormation.

  3. Repita as etapas do primeiro épico (ou siga as instruções na documentação do CloudFormation) para implantar ec2-provisioning.yaml.

AWS DevOps

Visualizar as configurações do Amazon EC2.

As configurações do Amazon EC2 incluem configurações de segurança, rede, armazenamento, verificações de status, monitoramento e tags. Para ver essas configurações:

  1. Abra o console do Amazon EC2.

  2. No painel de navegação, escolha Instancias e selecione a instância do EC2 que foi criada pelo modelo de provisionamento do Amazon EC2.

  3. No resumo da instância, selecione as guias para visualizar as configurações correspondentes do Amazon EC2.

AWS DevOps

Visualizar o painel do CloudWatch.

  1. Abra o console do CloudWatch.

  2. No painel de navegação, escolha Painéis.

  3. Escolha o painel que tem o nome da sua pilha.

nota

Depois que você provisiona a pilha, leva algum tempo para que o painel seja preenchido com as métricas.

O painel fornece essas métricas:CPUUtilization, DiskUtilization, MemoryUtilization, NetworkIn, NetworkOut, StatusCheckFailed.

AWS DevOps

Visualizar métricas personalizadas para uso de memória e disco.

  1. No console do CloudWatch, escolha Painéis.

  2. No painel de navegação, escolha Métricas, Todas as métricas.

  3. Escolha Namespaces personalizados, CWAgent.

AWS DevOps

Visualizar os alarmes para uso da memória e do disco.

  1. No console do CloudWatch, escolha Painéis no painel de navegação.

  2. Escolha Todos os alarmes.

AWS DevOps

Verificar a regra do ciclo de vida do snapshot.

  1. Abra o console do Amazon EC2.

  2. No painel de navegação, escolha Gerenciador de ciclo de vida.

  3. Verifique as configurações do ciclo de vida da AMI.

AWS DevOps
TarefaDescriçãoHabilidades necessárias

Exclua as pilhas.

Quando seu PoC ou projeto piloto estiver concluído, recomendamos que você exclua as pilhas criadas para garantir que não seja cobrado por esses recursos.

  1. Abra o console do AWS CloudFormation

  2. No painel de navegação, escolha Pilhas e selecione uma ou as duas pilhas que você criou anteriormente e que deseja excluir. A pilha deve estar em execução no momento.

  3. No painel de detalhes da pilha, escolha Excluir.

  4. Quando solicitado, escolha Excluir pilha.

Importante

A operação de exclusão da pilha não pode ser interrompida após ser iniciada. A pilha continua para o estado DELETE_IN_PROGRESS.

Se houver falha ao excluir, a pilha estará no estado DELETE_FAILED. Para obter soluções, consulte Excluir falhas na pilha na documentação de solução de problemas do AWS CloudFormation.

Para obter informações sobre como proteger pilhas de serem excluídas acidentalmente, consulte proteger uma pilha de ser excluída na documentação do AWS CloudFormation.

AWS DevOps

Solução de problemas

ProblemaSolução

Ao implantar o modelo de provisionamento do Amazon EC2, você recebe o erro: Resposta de má formação recebida da transformação 123xxxx: :Count.

Esse é um problema conhecido. (Veja a solução personalizada e o PR no repositório de macros do AWS CloudFormation.)

Para corrigir esse problema, abra o console do AWS Lambda e atualize index.py com o conteúdo do Repositório do GitHub

Recursos relacionados

Repositórios do GitHub

Referências da AWS

Referências adicionais