Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Auf dieser Seite wird der Unterschied zwischen den Netzwerktypen „Private IP“ und „Öffentliche IP“ in Managed Airflow (Gen 3) erläutert und eine Anleitung zum Ändern des Netzwerktyps Ihrer Umgebung bereitgestellt.
Wenn Sie den Internetzugriff nur beim Installieren von PyPI-Paketen deaktivieren oder aktivieren möchten, lesen Sie Internetzugriff beim Installieren von PyPI-Paketen konfigurieren.
Wenn Sie den Zugriff auf Ihr VPC-Netzwerk von Ihrer Umgebung aus aktivieren möchten, siehe Umgebung mit einem VPC-Netzwerk verbinden.
Netzwerktypen für Umgebungen
In Managed Airflow (Gen 3) werden zwei Netzwerktypen für Umgebungen verwendet:
Öffentliches IP-Netzwerk:
Airflow-Komponenten der Umgebung können auf das Internet zugreifen. Dies ist der Standardnetzwerktyp.
In Umgebungen mit öffentlicher IP wird der gesamte ausgehende Traffic zu öffentlichen IP-Bereichen über das Standard-Internetgateway weitergeleitet. Diese Einschränkung gilt auch für privat verwendete öffentliche IP-Adressen (Privately Used Public IPs, PUPIs) die in GKE verwendet werden, da sie sich mit öffentlichen IP-Bereichen überschneiden. Daher erreicht Traffic, der für Ihre PUPI-Adresse bestimmt ist, nicht Ihre private GKE-Adresse, sondern wird an das öffentliche Internet weitergeleitet. Wenn Sie Verbindungen zu PUPI-Bereichen aktivieren möchten, empfehlen wir, dass Sie Ihre Umgebung auf ein privates IP-Netzwerk umstellen und sie mit einem VPC-Netzwerk verbinden.
-
Airflow-Komponenten in Umgebungen mit öffentlicher IP stellen ausgehende Verbindungen von automatisch zugewiesenen öffentlichen IP-Adressen und Ports her. Wenn Ihre Umgebungen mit öffentlicher IP vorab festgelegte IP Adressen und Ports verwenden sollen, können Sie dies tun, indem Sie ein VPC-Netzwerk mit Ihrer Umgebung verbinden und zu einer privaten IP-Adresse wechseln. In diesem Fall leitet Managed Airflow den gesamten Traffic mit Ausnahme des Traffics zu Google-Diensten über dieses Netzwerk weiter.
Privates IP-Netzwerk:
Ein privates IP-Netzwerk ist im Vergleich zu einem öffentlichen IP-Netzwerk eine sicherere Option.
Airflow-Komponenten der Umgebung haben keinen Zugriff auf das Internet. Bei Umgebungen , die mit einem VPC-Netzwerk verbunden sind, wird der Internetzugriff über die Netzwerkkonfiguration gesteuert.
In Umgebungen mit privater IP wird der privater Google-Zugriff über den Bereich
private.googleapis.comkonfiguriert. Dadurch wird der Zugriff auf Google APIs, ‑Dienste und ‑Domains ermöglicht, die von diesem Bereich unterstützt werden.Weitere Informationen und eine Liste der Dienste und Domains, die über
private.googleapis.comverfügbar sind, finden Sie in der Dokumentation zu Virtual Private Cloud unter Netzwerkkonfiguration.In Umgebungen mit privater IP und VPC Service Controls wird der privater Google-Zugriff über den
restricted.googleapis.comBereich konfiguriert. Dadurch wird der Zugriff auf Google APIs, ‑Dienste und ‑Domains ermöglicht, die von diesem Bereich unterstützt werden.Weitere Informationen und eine Liste der Dienste und Domains, die über
restricted.googleapis.comverfügbar sind, finden Sie in der Dokumentation zu Virtual Private Cloud unter Netzwerkkonfiguration.Wenn eine Umgebung mit privater IP mit einem benutzerdefinierten VPC-Netzwerk verbunden ist, wird der gesamte Traffic an das VPC-Netzwerk weitergeleitet, mit Ausnahme des Traffics zu Google APIs, ‑Diensten und ‑Domains, die für Umgebungen mit privater IP über den privater Google-Zugriff verfügbar sind. Mit diesem Ansatz können Ihre Airflow-Komponenten eine Verbindung zu privat verwendeten öffentlichen IP-Adressen (PUPIs) in GKE herstellen, da der Traffic über das VPC-Netzwerk weitergeleitet wird, anstatt an das öffentliche Internet gesendet zu werden.
Netzwerk in Managed Airflow (Gen 2) im Vergleich zu Managed Airflow (Gen 3)
In Managed Airflow (Gen 3) ist für Umgebungen mit privater IP keine Konfiguration erforderlich.
Die folgenden Netzwerkfunktionen von Managed Airflow (Gen 2) sind in Managed Airflow (Gen 3) nicht mehr relevant:
Privates IP-Netzwerk konfigurieren. Sie müssen keine IP-Bereiche oder Netzwerke angeben und keine Verbindungs- und Firewallregeln konfigurieren.
Private Service Connect konfigurieren. Sie müssen in Managed Airflow (Gen 3) keine Bereiche für Private Service Connect festlegen.
Privat verwendete öffentliche IP-Bereiche verwenden. Mit dieser Funktion konnten die verfügbaren IP-Bereiche erweitert werden. Das ist in Managed Airflow (Gen 3) nicht erforderlich.
IP-Masquerade-Agent verwenden. Sie müssen in Managed Airflow (Gen 3) keine Clusterverbindung konfigurieren.
Autorisierte Netzwerke konfigurieren. In Managed Airflow (Gen 3) ist kein Zugriff auf den Cluster der Umgebung möglich.
Die folgende DNS-Konfiguration wird in Managed Airflow (Gen 3) nicht unterstützt:
- Managed Airflow (Gen 3) unterstützt keine benutzerdefinierte
.internalDNS-Zone. Wenn Sie eine DNS-Zone für.internalerstellen, kann diese Zone nicht erreicht werden.
Netzwerktyp der Umgebung ändern
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Rufen Sie den Tab Umgebungskonfiguration auf.
Suchen Sie im Abschnitt Netzwerkkonfiguration das Element Netzwerktyp und klicken Sie auf Bearbeiten.
Wählen Sie im Dialogfeld Netzwerktyp Folgendes aus:
- Öffentliche IP-Umgebung (Standardeinstellung) für ein öffentliches IP-Netzwerk.
- Umgebung mit privater IP für ein privates IP-Netzwerk.
Klicken Sie auf Speichern.
gcloud
Mit den folgenden Google Cloud CLI-Argumenten wird der Netzwerktyp der Umgebung geändert:
--enable-private-environment: Wechselt zu einem privaten IP-Netzwerk.--disable-private-environment: Wechselt zu einem öffentlichen IP-Netzwerk (Standardeinstellung).
Zu einem privaten IP-Netzwerk wechseln:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-private-environment
Zu einem öffentlichen IP-Netzwerk wechseln:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-private-environment
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: Der Name der Umgebung.LOCATION: Die Region, in der sich die Umgebung befindet.
Beispiel (private IP):
gcloud beta composer environments update example-environment \
--location us-central1 \
--enable-private-environment
Beispiel (öffentliche IP):
gcloud beta composer environments update example-environment \
--location us-central1 \
--disable-private-environment
API
Erstellen Sie eine
environments.patch-API-Anfrage.In dieser Anfrage:
Geben Sie im Parameter
updateMaskdie Maskeconfig.private_environment_config.enable_private_environmentan.Geben Sie im Anfragetext im Feld
enablePrivateEnvironmentFolgendes an:true, um zu einem privaten IP-Netzwerk zu wechseln.false, um zu einem öffentlichen IP-Netzwerk zu wechseln (Standardeinstellung).
Beispiel (private IP):
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.private_environment_config.enable_private_environment
"config": {
"privateEnvironmentConfig": {
"enablePrivateEnvironment": true
}
}
Terraform
Das Feld enable_private_environment im Block config gibt den Netzwerktyp der Umgebung an:
true: Privates IP-Netzwerk.falseoder ausgelassen: Öffentliches IP-Netzwerk (Standardeinstellung).
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
enable_private_environment = PRIVATE_IP_STATUS
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: Der Name Ihrer Umgebung.LOCATION: Die Region, in der sich die Umgebung befindet.PRIVATE_IP_STATUS:truefür private IP,falsefür öffentliche IP
Beispiel (private IP):
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
enable_private_environment = true
... other configuration parameters
}
}
Proxyservervariablen konfigurieren
Sie können in Ihrer Umgebung die Umgebungsvariablen http_proxy und https_proxy
festlegen. Diese Standard-Linux-Variablen werden von Webclients verwendet, die in Containern des Clusters Ihrer Umgebung ausgeführt werden, um Traffic über die angegebenen Proxys weiterzuleiten.
Die Variable NO_PROXY ist standardmäßig auf eine Liste von Google-Domains, die IP-Adresse des Compute Engine-Metadatenservers des Clusters der Umgebung und localhost festgelegt, sodass sie vom Proxying ausgeschlossen werden:
.google.com,.googleapis.com,metadata.google.internal,169.254.169.254,localhost
Mit dieser Konfiguration können Sie eine Umgebung mit den Umgebungsvariablen http_proxy und https_proxy erstellen, wenn der Proxy nicht für die Verarbeitung von Traffic zu Google-Diensten konfiguriert ist.