Skip to content
LangSmith 文档版本 跟随上游 源快照 321798a5 更新于 2026-10-18

在 AWS 上自带 VPC

为 LangSmith BYOC 创建客户管理的 VPC,配置降权限的 IAM 角色,并提供你的 VPC 和子网 ID。

自带 VPC(BYOVPC)将 LangSmith BYOC 数据平面部署到你创建和管理的现有 VPC 中。它让你控制网络配置,而由 LangChain 预置和运维 EKS 集群、数据库、存储和其他工作负载资源。对于由 LangChain 预置的 VPC,请遵循标准的 BYOC 入门指南。

你拥有:

  • VPC
  • 子网
  • 路由
  • 网关
  • VPC 终端节点
  • 流日志
  • 出站控制。

LangChain 保留管理工作负载安全组、用于访问你数据平面 EKS API 的 PrivateLink 终端节点服务,以及 VPC 内其他 LangSmith 基础设施(如数据库)所需的权限。

开始之前

完成 BYOC 先决条件并在你的组织上启用 BYOC。创建 VPC:

  • 在与跨账户 IAM 角色相同的 AWS 账户中,并且
  • 在你计划部署数据平面的区域中。

满足网络要求

当你提供 VPC(包括使用参考模块创建的 VPC)时,LangSmith 会检查以下要求。

配置 VPC 和子网

  • 归属和区域:VPC 及每个提供的子网都必须属于包含该 IAM 角色的 AWS 账户,位于所请求的区域中,并处于 available 状态。
  • VPC 配置:使用默认实例租户和从 /16 到 /18 的主 RFC 1918 IPv4 CIDR。同时启用 DNS 支持和 DNS 主机名。
  • 可用区:在每个(两到三个)标准区域可用区中,恰好提供一个应用子网和一个数据库子网。如果你提供公有子网,请在同一批可用区中各提供一个。
  • 子网范围:每个子网都必须有一个位于 VPC 主 CIDR 范围内的私有 IPv4 CIDR。提供的子网 CIDR 不得重叠。
  • 子网 ID 和标签:每个子网 ID 必须在所有层级中唯一。
子网层级最小子网大小每个子网的最小可用 IPv4 地址数
私有应用/20 或更大256
私有数据库/26 或更大16
公有,提供时/26 或更大16

更大的子网具有更小的前缀长度。子网大小和可用地址数都必须满足要求。

配置路由

VPC 必须有一个主路由表。验证会使用每个子网的显式路由表关联,如果没有显式关联,则使用主路由表。

  • 私有应用子网:每个子网都必须有一条通向客户管理出站流量(例如 NAT 网关或中转网关)的活动 IPv4 默认路由(0.0.0.0/0)。直接通向互联网网关的路由不满足此要求。
  • 公有子网:每个提供的公有子网都必须有一条通向连接到该 VPC 的互联网网关的活动 IPv4 默认路由。
  • 数据库子网:参考模块保持这些子网隔离,没有默认出站路由。

配置网络 ACL

每个提供的子网都必须有一个允许以下流量的关联网络 ACL。验证会按优先级顺序评估规则,包括拒绝规则。

子网层级方向协议与端口来源或目标
所有提供的子网入站和出站TCP 和 UDP,端口 1–65535VPC 主 CIDR
私有应用出站TCP 4430.0.0.0/0
私有应用入站TCP 1024–65535,用于返回流量0.0.0.0/0
公有入站TCP 4430.0.0.0/0
公有出站TCP 1024–65535,用于返回流量0.0.0.0/0

这些是网络 ACL 要求。工作负载安全组和你的出站控制也决定哪些连接能够成功。

使用 Terraform 创建 VPC

NOTE

使用 Terraform 模块是可选的。你可以使用自己的工具创建 VPC,并将该模块作为参考以满足网络要求。

byovpc Terraform 模块 会创建一个符合 LangSmith 数据平面要求的网络。用它创建 VPC,或配置现有 VPC 以满足网络要求。

