Configurer un réseau VPC partagé

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Cette page décrit les exigences du réseau VPC partagé et du projet hôte pour Cloud Composer.

Le VPC partagé permet aux organisations d'établir des limites en termes de budgétisation et de contrôle des accès au niveau du projet, tout en permettant une communication sécurisée et efficace à l'aide d'adresses IP privées au-delà de ces limites. Dans la configuration du VPC partagé, Cloud Composer peut appeler des services hébergés dans d'autres projets Google Cloud de la même organisation, sans exposer les services à l'Internet public.

Consignes relatives au VPC partagé

Projets de service et hôtes pour Cloud Composer
Figure 1. Projets de service et hôtes pour Cloud Composer
  • Le VPC partagé nécessite que vous spécifiiez un projet hôte auquel appartiennent les réseaux et sous-réseaux et un projet de service, qui est associé au projet hôte. Lorsque Cloud Composer participe à un VPC partagé, l'environnement Cloud Composer se trouve dans le projet de service.

  • Pour configurer un VPC partagé, sélectionnez les plages d'adresses IP suivantes dans le projet hôte :

    • Plage d'adresses IP principale du sous-réseau utilisé par les nœuds GKE comme couche Compute Engine pour Cloud Composer
    • Plage d'adresses IP secondaire pour les services GKE.
    • Plage d'adresses IP secondaire pour les pods GKE.
  • Les plages d'adresses IP secondaires ne doivent pas chevaucher d'autres plages secondaires de ce VPC.

  • Assurez-vous que les plages secondaires sont suffisamment grandes pour s'adapter à la taille du cluster et au scaling de votre environnement.

    Consultez la section Créer un cluster de VPC natif pour obtenir des instructions sur la configuration des plages secondaires pour les pods et les services.

  • La plage d'adresses principale du sous-réseau doit s'adapter à la croissance prévue et tenir compte des adresses IP inutilisables.

  • Si vous utilisez l'agent de masquage d'adresses IP et la configuration d'adresse IP privée pour vos environnements, ajoutez les plages d'adresses IP des nœuds et des pods à la section nonMasqueradeCIDRs du fichier ConfigMap ip-masq-agent. Pour en savoir plus, consultez la section Configurer un agent de masquage d'adresses IP.

Préparation

  1. Trouvez les identifiants et les numéros des projets suivants :

    • Projet hôte : le projet contenant le réseau VPC partagé.
    • Projet de service : le projet contenant l'environnement Cloud Composer.
  2. Préparez votre organisation.

  3. Activez l'API GKE pour vos projets hôte et de service.

  4. Si vous créez un environnement dans le projet de service à l'aide de la console Google Cloud, votre compte doit disposer de l'autorisation compute.subnetworks.use dans le projet hôte. Sinon, la liste des sous-réseaux disponibles ne contient pas les sous-réseaux du projet hôte. Si vous créez un environnement à l'aide de gcloud, de l'API ou de Terraform, votre compte n'a pas besoin de cette autorisation supplémentaire.

Configurer le projet de service

Si les environnements Cloud Composer n'ont jamais été créés dans le projet de service, provisionnez le compte d'agent de service Composer dans le projet de service:

