Abilitare l'agente di mascheramento IP negli ambienti Cloud Composer

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

In questa pagina viene descritto come abilitare l'agente mascherato IP per l'ambiente.

Informazioni sull'agente di mascheramento IP 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 molti-a-uno degli indirizzi IP. 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 le DAG e le attività di Airflow comunicano con altri servizi, utilizzano gli IP dei pod e questi intervalli IP dei pod devono essere indirizzabili verso e da qualsiasi destinazione con cui le attività interagiscono.

Con l'agente IP Masquerade, hai la possibilità di tradurre gli indirizzi IP dei pod in indirizzi IP dei nodi, in modo che le destinazioni e i servizi scelti come target dalle attività e dai DAG di Airflow ricevano pacchetti solo dagli indirizzi IP dei nodi anziché dagli indirizzi IP dei pod. Questo è utile in ambienti che si aspettano di ricevere solo pacchetti 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 una rete separata per i pod all'interno del cluster del tuo ambiente e mascherare questo traffico provenienti dall'intervallo di indirizzi IP del nodo. In questo modo, risparmi spazio per gli indirizzi IP in un intervallo utilizzando indirizzi IP di un intervallo diverso per i pod nel cluster del tuo ambiente.

Ad esempio:

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

  2. Per salvare intervalli di rete, utilizza un intervallo diverso (ad esempio, 192.168.0.0/16) per i pod nel cluster del tuo ambiente.

  3. 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'agente di mascheramento IP abilitato e configurato, il servizio riceve richieste da10.0.0.0/8, che vengono accettate.

Prima di iniziare

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

Abilita l'agente di mascheramento IP per un ambiente esistente

Non è possibile attivare 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 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 attiva l'agente di mascheramento IP. Devi anche attivare 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 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 attivare l'alias IP con il campo use_ip_aliases nel ip_allocation_policy blocco.

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
    }
  }
}

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

Passaggi successivi