Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
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:
- Sie verwenden den - 10.0.0.0/8-Bereich für VMs. Nur dieser Bereich ist durch Ihre Firewallregeln zulässig.
- Zum Speichern von Netzwerkbereichen verwenden Sie einen anderen Bereich (z. B. - 192.168.0.0/16) für Pods im Cluster Ihrer Umgebung.
- 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/16und 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_NAMEdurch den Namen der Umgebung.
- LOCATIONdurch 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_IDdurch die Projekt-ID.
- LOCATIONdurch die Region, in der sich die Umgebung befindet.
- ENVIRONMENT_NAMEdurch 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 auch den IP-Alias mit dem Feld use_ip_aliases im Block ip_allocation_policy aktivieren.
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_NAMEdurch den Namen der Umgebung.
- LOCATIONdurch 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 zum Verwenden und Konfigurieren des IP-Masquerade-Agents in Cloud Composer 1 finden Sie unter IP-Masquerade-Agent in Standardclustern konfigurieren.