Utiliser Cloud Build dans un réseau privé

Cette page explique comment configurer des configurations de réseau privé couramment utilisées avec des pools privés. Pour obtenir une présentation des pools privés, consultez la page Présentation des pools privés.

Définir les paramètres réseau par défaut

Lorsque vous créez un pool privé, vous utilisez par défaut le réseau du cloud privé virtuel dans lequel se trouvent les pools privés. Utilisez le réseau VPC par défaut dans les cas suivants :

  • Vous souhaitez que les compilations puissent accéder à l'Internet public.
  • Vous avez besoin de types et de tailles de machines configurables, de plages d'adresses IP internes statiques ou de l'une des autres fonctionnalités des pools privés.
  • Vous ne cherchez pas à ce que les compilations puissent accéder aux ressources de votre réseau privé.

Pour obtenir des instructions sur la connexion au réseau par défaut, consultez la section Créer un pool privé.

Définir une plage d'adresses IP internes statiques

Dans certains cas, vous devrez peut-être disposer d'une plage d'adresses IP statiques définie pour votre pool privé, par exemple lorsque vous appelez un service qui autorise les appels d'une plage d'adresses IP définie. Grâce aux pools privés, lorsque vous configurez une connexion privée entre votre réseau VPC et le réseau VPC du pool privé, vous pouvez créer des plages d'adresses IP allouées avec une plage CIDR définie d'adresses IP sur laquelle vos pools privés s'exécuteront. Vous pouvez également spécifier une plage CIDR plus petite dans une plage d'adresses IP allouée qu'un pool privé utilisera.

Exécution dans un réseau VPC

Pour utiliser Cloud Build avec des ressources sur un réseau privé situé derrière un pare-feu, comme un réseau VPC, vous pouvez créer une connexion privée entre le pool privé et votre réseau VPC géré. Cela permet au pool privé d'accéder aux ressources de votre réseau privé, telles que les dépôts sources, les dépôts d'artefacts, les bases de données, les instances de secrets et les environnements d'exécution.

Exécution dans un réseau VPC partagé

Si vous utilisez un réseau VPC partagé, le projet dans lequel vous créez le pool privé doit être rattaché au projet hôte qui contient le réseau VPC partagé. Pour obtenir des instructions sur le rattachement d'un projet, consultez la section Provisionner un réseau VPC partagé.

Connexion aux ressources d'un autre réseau VPC appairé ou d'un réseau VPC partagé

Les organisations adoptent souvent un VPC partagé (projet hôte) pour centraliser la mise en réseau et la gestion de l'authentification et des accès pour l'ensemble des projets. Cela permet d'utiliser des adresses IP internes pour les services gérés par Google, tels que les clusters GKE privés et Cloud SQL privé. Ces services gérés par Google sont également appairés dans un réseau VPC partagé appartenant au client. Le problème avec cette configuration est que les pools privés ne peuvent pas communiquer avec les services gérés par Google en raison de l'absence d'appairage transitif. L'appairage transitif ne pose problème que lorsque plusieurs réseaux sont connectés les uns aux autres via l'appairage de VPC. Si l'une des connexions est modifiée pour utiliser un VPN (ou une interconnexion) au lieu de l'appairage de VPC, les réseaux peuvent établir la connectivité. Pour obtenir des instructions sur cette configuration réseau, consultez la section Accéder aux clusters privés Google Kubernetes Engine avec des pools privés Cloud Build.

Exécution dans une région spécifique

Vous pouvez créer un pool privé dans l'une des régions disponibles. Vous pouvez stocker toutes les images de conteneurs et les artefacts créés dans les dépôts Artifact Registry et les buckets Cloud Storage dans des régions spécifiées.

Déploiement sur des clusters GKE privés

Les clusters GKE privés peuvent comporter un point de terminaison public ou privé pour le plan de contrôle.

Pour effectuer un déploiement sur un cluster GKE privé avec un point de terminaison public, vous pouvez créer votre pool privé dans le réseau par défaut avec accès à l'Internet public et définir une plage d'adresses IP internes statiques pour votre pool afin d'autoriser l'accès au cluster.

Pour effectuer un déploiement sur des clusters GKE privés avec un point de terminaison privé, vous pouvez suivre les étapes décrites dans la section Accéder aux clusters privés Google Kubernetes Engine avec des pools privés Cloud Build. Une fois appairé à votre VPC, vous pouvez également exécuter un proxy réseau sur le cluster, comme décrit dans la section Créer des clusters privés GKE avec des proxys réseau.

Utilisation avec VPC Service Controls

VPC Service Controls est une fonctionnalité de Google Cloud qui vous permet de configurer un périmètre sécurisé pour vous protéger contre l'exfiltration de données. Pour obtenir des instructions sur l'utilisation de VPC Service Controls avec des pools privés afin d'accroître la sécurité de vos compilations, consultez la page Utiliser VPC Service Controls.

Supprimer des adresses IP publiques sur des pools privés

Vous pouvez supprimer des adresses IP publiques sur des pools privés en définissant le champ egressOption du fichier de configuration du pool privé sur NO_PUBLIC_EGRESS. Toutefois, n'oubliez pas que la suppression d'adresses IP publiques empêche votre pool de nœuds de calcul personnalisés d'accéder aux ressources du réseau Internet public.

Limiter la sortie vers l'Internet public

Il existe plusieurs façons de limiter la sortie des pools privés vers l'Internet public :

Imposer l'utilisation de pools privés

Cloud Build fournit une contrainte de règle d'administration constraints/cloudbuild.allowedWorkerPools que vous pouvez appliquer pour exiger que les compilations de votre organisation n'utilisent pas le pool par défaut et n'utilisent que le pool privé. Pour obtenir des instructions sur l'utilisation de cette fonctionnalité, consultez la page Configurer des contraintes de règles d'administration.

Utiliser des zones Cloud DNS privées

Vous pouvez partager une zone Cloud DNS privée à utiliser avec des pools privés. Pour obtenir des instructions, consultez la section Partager une zone privée.

Courir derrière un NAT

Bien que vous puissiez contrôler la plage d'adresses IP de votre pool privé dans votre VPC, les adresses IP externes (si activées) ne peuvent pas être contrôlées. Si vous devez accéder à une ressource à partir d'une adresse IP réservée, créez une VM proxy et acheminez le trafic via celle-ci en suivant la procédure décrite dans la section Accéder à une ressource externe à partir d'une adresse IP source statique à l'aide de Cloud Build.

Étapes suivantes