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.
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.
También debes habilitar el alias de IP con el argumento --enable-ip-alias.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-1.20.12-airflow-1.10.15 \
--enable-ip-alias \
--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-1.20.12-airflow-1.10.15 \
--enable-ip-alias \
--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-1.20.12-airflow-1.10.15"
},
"nodeConfig": {
"ipAllocationPolicy": {
"useIpAliases": true,
},
"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-1.20.12-airflow-1.10.15"
},
"nodeConfig": {
"ipAllocationPolicy": {
"useIpAliases": true,
},
"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.
También debes habilitar el alias de IP con el campo use_ip_aliases en el bloque ip_allocation_policy.
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "composer-1.20.12-airflow-1.10.15"
}
node_config {
ip_allocation_policy = [{
use_ip_aliases = true
// Other networking configuration
}]
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-1.20.12-airflow-1.10.15"
}
node_config {
ip_allocation_policy = [{
use_ip_aliases = true
// Other networking configuration
}]
enable_ip_masq_agent = true
}
}
}
Configura el agente de enmascaramiento de IP
Para obtener más información sobre el uso y la configuración del agente de enmascaramiento de IP en Cloud Composer 1, consulta Configura un agente de enmascaramiento de IP en clústeres de Standard.
¿Qué sigue?
- Crear un entorno
- Configura herramientas de redes de VPC compartidas
- Configura herramientas de redes de IP privada