gcloud beta services identity create --service=composer.googleapis.com`

Configurer le projet hôte

Configurez le projet hôte comme décrit ci-après.

(Adresse IP privée) Activer l'accès privé à Google

Si vous prévoyez d'utiliser des environnements IP privés, activez l'accès privé à Google pour le sous-réseau du projet hôte. Vous pouvez le faire à l'étape suivante, au moment de configurer les ressources réseau pour un sous-réseau nouveau ou existant.

Si vous envisagez d'utiliser des environnements d'adresses IP publiques, nous vous recommandons toujours d'activer l'accès privé à Google pour le sous-réseau du projet hôte. Si vous choisissez de ne pas utiliser l'accès privé à Google, assurez-vous de ne pas bloquer le trafic qui serait autorisé par la règle de pare-feu implicite de sortie autorisée pour les adresses IPv4. Cette étape est obligatoire pour atteindre *.googleapis.com points de terminaison.

Configurer les ressources réseau

Choisissez l'une des options suivantes pour allouer et configurer des ressources réseau. Pour chaque option, vous devez nommer les plages d'adresses IP secondaires des pods et des services.

Configurer un VPC partagé et associer le projet de service

  1. Si ce n'est pas déjà fait, configurez le VPC partagé. Si vous avez déjà configuré un VPC partagé, passez à l'étape suivante.

  2. Associez le projet de service que vous utiliserez pour héberger les environnements Cloud Composer.

    Lorsque vous associez un projet, conservez les autorisations du réseau VPC par défaut.

Accorder des autorisations au compte d'agent de service Composer

Dans le projet hôte :

  1. Modifier les autorisations pour le compte d'agent de service Composer, service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com)

  2. Pour ce compte, ajoutez un autre rôle au niveau du projet:

    • Pour les environnements d'adresses IP privées, ajoutez le rôle Composer Shared VPC Agent.

    • Pour les environnements d'adresses IP publiques, ajoutez le rôle Compute Network User.

Accorder des autorisations au compte d'agent de service des API Google

Dans le projet hôte :

  1. Modifiez les autorisations pour le compte d'agent de service des API Google, SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com.

  2. Ajoutez un autre rôle, Utilisateur de réseau Compute (compute.networkUser) au niveau du projet. Il s'agit d'une exigence pour les groupes d'instances gérés utilisés avec un VPC partagé, car ce type de compte de service effectue des tâches telles que la création d'instances.

Modifier les autorisations pour les comptes de service GKE

Dans le projet hôte, modifiez les autorisations pour les comptes de service GKE service-SERVICE_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com.

Pour chaque compte de service, ajoutez un autre rôle, compute.networkUser, en utilisant l'une des options suivantes:

  • Accordez ce rôle au niveau du sous-réseau pour permettre à un compte de service de configurer les appairages de VPC requis par Cloud Composer. Dans ce cas, spécifiez explicitement le sous-réseau que l'environnement doit utiliser, car le cluster de l'environnement peut ne pas disposer des autorisations nécessaires pour trouver le sous-réseau au sein du réseau.

  • Accordez ce rôle au niveau du projet pour l'ensemble du projet hôte. Dans ce cas, le compte de service GKE du projet de service dispose des autorisations nécessaires pour utiliser n'importe quel sous-réseau du projet hôte.

Modifier les autorisations pour le compte de service GKE du projet de service

Dans le projet hôte, modifiez les autorisations du compte de service GKE du projet de service.

Pour ce compte, ajoutez un autre rôle au niveau du projet, Utilisateur de l'agent de service hôte Kubernetes Engine (roles/container.hostServiceAgentUser).

Cela permet au compte de service GKE du projet de service d'utiliser le compte de service GKE du projet hôte pour configurer des ressources réseau partagées.

(Adresse IP privée, facultatif) Configurer des règles de pare-feu et la connectivité aux domaines Google

Dans une configuration de VPC partagé avec des environnements IP privés, vous pouvez, en option, acheminer tout le trafic vers les API et les services Google via plusieurs adresses IP appartenant au domaine private.googleapis.com et configurer les règles de pare-feu correspondantes. Dans cette configuration, votre environnement accède aux API et services Google via des adresses IP routables uniquement à partir de Google Cloud. Si votre configuration de VPC partagé utilise VPC Service Controls, acheminez le trafic via restricted.googleapis.com à la place.

Si votre configuration de VPC partagé utilise des environnements IP privés:

  1. (Facultatif) Configurez la connectivité aux API et services Google.
  2. (Facultatif) Configurez des règles de pare-feu.

Si votre configuration de VPC partagé utilise VPC Service Controls, suivez plutôt les instructions pour les environnements avec VPC Service Controls:

  1. Configurez la connectivité aux API et services Google.
  2. Configurer des règles de pare-feu

Conclusion

Vous avez terminé la configuration du réseau VPC partagé pour les projets de service et hôtes.

Vous pouvez maintenant créer des environnements dans le projet de service qui utilisent le réseau VPC du projet hôte.

Étapes suivantes