Configurare le sandbox per i job

Le sandbox di Cloud Run forniscono un ambiente rapido, sicuro e isolato per eseguire il codice dell'agente, eseguire trasformazioni dei dati ed eseguire in sicurezza gli script all'interno del job 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 il rendimento dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per eseguire, testare ed eseguire 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. Crea un job Cloud Run.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare i job 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 il tuo job Cloud Run interagisce con Google Cloud le 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 nei job Cloud Run, utilizza Google Cloud CLI o una configurazione YAML:

gcloud

Per creare o aggiornare il job, specifica il flag --sandbox-launcher:

  • Per creare un job, esegui il comando seguente:

    gcloud beta run jobs create JOB --image IMAGE_URL --sandbox-launcher

    Sostituisci quanto segue:

    • JOB: il nome del job Cloud Run.
    • IMAGE_URL: un riferimento all' immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/job:latest
  • Per aggiornare un job esistente, esegui il comando seguente:

    gcloud beta run jobs update JOB --sandbox-launcher

YAML

  1. Se stai creando un nuovo job, salta questo passaggio. Se stai aggiornando un job esistente, scarica la relativa configurazione YAML:

    gcloud run jobs describe JOB_NAME --format export > job.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: Job
    metadata:
      name: JOB
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - name: CONTAINER
                image: IMAGE_URL
                sandboxLauncher: true
    

    Sostituisci quanto segue:

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

    gcloud run jobs replace job.yaml

    Per impostazione predefinita, il comando gcloud run jobs replace utilizza il file job.yaml, se presente.

Le sandbox condividono la CPU e la memoria allocate al container host. Assicurati che i limiti di CPU e memoria del container principale possano ospitare sia l'applicazione sia le sandbox attive che esegui contemporaneamente.

Disabilita le sandbox

Per disabilitare la possibilità di avviare una sandbox nel job, utilizza Google Cloud CLI o una configurazione YAML:

gcloud

Aggiorna il job utilizzando il flag --no-sandbox-launcher eseguendo il comando seguente:

gcloud beta run jobs update JOB --no-sandbox-launcher

Sostituisci JOB con il nome del job.

YAML

  1. Se stai creando un nuovo job, salta questo passaggio. Se stai aggiornando un job esistente, scarica la relativa configurazione YAML:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Aggiorna il file YAML per rimuovere l'attributo sandboxLauncher all'interno della configurazione del container:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - name: CONTAINER
                image: IMAGE_URL
    

    Sostituisci quanto segue:

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

    gcloud run jobs replace job.yaml

    Per impostazione predefinita, il comando gcloud run jobs replace utilizza il file job.yaml, se presente.

Visualizza le impostazioni della sandbox

Per visualizzare le impostazioni della sandbox correnti per il job Cloud Run:

Console

  1. Nella Google Cloud console, vai alla pagina Job di Cloud Run:

    Vai ai job Cloud Run

  2. Fai clic sul job per aprire la pagina Dettagli job.

  3. Nella scheda Cronologia, fai clic sull'ID del job eseguito nell'elenco.

  4. Nella scheda Container, individua l'impostazione Avvio sandbox per verificare se i container in sandbox sono abilitati o disabilitati.

gcloud

  1. Utilizza il seguente comando:

    gcloud run jobs executions describe EXECUTION_NAME --format yaml

    Sostituisci EXECUTION_NAME con il nome dell'esecuzione del job.

  2. Per verificare che i container in sandbox siano abilitati, individua l'attributo sandboxLauncher: true nella configurazione restituita.

Per eseguire codice non attendibile in una sandbox dal job, consulta Esecuzione del codice in Cloud Run.