As sandboxes do Cloud Run oferecem um ambiente rápido, seguro e isolado para executar ferramentas de execução de código não confiáveis ou software de automação de navegador para agentes hospedados na instância atual. As sandboxes são altamente otimizadas para latência e são executadas na mesma instância do contêiner, compartilhando a CPU e a memória alocadas.
Esta página descreve como configurar sandboxes no contêiner. Para mais detalhes sobre como escrever código para interagir com a sandbox usando a CLI, consulte Execução de código no Cloud Run.
Antes de começar
- Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos 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 uma instância do Cloud Run instance.
Funções exigidas
Para receber as permissões necessárias para configurar e implantar instâncias do Cloud Run, peça ao administrador para conceder a você as seguintes funções do IAM:
- Desenvolvedor do Cloud Run (
roles/run.developer) na instância do Cloud Run - Usuário da conta de serviço (
roles/iam.serviceAccountUser) na identidade do serviço
Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se a instância do Cloud Run interage com Google Cloud APIs, como as bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.
Ativar sandboxes
Para ativar sandboxes em instâncias do Cloud Run, use a Google Cloud CLI ou uma configuração YAML:
gcloud
Para criar ou atualizar a instância, especifique a flag --sandbox-launcher:
Para criar uma nova instância, execute o seguinte comando:
gcloud beta run instances create INSTANCE --image IMAGE_URL --sandbox-launcher
Substitua:
- INSTANCE: o nome da instância do Cloud Run.
IMAGE_URL: uma referência à imagem do contêiner, comous-docker.pkg.dev/cloudrun/container/hello:latest.
Para atualizar uma instância, execute o seguinte comando:
gcloud beta run instances update INSTANCE --sandbox-launcher
YAML
Se você estiver criando uma nova instância, pule esta etapa. Se você estiver atualizando uma instância, baixe a configuração YAML correspondente:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
Atualize o arquivo YAML para incluir o atributo
sandboxLauncherdefinido comotruena configuração do contêiner:apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE annotations: run.googleapis.com/launch-stage: BETA spec: containers: - name: CONTAINER image: IMAGE_URL sandboxLauncher: trueSubstitua:
- INSTANCE: o nome da instância do Cloud Run.
- CONTAINER: o nome do contêiner.
IMAGE_URL: uma referência à imagem do contêiner, comous-docker.pkg.dev/cloudrun/container/hello:latest.
Crie ou atualize a instância usando o seguinte comando:
gcloud beta run instances replace instance.yaml
As sandboxes compartilham a CPU e a memória alocadas ao contêiner do host. Verifique se os limites principais do contêiner para CPU e memória são suficientes para acomodar o aplicativo e as sandboxes ativas que você executa ao mesmo tempo.
Desativar sandboxes
Para desativar a capacidade de iniciar uma sandbox na instância, use a Google Cloud CLI ou uma configuração YAML:
gcloud
Atualize a instância usando a flag --no-sandbox-launcher executando o seguinte comando:
gcloud beta run instances update INSTANCE --no-sandbox-launcher
Substitua INSTANCE pelo nome da instância.
YAML
Se você estiver criando uma nova instância, pule esta etapa. Se você estiver atualizando uma instância, baixe a configuração YAML correspondente:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
Atualize o arquivo YAML para remover o atributo
sandboxLauncherna configuração do contêiner:apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE spec: containers: - name: CONTAINER image: IMAGE_URLSubstitua:
- INSTANCE: o nome da instância do Cloud Run.
- CONTAINER: o nome do contêiner.
IMAGE_URL: uma referência à imagem do contêiner, comous-docker.pkg.dev/cloudrun/container/hello:latest.
Crie ou atualize a instância usando o seguinte comando:
gcloud beta run instances replace instance.yaml
Conferir as configurações da sandbox
Para conferir as configurações atuais da sandbox da instância do Cloud Run, faça o seguinte:
gcloud
Use o comando a seguir:
gcloud beta run instances describe INSTANCE
Substitua INSTANCE pelo nome da instância.
Localize o atributo
sandboxLauncher: truena configuração retornada.
Para executar código não confiável em uma sandbox da instância, consulte Execução de código no Cloud Run.