自带云(BYOC)¶
Note
架构¶
分离控制平面(由我们托管)和数据平面(由您托管,由我们管理)。
控制平面 | 数据平面 | |
---|---|---|
功能 | 管理部署和版本。 | 运行您的 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
- 读取 VPC 以查找子网
- 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
环境变量 的详细信息,请参阅相关文档。