Ce document explique comment utiliser VPC Service Controls avec Batch. VPC Service Controls vous permet de protéger les ressources et les données des services Google Cloud en isolant des ressources spécifiques dans des périmètres de service. Un périmètre de service bloque les connexions aux services Google Cloud en dehors du périmètre et toutes les connexions Internet qui ne sont pas explicitement autorisées.
- Pour configurer un périmètre de service VPC Service Controls afin d'utiliser Batch, consultez la section Configurer un périmètre de service pour un lot de ce document.
- Si votre projet ou réseau utilise VPC Service Controls pour restreindre l'accès réseau pour Batch, vous devez configurer vos tâches par lot pour qu'elles s'exécutent dans le périmètre de service requis. Pour savoir comment procéder, consultez la section Créer une tâche qui s'exécute dans un périmètre de service de ce document.
Pour en savoir plus sur les concepts de mise en réseau et sur leur configuration, consultez Présentation de la mise en réseau par lot.
Avant de commencer
- Si vous n'avez jamais utilisé Batch, consultez la page Premiers pas avec Batch et activez-la en remplissant les conditions préalables pour les projets et les utilisateurs.
-
Pour obtenir les autorisations dont vous avez besoin pour utiliser VPC Service Controls avec Batch, demandez à votre administrateur de vous attribuer les rôles IAM suivants:
-
Pour configurer un périmètre de service :
Éditeur Access Context Manager (
roles/accesscontextmanager.policyEditor
) sur le projet -
Pour créer une tâche :
-
Éditeur de tâches par lot (
roles/batch.jobsEditor
) sur le projet -
Utilisateur du compte de service (
roles/iam.serviceAccountUser
) sur le compte de service de la tâche, qui est le compte de service Compute Engine par défaut par défaut
-
Éditeur de tâches par lot (
-
Pour identifier le périmètre de service d'un projet ou d'un réseau : Lecteur Access Context Manager (
roles/accesscontextmanager.policyReader
) sur le projet -
Pour identifier le réseau et le sous-réseau d'une tâche : Lecteur de réseau Compute (
roles/compute.networkViewer
) sur le projet
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
-
Pour configurer un périmètre de service :
Éditeur Access Context Manager (
-
Si vous créez une tâche qui s'exécute dans un périmètre de service, vous devez identifier le réseau que vous souhaitez utiliser pour la tâche. Le réseau que vous spécifiez pour une tâche qui s'exécute dans un périmètre de service doit répondre aux exigences suivantes :
- Le réseau est un réseau cloud privé virtuel (VPC) qui se trouve dans le même projet que la tâche ou un réseau VPC partagé hébergé ou partagé avec le projet pour la tâche.
- Le réseau comprend un sous-réseau (sous-réseau) à l'emplacement où vous souhaitez exécuter la tâche.
- Le réseau se trouve dans le périmètre de service requis et utilise l'accès privé à Google pour autoriser l'accès aux domaines des API et services utilisés par votre tâche. Pour en savoir plus, consultez la section Configurer un périmètre de service pour le traitement par lot de ce document.
Configurer un périmètre de service pour Batch
Pour configurer un périmètre de service pour Batch, procédez comme suit:
Planifiez la configuration de votre périmètre de service. Pour obtenir une présentation des étapes de configuration des périmètres de service, consultez la documentation sur les périmètres de service et leur configuration dans la documentation de VPC Service Controls.
Pour utiliser Batch, le périmètre de service doit répondre aux exigences suivantes:
Services restreints:pour sécuriser des lots dans un périmètre de service, vous devez inclure les services Google Cloud requis pour vos tâches par lot dans ce périmètre, tels que les services suivants:
- API par lot (
batch.googleapis.com
) - API Cloud Logging (
logging.googleapis.com
): obligatoire si vous souhaitez que vos tâches écrivent des journaux dans Cloud Logging. (recommandé) - API Container Registry (
containerregistry.googleapis.com
) : obligatoire si vous envoyez une tâche qui utilise des conteneurs avec une image issue de Container Registry. - API Artifact Registry (
artifactregistry.googleapis.com
) : obligatoire si vous envoyez une tâche qui utilise des conteneurs avec une image provenant d'Artifact Registry. - API Filestore (
file.googleapis.com
): obligatoire si votre tâche utilise un partage de fichiers Filestore. - API Cloud Storage (
storage.googleapis.com
): obligatoire pour certaines tâches qui utilisent un bucket Cloud Storage.
Pour savoir comment activer chacun de ces services dans votre périmètre de service, consultez la section Services accessibles par VPC.
Pour chaque service que vous incluez (autre que Batch), vous devez également vérifier que votre périmètre de service répond aux exigences indiquées pour ce service dans la documentation Produits et limites compatibles avec VPC Service Controls.
- API par lot (
Réseaux VPC:chaque tâche par lot nécessite un réseau VPC. Par conséquent, votre périmètre de service doit inclure un réseau VPC sur lequel les tâches par lot peuvent s'exécuter. Pour savoir comment configurer un réseau VPC pouvant exécuter vos tâches par lot dans un périmètre de service, consultez les documents suivants:
- Pour une présentation de l'utilisation des réseaux VPC dans un périmètre de service, consultez la section Gestion des réseaux VPC dans les périmètres de service.
- Pour savoir comment utiliser l'accès privé à Google avec VPC Service Controls pour configurer l'accès aux services Google Cloud requis pour vos tâches par lot, consultez l'article Configurer une connectivité privée aux API et services Google.
- Pour en savoir plus sur les exigences de mise en réseau des tâches par lot, consultez la présentation de la mise en réseau des tâches.
Créez un périmètre de service ou mettez à jour un périmètre de service existant pour répondre à ces exigences.
Créer une tâche qui s'exécute dans un périmètre de service
Lorsque vous créez une tâche qui s'exécute dans un périmètre de service, vous devez également bloquer l'accès externe à toutes les VM sur lesquelles une tâche s'exécute et spécifier un réseau et un sous-réseau qui permettent à la tâche d'accéder aux API requises.
Pour créer une tâche qui s'exécute dans un périmètre de service, suivez la procédure décrite dans la documentation Créer une tâche qui bloque l'accès externe à toutes les VM et spécifiez un réseau répondant à la configuration réseau requise pour une tâche exécutée dans un périmètre de service.
Étapes suivantes
- Si vous rencontrez des problèmes lors de la création ou de l'exécution d'une tâche, consultez Dépannage.
- En savoir plus sur la mise en réseau
- Découvrez comment créer une tâche.
- Découvrez comment afficher les tâches et les tâches.