Configurer un VPC partagé

Cloud Composer 1 | Cloud Composer 2

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 projet hôte pour Cloud Composer
Figure 1. Projet de service et projet hôte 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 tenir compte de la croissance anticipée et prendre en compte les adresses IP réservées.

  • Si vous utilisez l'agent de masquage d'adresses IP et la configuration d'adresses IP privées pour vos environnements, ajoutez les plages d'adresses IP des nœuds et des pods à la section nonMasqueradeCIDRs du 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 configurez Cloud Composer en mode IP privée ou en mode IP privée dans VPC SC, suivez les instructions permettant de configurer les règles DNS et de pare-feu, comme décrit dans les instructions relatives aux adresses IP privées et les instructions VPC SC.

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 prévoyez d'utiliser des environnements IP publics, 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 pourrait être autorisé par la règle de pare-feu d'autorisation IPv4 implicite. Cela permet d'atteindre les points de terminaison *.googleapis.com avec succès.

Configurer les ressources réseau

Choisissez l'une des options suivantes pour allouer et configurer les ressources réseau. Pour chaque option, vous devez nommer les plages d'adresses IP secondaires pour les pods et les 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.

Modifier les autorisations pour le compte de service des API Google

Dans le projet hôte, modifiez les autorisations du compte de service des API Google, SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com.

Pour ce compte, ajoutez un autre rôle 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 c'est ce type de compte de service qui effectue des tâches telles que la création d'instance.

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.

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. Notez que dans ce cas, vous devrez spécifier explicitement le sous-réseau à utiliser par l'environnement, car le cluster GKE peut ne pas disposer des autorisations nécessaires pour le trouver dans le réseau.

Vous pouvez également attribuer ce rôle pour l'ensemble du projet hôte. Dans ce cas, le compte de service GKE du projet de service est autorisé à 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 pour le compte de service GKE du projet de service.

Pour ce compte, ajoutez un autre rôle Host Service Agent User.

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.

Configurer la connectivité à *.pkg.dev

Dans le projet hôte, assurez-vous que le DNS *.pkg.dev correspond à la plage que vous avez définie pour l'accès privé à Google. L'exemple suivant utilisera 199.36.153.4/30.

Pour ce faire, créez une zone comme suit : CNAME *.pkg.dev -> pkg.dev. A pkg.dev. -> 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7

Modifier les autorisations pour le compte de service de l'agent Composer

  1. Dans le projet de service, s'il s'agit du premier environnement Cloud Composer, provisionnez le compte de service de l'agent Composer : gcloud beta services identity create --service=composer.googleapis.com.

  2. Dans le projet hôte :

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

    2. Pour ce compte, ajoutez un autre rôle :

      • 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.

Vous avez terminé la configuration du réseau VPC partagé pour le projet hôte.

Étapes suivantes