Automation Suite
2022.10
False
Imagen de fondo del banner
Guía de instalación de Automation Suite
Última actualización 24 de abr. de 2024

Arquitectura de implementación de AWS

Diagrama de arquitectura



Complete component list

Puntos de entrada

  • Pila principal - punto de entrada principal:
    • Pila de red
    • Pila de uipath-sf
  • Pila de uipath-sf

Nested stacks

  • Uipath-sf:

    • Pila SSL
    • Pila de enrutamiento
    • Pila de servidores
    • Pila de bases de datos
    • Pila de copia de seguridad
    • Pila de gestión
    • Funciones Lambda (AWS::Lambda::Function):
      • FindAMIFunction : para encontrar una ID de AMI coincidente.
      • CreateInputJsonFunction : para crear la configuración utilizada por el instalador de Automation Suite.
      • ComputeResourceSizeFunction : para calcular la configuración de hardware mínima de las instancias EC2 necesaria, en función de los servicios seleccionados y el tipo de implementación.
    • Roles de IAM (AWS::IAM::Role) para que las funciones de Lamdda proporcionen permisos mínimos:
      • FindAmiLambdaRole
      • CreateInputJsonLambdaRole
      • ComputeResourceSizeLambdaRole
    • Secretos (AWS::SecretsManager::Secret) para almacenar información confidencial:
      • RDSPassword
      • OrgSecret
      • PlatformSecret
      • ArgoCdSecret
      • ArgoCdUserSecret
      • InputJsonSecret
      • KubeconfigSecret
    • Pila de SSL (opcional)
  • Pila de red (opcional)
  • Pila de copia de seguridad (opcional):

    • ClusterBackupStorage (AWS::EFS::FileSystem): sistema de archivos de Amazon Elastic utilizado para almacenar la copia de seguridad.
    • SharedStorageSecurityGroup (AWS::EC2::SecurityGroup): grupo de seguridad utilizado para permitir conexiones de red NFS desde los nodos del clúster.
    • SharedStorageMountTargetOne (AWS::EFS::MountTarget): recurso que crea el destino de montaje para el sistema de archivos EFS y la primera subred privada.
    • SharedStorageMountTargetTwo (AWS::EFS::MountTarget): recurso que crea el destino de montaje para el sistema de archivos EFS y la segunda subred privada.
    • SharedStorageMountTargetThree (AWS::EFS::MountTarget): recurso opcional que crea el destino de montaje para el sistema de archivos EFS y la tercera subred privada.
  • Pila de bases de datos:
    • RDSDBInstance (AWS::RDS::DBInstance): la instancia de base de datos de Amazon RDS. El SKU de la base de datos es db.m5.2xlarge.
    • DBSubnetGroup (AWS::RDS::DBSubnetGroup): grupo de subred privado que contiene las subredes privadas.
    • DbSecurityGroup (AWS::EC2::SecurityGroup): grupo de seguridad que permite el acceso a la instancia de base de datos.
    • PMRDSDBInstance (AWS::RDS::DBInstance): instancia de base de datos de Amazon RDS dedicada para Process Mining. Solo se implementa cuando Process Mining está habilitado y la implementación es Multi Node. El SKU de la base de datos es db.m5.4xlarge.
  • Pila de enrutamiento:NOTA: Las apiladas Alb y Nlb son configuraciones mutuamente excluyentes
    • Pila de alb:
      • ExternalLoadBalancer (AWS::ElasticLoadBalancingV2::LoadBalancer): equilibrador de carga de la aplicación utilizado para distribuir el tráfico de Automation Suite. Puede ser interno o orientado a Internet.
      • ELBSecurityGroup (AWS::EC2::SecurityGroup): el grupo de seguridad aplicado al equilibrador de carga.
      • HttpsTargetGroup (AWS::ElasticLoadBalancingV2::TargetGroup): el grupo de destino del equilibrador de carga.
      • HttpsListener (AWS::ElasticLoadBalancingV2::Listener): el oyente para el equilibrador de carga.
    • Nlb stack:
      • ExternalLoadBalancer (AWS::ElasticLoadBalancingV2::LoadBalancer): equilibrador de carga de red utilizado para distribuir el tráfico de Automation Suite. Puede ser interno o estar orientado a Internet.
      • TcpTargetGroup (AWS::ElasticLoadBalancingV2::TargetGroup): el grupo de destino del equilibrador de carga.
      • TcpListener (AWS::ElasticLoadBalancingV2::Listener): el oyente para el equilibrador de carga.
    • KubeLoadBalancer (AWS::ElasticLoadBalancingV2::LoadBalancer): equilibrador de carga de red privada utilizado para el registro de nodos.
    • KubeApiTcpTargetGroup (AWS::ElasticLoadBalancingV2::TargetGroup): el grupo de destino para el tráfico de registro de nodo de KubeLoadBalancer.
    • KubeApiTcpListener (AWS::ElasticLoadBalancingV2::Listener): el agente de escucha para el tráfico de registro de nodos del KubeLoadBalancer.
    • Rke2RegistrationTcpTargetGroup (AWS::ElasticLoadBalancingV2::TargetGroup): el grupo de destino para el tráfico de registro de nodo de KubeLoadBalancer.
    • Rke2RegistrationTcpListener (AWS::ElasticLoadBalancingV2::Listener): el agente de escucha para el tráfico de registro de nodos del KubeLoadBalancer.
    • RootRecordSet (AWS::Route53::RecordSet): registro A de DNS para el FQDN.
    • SubdomainRecordSet (AWS::Route53::RecordSet): registro A de DNS para los subdominios del FQDN.
  • Pila de gestión:
    • LifecycleAutomationLogs (AWS::Logs::LogGroup): grupo de registros para registrar eventos de la automatización de SSM.
    • ClusterOperationsAutomationLogs : grupo de registros para registrar eventos relacionados con las operaciones del clúster.
    • OnDemandRestoreStateMachine (AWS::StepFunctions::StateMachine): función de paso utilizada para organizar el flujo de restauración.
    • Conjuntos de pasos de Documentos SSM (AWS::SSM::Document) utilizados para proporcionar una eliminación ordenada de nodos:
      • ServerRemoveInstanceDocument
      • AgentRemoveInstanceDocument
      • UpdateAMIDocument : actualiza el ID de AMI para los grupos de Auto Scaling.
      • RegisterAiCenter : registra AI Center en un Orchestrator externo proporcionado en el momento de la implementación.
      • OnDemandBackup : crea una instantánea manual del clúster de Automation Suite.
      • GetBackupList : recupera todas las instantáneas disponibles para el clúster de Automation Suite.
      • OnDemandRestoreDocument : restaura el clúster de Automation Suite a partir de una instantánea determinada.
    • Enlaces de ciclo de LYF con escalado automático (AWS::AutoScaling::LifecycleHook) que nos permiten ejecutar los documentos de SSM cuando una instancia EC2 recibe un evento de terminación de instancia:
      • ServerAsgLifeCycleHookTerminating
      • AgentAsgLifeCycleHookTerminating
      • AsRobotsAsgLifeCycleHookTerminating
    • Reglas de evento (AWS::Events::Rule) que desencadenan la ejecución de los documentos de SSM:
      • ServerTerminateEventRule
      • AgentTerminateEventRule
      • AsRobotsTerminateEventRule
    • Roles de IAM (AWS::IAM::Role) necesarios para ejecutar documentos de SSM y agregar registros al grupo de registros:
      • AutomationAssumeRole
      • EventsBridgeAssumeRole
      • StateMachinesAssumeRole
    • Pila de servidores:
    • ServerLaunchConfiguration (AWS::EC2::LaunchTemplate): configuración de la instancia EC2 para los nodos de servidor. Configuración de disco:
      • Disco del sistema operativo: sku gp3, capacidad 256 GiB
      • Disco de clúster: sku gp3, capacidad 300GiB
      • Disco etcd: sku io1, capacidad 32GiB
      • Disco de datos: sku gp3, capacidad 512GiB independientemente de los servicios seleccionados.
      • Disco Objectstore: sku gp3, capacidad 512 GiB
      • Disco opcional para el almacenamiento en caché de paquetes de Automation Suite Robots: sku gp3, capacidad 32GiB. El disco se implementa solo si el servicio Robots de Automation Suite está habilitado en una implementación de nodo único
    • AgentLaunchConfiguration (AWS::EC2::LaunchTemplate): configuración de instancias EC2 para los nodos agentes. Configuración del disco:
      • Disco del sistema operativo: sku gp3, capacidad 128GiB
      • Disco de clúster: sku gp3, capacidad 256 GiB
    • ASRobotsLaunchTemplate (AWS::EC2::LaunchTemplate): configuración de la instancia EC2 para los nodos de ASRobots. Configuración de disco:
      • Disco del sistema operativo: sku gp3, capacidad 128GiB
      • Disco de clúster: sku gp3, capacidad 256 GiB
      • Disco de almacenamiento en caché del paquete de UiPath Robot: sku gp3, capacidad 32 GiB
    • GpuEnabledNode (AWS::EC2::Instance): nodo de GPU opcional. Tiene la misma configuración de disco que un agente.
    • TaskMiningNode ( AWS::EC2::Instance ): nodo opcional de Task Mining. Se implementa solo si se selecciona el servicio Task Mining. Tiene la misma configuración de disco que un agente.
    • BastionHost (AWS::EC2::Instance): instancia EC2 opcional utilizada para SSH para agrupar nodos. Tiene el tipo de instancia t3.large y un disco gp3 de 200 GiB.
    • ServerAutoScalingGroup (AWS::AutoScaling::AutoScalingGroup): grupo de escalado automático para los servidores.
    • AgentAutoScalingGroup (AWS::AutoScaling::AutoScalingGroup): grupo de escalado automático para los agentes.
    • ASRobotsAutoScalingGroup : grupo de autoescalado para nodos de UiPath Robots dedicados. La capacidad de este grupo de escalado es 1 si la implementación es Multi Node y el servicio de Automation Suite Robots está habilitado, y 0 en caso contrario.
    • ServiceFabricIamRole (AWS::IAM::Role) opcional que tiene permisos para:
      • escribir registros
      • leer configuraciones de instancias EC2
      • descargar los recursos de AWS Quickstart
      • acceder al secreto de configuración de instalación de Automation Suite
      • acceder al secreto de configuración kubeconfig del clúster
    • ServiceFabricSecurityGroup (AWS::EC2::SecurityGroup): grupo de seguridad que permite el acceso a las aplicaciones de UiPath®.
    • BastionSecurityGroup (AWS::EC2::SecurityGroup): grupo de seguridad opcional que permite acceso SSH a Bastion
    • AsgProcessModifierFunction (AWS::Lambda::Function): se utiliza para modificar los procesos de ASG durante la creación de la pila de CF.
    • AsgProcessModificationRole (AWS::IAM::Role): rol de IAM para proporcionar permisos mínimos para AsgProcessModifierFunction
    • Parámetros de SSM (AWS::SSM::Parameter):
      • InstanceAMIIdSSMParameter : almacena el ID de AMI de los nodos.
      • InstanceAMIImageNameSSMParameter : contiene el nombre de la imagen utilizado en el momento de la implementación o actualizado mediante UpdateAMIDocument.
    • Enlaces de ciclo de LYF con escalado automático (AWS::AutoScaling::LifecycleHook) que nos permiten pasar las instancias EC2 al estado En servicio después de que el instalador se haya realizado correctamente:
      • ServerAsgLifeCycleHookLaunching
      • AgentAsgLifeCycleHookLaunching
      • ASRobotsAsgLifeCycleHookLaunching

