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 projet hôte pour Cloud Composer
Figure 1. Projets 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 s'adapter à la croissance prévue et prendre en compte les adresses IP inutilisables.

  • 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 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 Terraform, votre compte n'a pas besoin de cette autorisation supplémentaire.

Configurer le projet de service

Si aucun environnement Cloud Composer n'a jamais été créé dans le projet de service, provisionnez le compte de l'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 d'adresses IP privées, 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 d'adresses IP publiques, nous vous recommandons quand même En activant l'accès privé à Google pour le sous-réseau de l'hôte projet. Si vous choisissez de ne pas utiliser l'accès privé à Google, assurez-vous d'être pour ne pas bloquer le trafic. La règle de pare-feu implicite de sortie autorisée pour IPv4 autoriser. Cela est nécessaire pour atteindre les points de terminaison *.googleapis.com.

Configurer les ressources réseau

Choisissez l'une des options suivantes pour allouer et configurer la mise en réseau ressources. 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.

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. Modifier 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'un exigence applicable aux groupes d'instances gérés utilisés avec un VPC partagé car ce type de compte de service effectue des tâches comme création.

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'un des rôles les 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, explicitement spécifier le sous-réseau que l'environnement doit utiliser, car le le cluster de l'environnement Google ne dispose peut-être pas des autorisations nécessaires pour trouver le sous-réseau le réseau.

  • Accordez ce rôle au niveau du projet pour l'ensemble du projet hôte. Dans ce le compte de service GKE du projet de service les autorisations requises 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 pour le 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 VPC partagée avec des environnements d'adresses IP privées, vous pouvez opter pour acheminer tout le trafic vers les API et 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 depuis Google Cloud. Si votre configuration de VPC partagé utilise VPC Service Controls, puis acheminer 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, utilisez pour les environnements utilisant 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 d'hôte.

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

Étape suivante