Abilita l'agente IP Masquerade negli ambienti Cloud Composer

Cloud Composer 1 | Cloud Composer 2

In questa pagina viene descritto come attivare l'agente di mascheramento IP per il tuo ambiente.

Informazioni sull'agente Masquerade IP in Cloud Composer

Cloud Composer supporta l'agente IP Masquerade per i tuoi ambienti.

Il masquerading IP è 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 tuoi carichi di lavoro su GKE. Per il corretto funzionamento sono richiesti intervalli IP per nodi (VM), nonché pod e 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 qualsiasi destinazione con cui interagiscono le attività.

Con l'agente Masquerade 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 solo pacchetti dagli indirizzi IP dei nodi anziché dagli indirizzi IP dei pod. Questo è 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 networking. 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:

  1. Utilizza l'intervallo 10.0.0.0/8 per le VM e solo questo intervallo è consentito dalle regole firewall.

  2. 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.

  3. Per potersi connettere a qualsiasi servizio da un pod (Worker Airflow), è necessario il mascheramento degli IP; in caso contrario, il servizio riceve 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 da 10.0.0.0/8, che sono accettate.

Prima di iniziare

  • Non è possibile abilitare l'agente di mascheramento IP nella console Google Cloud.

  • Per utilizzare questa funzionalità, devi creare un ambiente con GKE 1.22.7 o versione successiva.

  • L'agente di mascheramento IP non è disponibile per gli ambienti creati nelle versioni precedenti di GKE, anche se è stato eseguito l'upgrade di GKE alla versione 1.22.7 e successive.

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 di mascheramento IP nella console Google Cloud.

gcloud

Quando crei un ambiente, l'argomento --enable-ip-masq-agent abilita l'agente IP Masqerade.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.8.0-airflow-2.7.3 \
    --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-2.8.0-airflow-2.7.3 \
    --enable-ip-masq-agent

API

Creare una richiesta API environments.create. Specifica la configurazione nella risorsa Environment.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "softwareConfig": {
      "imageVersion": "composer-2.8.0-airflow-2.7.3"
    },
    "nodeConfig": {
      "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-2.8.0-airflow-2.7.3"
      },
      "nodeConfig": {
        "enableIpMasqAgent": true
      }
    }
  }

Terraform

Quando crei un ambiente, il campo enable_ip_masq_agent nel blocco node_config abilita l'agente IP Masqerade.

resource "google_composer_environment" "example_environment" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    software_config {
      image_version = "composer-2.8.0-airflow-2.7.3"
    }
    node_config {
      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-2.8.0-airflow-2.7.3"
    }
    node_config {
      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 2, consulta Utilizzare il criterio NAT in uscita per configurare l'autenticazione IP nei cluster Autopilot.

Passaggi successivi