Configurer un réseau IP privé

Cloud Composer 1 | Cloud Composer 2

Cette page fournit des informations sur la configuration de la mise en réseau de votre projet Google Cloud pour les environnements d'adresse IP privée.

Pour les environnements d'adresse IP privée, Cloud Composer n'attribue que des adresses IP privées (RFC 1918) aux VM Cloud SQL et Google Kubernetes Engine gérées de votre environnement.

Si vous le souhaitez, vous pouvez également utiliser des adresses IP publiques utilisées en mode privé et l'agent de masquage d'adresses IP pour enregistrer l'espace d'adresses IP et utiliser des adresses non-RFC 1918.

Pour en savoir plus sur la connexion aux ressources de votre environnement, consultez la section Environnement Cloud Composer d'adresse IP privée.

Avant de commencer

Assurez-vous de disposer des autorisations d'utilisateur et de compte de service appropriées pour créer un environnement.

Vérifier la configuration réseau requise

Vérifiez que le réseau VPC de votre projet répond aux exigences suivantes:

  • Assurez-vous qu'il n'existe pas de conflit de bloc d'adresses IP privées. Si le réseau VPC et ses pairs VPC établis présentent des blocs d'adresses IP qui se chevauchent avec le réseau VPC dans le projet locataire géré par Google, Cloud Composer ne peut pas créer votre environnement. Consultez le tableau des plages d'adresses IP par défaut pour connaître les valeurs par défaut utilisées dans chaque région.

  • Assurez-vous qu'il existe suffisamment de plages d'adresses IP secondaires pour les pods et services GKE de Cloud Composer. GKE recherche des plages d'adresses IP secondaires pour la création d'alias d'adresses IP. Si GKE n'arrive pas à trouver de plage, Cloud Composer ne peut pas créer votre environnement.

  • Vérifiez que le nombre de plages secondaires de votre sous-réseau ne dépasse pas 30. Réfléchissez aux éléments suivants :

    • Le cluster GKE de votre environnement d'adresse IP privée crée deux plages secondaires dans le sous-réseau. Vous pouvez créer plusieurs sous-réseaux dans la même région pour le même réseau VPC.
    • Le nombre maximal de plages secondaires acceptées est 30. Chaque environnement d'adresse IP privée nécessite deux plages secondaires pour les pods et services GKE de Cloud Composer.
  • Assurez-vous que le réseau de votre projet peut supporter la limite du nombre maximal de connexions à un seul réseau VPC. Le nombre maximal d'environnements d'adresses IP privées que vous pouvez créer dépend du nombre de connexions d'appairage de VPC déjà existantes dans votre réseau VPC.

  • Chaque environnement IP privé utilise au maximum deux appairages VPC par environnement. Cloud Composer crée un appairage de VPC pour le réseau du projet locataire. Le second appairage est créé par le cluster GKE de votre environnement, et les clusters GKE peuvent réutiliser cette connexion.

Choisir un réseau, un sous-réseau et des plages réseau

Choisissez les plages réseau pour votre environnement d'adresse IP privée (ou utilisez les valeurs par défaut). Vous utiliserez ces plages réseau ultérieurement lorsque vous créerez un environnement d'adresse IP privée.

Pour créer un environnement d'adresse IP privée, vous devez disposer des informations suivantes :

  • L'ID de votre réseau VPC
  • L'ID de votre sous-réseau VPC
  • Deux plages d'adresses IP secondaires dans votre sous-réseau VPC :
    • Plage d'adresses IP secondaire pour les pods
    • Plage d'adresses IP secondaire pour les services
  • Plages d'adresses IP pour les composants de l'environnement:

    • Plage d'adresses IP du plan de contrôle GKE. Plage d'adresses IP pour le plan de contrôle GKE.
      • Plage d'adresses IP du serveur Web.
    • Plage d'adresses IP du serveur Web. Plage d'adresses IP pour l'instance de serveur Web Airflow.
    • Plage d'adresses IP Cloud SQL. Plage d'adresses IP pour l'instance Cloud SQL.

Consultez le tableau des plages d'adresses IP par défaut pour connaître les valeurs par défaut utilisées dans chaque région.

Plages d'adresses IP par défaut

