O Cloud Run já é isolado e em sandbox, o que o torna ideal para hospedar agentes de IA. Quando você ativa os sandboxes do Cloud Run, a ferramenta de linha de comando sandbox fica disponível no contêiner. Use essa ferramenta de linha de comando para
executar código não confiável escrito em qualquer linguagem, em um ambiente de sandbox altamente otimizado e isolado do restante do contêiner.
Os agentes de IA podem usar sandboxes para executar subagentes com segurança, realizar tarefas computacionais ou abrir navegadores em um ambiente rápido e isolado sem arriscar o sistema host.
Os sandboxes do Cloud Run oferecem as seguintes vantagens principais:
Criação rápida: os sandboxes são interativos e estão prontos para executar comandos quase instantaneamente. Ao criar sandboxes em um recurso do Cloud Run em que o agente é executado, você reduz os tempos de criação em comparação com a criação de um novo recurso do Cloud Run para cada tarefa. Essa eficiência ajuda a garantir que o agente continue responsivo.
Segurança: as sandboxes isolam a execução de processos. Por padrão, os sandboxes não têm acesso à carga de trabalho principal, às variáveis de ambiente, aos secrets ou ao servidor de metadados Google Cloud . Todas as caixas de areia são completamente isoladas umas das outras.
Controle de acesso e ambiente: os processos são executados com privilégios
sudocomo um usuário não raiz, permitindo que você instale ferramentas usando gerenciadores de pacotes comoapt,pipounpmdurante a execução. Embora o ambiente de sandbox seja temporário e excluído após a conclusão, é possível usar diretórios permanentes ou snapshots para salvar espaços de trabalho específicos ou mapear dados para um bucket do Cloud Storage.
Antes de começar
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Instale e inicialize a CLI gcloud.
- Implante um serviço do Cloud Run no ambiente de execução de segunda geração.
Ativar sandboxes
Quando você ativa os sandboxes, o serviço do Cloud Run é implantado no ambiente de execução de segunda geração. Para ativar sandboxes em serviços do Cloud Run, use a Google Cloud CLI ou uma configuração YAML:
gcloud
Para implantar ou atualizar o serviço, especifique a flag --sandbox-launcher:
Para implantar um novo serviço, execute o seguinte comando:
gcloud beta run deploy SERVICE --image IMAGE_URL --sandbox-launcher
Substitua:
- SERVICE: o nome do seu serviço do Cloud Run.
- IMAGE_URL: uma referência à imagem de contêiner, por
exemplo,
us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL segue o formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
Para atualizar um serviço, execute o seguinte comando:
gcloud beta run services update SERVICE --sandbox-launcher
YAML
Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
gcloud run services describe SERVICE --format export > service.yaml
Atualize o arquivo YAML do serviço para incluir o atributo
sandboxLauncherdefinido comotruena configuração do contêiner:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/launch-stage: BETA spec: template: spec: containers: - name: CONTAINER image: IMAGE_URL sandboxLauncher: true port: 8080Substitua:
- SERVICE: o nome do seu serviço do Cloud Run.
- CONTAINER: o nome do contêiner.
- IMAGE_URL: uma referência à imagem de contêiner, por
exemplo,
us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL segue o formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
Crie ou atualize o serviço usando o seguinte comando:
gcloud run services replace service.yaml
Por padrão, o comando
gcloud run services replaceusa o arquivoservice.yaml, se ele estiver presente.
Os sandboxes compartilham a CPU e a memória alocadas para o contêiner host. Verifique se os limites do contêiner principal para CPU e memória são suficientes para acomodar o aplicativo e as sandbox ativas que você executa ao mesmo tempo.
Desativar sandboxes
Para desativar a capacidade de iniciar uma sandbox no seu serviço, use a Google Cloud CLI ou uma configuração YAML:
gcloud
Atualize o serviço usando a flag --no-sandbox-launcher executando o seguinte comando:
gcloud beta run services update SERVICE --no-sandbox-launcher
SERVICE pelo nome do serviço;
YAML
Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
gcloud run services describe