Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
In questa pagina viene descritto come abilitare l'agente di mascheramento IP per il tuo ambiente.
Informazioni sull'agente di mascheramento IP in Managed Airflow
Managed Airflow supporta l'agente di mascheramento IP per i tuoi ambienti.
Il mascheramento IP è una forma di Network Address Translation (NAT) utilizzata per eseguire traduzioni molti-a-uno degli indirizzi IP. Ciò consente a più client di accedere a una destinazione da un singolo indirizzo IP.
Managed Airflow esegue i carichi di lavoro su GKE. Per un corretto funzionamento, richiede intervalli IP per i nodi (VM) e per i pod e i servizi GKE. Quando i DAG e le attività di Airflow comunicano con altri servizi, utilizzano gli IP dei pod e questi intervalli IP dei pod devono essere instradabili da e verso tutte le destinazioni con cui le attività interagiscono.
Con l'agente di mascheramento IP, hai la possibilità di tradurre gli indirizzi IP dei pod in indirizzi IP dei nodi, in modo che le destinazioni e i servizi di destinazione dei DAG e delle attività di Airflow ricevano solo pacchetti dagli indirizzi IP dei nodi anziché dagli indirizzi IP dei pod. Questa funzionalità è utile negli ambienti che prevedono di ricevere pacchetti solo dagli indirizzi IP dei nodi o in cui gli intervalli IP dei pod non sono instradabili al di fuori del cluster.
Inoltre, puoi utilizzare l'agente di mascheramento IP per salvare gli intervalli di rete nella configurazione di rete. Ad esempio, puoi utilizzare un intervallo di rete separato per i pod all'interno del cluster del tuo ambiente e mascherare questo traffico come se provenisse dall'intervallo di indirizzi IP dei nodi. In questo modo, risparmi spazio di indirizzi IP in un intervallo utilizzando indirizzi IP di un intervallo diverso per i pod nel cluster del tuo ambiente.
Ad esempio:
Utilizzi l'intervallo
10.0.0.0/8per le VM e solo questo intervallo è consentito dalle regole firewall.Per salvare gli intervalli di rete, utilizzi un intervallo diverso (ad esempio,
192.168.0.0/16) per i pod nel cluster del tuo ambiente.Per poter connetterti a qualsiasi servizio da un pod (worker di Airflow), è necessario il mascheramento IP; in caso contrario, il servizio riceve traffico da
192.168.0.0/16e lo elimina a causa di una regola firewall. Con l'agente di mascheramento IP abilitato e configurato, il servizio riceve richieste da10.0.0.0/8, che vengono accettate.
Prima di iniziare
Non è possibile abilitare l'agente di mascheramento IP in Google Cloud console.
Per utilizzare questa funzionalità, devi creare un ambiente con GKE 1.22.7 o versioni successive.
L'agente di mascheramento IP non è disponibile per gli ambienti creati nelle versioni precedenti di GKE, anche se GKE è stato aggiornato alla versione 1.22.7 e successive.
Se abiliti l'agente di mascheramento IP, EgressNatPolicy predefinita di GKE verrà sostituita dalla definizione di Managed Airflow. Se l'agente di mascheramento IP non è abilitato, il traffico in uscita non verrà mascherato e utilizzerà EgressNatPolicy predefinita di GKE.
Abilitare l'agente di mascheramento IP per un ambiente esistente
Non è possibile abilitare l'agente di mascheramento IP per un ambiente esistente.
Abilitare l'agente di mascheramento IP durante la creazione di un ambiente
Puoi abilitare l'agente di mascheramento IP quando crei un ambiente.
Per saperne di più sulla creazione di ambienti Managed Airflow, consulta Creare un ambiente.
Console
Non è possibile abilitare l'agente di mascheramento IP in Google Cloud console.
gcloud
Quando crei un ambiente, l'argomento --enable-ip-masq-agent abilita l'agente di mascheramento IP.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-2.17.12-airflow-2.11.1 \
--enable-ip-masq-agent
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.
Esempio:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-2.17.12-airflow-2.11.1 \
--enable-ip-masq-agent
API
Crea una richiesta API environments.create.
Specifica la configurazione nella Environment
risorsa.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.17.12-airflow-2.11.1"
},
"nodeConfig": {
"enableIpMasqAgent": true
}
}
}
Sostituisci:
PROJECT_IDcon l'ID progetto.LOCATIONcon la regione in cui si trova l'ambiente.ENVIRONMENT_NAMEcon il nome dell'ambiente.
Esempio:
// 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.17.12-airflow-2.11.1"
},
"nodeConfig": {
"enableIpMasqAgent": true
}
}
}
Terraform
Quando crei un ambiente, il campo enable_ip_masq_agent nel blocco node_config abilita l'agente di mascheramento IP.
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "composer-2.17.12-airflow-2.11.1"
}
node_config {
enable_ip_masq_agent = true
}
}
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.
Esempio:
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
software_config {
image_version = "composer-2.17.12-airflow-2.11.1"
}
node_config {
enable_ip_masq_agent = true
}
}
}
Configurare l'agente di mascheramento IP
Per saperne di più sull'utilizzo e la configurazione dell'agente di mascheramento IP in Managed Airflow (Gen 2), consulta Utilizzare la policy NAT in uscita per configurare il mascheramento IP nei cluster Autopilot.