Région Plage d'adresses IP du plan de contrôle GKE Plage d'adresses IP du serveur Web Plage d'adresses IP Cloud SQL
asia-east1 172.16.42.0/23 172.31.255.0/24 10.0.0.0/12
asia-east2 172.16.0.0/23 172.31.255.0/24 10.0.0.0/12
asia-northeast1 172.16.2.0/23 172.31.254.0/24 10.0.0.0/12
asia-northeast2 172.16.32.0/23 172.31.239.0/24 10.0.0.0/12
asia-northeast3 172.16.30.0/23 172.31.240.0/24 10.0.0.0/12
asia-south1 172.16.4.0/23 172.31.253.0/24 10.0.0.0/12
asia-south2 172.16.50.0/23 172.31.230.0/24 10.0.0.0/12
asia-southeast1 172.16.40.0/23 172.31.235.0/24 10.0.0.0/12
asia-southeast2 172.16.44.0/23 172.31.233.0/24 10.0.0.0/12
australia-southeast1 172.16.6.0/23 172.31.252.0/24 10.0.0.0/12
australia-southeast2 172.16.56.0/23 172.31.227.0/24 10.0.0.0/12
europe-central2 172.16.36.0/23 172.31.237.0/24 10.0.0.0/12
europe-north1 172.16.48.0/23 172.31.231.0/24 10.0.0.0/12
europe-southwest1 172.16.58.0/23 172.31.226.0/24 10.0.0.0/12
europe-west1 172.16.8.0/23 172.31.251.0/24 10.0.0.0/12
europe-west10 172.16.62.0/23 172.31.224.0/24 10.0.0.0/12
europe-west12 172.16.62.0/23 172.31.224.0/24 10.0.0.0/12
europe-west2 172.16.10.0/23 172.31.250.0/24 10.0.0.0/12
europe-west3 172.16.12.0/23 172.31.249.0/24 10.0.0.0/12
europe-west4 172.16.42.0/23 172.31.234.0/24 10.0.0.0/12
europe-west6 172.16.14.0/23 172.31.248.0/24 10.0.0.0/12
europe-west8 172.16.60.0/23 172.31.225.0/24 10.0.0.0/12
europe-west9 172.16.46.0/23 172.31.232.0/24 10.0.0.0/12
me-central1 172.16.58.0/23 172.31.226.0/24 10.0.0.0/12
me-west1 172.16.54.0/23 172.31.228.0/24 10.0.0.0/12
northamerica-northeast1 172.16.16.0/23 172.31.247.0/24 10.0.0.0/12
northamerica-northeast2 172.16.46.0/23 172.31.232.0/24 10.0.0.0/12
southamerica-east1 172.16.18.0/23 172.31.246.0/24 10.0.0.0/12
southamerica-west1 172.16.58.0/23 172.31.226.0/24 10.0.0.0/12
us-central1 172.16.20.0/23 172.31.245.0/24 10.0.0.0/12
us-east1 172.16.22.0/23 172.31.244.0/24 10.0.0.0/12
us-east4 172.16.24.0/23 172.31.243.0/24 10.0.0.0/12
us-east5 172.16.52.0/23 172.31.229.0/24 10.0.0.0/12
us-south1 172.16.56.0/23 172.31.227.0/24 10.0.0.0/12
us-west1 172.16.38.0/23 172.31.236.0/24 10.0.0.0/12
us-west2 172.16.34.0/23 172.31.238.0/24 10.0.0.0/12
us-west3 172.16.26.0/23 172.31.242.0/24 10.0.0.0/12
us-west4 172.16.28.0/23 172.31.241.0/24 10.0.0.0/12

(Facultatif) Configurer la connectivité aux API et services Google

Vous pouvez également acheminer tout le trafic vers les API et les services Google via plusieurs adresses IP appartenant au domaine private.googleapis.com. Dans cette configuration, votre environnement accède aux API et services Google via des adresses IP routables uniquement depuis Google Cloud.

Si votre environnement IP privé utilise également VPC Service Controls, utilisez plutôt les instructions pour les environnements dotés de VPC Service Controls.

Les environnements Cloud Composer utilisent les domaines suivants:

  • *.googleapis.com permet d'accéder à d'autres services Google.

  • *.pkg.dev permet d'obtenir des images d'environnement, par exemple lors de la création ou de la mise à jour d'un environnement.

  • *.gcr.io GKE nécessite une connectivité au domaine Container Registry, quelle que soit la version de Cloud Composer.

Configurez la connectivité au point de terminaison private.googleapis.com :

Domaine Nom DNS Enregistrement CNAME Enregistrement A
*.googleapis.com googleapis.com. Nom DNS: *.googleapis.com.
Type d'enregistrement de ressource: CNAME
Nom canonique: googleapis.com.
Type d'enregistrement de ressource: A
Adresses IPv4: 199.36.153.8, 199.36.153.9, 199.36.153.10, 199.36.153.11
*.pkg.dev pkg.dev. Nom DNS: *.pkg.dev.
Type d'enregistrement de ressource: CNAME
Nom canonique: pkg.dev.
Type d'enregistrement de ressource: A
Adresses IPv4: 199.36.153.8, 199.36.153.9, 199.36.153.10, 199.36.153.11
*.gcr.io gcr.io. Nom DNS: *.gcr.io.
Type d'enregistrement de ressource: CNAME
Nom canonique: gcr.io.
Type d'enregistrement de ressource: A
Adresses IPv4: 199.36.153.8, 199.36.153.9, 199.36.153.10, 199.36.153.11

