Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
En esta página, se describe cómo habilitar el agente de enmascaramiento de IP para tu entorno.
Información 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/8
para 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/16
y 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 se puede habilitar el agente de enmascaramiento de IP en la consola de Google Cloud.
Habilitar 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 la creación de entornos de Cloud Composer, consulta Crea un entorno.
Console
No es posible habilitar el agente de enmascaramiento de IP en la consola de Google Cloud.
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_NAME
por el nombre del entorno.LOCATION
por 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_ID
por el ID del proyecto.LOCATION
por la región en la que se encuentra el entorno.ENVIRONMENT_NAME
por 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_NAME
por el nombre del entorno.LOCATION
por 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