Configurer des bacs à sable pour les instances

Les bacs à sable Cloud Run fournissent un environnement rapide, sécurisé et isolé pour exécuter des outils d'exécution de code non fiables ou des logiciels d'automatisation de navigateur pour les agents hébergés sur votre instance existante. Les bacs à sable sont hautement optimisés pour la latence et s'exécutent dans la même instance que votre conteneur, partageant le processeur et la mémoire qui lui sont alloués.

Cette page explique comment configurer des bacs à sable sur votre conteneur. Pour en savoir plus sur l'écriture de code permettant d'interagir avec le bac à sable à l'aide de la CLI, consultez Exécution de code dans Cloud Run.

Avant de commencer

  1. Connectez-vous à votre Google Cloud compte. Si vous n'avez jamais utilisé Google Cloud, créez un compte pour évaluer les performances de nos produits dans des scénarios réels. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  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. Installez et initialisez la gcloud CLI.
  7. Déployez une instance Cloud Run instance.

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer et déployer des instances Cloud Run, demandez à votre administrateur de vous accorder les rôles IAM suivants :

Pour obtenir la liste des rôles et des autorisations IAM associés à Cloud Run, consultez les sections Rôles IAM Cloud Run et Autorisations IAM Cloud Run. Si votre instance Cloud Run communique avec Google Cloud des API, telles que les bibliothèques clientes Cloud, consultez le guide de configuration de l'identité du service. Pour en savoir plus sur l'attribution de rôles, consultez les pages Autorisations de déploiement et Gérer les accès.

Activer les bacs à sable

Pour activer les bacs à sable dans les instances Cloud Run, utilisez Google Cloud CLI ou une configuration YAML :

gcloud

Pour créer ou mettre à jour l'instance, spécifiez l'indicateur --sandbox-launcher :

  • Pour créer une instance, exécutez la commande suivante :

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

    Remplacez les éléments suivants :

    • INSTANCE : nom de votre instance Cloud Run.
    • IMAGE_URL: référence à l'image de conteneur, telle que us-docker.pkg.dev/cloudrun/container/hello:latest.
  • Pour mettre à jour une instance existante, exécutez la commande suivante :

    gcloud beta run instances update INSTANCE --sandbox-launcher

YAML

  1. Si vous créez une instance, ignorez cette étape. Si vous mettez à jour une instance existante, téléchargez sa configuration YAML :

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. Mettez à jour votre fichier YAML pour inclure l'attribut sandboxLauncher défini sur true dans la configuration de votre conteneur :

    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
    

    Remplacez les éléments suivants :

    • INSTANCE : nom de votre instance Cloud Run.
    • CONTAINER : nom de votre conteneur.
    • IMAGE_URL: référence à l'image de conteneur, telle que us-docker.pkg.dev/cloudrun/container/hello:latest.
  3. Créez ou mettez à jour l'instance à l'aide de la commande suivante :

    gcloud beta run instances replace instance.yaml

Les bacs à sable partagent le processeur et la mémoire alloués au conteneur hôte. Assurez-vous que les limites de votre conteneur principal pour le processeur et la mémoire sont suffisantes pour prendre en charge à la fois votre application et les bacs à sable actifs que vous exécutez en même temps.

Désactiver les bacs à sable

Pour désactiver la possibilité de lancer un bac à sable dans votre instance, utilisez Google Cloud CLI ou une configuration YAML :

gcloud

Mettez à jour l'instance à l'aide de l'indicateur --no-sandbox-launcher en exécutant la commande suivante :

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

Remplacez INSTANCE par le nom de votre instance.

YAML

  1. Si vous créez une instance, ignorez cette étape. Si vous mettez à jour une instance existante, téléchargez sa configuration YAML :

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. Mettez à jour votre fichier YAML pour supprimer l'attribut sandboxLauncher dans la configuration de votre conteneur :

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

    Remplacez les éléments suivants :

    • INSTANCE : nom de votre instance Cloud Run.
    • CONTAINER : nom de votre conteneur.
    • IMAGE_URL: référence à l'image de conteneur, telle que us-docker.pkg.dev/cloudrun/container/hello:latest.
  3. Créez ou mettez à jour l'instance à l'aide de la commande suivante :

    gcloud beta run instances replace instance.yaml

Afficher les paramètres du bac à sable

Pour afficher les paramètres actuels du bac à sable de votre instance Cloud Run :

gcloud

  1. Exécutez la commande suivante :

    gcloud beta run instances describe INSTANCE

    Remplacez INSTANCE par le nom de votre instance.

  2. Recherchez l'attribut sandboxLauncher: true dans la configuration renvoyée.

Pour exécuter du code non fiable dans un bac à sable à partir de votre instance, consultez Exécution de code dans Cloud Run.