Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página, se describe cómo habilitar el agente de IP Masquerade para tu entorno.
Acerca del agente de enmascaramiento de IP en Cloud Composer
Cloud Composer admite el agente de enmascaramiento de IP para tus entornos.
El enmascaramiento de IP es una forma de traducción de direcciones de red (NAT) que se usa para realizar traducciones de direcciones IP de varios a uno. Esto permite que varios clientes accedan a un destino desde una sola dirección IP.
Cloud Composer ejecuta tus cargas de trabajo en GKE. A fin de que funcione de forma correcta, requiere rangos de IP para nodos (VM), además de pods y servicios de GKE. Cuando los DAG y las tareas de Airflow se comunican con otros servicios, usan IP de Pods. Estos rangos de IP de Pods deben poder enrutarse desde y hacia cualquier destino con el que interactúen las tareas.
Con el agente de enmascaramiento de IP, tienes la opción de traducir las direcciones IP del Pod a las direcciones IP del nodo, de modo que los destinos y servicios orientados desde los DAG y las tareas de Airflow solo reciban paquetes de direcciones IP de nodo en lugar de direcciones IP de pods. Esto es útil en entornos en los que se espera recibir solo paquetes de direcciones IP de nodo o en las que los rangos de IP de pods no se pueden enrutar fuera del clúster.
Además, puedes usar el agente de enmascaramiento de IP para guardar rangos de red en la configuración de red. Por ejemplo, puedes usar un rango de red independiente para pods dentro del clúster de tu entorno y enmascarar este tráfico como si proviniera del rango de direcciones IP del nodo. De esta manera, ahorrarás espacio para direcciones IP en un rango mediante las direcciones IP de un rango diferente para los pods en el clúster de tu entorno.
Por ejemplo:
Debes usar el rango
10.0.0.0/8para las VM, y tus reglas de firewall solo permiten este rango.Para guardar rangos de red, debes usar un rango diferente (por ejemplo,
192.168.0.0/16) en los pods del clúster de tu entorno.Para poder conectarse a cualquier servicio desde un pod (trabajador de Airflow), se necesita un enmascaramiento de IP. De lo contrario, el servicio recibe tráfico de
192.168.0.0/16y lo descarta debido a una regla de firewall. Con el agente de enmascaramiento de IP habilitado y configurado, el servicio recibe solicitudes de10.0.0.0/8, que se aceptan.
Antes de comenzar
No es posible habilitar el agente de enmascaramiento de IP en la Google Cloud consola.
Para usar esta función, debes crear un entorno con la versión 1.22.7 de GKE o una posterior.
El agente de IP Masquerade no está disponible para los entornos que se crearon en versiones anteriores de GKE, incluso si GKE se actualizó a la versión 1.22.7 y versiones posteriores.
Si habilitas el agente de IP Masquerade, el EgressNatPolicy predeterminado de GKE se reemplazará por la definición de Cloud Composer. Si el agente de IP Masquerade no está habilitado, el tráfico saliente no se enmascarará y usará la EgressNatPolicy predeterminada de GKE.
Habilita el agente de enmascaramiento de IP para un entorno existente
No es posible habilitar el agente de enmascaramiento de IP para un entorno existente.
Habilita el agente de enmascaramiento de IP cuando crees un entorno
Puedes habilitar el agente de enmascaramiento de IP cuando creas un entorno.
Para obtener más información sobre cómo crear entornos de Cloud Composer, consulta Crea un entorno.
Console
No es posible habilitar el agente de enmascaramiento de IP en la Google Cloud consola.
gcloud
Cuando creas un entorno, el argumento --enable-ip-masq-agent habilita el agente de enmascaramiento de IP.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-2.14.4-airflow-2.10.5 \
--enable-ip-masq-agent
Reemplaza lo siguiente:
ENVIRONMENT_NAMEpor el nombre del entorno.LOCATIONpor la región en la que se encuentra el entorno.
Ejemplo:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-2.14.4-airflow-2.10.5 \
--enable-ip-masq-agent
API
Realiza una solicitud a la API de environments.create.
Especifica la configuración en el recurso Environment.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.14.4-airflow-2.10.5"
},
"nodeConfig": {
"enableIpMasqAgent": true
}
}
}
Reemplaza lo siguiente:
PROJECT_IDpor el ID del proyecto.LOCATIONpor la región en la que se encuentra el entorno.ENVIRONMENT_NAMEpor el nombre del entorno.
Ejemplo:
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "projects/example-project/locations/us-central1/environments/example-environment",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.14.4-airflow-2.10.5"
},
"nodeConfig": {
"enableIpMasqAgent": true
}
}
}
Terraform
Cuando creas un entorno, el campo enable_ip_masq_agent en el bloque node_config habilita el agente de enmascaramiento de IP.
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "composer-2.14.4-airflow-2.10.5"
}
node_config {
enable_ip_masq_agent = true
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAMEpor el nombre del entorno.LOCATIONpor la región en la que se encuentra el entorno.
Ejemplo:
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
software_config {
image_version = "composer-2.14.4-airflow-2.10.5"
}
node_config {
enable_ip_masq_agent = true
}
}
}
Configura el agente de enmascaramiento de IP
Si deseas obtener más información para usar y configurar el agente de enmascaramiento de IP en Cloud Composer 2, consulta Usa la política de NAT de salida para configurar el enmascaramiento de IP en clústeres Autopilot.
¿Qué sigue?
- Crear un entorno
- Configura herramientas de redes de VPC compartidas
- Configura herramientas de redes de IP privada