自带云 (BYOC)¶
注意
架构¶
分离控制平面(由我们托管)和数据平面(由您托管,由我们管理)。
控制平面 | 数据平面 | |
---|---|---|
功能 | 管理部署、修订。 | 运行您的 LangGraph 图,存储您的数据。 |
托管位置 | LangChain 云账户 | 您的云账户 |
谁配置和监控 | LangChain | LangChain |
LangChain 无法直接访问您云账户中创建的资源,只能通过 AWS API 与之交互。您的数据在静态或传输过程中永远不会离开您的云账户/VPC。
要求¶
- 您已在使用 AWS。
- 您使用
langgraph-cli
和/或 LangGraph Studio 应用程序在本地测试图。 - 您使用
langgraph build
命令构建镜像,然后将其推送到您的 AWS ECR 仓库(docker push
)。
工作原理¶
- 我们为您提供一个 Terraform 模块,您可以通过运行它来设置我们的要求
- 创建一个 AWS 角色(我们的控制平面稍后将承担该角色来配置和监控资源)
- https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonVPCReadOnlyAccess.html
- 读取 VPCS 以查找子网
- https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonECS_FullAccess.html
- 用于为您的 LangGraph Cloud 实例创建/删除 ECS 资源
- https://docs.aws.amazon.com/aws-managed-policy/latest/reference/SecretsManagerReadWrite.html
- 为您的 ECS 资源创建密钥
- https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchReadOnlyAccess.html
- 读取 CloudWatch 指标/日志以监控您的实例/推送部署日志
- https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSFullAccess.html
- 为您的 LangGraph Cloud 实例配置
RDS
实例 - 或者,可以使用外部管理的 Postgres 实例来代替默认的
RDS
实例。LangChain 不监控或管理外部管理的 Postgres 实例。有关详细信息,请参阅POSTGRES_URI_CUSTOM
环境变量。
- 为您的 LangGraph Cloud 实例配置
- https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonVPCReadOnlyAccess.html
- 两者之一
- 将现有的 vpc/子网标记为
langgraph-cloud-enabled
- 创建新的 vpc 和子网,并将它们标记为
langgraph-cloud-enabled
- 将现有的 vpc/子网标记为
- 创建一个 AWS 角色(我们的控制平面稍后将承担该角色来配置和监控资源)
- 您在
smith.langchain.com
中创建一个 LangGraph Cloud 项目,并提供- 上面步骤中创建的 AWS 角色的 ID
- 从中拉取服务镜像的 AWS ECR 仓库
- 我们使用上述角色在您的云账户中配置资源
- 我们监控这些资源以确保正常运行时间和从错误中恢复
面向使用 自托管 LangSmith 的客户的注意事项
- 目前,新的 LangGraph Cloud 项目和修订的创建需要在
smith.langchain.com
上完成。 - 但是,如果需要,您可以将项目设置为跟踪到您的自托管 LangSmith 实例。有关详细信息,请参阅
LANGSMITH_RUNS_ENDPOINTS
环境变量。