Configurer un environnement Cloud Composer d'adresse IP privée

Cette page fournit des informations sur la configuration d'un environnement Cloud Composer d'adresse IP privée.

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

Pour en savoir plus sur la connexion aux ressources de votre environnement, reportez-vous à la section Adresse IP privée.

Avant de commencer

Contrôle des accès

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 la colonne Plage d'adresses IP du serveur Web dans le tableau ci-dessous pour connaître les valeurs par défaut utilisées dans chaque région.
  • Vérifiez que les plages d'adresses IP secondaires suffisent 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.
  • Assurez-vous que le nombre de connexions d'appairage de VPC dans votre réseau VPC ne dépasse pas le seuil des 25. Réfléchissez aux éléments suivants :
    • Pour chaque environnement Cloud Composer d'adresse IP privée, Cloud Composer crée une connexion d'appairage pour le réseau du projet locataire.
    • Le cluster privé GKE crée une autre connexion d'appairage de VPC dans votre réseau VPC.
    • Cloud Composer peut accepter jusqu'à 12 environnements Cloud Composer d'adresse IP privée au maximum.
    • Le nombre maximal d'environnements Cloud Composer d'adresse IP privée que vous pouvez créer dépend du nombre de connexions d'appairage de VPC que vous utilisez sur votre réseau VPC.
  • Assurez-vous 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 Cloud Composer 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. Étant donné que chaque environnement Cloud Composer d'adresse IP privée nécessite deux plages secondaires pour les pods et services GKE de Cloud Composer, chaque sous-réseau accepte jusqu'à 15 environnements Cloud Composer d'adresse IP privée.

Configurer un 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.

La section suivante fournit des exemples de configuration d'adresses IP privées et de plages secondaires.

Configurer un environnement Cloud Composer d'adresse IP privée et des plages secondaires

Console

  1. Ouvrez la page Créer un environnement dans Google Cloud Console.

    Ouvrir la page Créer un environnement

  2. Configurez votre environnement.
  3. Cochez la case Activer le VPC natif (utilisation d'une adresse IP d'alias).
  4. Saisissez la configuration réseau du cluster GKE de votre environnement, y compris les plages secondaires des alias d'adresses IP, si nécessaire.
  5. Pour activer un environnement Cloud Composer d'adresse IP privée, cochez Environnement IP privé.
  6. Sous Plage d'adresses IP privées du cluster GKE, saisissez une plage d'adresses IP pour le VPC du maître ou utilisez la plage d'adresses IP par défaut.
  7. Pour activer un point de terminaison public pour le cluster GKE dans votre environnement, cochez la case Accéder au maître GKE à l'aide d'une adresse IP externe.

    Votre cluster est soumis à la configuration accès public aux points de terminaison désactivé.

  8. Sous Adresse IP privée du serveur Web, saisissez une plage d'adresses IP pour le serveur Web Airflow ou utilisez la plage d'adresses IP par défaut.
  9. Sous Adresse IP privée Cloud SQL, saisissez une plage d'adresses IP pour l'instance Cloud SQL ou utilisez la plage d'adresses IP par défaut.
  10. Une fois la configuration de votre environnement terminée, cliquez sur Créer.

gcloud

Configurez votre environnement, y compris les arguments suivants pour un environnement Cloud Composer d'adresse IP privée, en fonction de vos besoins :

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION --enable-private-environment \
    OTHER_ARGUMENTS

Sauf indication contraire, les paramètres suivants sont obligatoires :

  • ENVIRONMENT_NAME est le nom de l'environnement. Il doit correspondre au modèle ^[a-z](?:[-0-9a-z]{0,62}[0-9a-z])?$.
  • LOCATION est la région Compute Engine dans laquelle se trouve l'environnement.
  • --enable-private-environment permet d'activer un environnement Cloud Composer d'adresse IP privée.
  • --enable-ip-alias permet d'activer le VPC natif à l'aide d'adresses IP d'alias. Ce paramètre est obligatoire lors de l'utilisation de --enable-private-environment ou lors de la configuration de plages secondaires pour les pods et les services :
    • --cluster-secondary-range-name ou --cluster-ipv4-cidr permet de configurer la plage secondaire des pods.
    • --services-secondary-range-name ou --services-ipv4-cidr permet de configurer la plage secondaire des services.
  • master-ipv4-cidr permet de spécifier une plage d'adresses IP privées RFC 1918 pour le VPC du maître.
  • (Facultatif) enable-private-endpoint permet d'activer un point de terminaison public pour le cluster GKE dans votre environnement. Votre cluster est soumis à la configuration accès public aux points de terminaison désactivé.

L'exemple suivant crée un environnement exécutant la dernière version d'image compatible de Cloud Composer dans la région us-central1 qui utilise le type de machine n1-standard-2.

L'adresse IP privée est activée pour l'environnement, et 192.168.2.0/28 correspond à la plage d'adresses IP pour le VPC du maître GKE.

gcloud composer environments create test-environment \
    --location us-central1 \
    --zone us-central1-f \
    --machine-type n1-standard-2 \
    --image-version composer-latest-airflow-x.y.z \
    --enable-ip-alias \
    --enable-private-environment \
    --enable-private-endpoint \
    --master-ipv4-cidr 192.168.2.0/28 

API

Pour créer un environnement Cloud Composer avec l'API REST Cloud Composer, effectuez une requête API environments.create, en spécifiant vos informations de configuration dans le champ de la ressource Environment.

Par exemple, cette requête d'API crée un environnement nommé privateip-test dans la zone us-central1-c :

POST https://composer.googleapis.com/v1/projects/test-project/locations/us-central1/environments{
  "config":{
    "nodeConfig":{
      "ipAllocationPolicy":{
        "useIpAliases":true,
        "clusterIpv4CidrBlock":"10.56.0.0/14",
        "servicesIpv4CidrBlock":"10.122.0.0/20"
      },
      "location":"projects/test-project/zones/us-central1-c",
      "network":"projects/test-project/global/networks/default",
      "oauthScopes":[

      ],
      "subnetwork":"projects/test-project/regions/us-central1/subnetworks/default",
      "tags":[

      ]
    },
    "nodeCount":3,
    "privateEnvironmentConfig":{
      "cloudSqlIpv4CidrBlock":"10.32.0.0/12",
      "webServerIpv4CidrBlock":"172.30.240.0/24",
      "enablePrivateEnvironment":true,
      "privateClusterConfig":{
        "enablePrivateEndpoint":false,
        "masterIpv4CidrBlock":"172.18.50.0/28"
      }
    },
    "softwareConfig":{
      "airflowConfigOverrides":{

      },
      "envVariables":{

      },
      "pythonVersion":"3",
      "pypiPackages":{

      }
    }
  },
  "labels":{
    "purpose":"test"
  },
  "name":"projects/test-project/locations/us-central1/environments/privateip-test"
}

Plages d'adresses IP par défaut

Région Plage d'adresses IP maître GKE Plage d'adresses IP du serveur Web Plage d'adresses IP Cloud SQL
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
australia-southeast1 172.16.6.0/23 172.31.252.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-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-west6 172.16.14.0/23 172.31.248.0/24 10.0.0.0/12
northamerica-northeast1 172.16.16.0/23 172.31.247.0/24 10.0.0.0/12
southamerica-east1 172.16.18.0/23 172.31.246.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-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