Pour créer une règle DNS:

  1. Créez une zone DNS et utilisez le nom DNS comme nom DNS de cette zone.

    Exemple : pkg.dev.

  2. Ajoutez un jeu d'enregistrements pour l'enregistrement CNAME.

    Exemple :

    • Nom DNS: *.pkg.dev.
    • Type d'enregistrement de ressource: CNAME
    • Nom canonique: pkg.dev.
  3. Ajouter un jeu d'enregistrements avec pour A Record (Enregistrement A) :

    Exemple :

    • Type d'enregistrement de ressource: A
    • Adresses IPv4: 199.36.153.8, 199.36.153.9, 199.36.153.10 et 199.36.153.11

Pour en savoir plus, consultez la page Configurer une connectivité privée aux API et services Google.

Configurer des règles de pare-feu (facultatif)

N'effectuez cette étape que si votre projet dispose de règles de pare-feu autres que celles par défaut, telles que des règles qui ignorent les règles de pare-feu implicites, ou modifient des règles préremplies dans le réseau par défaut.

Par exemple, Cloud Composer peut ne pas parvenir à créer un environnement si vous avez une règle de pare-feu qui refuse tout le trafic de sortie. Pour éviter tout problème, définissez des règles allow sélectives qui suivent la liste et ont une priorité plus élevée que la règle deny globale.

Configurez votre réseau VPC pour autoriser le trafic provenant de votre environnement:

  • Consultez la section Utiliser des règles de pare-feu pour savoir comment vérifier, ajouter et mettre à jour des règles pour votre réseau VPC.
  • Utilisez l'outil de connectivité pour valider la connectivité entre les plages d'adresses IP.
  • Vous pouvez utiliser des tags réseau pour limiter davantage l'accès. Vous pouvez définir ces balises lorsque vous créez un environnement.
Description Sens Action Source ou destination Protocoles Ports
DNS Sortie Autoriser Toute adresse IP de destination (0.0.0.0/0) ou de serveur DNS TCP, UDP 53
API et services Google Sortie Autoriser Plage d'adresses IP du domaine que vous avez choisi pour les API et les services Google Consultez la section Adresses IP des domaines par défaut si vous utilisez les valeurs par défaut. TCP 443
Nœuds du cluster de l'environnement Sortie Autoriser Plage d'adresses IP principale du sous-réseau de l'environnement TCP, UDP tous
Pods de l'environnement Sortie Autoriser Plage d'adresses IP secondaire des pods dans le sous-réseau de l'environnement TCP, UDP tous
Plan de contrôle du cluster de l'environnement Sortie Autoriser Plage d'adresses IP du plan de contrôle GKE TCP, UDP tous
Serveur Web Sortie Autoriser Plage d'adresses IP du réseau du serveur Web TCP 3306, 3307

Pour obtenir les plages d'adresses IP:

  • Les plages d'adresses des pods, des services et du plan de contrôle sont disponibles sur la page Clusters du cluster de votre environnement:

    1. Dans la console Google Cloud, accédez à la page Environnements.

      Accéder à la page Environnements

    2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

    3. Accédez à l'onglet Configuration de l'environnement.

    4. Suivez le lien Afficher les détails du cluster.

  • Vous pouvez consulter la plage d'adresses IP du serveur Web de l'environnement dans l'onglet Configuration de l'environnement.

  • L'ID réseau de l'environnement s'affiche dans l'onglet Configuration de l'environnement. Pour obtenir les plages d'adresses IP d'un sous-réseau, accédez à la page Réseaux VPC, puis cliquez sur le nom du réseau pour afficher les détails:

    Accéder aux réseaux VPC

Configuration d'un cluster de VPC natif

Cloud Composer accepte les clusters GKE de VPC natif dans votre environnement.

Pendant la création de l'environnement, vous pouvez activer un VPC natif (en utilisant une adresse IP d'alias) et configurer la mise en réseau, telle que l'attribution d'adresses IP, sans activer l'adresse IP privée.

Étant donné qu'un cluster de VPC natif est nécessaire pour que les tâches Airflow communiquent avec d'autres VM accessibles via des adresses IP privées, vous devez également activer le VPC natif pour configurer un environnement d'adresse IP privée.

Configurer les paramètres du serveur proxy

Vous pouvez définir des variables d'environnement HTTP_PROXY et HTTPS_PROXY dans votre environnement. Ces variables Linux standards sont utilisées par les clients Web qui s'exécutent dans les conteneurs du cluster de votre environnement pour acheminer le trafic via les proxys spécifiés.

Par défaut, la variable NO_PROXY est définie sur une liste de domaines Google à exclure de la transmission par proxy : .google.com,.googleapis.com,metadata.google.internal. Cette configuration permet de créer un environnement avec des variables d'environnement HTTP_PROXY et HTTPS_PROXY définies lorsque le proxy n'est pas configuré pour gérer le trafic vers les services Google.