Utiliser Cloud Build dans un réseau privé

Cette page explique comment configurer des réseaux privés couramment utilisés 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 ê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 voulez que les compilations accèdent à l'Internet public ;
  • Vous avez besoin de types de machines et de tailles configurables, de plages d'adresses IP statiques ou de l'une des autres fonctionnalités des pools privés.
  • Vous ne recherchez pas de compilations pour accéder aux ressources de votre réseau VPC 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 lors de l'appel d'un service autorisant les appels provenant d'une plage d'adresses IP définie. Avec les 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'adresses IP définie par votre 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, par exemple 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 associé 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 l'ensemble des projets. Cela permet d'utiliser des adresses IP internes pour des services gérés par Google, tels que des clusters GKE privés et un 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 de cette configuration réside dans le fait 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 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 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

Les pools privés sont actuellement compatibles avec quinze 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 toutes les images de conteneurs et tous les artefacts 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 ; etdéfinir une plage d'adresses IP statiques ; pour votre pool afin d'autoriser la liste à accéder au cluster.

Pour effectuer le déploiement sur des clusters GKE privés avec un point de terminaison privé, vous pouvez suivre les étapes décrites dans Accéder aux clusters Google Kubernetes Engine privés avec des pools privés Cloud Build. Une fois appairé dans votre VPC, vous pouvez également exécuter un proxy réseau sur le cluster, comme décrit 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é 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 savoir comment utiliser VPC Service Controls avec des pools privés pour renforcer la sécurité de vos compilations, 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êche votre pool privé d'accéder aux ressources sur Internet.

Limiter la sortie vers l'Internet public

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

Appliquer l'utilisation de pools privés

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

Utiliser des zones Cloud DNS privées

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

Étape suivante