Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
In questa pagina viene descritto come abilitare l'agente di mascheramento IP per l'ambiente.
Informazioni sull'agente di mascheramento IP in Cloud Composer
Cloud Composer supporta l'agente di mascheramento IP per i tuoi ambienti.
Il mascheramento degli indirizzi IP è una forma di Network Address Translation (NAT) utilizzata per di eseguire traduzioni degli indirizzi IP multiple-to-one. Ciò consente a più client per accedere a una destinazione da un singolo indirizzo IP.
Cloud Composer esegue i carichi di lavoro su GKE. Per funzione corretta, richiede intervalli IP per nodi (VM) e di pod e servizi GKE. Quando i DAG e le attività Airflow comunicano con altri servizi, utilizzano gli IP dei pod e questi intervalli IP di pod devono essere instradabili da e verso qualsiasi destinazione con cui interagiscono le attività.
Con l'agente di mascheramento IP, hai la possibilità di tradurre l'IP del pod agli indirizzi IP dei nodi, in modo che le destinazioni e i servizi dai DAG e dalle attività Airflow ricevono pacchetti solo dagli indirizzi IP dei nodi anziché gli indirizzi IP dei pod. Ciò è utile negli ambienti che prevedono ricevono pacchetti solo dagli indirizzi IP dei nodi o dove gli intervalli IP dei pod instradabile all'esterno del cluster.
Inoltre, puoi utilizzare l'agente di mascheramento IP per salvare gli intervalli di rete la configurazione di rete. Ad esempio, puoi utilizzare una rete separata per i pod all'interno del cluster del tuo ambiente e mascherare questo traffico come provenienti dall'intervallo di indirizzi IP del nodo. In questo modo, salvi l'indirizzo IP del tuo spazio in un intervallo, utilizzando gli indirizzi IP di un intervallo diverso per i pod per il cluster del tuo ambiente.
Ad esempio:
Utilizza l'intervallo
10.0.0.0/8
per le VM e solo questo intervallo è consentito le tue regole firewall.Per salvare intervalli di rete, utilizza un intervallo diverso (ad esempio,
192.168.0.0/16
) per i pod nel cluster del tuo ambiente.Per poterti connettere a qualsiasi servizio da un pod (lavoratore Airflow), il mascheramento è necessario; altrimenti il servizio riceve traffico
192.168.0.0/16
e lo elimina a causa di una regola firewall. Con l'IP Agente mascherato abilitato e configurato, il servizio riceve richieste da10.0.0.0/8
, che sono accettati.
Prima di iniziare
Non è possibile abilitare l'agente di mascheramento IP nella console Google Cloud.
Abilita l'agente di mascheramento IP per un ambiente esistente
Non è possibile abilitare l'agente di mascheramento IP per un modello esistente completamente gestito di Google Cloud.
Abilita 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 Cloud Composer, consulta Creare l'ambiente.
Console
Non è possibile abilitare l'agente di mascheramento IP 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
Creare una richiesta API environments.create
.
Specifica la configurazione nel campo Environment
.
risorsa.
{
"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 enable_ip_masq_agent
nel blocco node_config
abilita l'agente IP Masqerade.
Devi anche abilitare l'alias IP con il campo use_ip_aliases
nella
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'uso e sulla configurazione dell'agente di mascheramento IP in Cloud Composer 1, scopri Configurazione di un agente di mascheramento IP nei cluster standard.