概览
要求
- 您的 AWS 账号中用于暴露每个内部服务(GitLab、Artifactory 等)的 Network Load Balancer (NLB)
- 使用该 NLB 作为目标的 VPC Endpoint Service(终端节点服务)
- 每个 Endpoint Service 的服务名称
- 包含 Cognition AWS 账号的允许主体(principal)权限配置
- 每个服务所支持/开放端口的确认信息
- Devin 需要进行私有解析的域名的 DNS 信息
- 需要添加为允许主体的 AWS 账号 ID
- Interface Endpoints 的目标 VPC 和子网信息
- 在建立连通性后由 Devin 侧进行的 DNS 配置
跨区域 PrivateLink(如果您的服务位于其他区域)
客户端步骤
- 创建或复用 Network Load Balancer NLB 应该指向 Devin 需要访问的内部系统,并且必须支持所有所需端口。
- 从 NLB 创建一个 VPC Endpoint Service 这会使该服务可以通过 PrivateLink 进行访问。
-
启用跨区域(Region)支持
在 AWS 控制台中:
添加部署你 Cognition 租户的区域(Region)。 CLI 示例:
-
将 Cognition 的 AWS 账户添加为允许的主体(principal)
-
向 Cognition 提供以下信息
- Endpoint Service 名称
示例:com.amazonaws.vpce.us-west-2.vpce-svc-0abc123 - 服务监听的端口
- 应通过 PrivateLink 解析的域名
- Endpoint Service 名称
接下来会发生什么
- 在你专属的租户 VPC 中,使用你提供的服务名称,创建 Interface VPC 终端节点(Interface VPC Endpoints)。
- 发送连接请求,你需要对其进行批准(可以手动批准,或在已配置的情况下通过自动接受)。
- 配置 DNS,使你指定的域名在 Devin 环境内进行私有解析。
架构图
从 Cognition 到客户内部服务的跨区域 PrivateLink 连通性
关键注意事项
| 主题 | 指导说明 |
|---|---|
| 必要的配置 | 每个域一个 Endpoint Service,每个域一个 Interface Endpoint |
| 跨区域支持 | 必须在 Endpoint Service 上显式启用 |
| 允许的主体 | 客户必须将 Cognition 的 AWS 账户 ID 添加为允许的主体 |
| DNS | 客户域名将在 Cognition 侧解析到私有的 Interface Endpoint IP |
| 端口 | NLB 监听器必须与 Devin 用于访问各服务的端口保持一致 |
| 可用性 | NLB 及其后端目标应配置在多个可用区 |
| 延迟 | 由于流量保持在 AWS 主干网上,跨区域延迟可能会略有增加 |
需要提供给 Cognition 的信息
- 每个内部域名对应的 AWS Endpoint Service 名称
- (如适用)已启用跨区域支持的确认
- Allowed principal 配置已完成的确认
- NLB 暴露的端口
- 需要通过 PrivateLink 路由的域名列表
