Configura le sandbox per le istanze

Le sandbox di Cloud Run forniscono un ambiente rapido, sicuro e isolato per eseguire strumenti di esecuzione di codice non attendibile o software di automazione del browser per gli agent ospitati sull'istanza esistente. Le sandbox sono altamente ottimizzate per la latenza e vengono eseguite nella stessa istanza del container, condividendo la CPU e la memoria allocate.

Questa pagina descrive come configurare le sandbox sul container. Per informazioni dettagliate sulla scrittura di codice per interagire con la sandbox utilizzando la CLI, consulta Esecuzione del codice in Cloud Run.

Prima di iniziare

  1. Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Installa e inizializza gcloud CLI.
  7. Esegui il deployment di un'istanza di Cloud Run instance.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare ed eseguire il deployment delle istanze di Cloud Run, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se la tua istanza di Cloud Run interagisce con Google Cloud API, come le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per saperne di più sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestisci l'accesso.

Abilita le sandbox

Per abilitare le sandbox nelle istanze di Cloud Run, utilizza Google Cloud CLI o una configurazione YAML:

gcloud

Per creare o aggiornare l'istanza, specifica il flag --sandbox-launcher:

  • Per creare una nuova istanza, esegui il comando seguente:

    gcloud beta run instances create INSTANCE --image IMAGE_URL --sandbox-launcher

    Sostituisci quanto segue:

    • INSTANCE: il nome dell'istanza di Cloud Run.
    • IMAGE_URL: un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest.
  • Per aggiornare un'istanza esistente, esegui il comando seguente:

    gcloud beta run instances update INSTANCE --sandbox-launcher

YAML

  1. Se stai creando una nuova istanza, salta questo passaggio. Se stai aggiornando un'istanza esistente, scarica la relativa configurazione YAML:

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. Aggiorna il file YAML in modo da includere l'attributo sandboxLauncher impostato su true all'interno della configurazione del container:

    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: true
    

    Sostituisci quanto segue:

    • INSTANCE: il nome dell'istanza di Cloud Run.
    • CONTAINER: il nome del container.
    • IMAGE_URL: un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest.
  3. Crea o aggiorna l'istanza utilizzando il comando seguente:

    gcloud beta run instances replace instance.yaml

Le sandbox condividono la CPU e la memoria allocate al container host. Assicurati che i limiti principali del container per CPU e memoria siano sufficienti per ospitare sia l'applicazione sia le sandbox attive che esegui contemporaneamente.

Disabilita le sandbox

Per disabilitare la possibilità di avviare una sandbox nell'istanza, utilizza Google Cloud CLI o una configurazione YAML:

gcloud

Aggiorna l'istanza utilizzando il flag --no-sandbox-launcher eseguendo il comando seguente:

gcloud beta run instances update INSTANCE --no-sandbox-launcher

Sostituisci INSTANCE con il nome dell'istanza.

YAML

  1. Se stai creando una nuova istanza, salta questo passaggio. Se stai aggiornando un'istanza esistente, scarica la relativa configurazione YAML:

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. Aggiorna il file YAML in modo da rimuovere l'attributo sandboxLauncher all'interno della configurazione del container:

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
    spec:
      containers:
      - name: CONTAINER
        image: IMAGE_URL
    

    Sostituisci quanto segue:

    • INSTANCE: il nome dell'istanza di Cloud Run.
    • CONTAINER: il nome del container.
    • IMAGE_URL: un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest.
  3. Crea o aggiorna l'istanza utilizzando il comando seguente:

    gcloud beta run instances replace instance.yaml

Visualizza le impostazioni della sandbox

Per visualizzare le impostazioni della sandbox correnti per l'istanza di Cloud Run:

gcloud

  1. Utilizza il seguente comando:

    gcloud beta run instances describe INSTANCE

    Sostituisci INSTANCE con il nome dell'istanza.

  2. Individua l'attributo sandboxLauncher: true nella configurazione restituita.

Per eseguire codice non attendibile in una sandbox dall'istanza, consulta Esecuzione del codice in Cloud Run.