创建 VPC:

  1. 为目标账户和受支持区域配置 AWS 服务商。
  2. 将该模块添加到你的 Terraform 配置中。选择一个不与你计划对等的网络重叠的私有 CIDR 范围。
  3. 初始化 Terraform,审核计划,并在你的账户中应用它。

以下配置使用该模块的默认子网布局,并启用 AWS 服务终端节点、控制平面 PrivateLink 和流日志:

hcl
provider "aws" {
  region = "us-west-2"
}

module "langsmith_byovpc" {
  source = "github.com/langchain-ai/terraform//modules/byoc/aws/byovpc?ref=main"

  name           = "langsmith-production"
  vpc_cidr_block = "10.0.0.0/16"

  enable_vpc_endpoints             = true
  enable_control_plane_privatelink = true
  enable_vpc_flow_logs             = true
}

output "langsmith_network_config" {
  value = module.langsmith_byovpc.langsmith_network_config
}

langsmith_network_config 输出包含创建数据平面时需要提供的 VPC ID 和子网 ID。

配置连接

VPC 模块允许你配置:

  • AWS 服务终端节点。
  • 控制平面 PrivateLink 和私有 DNS。
  • VPC 流日志。
  • 面向互联网的负载均衡器所用的公有子网。
  • NAT 和互联网网关,或客户管理的集中式出站。

有关配置选项和要求,请参阅 byovpc Terraform 模块。

创建降权限的 IAM 角色

langsmith-byoc-role Terraform 模块 会创建 LangChain 用于管理数据平面的跨账户角色。

创建该角色:

  1. 使用 Settings > Data Planes 中 Data Planes 标题旁的按钮复制外部 ID。将其作为 external_id 传入。该角色的信任策略必须在其 ExternalId 条件中使用此值。
  2. 设置 allow_vpc_creation_permissions = false,并在 vpc_ids 输入中提供 VPC ID。
  3. 如果你需要面向互联网的负载均衡器,设置 allow_public_ingress = true。否则,保持禁用。
  4. 审核并应用角色模块,然后保留其 crossplane_role_arn 输出以供创建数据平面时使用。

禁用 VPC 创建权限后,该角色无法创建或管理基础 VPC、子网、互联网和 NAT 网关、弹性 IP、路由表和路由、客户侧 VPC 终端节点或 VPC 流日志。它保留工作负载网络权限,包括带标签的安全组、VPC 终端节点服务,以及 Karpenter 所需的权限。安全组的创建仅限于 vpc_ids 中的 VPC ID。

提供 VPC 和子网 ID

创建数据平面时,请提供来自入门指南的名称、AWS 区域和 IAM 角色 ARN,以及以下网络值:

值Terraform 模块输出数据平面创建字段
VPC IDvpc_idbyovpc_id
私有应用子网 IDprivate_app_subnet_idsbyovpc_private_app_subnet_ids
私有数据库子网 IDprivate_db_subnet_idsbyovpc_private_db_subnet_ids
公有子网 ID,公有负载均衡器需要public_subnet_idsbyovpc_public_subnet_ids

LangSmith 会在预置前验证网络。修正任何报告的网络或 IAM 权限错误,然后重新提交请求。验证会检查 AWS 配置;你仍需负责打通任何自定义路由、DNS、终端节点策略和出站过滤器中的连接。

创建完成后,继续预置和私有连接(第 4 步)。

维护网络

在数据平面的整个生命周期内保持客户管理的网络可用。路由、网关、终端节点、DNS、网络 ACL 和流日志的变更由你管理。

VPC、可用区和私有子网配置在创建后无法更改。你无法在 LangChain 管理的 VPC 与 BYOVPC 之间转换数据平面。

删除数据平面会移除 LangChain 管理的资源。你的 VPC 和其他客户管理的网络资源仍由你控制,并在数据平面取消预置后需要单独清理。

另请参阅


BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。