Cloud Composer 1 | Cloud Composer 2
In questa pagina viene descritto come attivare l'agente IP Masquerade per il tuo ambiente.
Informazioni sull'agente IP Masquerade in Cloud Composer
Cloud Composer supporta l'agente IP Masquerade per i tuoi ambienti.
L'IP masquerading è una forma di Network Address Translation (NAT) utilizzata per eseguire traduzioni di indirizzi IP many-to-one. Ciò consente a più client di accedere a una destinazione da un singolo indirizzo IP.
Cloud Composer esegue i carichi di lavoro su GKE. Per un corretto funzionamento, sono richiesti intervalli IP per i nodi (VM), nonché per pod e servizi GKE. Quando i DAG e le attività di Airflow comunicano con altri servizi, utilizzano IP dei pod e questi intervalli IP di pod devono essere instradabili da e verso qualsiasi destinazione con cui le attività interagiscono.
Con l'agente di mascheramento IP hai la possibilità di convertire gli indirizzi IP dei pod in indirizzi IP dei nodi, in modo che le destinazioni e i servizi scelti come target dai DAG e dalle attività Airflow ricevano i pacchetti solo 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 all'esterno 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 proveniente dall'intervallo di indirizzi IP del nodo. In questo modo puoi salvare lo 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/8
per le VM e solo questo intervallo è consentito dalle regole firewall.Per salvare gli intervalli di rete, utilizza un intervallo diverso (ad esempio
192.168.0.0/16
) per i pod nel cluster del tuo ambiente.Per potersi connettere a qualsiasi servizio da un pod (Worker Airflow), è necessario il mascheramento IP, altrimenti il servizio riceve il traffico da
192.168.0.0/16
e 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 sono accettate.
Prima di iniziare
Non è possibile abilitare l'agente IP Masquerade nella console Google Cloud.
Abilita l'agente di mascheramento IP per un ambiente esistente
Non è possibile abilitare l'agente di mascheramento IP per un ambiente esistente.
Abilita l'agente di mascheramento IP durante la creazione di un ambiente
Puoi abilitare l'agente di mascheramento IP quando crei un ambiente.
Per ulteriori informazioni sulla creazione di ambienti Cloud Composer, consulta Creazione di un ambiente.
Console
Non è possibile abilitare l'agente IP Masquerade nella console Google Cloud.
gcloud
Quando crei un ambiente, l'argomento --enable-ip-masq-agent
abilita l'agente IP Masqerade.
Devi anche abilitare l'alias IP con l'argomento --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
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.
Esempio:
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
Crea una richiesta API environments.create
.
Specifica la configurazione nella risorsa 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
}
}
}
Sostituisci:
PROJECT_ID
con l'ID progetto.LOCATION
con la regione in cui si trova l'ambiente.ENVIRONMENT_NAME
con 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-1.20.12-airflow-1.10.15"
},
"nodeConfig": {
"ipAllocationPolicy": {
"useIpAliases": true,
},
"enableIpMasqAgent": true
}
}
}
Terraform
Quando crei un ambiente, il campo enable_ip_masq_agent
nel blocco node_config
abilita l'agente IP Masqerade. Devi
abilitare anche l'alias IP con il campo use_ip_aliases
nel
blocco 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
}
}
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con 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-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 l'agente di mascheramento IP
Per ulteriori informazioni sull'utilizzo e sulla configurazione dell'agente di mascheramento IP in Cloud Composer 1, consulta Configurazione di un agente di mascheramento IP nei cluster Standard.