跳转到内容

有时需要(也适合)从不允许外部访问的远程系统访问数据或运行流程,这在防火墙后的企业环境中很常见。PlaidCloud 通过 PlaidLink 实现这一能力,它可以在防火墙后,或不希望 PlaidCloud 直接访问的情况下访问远程系统。

PlaidLink 采用基于代理的体系。也就是说,代理(远程用户)安装在防火墙内或其他受限区域内的系统上。代理随后通过安全的 HTTPS WebSocket 连接,以出站方式发起与 PlaidCloud 的连接。它与其他加密的 Web 连接一样安全,通常无需开放非标准端口。获得访问权限之前,代理必须发送其代理标识符来表明身份。如果代理成功通过认证,就会被授予已批准操作的访问权限。

PlaidLink 可安装在 Windows、Unix 和 Linux 系统上,并可在低权限用户下运行。在 Windows 系统上,PlaidLink 可作为 Windows 服务运行,并可通过“服务”面板完全控制。在 Linux 或 Unix 系统上,它可以作为守护进程运行。

PlaidLink 还可以作为独立的 Docker 容器或 Kubernetes Pod 运行。

管理代理的方法:

  1. 打开 Analyze
  2. 选择“Tools”
  3. 点击“PlaidLink 代理”

这会打开 PlaidLink 代理表,您可以在其中查看、修改可用代理列表,并获取其凭据。

创建代理的方法:

  1. 打开 Analyze
  2. 选择“Tools”
  3. 点击“PlaidLink 代理”
  4. 点击“Add PlaidLink Agent”
  5. 填写必填字段
  6. 点击“Create”
  7. 将代理分配到其访问所需资源所必需的安全组
  8. 将代理分配到其访问所需文档所必需的文档账户

要在远程系统上配置 PlaidLink 代理,必须先获取代理的标识信息以确保安全。这些信息包括公钥和私钥。

获取这些密钥的方法:

  1. 打开 Analyze
  2. 选择“Tools”
  3. 点击“PlaidLink 代理”
  4. 点击编辑图标

这将打开一个表单,您可以在其中查看公钥和私钥的值。

为了保持安全,建议定期重新生成公钥和私钥,并更新远程系统的配置。

重新生成凭据的方法:

  1. 打开 Analyze
  2. 选择“Tools”
  3. 点击“PlaidLink 代理”
  4. 点击重新生成图标

凭据重新生成后,可按获取新代理凭据的方式(如上所述)获取。

禁用代理的方法:

  1. 打开 Analyze
  2. 选择“Tools”
  3. 点击“PlaidLink 代理”
  4. 取消勾选“Active”复选框

一个连接可以为每个环境保存不同的配置,因此切换项目的环境会同时重新指向它所使用的所有连接。代理也可以随之切换。

每个代理带有两项设置:

  • Agent Group:可互相替代的代理共用的名称。同一组中的代理是同一项工作的备选项,每个环境一个。
  • 环境:此代理服务于哪个连接环境。

步骤仍然指定一个特定的代理。工作流运行时,PlaidCloud 会查看该代理所属的组,并选择服务于项目当前环境的成员。因此,从默认环境移到 QA 的项目会在 QA 机器上运行其远程步骤,而无需编辑任何步骤。

对于名为 Finance 的组,其中一个代理服务于 Default,另一个服务于 QA,无论步骤指定的是哪一个,都会在与项目匹配的那个上运行;即使步骤指定的是 QA 代理,切换回 Default 的项目也会在 Default 代理上运行。

将代理分配到环境的方法:

  1. 打开 Analyze
  2. 选择“Tools”
  3. 点击“PlaidLink 代理”
  4. 打开该代理
  5. 将“Agent Group”设置为与该代理的备选项共用的名称,并将“环境”设置为此代理所服务的环境
  6. 在运行该代理的机器上,于 PlaidLink 配置文件中设置匹配的环境名称,参见下文的匹配代理机器

将代理移出组会缩小该组的覆盖范围,其影响与添加代理同样重大。清除原先服务默认环境的代理上的 Group,会使在该环境中运行的项目无处可解析,并在下次运行时失败。在移除组中的某个成员之前,请先将其环境转移给该组中的另一个成员。每次改变组覆盖范围的保存,都会向您报告新的覆盖情况。

环境与连接共用,因此这里提供的环境名称与您配置连接时使用的环境名称相同。参见创建和管理连接。

此处设置的环境必须与该机器上 PlaidLink 服务所配置的环境一致。PlaidLink 会订阅其配置文件中所指定环境对应的一个确切队列,因此,如果某个代理的记录显示为 QA,而其机器仍配置为默认环境,它监听的队列就与工作发送的队列不同。步骤会等待,然后失败,并报告代理没有接收作业。

请在 PlaidLink 配置文件的 environments 块中,于该代理对应的条目里进行设置:

environments:
- name: QA
agent_id: <agent identifier>

name 是 PlaidCloud 中显示的环境名称。如果省略,代理将服务于默认环境。更改后请重启 PlaidLink 服务。

PlaidLink 的设计允许使用单个服务安装来运行多个代理。这种精简的安装方式允许一次安装处理来自多个工作区的代理,和/或具有不同任务执行权限级别的代理。

要启用多个代理,只需将代理凭据添加到 PlaidLink 配置文件中。

与在一个 PlaidLink 服务中运行多个代理类似,也可以运行多个 PlaidLink 服务。

根据基于系统的安全措施或阻止跨网络边界通信的网络访问限制,有时必须这样做。

PlaidLink 服务极为轻量,运行只需极少的计算资源和内存。处理大量数据时,可能需要增加计算资源,尤其是内存。

通常情况下,代理使用 5% 的 CPU 和 200MB 内存即可顺畅运行。对于高强度的数据操作,建议分配一个完整的 CPU 和至少 4GB 内存。对于 Kubernetes 等动态资源分配系统,代理可以使用可突发资源,而不必使用预留资源。

代理所需的磁盘空间同样很小。代理在传输大量数据时会将磁盘空间用作数据缓冲区。通常,8GB 空间足以应对正常操作。对于高强度的数据操作,建议根据预期的数据量扩大磁盘。由于取决于 CPU 速度、网络速度、数据量等多种因素,没有固定的数值。不过,可以从 20GB 开始,再根据情况调整。

PlaidLink 代理旨在只需极少的配置即可运行。除允许标准 HTTPS 网络流量外,它不需要任何特殊的 VPN 或网络配置。代理使用与普通基于 Web 浏览器的流量相同的协议进行通信。

代理服务始终主动发起与 PlaidCloud 的通信,因此无需在防火墙中配置入站访问。