Ce document explique les concepts de mise en réseau pour Batch, y compris les options de mise en réseau, le moment où configurer la mise en réseau et son fonctionnement.
Options de mise en réseau
Les options de mise en réseau contrôlent la façon dont Batch se connecte à d'autres sources, telles qu'Internet, ainsi que les autres Google Cloud ressources et services.
Batch propose les options de mise en réseau suivantes:
- Spécifiez le réseau pour une tâche ou utilisez le réseau par défaut.
- Utilisez des restrictions réseau supplémentaires :
- Bloquez les connexions externes pour les environnements d'exécution des tâches, que ce soit pour toutes les VM ou pour des conteneurs spécifiques.
- Protégez les ressources et les données de Batch à l'aide de VPC Service Controls.
Pour en savoir plus sur la détermination des options de mise en réseau à utiliser pour le traitement par lot, consultez la section Quand configurer la mise en réseau de ce document. Pour en savoir plus sur les concepts de mise en réseau pour chaque option, consultez la section Fonctionnement de la mise en réseau de ce document.
Quand configurer la mise en réseau
Consultez cette section pour déterminer si vous devez configurer la mise en réseau lorsque vous utilisez Batch ou utiliser la configuration de mise en réseau par défaut.
Vous devez configurer la mise en réseau pour Batch dans les cas suivants:
- Si votre projet ou votre réseau utilise VPC Service Controls pour limiter l'accès au réseau pour Batch, vous devez configurer le réseau en suivant la documentation Utiliser VPC Service Controls avec Batch.
- Si la contrainte de règle d'administration
compute.vmExternalIpAccess
exige que votre projet crée des VM sans adresses IP externes ou si votre réseau utilise l'accès privé à Google, vous devez créer des tâches qui bloquent l'accès externe pour toutes les VM. Si vous ne pouvez pas ou ne souhaitez pas utiliser le réseau par défaut, vous devez spécifier le réseau pour les tâches.
Pour déterminer si vous pouvez utiliser le réseau par défaut pour une tâche, vérifiez les points suivants:
- Le réseau par défaut existe pour votre projet. Les nouveaux projetsGoogle Cloud incluent automatiquement le réseau par défaut, sauf si la contrainte de règle d'administration
compute.skipDefaultNetworkCreation
est activée. - Le réseau par défaut prend en charge toutes les exigences réseau spécifiques que vous avez. Par exemple, si le réseau par défaut de votre projet est modifié, vous ou d'autres utilisateurs pouvez rencontrer des problèmes. Pour en savoir plus sur le réseau par défaut, consultez la section Configuration réseau par défaut dans ce document.
- Le réseau par défaut existe pour votre projet. Les nouveaux projetsGoogle Cloud incluent automatiquement le réseau par défaut, sauf si la contrainte de règle d'administration
Même si ce n'est pas obligatoire, vous pouvez configurer la mise en réseau pour améliorer la sécurité de vos ressources et données Batch. Par exemple, si vous souhaitez améliorer la sécurité des jobs qui utilisent des conteneurs et ne bloquent pas l'accès externe pour toutes les VM, vous pouvez créer des jobs qui ne bloquent l'accès externe que pour un ou plusieurs conteneurs. L'utilisation d'un réseau autre que celui par défaut ou de restrictions réseau supplémentaires peut vous aider à mettre en œuvre les principes du moindre privilège. Pour en savoir plus sur les options que vous pouvez utiliser pour configurer la mise en réseau pour Batch, consultez la section Fonctionnement de la mise en réseau de ce document.
Sinon, si vous n'avez pas besoin de configurer la mise en réseau ou si vous ne le souhaitez pas, vous pouvez créer une tâche sans spécifier d'options de mise en réseau pour utiliser la configuration réseau par défaut.
Fonctionnement du réseautage
Les sections suivantes expliquent les concepts de mise en réseau pour Batch:
Réseau d'offres d'emploi
Chaque tâche s'exécute sur des machines virtuelles (VM) Compute Engine, qui doivent faire partie d'un Google Cloud réseau cloud privé virtuel (VPC) et d'un sous-réseau de ce réseau.
Les réseaux VPC connectent les VM à d'autres sources, telles qu'Internet, ainsi qu'à d'autres Google Cloud ressources et services. Chaque réseau comprend au moins un sous-réseau, également appelé subnet, qui est une ou plusieurs plages d'adresses IP associées à une région. Chaque VM dispose d'une interface réseau avec une adresse IP interne et une adresse IP externe facultative, toutes deux attribuées à partir du sous-réseau. Vous pouvez configurer des règles de pare-feu VPC pour autoriser ou refuser les connexions des VM d'un réseau. Chaque réseau comporte des règles de pare-feu implicites qui bloquent toutes les connexions entrantes et autorisent toutes les connexions sortantes. En règle générale, un réseau VPC ne peut être utilisé que dans son projet, mais si vous souhaitez utiliser le même réseau dans plusieurs projets, vous pouvez utiliser un VPC partagé.
En résumé, chaque tâche s'exécute sur des VM qui utilisent chacune des adresses IP pour établir des connexions contrôlées par les règles de pare-feu du réseau.
Pour en savoir plus sur les concepts de mise en réseau, consultez la section Présentation de la mise en réseau pour les VM dans la documentation Compute Engine et la section Présentation du cloud privé virtuel (VPC) dans la documentation VPC.
Autres restrictions de mise en réseau
Pour améliorer la sécurité, une configuration réseau peut impliquer plus de restrictions que les seules règles de pare-feu de son réseau. Par exemple, votre projet ou votre organisation peut utiliser des contraintes de règles d'administration ou d'autres services Google Cloud pour limiter la mise en réseau.
Les sections suivantes expliquent les options courantes permettant de limiter davantage la mise en réseau:
- Bloquer les connexions externes pour les environnements d'exécution des jobs
- Limiter l'accès réseau pour Batch à l'aide de VPC Service Controls
Bloquer les connexions externes pour les environnements d'exécution des tâches
Vous pouvez bloquer les connexions externes directement depuis et vers l'environnement d'exécution d'une tâche à l'aide de l'une des options suivantes:
Bloquez l'accès externe pour toutes les VM d'une tâche. Bloquez l'accès externe aux VM d'une tâche pour créer une tâche qui s'exécute sur des VM sans adresses IP externes. Cette option est souvent requise pour un réseau ou un projet, ou utilisée de manière facultative pour améliorer la sécurité.
Les VM sans adresses IP externes ne peuvent être accessibles qu'à l'aide de leurs adresses IP internes par un autre nœud du même réseau. Vous devez donc configurer l'accès à ces VM en procédant comme suit:
Pour exécuter une tâche sur des VM sans adresses IP externes, utilisez Cloud NAT ou Accès privé à Google pour autoriser l'accès aux domaines des API et des services utilisés par votre tâche. Par exemple, toutes les tâches de traitement par lot utilisent les API Batch et Compute Engine, et très souvent l'API Cloud Logging.
Si vous ou d'autres utilisateurs devez vous connecter à des VM sans adresse IP externe, consultez la section Choisir une option de connexion pour les VM internes uniquement dans la documentation Compute Engine.
Bloquez l'accès externe à un ou plusieurs conteneurs pour une tâche. Si un job utilise des conteneurs et ne bloque pas déjà l'accès externe pour toutes ses VM, vous pouvez choisir de bloquer l'accès externe pour chaque conteneur. Cette option est facultative. Elle peut être utilisée pour améliorer la sécurité lorsque vous spécifiez le réseau pour une tâche ou lorsque vous créez une tâche qui utilise la configuration réseau par défaut.
Protéger les ressources et les données de traitement par lot à l'aide de VPC Service Controls
En plus de bloquer l'accès externe pour toutes les VM d'une tâche, vous pouvez éventuellement restreindre davantage la mise en réseau à l'aide de VPC Service Controls.
Contrairement aux autres options de mise en réseau expliquées dans ce document, qui ne peuvent limiter la mise en réseau que pour les VM ou les conteneurs qui exécutent des tâches, VPC Service Controls vous permet de limiter l'accès réseau aux ressources et aux données des services, par exemple les tâches et données par lot. Google Cloud
VPC Service Controls vous permet de créer des périmètres qui protègent les ressources et les données des Google Cloud services que vous spécifiez. Le périmètre de service isole les services et les ressources sélectionnés, bloquant les connexions avec les services Google Cloud en dehors du périmètre et toutes les connexions provenant d'Internet qui ne sont pas explicitement autorisées. Pour en savoir plus, consultez la documentation sur VPC Service Controls et Utiliser VPC Service Controls avec Batch.
Configuration réseau par défaut
Lorsque vous créez une tâche et que vous ne spécifiez aucune option de mise en réseau, les VM de la tâche utilisent le réseau et le sous-réseau par défaut pour l'emplacement de la VM.
Chaque projet dispose d'un réseau par défaut nommé default
, sauf si vous le supprimez ou le désactivez à l'aide de la contrainte de règle d'administration compute.skipDefaultNetworkCreation
.
Le réseau par défaut est un réseau en mode automatique. Il dispose donc d'un sous-réseau dans chaque région. En plus des règles de pare-feu implicites pour chaque réseau, le réseau default
dispose également de règles de pare-feu préremplies, qui autorisent l'accès pour les cas d'utilisation courants. Pour en savoir plus, consultez la section Règles préremplies dans le réseau par défaut dans la documentation VPC.
Envisagez d'utiliser la configuration réseau par défaut si vous n'avez aucune exigence réseau pour une tâche et que vous ne souhaitez pas configurer le réseau. Pour savoir quand utiliser la configuration réseau par défaut, consultez la section Quand configurer la mise en réseau de ce document.
Étape suivante
- Configurez la mise en réseau pour le traitement par lot :
- Pour créer un job qui utilise la configuration réseau par défaut, consultez la section Créer et exécuter un job de base.
- Vous pouvez également contrôler l'accès à une tâche à l'aide d'un compte de service personnalisé.