Ce document décrit les concepts de mise en réseau pour Batch, y compris les options de mise en réseau, quand configurer la mise en réseau et comment fonctionne la mise en réseau.
Options de mise en réseau
Les options de mise en réseau contrôlent la manière dont Batch est connecté à d'autres sources, telles qu'Internet et d'autres ressources et services Google Cloud.
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 de mise en réseau supplémentaires :
- Bloquez les connexions externes (toutes les VM ou des conteneurs spécifiques) pour les environnements d'exécution de jobs.
- Protéger les ressources et les données Batch à l'aide de VPC Service Controls
Pour en savoir plus sur la détermination des options de mise en réseau à utiliser pour Batch, 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 dans ce document.
Quand configurer la mise en réseau
Examinez cette section pour déterminer si vous devez configurer la mise en réseau lorsque vous utilisez Batch ou utiliser la configuration 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 restreindre l'accès réseau pour Batch, vous devez configurer la mise en réseau en suivant la documentation Utiliser VPC Service Controls avec Batch.
- Si la contrainte de règle d'administration
compute.vmExternalIpAccess
nécessite que votre projet crée des VM sans adresse IP externe 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 projets Google 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 répond à toutes vos exigences de mise en réseau spécifiques. En particulier, 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 de mise en réseau par défaut de ce document.
- Le réseau par défaut existe pour votre projet. Les nouveaux projets Google Cloud incluent automatiquement le réseau par défaut, sauf si la contrainte de règle d'administration
Même si cela n'est pas nécessaire, 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 tâches qui utilisent des conteneurs et ne bloquent pas l'accès externe pour toutes les VM, vous pouvez éventuellement créer des tâches qui bloquent l'accès externe pour un ou plusieurs conteneurs. L'utilisation d'un réseau autre que celui par défaut ou de restrictions de mise en réseau supplémentaires peut vous aider à mettre en œuvre le principe du moindre privilège. Pour en savoir plus sur les options que vous pouvez utiliser afin de 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 ou ne souhaitez pas configurer la mise en réseau, vous pouvez créer une tâche sans spécifier d'options de mise en réseau afin d'utiliser la configuration de mise en réseau par défaut.
Fonctionnement de la mise en réseau
Les sections suivantes expliquent les concepts de mise en réseau pour Batch:
- Réseau de jobs
- Restrictions supplémentaires concernant la mise en réseau
- Configuration de mise en réseau par défaut
Réseau du job
Chaque tâche s'exécute sur des machines virtuelles (VM) Compute Engine, qui doivent faire partie d'un réseau cloud privé virtuel (VPC) Google Cloud et d'un sous-réseau de ce réseau.
Les réseaux VPC connectent les VM à d'autres sources, telles qu'Internet et d'autres ressources et services Google Cloud. Chaque réseau comprend au moins un sous-réseau, également appelé sous-réseau, qui correspond à une ou plusieurs plages d'adresses IP associées à une région. Chaque VM possède une interface réseau avec une adresse IP interne et une adresse IP externe facultative alloué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. Toutefois, si vous souhaitez utiliser le même réseau pour 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 page Présentation de la mise en réseau pour les VM dans la documentation Compute Engine et la Présentation du cloud privé virtuel (VPC) dans la documentation sur les VPC.
Restrictions réseau supplémentaires
Pour améliorer la sécurité, une configuration de mise en réseau peut impliquer plus de restrictions que les règles de pare-feu pour 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 restreindre la mise en réseau.
Les sections suivantes décrivent les options courantes permettant de restreindre davantage la mise en réseau:
- Bloquer les connexions externes pour les environnements d'exécution de 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 de jobs
Vous pouvez bloquer les connexions externes directement vers et depuis l'environnement d'exécution pour une tâche en utilisant 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 afin de créer une tâche qui s'exécute sur des VM sans adresse IP externe. Cette option est souvent requise pour un réseau ou un projet, ou éventuellement utilisée pour améliorer la sécurité.
Un autre nœud du même réseau peut accéder aux VM sans adresse IP externe via leurs adresses IP internes. Vous devez donc configurer l'accès à ces VM en procédant comme suit:
Pour exécuter une tâche sur des VM sans adresse IP externe, autorisez l'accès aux domaines des API et des services utilisés par votre job à l'aide de Cloud NAT ou de l'accès privé à Google. Par exemple, tous les jobs Batch utilisent les API Batch et Compute Engine, et utilisent 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 de la documentation Compute Engine.
Bloquez l'accès externe à un ou plusieurs conteneurs pour une tâche donnée. Si une tâche utilise des conteneurs et ne bloque pas déjà l'accès externe à toutes ses VM, vous pouvez choisir de bloquer l'accès externe pour chaque conteneur. Cette option est facultative. Elle permet d'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 de mise en réseau par défaut.
Protéger les ressources et les données Batch à l'aide de VPC Service Controls
En plus de bloquer l'accès externe à toutes les VM pour 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 décrites dans ce document, qui ne peuvent restreindre la mise en réseau que pour les VM ou les conteneurs qui exécutent des tâches, VPC Service Controls vous permet de restreindre l'accès réseau aux ressources et aux données des services Google Cloud, par exemple les tâches et les données par lot.
Vous pouvez utiliser VPC Service Controls pour créer des périmètres qui protègent les ressources et les données des services Google Cloud que vous spécifiez. Le périmètre de service isole les services et les ressources sélectionnés, en bloquant les connexions avec les services Google Cloud situés en dehors du périmètre et toutes les connexions Internet qui ne sont pas explicitement autorisées. Pour en savoir plus, consultez la documentation de VPC Service Controls et la section Utiliser VPC Service Controls avec Batch.
Configuration de mise en réseau par défaut
Lorsque vous créez une tâche sans spécifier d'option de mise en réseau, les VM associées utilisent le réseau par défaut et le sous-réseau correspondant à l'emplacement de la VM.
Chaque projet dispose d'un réseau par défaut nommé default
, sauf si vous le supprimez ou que vous désactivez cette option à 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 possède donc 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
comporte également des 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 sur le VPC.
Envisagez d'utiliser la configuration de mise en réseau par défaut si vous n'avez pas d'exigences de mise en réseau pour une tâche et que vous ne souhaitez pas configurer la mise en 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.
Étapes suivantes
- Configurez la mise en réseau pour Batch :
- Sinon, pour créer une tâche qui utilise la configuration de mise en réseau par défaut, consultez la page Créer et exécuter une tâche de base.
- Vous pouvez également contrôler l'accès à une tâche à l'aide d'un compte de service personnalisé.