Cloud Run 中的代码执行

使用 Cloud Run 托管 AI 智能体的一个主要优势是,它可以使用安全执行环境隔离代码。通过在 Cloud Run 中构建代码沙盒工具并在容器中运行该工具,您可以使用所选的任何编程语言执行应用代码。

安全的双层沙盒

Cloud Run 使用双层沙盒隔离所有实例,该沙盒由等效于各个虚拟机的硬件支持层(x86 虚拟化)和软件内核层组成。如需了解详情,请参阅安全设计概览

部署代码时,Cloud Run 会将代码限制在沙盒环境中。这种隔离机制可让您以更高的安全性运行不受信任的代码,例如由大语言模型 (LLM) 生成的代码。执行不受信任的代码时,请限制 Cloud Run 服务的 IAM 权限,并使用 VPC 防火墙规则来防止代码调用互联网。

代码执行模式

Cloud Run 提供以下代码执行模式:

  • 异步执行:为避免中断主应用流程,请使用 Cloud Run 作业异步执行长时间运行的任务或后台任务。例如,执行 Cloud Run 作业,将代码上传到 Cloud Storage,安装所需的依赖项,然后处理结果并将其存储回 Cloud Storage。

  • 同步执行:对于需要立即响应的进程,请使用 Cloud Run 服务。Cloud Run 服务的超时时间上限为一小时,这为代码运行提供了充足的时间。如需限制实例一次处理一个请求,请将并发值设置为 1。您还可以检索要执行的代码(作为请求正文的一部分),在响应中返回结果,然后终止容器实例。

    下图显示了两种代码执行模式:

    对于异步执行,代码会上传到 Cloud Storage,并作为 Cloud Run 作业执行。作业会将执行结果发送到 Cloud Storage 进行存储。对于同步执行,代理会向 Cloud Run 服务发送请求,请求正文中包含代码。该服务的超时时间为 1 小时,并发数为 1。Cloud Run 服务会处理代码并将其发送到服务实例,然后服务实例会将响应返回给代理。
    图 1. Cloud Run 中的代码执行模式

后续步骤