Skip to main content
一些企业客户需要 Devin 通过私有网络连接到其内部系统,例如 GitHub Enterprise Server、GitLab、Bitbucket Data Center、Artifactory、Nexus 或其他开发基础设施。 Devin Dedicated SaaS 通过 AWS PrivateLink 实现这一能力。这种模式会将所有流量限定在 AWS 主干网上,避免暴露在公共互联网中。

概览

PrivateLink 为你的 Devin Dedicated SaaS VPC 与内部端点之间提供私有 IP 连接。要启用此功能,你的团队需要在每个 Devin 需要访问的内部系统前配置一个 AWS VPC Endpoint Service 作为入口。随后,Cognition 会创建使用该服务的 Interface VPC Endpoint。 PrivateLink 是按域名配置的。如果 Devin 需要访问多个域名,你需要为每个域名各配置一个 Endpoint Service 和一个 Interface Endpoint。

要求

您需要提供:
  • 您的 AWS 账号中用于暴露每个内部服务(GitLab、Artifactory 等)的 Network Load Balancer (NLB)
  • 使用该 NLB 作为目标的 VPC Endpoint Service(终端节点服务)
  • 每个 Endpoint Service 的服务名称
  • 包含 Cognition AWS 账号的允许主体(principal)权限配置
  • 每个服务所支持/开放端口的确认信息
  • Devin 需要进行私有解析的域名的 DNS 信息
Cognition 将提供:
  • 需要添加为允许主体的 AWS 账号 ID
  • Interface Endpoints 的目标 VPC 和子网信息
  • 在建立连通性后由 Devin 侧进行的 DNS 配置
如果您的内部服务运行所在的区域与 Cognition 专属 SaaS 租户不同,仍然可以使用 PrivateLink。只要服务所有者启用相关功能,AWS 就支持跨区域使用终端节点。

客户端步骤

  1. 创建或复用 Network Load Balancer NLB 应该指向 Devin 需要访问的内部系统,并且必须支持所有所需端口。
  2. 从 NLB 创建一个 VPC Endpoint Service 这会使该服务可以通过 PrivateLink 进行访问。
  3. 启用跨区域(Region)支持 在 AWS 控制台中:
    VPC Console → Endpoint Services → Select service → Actions → Modify supported Regions
    
    添加部署你 Cognition 租户的区域(Region)。 CLI 示例:
    aws ec2 modify-vpc-endpoint-service-configuration \
        --service-id vpce-svc-0abc123 \
        --add-supported-regions us-east-1  # Your Cognition tenant region
    
  4. 将 Cognition 的 AWS 账户添加为允许的主体(principal)
    aws ec2 modify-vpc-endpoint-service-permissions \
        --service-id vpce-svc-0abc123 \
        --add-allowed-principals arn:aws:iam::<COGNITION_ACCOUNT_ID>:root
    
  5. 向 Cognition 提供以下信息
    • Endpoint Service 名称
      示例:com.amazonaws.vpce.us-west-2.vpce-svc-0abc123
    • 服务监听的端口
    • 应通过 PrivateLink 解析的域名

接下来会发生什么

在你提供上述信息后,Cognition 将:
  1. 在你专属的租户 VPC 中,使用你提供的服务名称,创建 Interface VPC 终端节点(Interface VPC Endpoints)
  2. 发送连接请求,你需要对其进行批准(可以手动批准,或在已配置的情况下通过自动接受)。
  3. 配置 DNS,使你指定的域名在 Devin 环境内进行私有解析。

架构图

PrivateLink 架构

从 Cognition 到客户内部服务的跨区域 PrivateLink 连通性

关键注意事项

主题指导说明
必要的配置每个域一个 Endpoint Service,每个域一个 Interface Endpoint
跨区域支持必须在 Endpoint Service 上显式启用
允许的主体客户必须将 Cognition 的 AWS 账户 ID 添加为允许的主体
DNS客户域名将在 Cognition 侧解析到私有的 Interface Endpoint IP
端口NLB 监听器必须与 Devin 用于访问各服务的端口保持一致
可用性NLB 及其后端目标应配置在多个可用区
延迟由于流量保持在 AWS 主干网上,跨区域延迟可能会略有增加

需要提供给 Cognition 的信息

当你的环境配置完成后,请向 Cognition 提供:
  • 每个内部域名对应的 AWS Endpoint Service 名称
  • (如适用)已启用跨区域支持的确认
  • Allowed principal 配置已完成的确认
  • NLB 暴露的端口
  • 需要通过 PrivateLink 路由的域名列表
随后,Cognition 会创建 Interface Endpoints、配置 DNS,并确认连通性。