Modifier le type de réseau de l'environnement (adresse IP privée ou publique)

Managed Airflow (3e génération) | Managed Airflow (2e génération) | Managed Airflow (1re génération héritée)

Cette page explique la différence entre les types de mise en réseau d'environnement d'adresse IP privée et d'adresse IP publique dans Managed Airflow (3e génération), et fournit des instructions pour modifier le type de mise en réseau de votre environnement.

Si vous souhaitez désactiver ou activer l'accès à Internet uniquement lors de l'installation de packages PyPI, consultez Configurer l'accès à Internet lors de l'installation de packages PyPI.

Si vous souhaitez activer l'accès à votre réseau VPC depuis votre environnement, consultez Connecter un environnement à un réseau VPC.

À propos des types de mise en réseau d'environnement

Managed Airflow (3e génération) utilise deux types de mise en réseau d'environnement :

  • Mise en réseau IP publique :

    • Les composants Airflow de l'environnement peuvent accéder à Internet. Il s'agit du type de mise en réseau par défaut.

    • Les composants Airflow dans les environnements d'adresse IP publique établissent des connexions sortantes à partir d'adresses IP publiques et de ports alloués automatiquement. Si vous souhaitez que vos environnements d'adresse IP publique utilisent des adresses IP et des ports prédéterminés, vous pouvez le faire en connectant un réseau VPC à votre environnement et en le passant à une adresse IP privée. Dans ce cas, Managed Airflow achemine tout le trafic, à l'exception du trafic vers les services Google, via ce réseau.

  • Mise en réseau IP privée :

    • La mise en réseau IP privée est une option plus sécurisée que la mise en réseau IP publique.

    • Les composants Airflow de l'environnement n'ont pas accès à Internet. Pour les environnements associés à un réseau VPC, la configuration du réseau contrôle l'accès à Internet.

    • Les environnements d'adresse IP privée configurent l'accès privé à Google via la plage private.googleapis.com, qui permet d'accéder aux API, services et domaines Google compatibles avec cette plage.

      Pour en savoir plus et obtenir la liste des services et domaines disponibles via private.googleapis.com, consultez Configuration du réseau dans la documentation Virtual Private Cloud.

    • Les environnements d'adresse IP privée avec VPC Service Controls configurent l'accès privé à Google via la restricted.googleapis.com plage, qui permet d'accéder aux API, services et domaines Google compatibles avec cette plage.

      Pour en savoir plus et obtenir la liste des services et domaines disponibles via restricted.googleapis.com, consultez Configuration du réseau dans la documentation Virtual Private Cloud.

    • Si un environnement d'adresse IP privée est associé à un réseau VPC personnalisé, tout le trafic interne est acheminé vers le réseau VPC, à l'exception du trafic vers les API, services et domaines Google qui sont disponibles pour les environnements d'adresse IP privée via l'accès privé à Google.

Comparaison de la mise en réseau Managed Airflow (2e génération) et Managed Airflow (3e génération)

Dans Managed Airflow (3e génération), les environnements d'adresse IP privée ne nécessitent aucune configuration.

Les fonctionnalités de mise en réseau Managed Airflow (2e génération) suivantes ne sont plus pertinentes dans Managed Airflow (3e génération) :

  • Configurer un réseau IP privé. Vous n'avez pas besoin de spécifier de plages d'adresses IP ni de réseaux, ni de configurer la connectivité et les règles de pare-feu.

  • Configurer Private Service Connect. Vous n'avez pas besoin de définir de plages pour Private Service Connect dans Managed Airflow (3e génération).

  • Utiliser des plages d'adresses IP publiques utilisées en mode privé. Cette fonctionnalité permettait d'étendre les plages d'adresses IP disponibles, ce qui n'est pas nécessaire dans Managed Airflow (3e génération).

  • Utiliser l'agent de masquage d'adresses IP. Vous n'avez pas besoin de configurer la connectivité du cluster dans Managed Airflow (3e génération).

  • Configurer des réseaux autorisés. Il n'est pas possible d'accéder au cluster de l'environnement dans Managed Airflow (3e génération).

La configuration DNS suivante n'est pas compatible avec Managed Airflow (3e génération) :

  • Managed Airflow (3e génération) n'est pas compatible avec une zone DNS .internal définie par l'utilisateur. Si vous créez une zone DNS pour .internal, il ne sera pas possible d'y accéder.

Modifier le type de mise en réseau de l'environnement

Console

  1. Dans la Google Cloud console, 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. Dans la section Configuration du réseau , recherchez l'élément Type de mise en réseau , puis cliquez sur Modifier.

  5. Dans la boîte de dialogue Type de mise en réseau, sélectionnez :

    • Environnement IP public (par défaut) pour la mise en réseau IP publique.
    • Environnement IP privé pour la mise en réseau IP privée.
  6. Cliquez sur Enregistrer.

gcloud

Les arguments Google Cloud CLI suivants modifient le type de mise en réseau de l'environnement :

  • --enable-private-environment : passe à la mise en réseau IP privée.
  • --disable-private-environment : passe à la mise en réseau IP publique (par défaut).

Passer à la mise en réseau IP privée :

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --enable-private-environment

Passer à la mise en réseau IP publique :

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --disable-private-environment

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de l'environnement
  • LOCATION : région dans laquelle se trouve l'environnement

Exemple (adresse IP privée) :

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --enable-private-environment

Exemple (adresse IP publique) :

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --disable-private-environment

API

  1. Créez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez le masque config.private_environment_config.enable_private_environment.

    2. Dans le corps de la requête, dans le champ enablePrivateEnvironment :

      • Spécifiez true pour passer à la mise en réseau IP privée.
      • Spécifiez false pour passer à la mise en réseau IP publique (par défaut).

Exemple (adresse IP privée) :

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.private_environment_config.enable_private_environment

"config": {
  "privateEnvironmentConfig": {
    "enablePrivateEnvironment": true
  }
}

Terraform

Le champ enable_private_environment du bloc config spécifie le type de mise en réseau de l'environnement :

  • true : mise en réseau IP privée
  • false ou omis : mise en réseau IP publique (par défaut)
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    enable_private_environment = PRIVATE_IP_STATUS

  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de votre environnement
  • LOCATION : région dans laquelle se trouve l'environnement
  • PRIVATE_IP_STATUS : true pour une adresse IP privée, false pour une adresse IP publique

Exemple (adresse IP privée) :

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    enable_private_environment = true

    ... other configuration parameters
  }
}

Configurer des variables de 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, l'adresse IP du serveur de métadonnées Compute Engine du cluster de l'environnement et localhost, afin qu'ils soient exclus du proxy :

.google.com,.googleapis.com,metadata.google.internal,169.254.169.254,localhost

Cette configuration permet de créer un environnement avec des variables d'environnement http_proxy et https_proxy définies dans les cas où le proxy n'est pas configuré pour gérer le trafic vers les services Google.

Étape suivante