IP-Masquerade-Agent in Cloud Composer-Umgebungen aktivieren

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Auf dieser Seite wird beschrieben, wie Sie den IP-Masquerade-Agent für Ihre Umgebung aktivieren.

IP-Masquerade-Agent in Cloud Composer

Cloud Composer unterstützt den IP Masquerade-Agent für Ihre Umgebungen.

Die IP-Maskierung ist eine Form von Network Address Translation (NAT), die verwendet wird, um n:1-IP-Adressübersetzungen durchzuführen. So können mehrere Clients über eine einzige IP-Adresse auf ein Ziel zugreifen.

Cloud Composer führt Ihre Arbeitslasten in GKE aus. Für eine korrekte Funktion sind IP-Bereiche für Knoten (VMs) sowie GKE-Pods und -Dienste erforderlich. Wenn Airflow-DAGs und -Aufgaben mit anderen Diensten kommunizieren, verwenden sie Pod-IP-Adressen und diese Pod-IP-Bereiche müssen an und von allen Zielen weitergeleitet werden können, mit denen die Aufgaben interagieren.

Mit dem IP-Masquerade-Agent können Sie Pod-IP-Adressen in Knoten-IP-Adressen übersetzen, sodass Ziele und Dienste, die von Airflow-DAGs und Aufgaben als Ziel dienen, nur Pakete von Knoten-IP-Adressen anstelle von Pod-IP-Adressen empfangen. Das ist in Umgebungen nützlich, in denen nur Pakete von Knoten-IP-Adressen empfangen werden sollen oder in denen Pod-IP-Bereiche außerhalb des Clusters nicht routingfähig sind.

Darüber hinaus können Sie den IP-Masquerade-Agent verwenden, um Netzwerkbereiche in Ihrer Netzwerkkonfiguration zu speichern. Sie können beispielsweise einen separaten Netzwerkbereich für Pods im Cluster Ihrer Umgebung verwenden und diesen Traffic als aus dem Knoten-IP-Adressbereich stammenden Traffic maskieren. Auf diese Weise speichern Sie den IP-Adressbereich in einem Bereich, indem Sie IP-Adressen aus einem anderen Bereich für Pods im Cluster Ihrer Umgebung verwenden.

Beispiel:

  1. Sie verwenden den 10.0.0.0/8-Bereich für VMs. Nur dieser Bereich ist durch Ihre Firewallregeln zulässig.

  2. Zum Speichern von Netzwerkbereichen verwenden Sie einen anderen Bereich (z. B. 192.168.0.0/16) für Pods im Cluster Ihrer Umgebung.

  3. Zur Verbindung mit einem beliebigen Dienst von einem Pod (Airflow-Worker) ist eine IP-Maskierung erforderlich. Andernfalls empfängt der Dienst Traffic von 192.168.0.0/16 und löscht ihn aufgrund einer Firewallregel. Wenn der IP-Masquerade-Agent aktiviert und konfiguriert ist, erhält der Dienst Anfragen von 10.0.0.0/8, die akzeptiert werden.

Hinweise

  • Der IP-Masquerade-Agent kann nicht in der Google Cloud Console aktiviert werden.

IP-Masquerade-Agent für eine vorhandene Umgebung aktivieren

Der IP-Masquerade-Agent kann nicht für eine vorhandene Umgebung aktiviert werden.

IP-Masquerade-Agent beim Erstellen einer Umgebung aktivieren

Sie können den IP-Masquerade-Agent beim Erstellen einer Umgebung aktivieren.

Weitere Informationen zum Erstellen von Cloud Composer-Umgebungen finden Sie unter Umgebung erstellen.

Console

Der IP-Masquerade-Agent kann nicht in der Google Cloud Console aktiviert werden.

gcloud

Wenn Sie eine Umgebung erstellen, aktiviert das Argument --enable-ip-masq-agent den IP-Masquerade-Agent. Sie müssen den IP-Alias auch mit dem Argument --enable-ip-alias aktivieren.

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

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.

Beispiel:

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

Erstellen Sie eine API-Anfrage environments.create. Geben Sie die Konfiguration in der Ressource Environment an.

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

Ersetzen Sie:

  • PROJECT_ID durch die Projekt-ID.
  • LOCATION durch die Region, in der sich die Umgebung befindet.
  • ENVIRONMENT_NAME durch den Namen der Umgebung.

Beispiel:

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

Wenn Sie eine Umgebung erstellen, aktiviert das Feld enable_ip_masq_agent im Block node_config den IP-Masquerade-Agent. Sie müssen den IP-Alias auch mit dem Feld use_ip_aliases im Block 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
    }
  }

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.

Beispiel:

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

IP-Masquerade-Agent konfigurieren

Weitere Informationen zur Verwendung und Konfiguration des IP-Masquerade-Agents in Cloud Composer 1 finden Sie unter IP-Masquerade-Agent in Standardclustern konfigurieren.

Nächste Schritte