Cambia el tipo de red del entorno (IP privada o pública)

Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)

En esta página, se explica la diferencia entre los tipos de redes de entornos de IP privada y de IP pública en Managed Airflow (Gen 3) y se proporcionan instrucciones para cambiar el tipo de red de tu entorno.

Si deseas inhabilitar o habilitar el acceso a Internet solo cuando instales paquetes de PyPI, consulta Configura el acceso a Internet cuando instales paquetes de PyPI.

Si quieres habilitar el acceso a tu red de VPC desde tu entorno, consulta Conecta un entorno a una red de VPC.

Acerca de los tipos de redes de entornos

Managed Airflow (3ª gen.) usa dos tipos de redes de entorno:

  • Herramientas de redes de IP pública:

    • Los componentes de Airflow del entorno pueden acceder a Internet. Este es el tipo de Herramientas de redes predeterminado.

    • En los entornos de IP pública, todo el tráfico saliente a los rangos de IP pública se enruta a través de la puerta de enlace de Internet predeterminada. Esta limitación incluye las IP públicas de uso privado (PUPI) que se usan en GKE, ya que se superponen con los rangos de IP públicas. Como resultado, el tráfico destinado a tu dirección PUPI no llega a tu dirección privada de GKE, sino que se enruta a la Internet pública. Para habilitar las conexiones a rangos de PUPI, te recomendamos que cambies tu entorno a redes de IP privadas y lo conectes a una red de VPC.

    • Los componentes de Airflow en entornos de IP pública establecen conexiones salientes desde direcciones IP públicas y puertos asignados automáticamente. Si deseas que tus entornos de IP pública usen direcciones IP y puertos predeterminados, puedes hacerlo conectando una red de VPC a tu entorno y cambiándolo a IP privada. En este caso, Managed Airflow enruta todo el tráfico, excepto el tráfico a los servicios de Google, a través de esta red.

  • Herramientas de redes de IP privada:

    • Las redes de IP privada son una opción más segura en comparación con las redes de IP pública.

    • Los componentes de Airflow del entorno no tienen acceso a Internet. En el caso de los entornos conectados a una red de VPC, la configuración de red controla el acceso a Internet.

    • Los entornos de IP privadas configuran el Acceso privado a Google a través del rango private.googleapis.com, que permite el acceso a las APIs, los servicios y los dominios de Google compatibles con este rango.

      Para obtener más información y la lista de servicios y dominios disponibles a través de private.googleapis.com, consulta Configuración de red en la documentación de la nube privada virtual.

    • Los entornos de IP privada con Controles del servicio de VPC configuran el Acceso privado a Google a través del rango restricted.googleapis.com, lo que permite el acceso a las APIs, los servicios y los dominios de Google compatibles con este rango.

      Para obtener más información y la lista de servicios y dominios disponibles a través de restricted.googleapis.com, consulta Configuración de red en la documentación de la nube privada virtual.

    • Si un entorno de IP privada está vinculado a una red de VPC personalizada, todo el tráfico se enruta a la red de VPC, excepto el tráfico a las APIs, los servicios y los dominios de Google que están disponibles para los entornos de IP privada a través del Acceso privado a Google. Este enfoque permite que tus componentes de Airflow se conecten a IP públicas de uso privado (PUPI) en GKE, ya que el tráfico se enrutará a través de la red de VPC en lugar de enviarse a Internet pública.

Comparación de las redes de Managed Airflow (gen. 2) y Managed Airflow (gen. 3)

En Managed Airflow (3ª gen.), los entornos de IP privada no requieren configuración.

Las siguientes funciones de redes de Managed Airflow (2ª gen.) ya no son relevantes en Managed Airflow (3ª gen.):

  • Configura herramientas de redes de IP privada. No es necesario que especifiques rangos de IP ni redes, ni que configures la conectividad y las reglas de firewall.

  • Configura Private Service Connect. No es necesario que establezcas rangos para Private Service Connect en Managed Airflow (Gen 3).

  • Uso de rangos de IP públicas que se usan de forma privada Esta función proporcionaba una opción para extender los rangos de IP disponibles, que no son necesarios en Managed Airflow (Gen 3).

  • Cómo usar el agente de enmascaramiento de IP No es necesario que configures la conectividad del clúster en Managed Airflow (3ª gen.).

  • Configura redes autorizadas. No es posible acceder al clúster del entorno en Managed Airflow (3ª gen.).

La siguiente configuración de DNS no es compatible con Managed Airflow (Gen 3):

  • Airflow administrado (Gen 3) no admite una zona del DNS .internal definida por el usuario. Si creas una zona de DNS para .internal, no se podrá acceder a ella.

Cambia el tipo de red del entorno

Console

  1. En la consola de Google Cloud , ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.

  3. Ve a la pestaña Configuración del entorno.

  4. En la sección Configuración de red, busca el elemento Tipo de red y haz clic en Editar.

  5. En el diálogo Tipo de red, selecciona una de las siguientes opciones:

    • Entorno de IP pública (predeterminado) para redes de IP pública
    • Entorno de IP privada para redes de IP privada.
  6. Haz clic en Guardar.

gcloud

Los siguientes argumentos de Google Cloud CLI cambian el tipo de redes del entorno:

  • --enable-private-environment: Cambios en las redes de IP privada.
  • --disable-private-environment: Cambios en las redes de IP pública (predeterminadas).

Cambia a Herramientas de redes de IP privada:

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

Cambia a redes con IP pública:

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

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.

Ejemplo (IP privada):

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

Ejemplo (IP pública):

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

API

  1. Crea una solicitud a la API de environments.patch.

  2. En esta solicitud, realiza lo siguiente:

    1. En el parámetro updateMask, especifica la máscara config.private_environment_config.enable_private_environment.

    2. En el cuerpo de la solicitud, en el campo enablePrivateEnvironment, haz lo siguiente:

      • Especifica true para cambiar a las herramientas de redes de IP privada.
      • Especifica false para cambiar a Herramientas de redes de IP pública (predeterminado).

Ejemplo (IP privada):

// 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

El campo enable_private_environment en el bloque config especifica el tipo de redes del entorno:

  • true: Herramientas de redes de IP privada.
  • false o se omite: Redes con IP pública (predeterminado).
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    enable_private_environment = PRIVATE_IP_STATUS

  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre de tu entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.
  • PRIVATE_IP_STATUS: true para la IP privada y false para la IP pública

Ejemplo (IP privada):

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

  config {

    enable_private_environment = true

    ... other configuration parameters
  }
}

Configura variables del servidor proxy

Puedes establecer http_proxy y https_proxy variables de entorno en tu entorno. Los clientes web que se ejecutan en contenedores del clúster de tu entorno usan estas variables estándar de Linux para enrutar el tráfico a través de los proxies especificados.

De forma predeterminada, la variable NO_PROXY se establece en una lista de dominios de Google, la dirección IP del servidor de metadatos de Compute Engine del clúster del entorno y localhost para que se excluyan del proxy:

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

Esta configuración permite crear un entorno con variables de entorno http_proxy y https_proxy establecidas en los casos en que el proxy no está configurado para controlar el tráfico a los servicios de Google.

¿Qué sigue?