automation-suite
2023.10
false
UiPath logo, featuring letters U and I in white
Linux 版 Automation Suite 安装指南
Last updated 2024年12月3日

AWS 部署架构

架构图



完整的组件列表

入口点

  • 主堆栈 – 主体入口点:
    • 网络堆栈
    • Uipath-sf 堆栈
  • Uipath-sf 堆栈

嵌套堆栈

  • Uipath-sf

    • SSL 堆栈
    • 路由堆栈
    • 服务器堆栈
    • 数据库堆栈
    • 备份堆栈
    • 管理堆栈
    • Lambda 函数 (AWS::Lambda::Function):
      • FindAMIFunction – 用于查找匹配的 AMI ID。
      • CreateInputJsonFunction – 用于创建 Automation Suite 安装程序使用的配置。
      • ComputeResourceSizeFunction – 用于根据所选服务和部署类型计算所需的最低 EC2 实例硬件配置。
    • Lambda 函数用于提供最低权限的 IAM 角色 (AWS::IAM::Role):
      • FindAmiLambdaRole
      • CreateInputJsonLambdaRole
      • ComputeResourceSizeLambdaRole
    • 用于存储敏感信息的密码 (AWS::SecretsManager::Secret):
      • RDSPassword
      • OrgSecret
      • PlatformSecret
      • ArgoCD 密码
      • ArgoCdUserSecret
      • InputJsonSecret
      • KubeconfigSecret
    • SSL 堆栈(可选)
  • 网络堆栈(可选)
  • 备份堆栈 (可选):

    • ClusterBackupStorage (AWS::EFS::FileSystem) – 用于存储备份的 Amazon Elastic 文件系统。
    • SharedStorageSecurityGroup (AWS::EC2::SecurityGroup) – 用于允许来自集群节点的 NFS 网络连接的安全组。
    • SharedStorageMountTargetOne (AWS::EFS::MountTarget) – 为 EFS 文件系统和第一个私有子网创建装载目标的资源。
    • SharedStorageMountTargetTwo (AWS::EFS::MountTarget) – 为 EFS 文件系统和第二个私有子网创建装载目标的资源。
    • SharedStorageMountTargetThree (AWS::EFS::MountTarget) – 为 EFS 文件系统和第三个私有子网创建装载目标的可选资源。
  • 数据库堆栈
    • RDSDBInstance (AWS::RDS::DBInstance) – Amazon RDS 数据库实例。数据库 SKU 为 db.m5.2xlarge
    • DBSubnetGroup (AWS::RDS::DBSubnetGroup) – 包含私有子网的私有子网组。
    • DbSecurityGroup (AWS::EC2::SecurityGroup) – 允许访问数据库实例的安全组。
    • PMRDSDBInstance (AWS::RDS::DBInstance) – Process Mining 专用 Amazon RDS 数据库实例。仅在启用 Process Mining 且部署为 Multi Node 时部署。数据库 SKU 为 db.m5.4xlarge
  • 路由堆栈注意:Alb 和 Nlb 堆栈是互斥配置
    • Alb 堆栈:
      • ExternalLoadBalancer (AWS::ElasticLoadBalancingV2::LoadBalancer) – 用于分发 Automation Suite 流量的应用程序负载均衡器。它可以是内部的,也可以是面向互联网的。
      • ELBSecurityGroup (AWS::EC2::SecurityGroup) – 应用于负载均衡器的安全组。
      • HttpsTargetGroup (AWS::ElasticLoadBalancingV2::TargetGroup) – 负载均衡器的目标组。
      • HttpsListener (AWS::ElasticLoadBalancingV2::Listener) – 负载均衡器的侦听器。
    • Nlb 堆栈:
      • ExternalLoadBalancer (AWS::ElasticLoadBalancingV2::LoadBalancer) – 用于分发 Automation Suite 流量的网络负载均衡器。它可以是内部的,也可以是面向互联网的。
      • TcpTargetGroup (AWS::ElasticLoadBalancingV2::TargetGroup) – 负载均衡器的目标组。
      • TcpListener (AWS::ElasticLoadBalancingV2::Listener) – 负载均衡器的侦听器。
    • KubeLoadBalancer (AWS::ElasticLoadBalancingV2::LoadBalancer) – 用于节点注册的专用网络负载均衡器。
    • KubeApiTcpTargetGroup (AWS::ElasticLoadBalancingV2::TargetGroup) – KubeLoadBalancer 的节点注册流量的目标组。
    • KubeApiTcpListener (AWS::ElasticLoadBalancingV2::Listener) – KubeLoadBalancer 的节点注册流量的侦听器。
    • Rke2RegistrationTcpTargetGroup (AWS::ElasticLoadBalancingV2::TargetGroup) – KubeLoadBalancer 的节点注册流量的目标组。
    • Rke2RegistrationTcpListener (AWS::ElasticLoadBalancingV2::Listener) – KubeLoadBalancer 的节点注册流量的侦听器。
    • RootRecordSet (AWS::Route53::RecordSet) – FQDN 的 DNS A 记录。
    • SubdomainRecordSet (AWS::Route53::RecordSet) – FQDN 的子域的 DNS A 记录。
  • 管理堆栈
    • LifecycleAutomationLogs (AWS::Logs::LogGroup) – 用于记录来自 SSM 自动化的事件的日志组。
    • ClusterOperationsAutomationLogs – 用于记录与集群操作相关的事件的日志组。
    • OnDemandRestoreStateMachine (AWS::StepFunctions::StateMachine) – 用于编排还原流程的步骤函数。
    • 用于提供正常节点删除的 SSM 文档 (AWS::SSM::Document) 步骤集:
      • ServerRemoveInstanceDocument
      • AgentRemoveInstanceDocument
      • UpdateAMIDocument – 更新自动调整组的 AMI ID。
      • RegisterAiCenter – 将 AI Center 注册到部署时提供的外部 Orchestrator。
      • OnDemandBackup – 创建 Automation Suite 集群的手动快照。
      • GetBackupList – 检索 Automation Suite 集群的所有可用快照。
      • OnDemandRestoreDocument – 从给定快照还原 Automation Suite 集群。
    • Autoscaling Lyfecycle 挂钩 (AWS::AutoScaling::LifecycleHook) 允许我们在 EC2 实例收到实例终止事件时运行 SSM 文档:
      • ServerAsgLifeCycleHookTerminating
      • AgentAsgLifeCycleHookTerminating
      • AsRobotsAsgLifeCycleHookTerminating
    • 触发 SSM 文档执行的事件规则 (AWS::Events::Rule):
      • ServerTerminateEventRule
      • AgentTerminateEventRule
      • AsRobotsTerminateEventRule
    • 运行 SSM 文档并将日志添加到日志组所需的 IAM 角色 (AWS::IAM::Role):
      • AutomationAssumeRole
      • EventsBridgeAssumeRole
      • StateMachinesAssumeRole
      注意:AutomationAssumeRoleStateMachinesAssumeRole 允许对 Amazon SSN 进行完全访问。有关更多信息,请参阅 AmazonSSMFullAccess
    • 服务器堆栈
    • ServerLaunchConfiguration (AWS::EC2::LaunchTemplate) – 服务器节点的 EC2 实例配置。磁盘配置:
      • 操作系统磁盘 – sku gp3,容量 256GiB
      • 集群磁盘 – sku gp3,容量 300GiB
      • etcd 磁盘 – sku io1,容量 32GiB
      • 数据磁盘 – sku gp3,容量为 512GiB,无论所选服务如何。
      • 对象存储磁盘 – sku gp3,容量 512GiB
      • Automation Suite Robot 包缓存的可选磁盘 - sku gp3,容量 32GiB。仅当在单节点部署中启用了 Automation Suite Robot 服务时,才会部署磁盘
    • AgentLaunchConfiguration (AWS::EC2::LaunchTemplate) – 代理节点的 EC2 实例配置。磁盘配置:
      • 操作系统磁盘 – sku gp3,容量 128GiB
      • 集群磁盘 – sku gp3,容量 256GiB
    • ASRobotsLaunchTemplate (AWS::EC2::LaunchTemplate) – ASRobots 节点的 EC2 实例配置。磁盘配置:
      • 操作系统磁盘 – sku gp3,容量 128GiB
      • 集群磁盘 – sku gp3,容量 256GiB
      • 机器人包缓存磁盘 - sku gp3,容量 32GiB
    • GpuEnabledNode (AWS::EC2::Instance) – 可选 GPU 节点。它具有与代理相同的磁盘配置。
    • TaskMiningNode (AWS::EC2::Instance) - 可选 Task Mining 节点。仅在选择 Task Mining 服务时部署。它具有与代理相同的磁盘配置。
    • BastionHost (AWS::EC2::Instance) – 可选 EC2 实例,用于通过 SSH 连接到集群节点。它具有 t3.large 实例类型和 200GiB 的 gp3 磁盘。
    • ServerAutoScalingGroup (AWS::AutoScaling::AutoScalingGroup) – 服务器的自动调整组。
    • AgentAutoScalingGroup (AWS::AutoScaling::AutoScalingGroup) – 代理的自动调整组。
    • ASRobotsAutoScalingGroup – 专用 Automation Suite Robot 节点的自动调整组。如果部署为 Multi Node 并且已启用 Automation Suite Robot 服务,则此调整组的容量为 1,否则为 0。
    • 可选 ServiceFabricIamRole (AWS::IAM::Role),它有权执行以下操作:
      • 写入日志
      • 读取 EC2 实例配置
      • 下载 AWS 快速入门资源
      • 访问 Automation Suite 安装配置密码
      • 访问集群 kubeconfig 配置密码
    • ServiceFabricSecurityGroup (AWS::EC2::SecurityGroup) – 允许访问 UiPath™ 应用程序的安全组。
    • BastionSecurityGroup (AWS::EC2::SecurityGroup) – 允许通过 SSH 访问堡垒的可选安全组
    • AsgProcessModifierFunction (AWS::Lambda::Function) – 用于在创建 CF 堆栈期间修改 ASG 流程。
    • AsgProcessModificationRole (AWS::IAM::Role) – 为 AsgProcessModifierFunction 提供最低权限的 IAM 角色
    • SSM 参数 (AWS::SSM::Parameter):
      • InstanceAMIIdSSMParameter – 存储节点的 AMI ID。
      • InstanceAMIImageNameSSMParameter – 保存部署时使用或通过 UpdateAMIDocument 更新的映像名称。
    • Autoscaling Lyfecycle 挂钩 (AWS::AutoScaling::LifecycleHook),使我们能够在安装程序成功后将 EC2 实例转换为 InService 状态:
      • ServerAsgLifeCycleHookLaunching
      • AgentAsgLifeCycleHookLaunching
      • ASRobotsAsgLifeCycleHookLaunching

部署和实例类型映射

该模板会动态计算部署所需的硬件,如下所示:

  • 根据安装的服务,它会在集群级别设置最低要求。
  • 根据部署配置文件(多节点或单节点配置文件),它设置单个虚拟机的最低要求。
  • 根据实例在您部署区域中的可用性和上述要求选择实例类型。

下表显示了部署和可能的实例类型之间的映射关系:

部署类型

实例类型

需要少于 16 个 CPU 的单节点服务选择

c5.4xlargec5a.4xlargem5.4xlargem5a.4xlarge

需要超过 16 个 CPU 的单节点服务选择

c5a.8xlargec5.9xlargem5.8xlarge

需要少于 48 个 CPU 的多节点服务选择

c5.4xlargec5a.4xlargem5.4xlargem4.4xlarge

需要超过 48 个 CPU 的多节点服务选择

c5a.8xlargec5.9xlargem5.8xlargem5a.8xlarge
  • 架构图
  • 完整的组件列表
  • 入口点
  • 嵌套堆栈
  • 部署和实例类型映射

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。