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 des environnements d'adresses IP privées et publiques 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 des environnements

Managed Airflow (3e génération) utilise deux types de mise en réseau des environnements :

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

    • Dans les environnements d'adresses IP publiques, tout le trafic sortant vers les plages d'adresses IP publiques est acheminé via la passerelle Internet par défaut. Cette limitation inclut les adresses IP publiques utilisées en mode privé (PUPI) dans GKE, car elles chevauchent les plages d'adresses IP publiques. Par conséquent, le trafic destiné à votre adresse PUPI n'atteint pas votre adresse GKE privée, mais est acheminé vers l'Internet public. Pour activer les connexions aux plages PUPI, nous vous recommandons de passer votre environnement à la mise en réseau IP privée et de le connecter à un réseau VPC.

    • Les composants Airflow dans les environnements d'adresses IP publiques établissent des connexions sortantes à partir d'adresses IP publiques et de ports alloués automatiquement. Si vous souhaitez que vos environnements d'adresses IP publiques 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'adresses IP privées 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 Cloud privé virtuel.

    • Les environnements d'adresses IP privées 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 Cloud privé virtuel.

    • Si un environnement d'adresses IP privées est associé à un réseau VPC personnalisé, tout le trafic 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'adresses IP privées via l'accès privé à Google. Cette approche permet à vos composants Airflow de se connecter à des adresses IP publiques utilisées en mode privé (PUPI) dans GKE, car le trafic est acheminé via le réseau VPC au lieu d'être envoyé vers l'Internet public.

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'adresses IP privées 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 des plages d'adresses IP ni des réseaux, ni de configurer des règles de connectivité et 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 dans le 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 les variables 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, 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