Deployment and instance type mapping

La plantilla calcula dinámicamente el hardware necesario para la implementación de la siguiente manera:

  • Dependiendo de los servicios instalados, establece requisitos mínimos a nivel de clúster.
  • Dependiendo del perfil de implementación (perfil de nodo único o multinodo), establece requisitos mínimos para una sola VM.
  • Selecciona los tipos de instancias según su disponibilidad en la región que implementas y los requisitos mencionados anteriormente.

La siguiente tabla muestra las asignaciones entre la implementación y los posibles tipos de instancia:

Tipo de implementación

Tipos de instancia

Selección de servicios de nodo único que necesita menos de 16 CPU

c5.4xlarge, c5a.4xlarge, m5.4xlarge, m5a.4xlarge

Selección de servicios de nodo único que necesita más de 16 CPU

c5a.8xlarge, c5.9xlarge, m5.8xlarge

Multinodo, selección de servicios que necesita menos de 48 CPU

c5.4xlarge, c5a.4xlarge, m5.4xlarge, m4.4xlarge

Selección de servicios multinodo que necesita más de 48 CPU

c5a.8xlarge, c5.9xlarge, m5.8xlarge, m5a.8xlarge
  • Diagrama de arquitectura
  • Complete component list
  • Puntos de entrada
  • Nested stacks
  • Deployment and instance type mapping

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.