Utiliser Cloud Build dans un réseau privé

Cette page explique comment configurer les configurations de réseau privé couramment utilisées avec des pools privés. Pour en savoir plus sur les 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 êtes configuré par défaut pour utiliser le réseau cloud privé virtuel dans lequel résident les pools privés. Utilisez le réseau VPC par défaut dans les cas suivants :

  • Vous souhaitez que les builds accèdent à l'Internet public.
  • Vous avez besoin de types et de tailles de machines configurables, de plages d'adresses IP 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 statiques

Dans certains cas, vous devrez peut-être disposer d'une plage d'adresses IP statiques définie pour votre pool privé, par exemple pour appeler un service autorisant la création d'appels de listes à partir 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 nœuds de calcul s'exécuteront.

Exécution dans un réseau VPC

Pour utiliser Cloud Build avec des ressources dans un réseau privé derrière un pare-feu, comme dans 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écuter 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) afin de centraliser la mise en réseau et la gestion de l'authentification et des accès pour tous les projets. Cela permet d'utiliser des adresses IP internes pour les services gérés par Google, tels que les clusters 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 n'est un 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 l'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 page Accéder aux clusters Google Kubernetes Engine privés avec des pools privés Cloud Build.

Exécution dans une région spécifique

Les pools privés sont actuellement disponibles dans 15 régions. Vous pouvez créer un pool privé dans n'importe laquelle de ces régions et configurer votre build pour qu'il s'exécute dans la région spécifiée. Vous pouvez stocker les images et les artefacts de conteneur créés dans des dépôts Artifact Registry et des buckets Cloud Storage dans les régions spécifiées.

Déploiement sur des clusters GKE privés

Les clusters GKE privés peuvent avoir 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 statiques pour votre pool afin d'autoriser la liste d'accès au cluster.

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

Utilisation avec VPC Service Controls

VPC Service Controls est une fonctionnalité 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'ajouter un niveau de sécurité supplémentaire à vos builds, consultez la page Utiliser VPC Service Controls.

Supprimer les adresses IP publiques sur les nœuds de calcul

Vous pouvez supprimer les adresses IP publiques des pools privés en définissant le champ egressOption du fichier de configuration du pool de nœuds de calcul sur NO_PUBLIC_EGRESS. Cependant, gardez à l'esprit que la suppression des adresses IP publiques empêchera votre pool privé d'accéder aux ressources de l'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 builds de votre organisation n'utilisent pas le pool par défaut et n'utilisent que le pool privé. (Installation de Python groupée). Pour obtenir des instructions sur l'utilisation de cette fonctionnalité, consultez la page Configurer les contraintes des règles d'administration.

Utiliser des zones Cloud DNS privées

Vous pouvez créer une zone Cloud DNS privée à utiliser avec les pools privés. Pour obtenir des instructions, consultez la page Créer une zone privée.

Étape suivante