Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Umgebungen erstellen

Auf dieser Seite wird gezeigt, wie Sie eine Cloud Composer-Umgebung erstellen.

In einer Cloud Composer-Umgebung wird die Apache Airflow-Software ausgeführt. Beim Erstellen einer neuen Umgebung in einem Google Cloud-Projekt können Sie verschiedene Parameter angeben, wie z. B. den Maschinentyp von Compute Engine oder die Anzahl der Knoten im Cluster.

Hinweis

Zugriffsteuerung

  • Zum Erstellen von Cloud Composer-Umgebungen sind die folgenden Berechtigungen erforderlich: (1) composer.environments.create und (2) iam.serviceAccounts.actAs für das Dienstkonto, unter dem die Umgebung ausgeführt wird. Weitere Informationen finden Sie unter Cloud Composer-Zugriffssteuerung.

  • Standardmäßig werden Cloud Composer-Umgebungen mit dem Compute Engine-Standarddienstkonto ausgeführt. Während der Umgebungserstellung können Sie ein benutzerdefiniertes Dienstkonto angeben. Für dieses Dienstkonto sind mindestens die Berechtigungen erforderlich, die die Rolle composer.worker für den Zugriff auf Ressourcen in der Cloud Composer-Umgebung bereitstellt. Sie müssen außerdem autorisiert sein, als "das Dienstkonto" zu fungieren. Dazu müssen Sie die Berechtigung iam.serviceAccounts.actAs für das Dienstkonto oder das Projekt aktivieren, das das Dienstkonto enthält. Stellen Sie sicher, dass Sie eine der Rollen mit dieser Berechtigung erhalten haben, z. B. Dienstkontonutzer, Inhaber oder Bearbeiter. Weitere Informationen finden Sie unter Details zu Dienstkonten.

  • Wenn das benutzerdefinierte Dienstkonto beim Ausführen der Aufgabe auf andere Ressourcen in Ihrem Google Cloud-Projekt zugreifen muss, können Sie dem Dienstkonto die erforderlichen Rollen zuweisen. Alternativ können Sie die entsprechenden Anmeldedaten als Airflow-Verbindung bereitstellen und dann im Operator auf die Verbindung verweisen.

  • Von Google verwaltete Dienstkonten werden in der IAM-Richtlinie Ihres Projekts und in der GCP Console angezeigt. Beispielsweise ist service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com der Name eines von Google verwalteten Dienstkontos, das vom Cloud Composer-Dienst zum Verwalten (Erstellen, Aktualisieren und Löschen) Cloud Composer-Umgebungen in Ihrer projekt.

  • Informationen zum Bereitstellen von Cloud Composer-Umgebungen innerhalb eines Sicherheitsbereichs finden Sie unter VPC Service Controls konfigurieren. Bei Verwendung mit Cloud Composer gelten für VPC Service Controls mehrere bekannte Einschränkungen.

Neue Umgebung erstellen

So erstellen Sie eine Cloud Composer-Umgebung:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Umgebung erstellen auf.

    Seite "Umgebung erstellen" öffnen

  2. Geben Sie einen Namen für die Umgebung ein.

    Der Name muss mit einem Kleinbuchstaben beginnen, gefolgt von bis zu 62 Kleinbuchstaben, Ziffern oder Bindestrichen. Das letzte Zeichen darf kein Bindestrich sein. Anhand des Umgebungsnamens werden Unterkomponenten für die Umgebung erstellt. Daher müssen Sie einen Namen angeben, der auch als Cloud Storage-Bucket-Name gültig ist. Eine Liste der Einschränkungen finden Sie in den Benennungsrichtlinien für Buckets.

  3. Geben Sie unter Knotenkonfiguration die Einstellungen für Knoten im Google Kubernetes Engine-Cluster an. Wenn Sie keine Einstellung vornehmen, wird die Standardeinstellung verwendet.

    Einstellung Beschreibung
    Knotenzahl Die Anzahl der Google Kubernetes Engine-Knoten, die zum Ausführen der Umgebung verwendet werden. Der Standardwert beträgt 3 Knoten. Nachdem Sie die Anzahl der Knoten festgelegt haben, bleibt sie bestehen, bis Sie die Umgebung aktualisieren.
    Ort Erforderlich: Die Compute Engine-Region, in der die Umgebung erstellt wird.
    Zonensuffix Die Compute Engine-Zone, in der die Instanzen der virtuellen Maschine erstellt werden, auf denen Apache Airflow ausgeführt wird. Wenn nicht angegeben, wird eine zufällige Zone innerhalb des Standorts ausgewählt.
    Maschinentyp Der für Clusterinstanzen verwendete Compute Engine-Maschinentyp. Der Maschinentyp bestimmt die Anzahl der CPUs und den Arbeitsspeicher für Ihre Umgebung. Der Standardmaschinentyp ist n1-standard-1.
    Laufwerkgröße Die Laufwerkgröße in GB, die für die VM-Instanzen des Knotens verwendet wird. Die Mindestgröße beträgt 20 GB und die Standardgröße 100 GB.
    OAuth-Bereiche Der Satz Google API-Bereiche, der auf allen VM-Instanzen des Knotens verfügbar ist. Die Standardeinstellung lautet https://www.googleapis.com/auth/cloud-platform und muss in der Liste der angegebenen Bereiche enthalten sein.
    Dienstkonto Das Google Cloud-Dienstkonto, das von den VM-Instanzen des Knotens verwendet werden soll. Wenn nicht angegeben, wird das Compute Engine-Standarddienstkonto verwendet.
    Tags Die Liste der Instanztags, die auf alle VM-Instanzen des Knotens angewendet werden. Tags werden verwendet, um gültige Quellen oder Ziele für Netzwerk-Firewalls zu bestimmen. Jedes Tag in der Liste muss RFC 1035 befolgen.
    Image-Version Die für Ihre Umgebung zu verwendende Cloud Composer-Version (einschließlich Cloud Composer- und Airflow-Version). Informationen zur Standardversion finden Sie unter Liste der Cloud Composer-Versionen.
    Python-Version Die für Ihre Umgebung zu verwendende Python-Version. Unterstützte Versionen sind Python 2 und Python 3. Die Standardversion ist 3.
  4. Geben Sie unter Cloud SQL-Konfiguration die Einstellungen für die Cloud SQL-Instanz an, auf der die Airflow-Datenbank ausgeführt wird. Wenn Sie eine Einstellung nicht angeben, wird hierfür die Standardeinstellung verwendet.

    Einstellung Beschreibung
    Cloud SQL-Maschinentyp Der Maschinentyp für die Cloud SQL-Instanz, auf der die Airflow-Datenbank ausgeführt wird Der Maschinentyp bestimmt die Anzahl der CPUs und den Arbeitsspeicher für Ihre Umgebung.
  5. Geben Sie unter Netzwerkkonfiguration die Netzwerkeinstellungen für den Google Kubernetes Engine-Cluster an. Wenn Sie keine Einstellung vornehmen, wird die Standardeinstellung verwendet.

    Einstellung Beschreibung
    VPC-nativ aktivieren (mithilfe von Alias-IP-Adressen) Erstellt einen VPC-nativen GKE-Cluster mit Alias-IP-Adressen für Ihre Umgebung. Dabei wird standardmäßig ein routenbasierter GKE-Cluster verwendet. Erforderlich für eine private IP-Umgebung in Cloud Composer.
    Netzwerk Das Virtual Private Cloud-Netzwerk, das für die Maschinenkommunikation verwendet wird. Das Netzwerk ist für das Festlegen eines Subnetzwerks erforderlich. Ohne Angabe wird das Standardnetzwerk verwendet. Freigegebene VPC erfordert ein Hostprojekt.
    Subnetzwerk Das Virtual Private Cloud-Subnetzwerk, das für die Maschinenkommunikation verwendet wird. Wenn für das Netzwerk ein benutzerdefinierter Modus genutzt wird, ist das Subnetzwerk erforderlich.
    Zuweisung von Pod-IP-Adressen Der sekundäre Bereich für die Zuweisung von IP-Adressen zu Pods im GKE-Cluster. Ohne Angabe eines Werts wird ein neuer sekundärer Bereich erstellt. Diese Einstellung ist dauerhaft.
    Zuweisung von Dienst-IP-Adressen Der sekundäre Bereich, in dem Speicherplatz für Cloud Composer-Dienste reserviert wird. Ohne Angabe eines Werts wird ein neuer sekundärer Bereich erstellt. Diese Einstellung ist dauerhaft.
    Private IP-Umgebung Aktiviert eine Cloud Composer-Umgebung mit privater IP-Adresse. Standardmäßig deaktiviert.
    Auf GKE-Master mit dessen externer IP-Adresse zugreifen Aktiviert den öffentlichen Zugriff auf den Master des GKE-Clusters. Erfordert eine Umgebung mit privater IP-Adresse.
    IP-Bereich GKE-Master Der private RFC 1918-Bereich für die VPC des Masters. Wenn der Bereich nicht angegeben wird, wird der Standardwert 172.16.0.0/28 verwendet. Erforderlich für die private IP-Umgebung.

    Achten Sie darauf, dass sekundäre Bereiche an die Größe des Clusters angepasst sind und das erwartete Wachstum bewältigen können. Beispielsweise sollten die Netzwerkpräfixe der sekundären Bereiche für eine Cloud Composer-Umgebung mit drei Knoten nicht länger sein als:

    • Pods: /22
    • Dienste: /27

    Unter VPC-native Cluster erstellen finden Sie Richtlinien zum Konfigurieren von sekundären Bereichen für Pods und Dienste.

  6. Geben Sie unter Webserverkonfiguration die IP-Bereiche an, die auf den Airflow-Webserver für Ihre Umgebung zugreifen können, sowie einen Maschinentyp für den Airflow-Webserver.

    Einstellung Beschreibung
    Zugriff von allen IP-Adressen zulassen (Standardeinstellung) Alle IP-Bereiche können auf den Airflow-Webserver zugreifen.
    Zugriff nur von bestimmten IP-Adressen zulassen Nur bestimmte IP-Bereiche können auf den Webserver zugreifen. Zum Hinzufügen eines neuen Bereichs klicken Sie auf IP-Bereich hinzufügen. Zum Entfernen eines Bereichs klicken Sie auf das Papierkorbsymbol für diese Zeile. Zum Ablehnen aller IP-Bereiche löschen Sie alle Zeilen.
    Webserver-Maschinentyp Der Maschinentyp für die Compute Engine-Instanz, auf der der Airflow-Webserver ausgeführt wird. Der Maschinentyp bestimmt die Anzahl der CPUs und den Arbeitsspeicher für Ihre Umgebung.
  7. (Vorschau) Unter Wartungsfenster können Sie benutzerdefinierte Zeitfenster festlegen, die Cloud Composer für die Wartung der Umgebung benötigt. Möglicherweise ist Ihre Umgebung während dieser Zeitfenster vorübergehend nicht verfügbar. Wählen Sie daher Stunden (z. B. Wochenende oder außerhalb der Spitzenzeiten) aus, wenn die Wahrscheinlichkeit geringer ist, dass Workflows ausgeführt werden. Das Wartungsfenster muss mindestens 12 Stunden pro Woche eingeplant werden. Dies kann auch nach dem Erstellen der Umgebung auf dem Tab Umgebungsdetails auf dem Tab Umgebungskonfiguration festgelegt werden.

  8. (Optional) Klicken Sie zum Überschreiben der Standardwerte in der Airflow-Konfigurationsdatei (airflow.cfg) auf Airflow-Konfigurationsattribut hinzufügen.

  9. Optional: Zum Konfigurieren von Umgebungsvariablen klicken Sie auf Umgebungsvariable hinzufügen. Informationen zu den Anforderungen finden Sie unter Umgebungsvariablen.

  10. Optional: Zum Hinzufügen eines Labels klicken Sie auf Labels hinzufügen.

    Labelschlüssel und Labelwerte dürfen nur Buchstaben, Zahlen, Bindestriche und Unterstriche enthalten. Labelschlüssel müssen mit einem Buchstaben oder einer Zahl beginnen.

  11. Klicken Sie auf Erstellen.

gcloud

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    OTHER_ARGUMENTS

Folgende Parameter sind erforderlich:

  • ENVIRONMENT_NAME ist der Name der Umgebung. Der Wert muss folgendem Muster entsprechen: ^[a-z](?:[-0-9a-z]{0,61}[0-9a-z])?$. Anhand des Umgebungsnamens werden Unterkomponenten für die Umgebung erstellt. Daher müssen Sie einen Namen angeben, der auch als Cloud Storage-Bucket-Name gültig ist. Eine Liste der Einschränkungen finden Sie in den Benennungsrichtlinien für Buckets.
  • LOCATION ist die Compute Engine-Region, in der sich die Umgebung befindet. Achten Sie darauf, dass am von Ihnen angegebenen Standort Composer verfügbar ist.

Folgende Parameter sind optional:

  • airflow-configs ist eine Liste der Airflow-Konfigurationsüberschreibungen im Format SECTION_NAME-PROPERTY_NAME=VALUE. Der Abschnittsname und der Eigenschaftsname müssen durch einen Bindestrich getrennt sein.
  • cloud-sql-machine-type ist ein Maschinentyp für die Cloud SQL-Instanz, auf der die Airflow-Datenbank ausgeführt wird. Der Maschinentyp bestimmt die Anzahl der CPUs und den Umfang des Arbeitsspeichers für Ihre Umgebung. Der Standardmaschinentyp ist db-n1-standard-2. Mögliche Werte für diesen Parameter: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 und db-n1-standard-16.
  • disk-size ist die Laufwerkgröße in GB, die für die Knoten-VMs verwendet wird. Die Mindestgröße beträgt 20 GB und die Standardlaufwerkgröße 100 GB.
  • env-variables ist eine Liste der Umgebungsvariablen im Format NAME=VALUE, die für die Airflow-Planer-, Worker- und Webserverprozesse festgelegt sind.
  • enable-private-environment aktiviert eine Cloud Composer-Umgebung mit privater IP-Adresse.
    • master-ipv4-cidr ist der private RFC 1918-Bereich für die VPC des Masters. Erforderlich, wenn enable-private-environment "wahr" ist .
  • enable-private-endpoint aktiviert den öffentlichen Zugriff auf den GKE-Clustermaster. Erfordert enable-private-environment.
  • enable-ip-alias aktiviert "VPC-nativ (mithilfe der Alias-IP)". Erforderlich, wenn enable-private environment "wahr" ist , oder um sekundäre Bereiche für Pods und Dienste zu konfigurieren:
    • cluster-secondary-range-name oder cluster-ipv4-cidr konfiguriert den sekundären Bereich für Pods.
    • services-secondary-range-name oder services-ipv4-cidr konfiguriert den sekundären Bereich für Dienste.
    • Preview (Vorschau): max-pods-per-node konfiguriert die maximale Anzahl von Pods pro Knoten im GKE-Cluster, der während der Erstellung der Umgebung zugewiesen wurde. Durch Senken dieses Werts wird der IP-Adressverbrauch durch den Cloud Composer-Kubernetes-Cluster reduziert. Weitere Informationen finden Sie unter IP-Adresszuweisung optimieren. Dieser Wert kann nur beim Erstellen der Umgebung festgelegt werden, und nur dann, wenn die Umgebung VPC-nativ ist. Der Bereich der möglichen Werte ist 8110 und der Standardwert ist 32. In der Vorschau müssen Sie für diesen Parameter den Befehl gcloud beta composer verwenden.
  • image-version ist die composer-addon-Version und die Airflow-Version für Ihre Umgebung im Format composer-a.b.c-airflow-x.y.z. Informationen zum Versionsalias und zur Standardversion finden Sie unter Versionsverwaltung für Cloud Composer.
  • labels sind benutzerdefinierte Labels, die der Umgebung und deren Ressourcen zugeordnet sind.
  • machine-type ist der Compute Engine-Maschinentyp. Der Maschinentyp bestimmt die Anzahl der CPUs und den Arbeitsspeicher für Ihre Umgebung. Der Standardmaschinentyp ist n1-standard-1.
  • network ist das Virtual Private Cloud-Netzwerk, das für die Maschinenkommunikation verwendet wird.
    • Das Netzwerk ist für das Festlegen eines Subnetzwerks erforderlich. Ohne Angabe wird das Standardnetzwerk verwendet.
    • Bei Verwendung einer freigegebenen VPC muss der relative Ressourcenname des Netzwerks im Format projects/HOST_PROJECT_ID/global/networks/NETWORK_ID angegeben werden. Informationen zu den Anforderungen für ein freigegebenes VPC-Subnetzwerk finden Sie nachfolgend unter subnetwork.
  • node-count ist die Anzahl von GKE-Knoten, die zum Ausführen der Umgebung verwendet werden. Die Standardknotenzahl ist 3. Nachdem Sie die Anzahl der Knoten festgelegt haben, bleibt sie bestehen, bis Sie die Umgebung aktualisieren.
  • oauth-scopes sind die Google API-Bereiche, die auf allen Knoten-VMs verfügbar sind. Der standardmäßige OAuth-Bereich lautet https://www.googleapis.com/auth/cloud-platform und muss in die Liste der Bereiche aufgenommen werden, sofern angegeben.
  • python-version ist die Python-Version, die für Ihre Umgebung verwendet werden soll. Unterstützte Versionen sind Python 2 und Python 3. Die Standardversion ist 2.
  • subnetwork ist das Compute Engine-Subnetzwerk, mit dem die Umgebung verbunden ist.
    • Wenn für das Netzwerk ein benutzerdefinierter Modus genutzt wird, ist das Subnetzwerk erforderlich.
    • Wenn Sie eine freigegebene VPC-Umgebung mit gcloud erstellen, müssen Sie die sekundären IP-Bereiche composer-pods und composer-services verwenden. Mithilfe der Cloud Composer API können Sie unterschiedliche sekundäre Bereichsnamen angeben. Der Name des Subnetzwerks muss auch als relativer Ressourcenname im Format projects/HOST_PROJECT_ID/regions/REGION_ID/subnetworks/SUBNET_ID festgelegt werden.
  • service-account ist das Google Cloud-Dienstkonto, das von den VM-Instanzen des Knotens verwendet werden soll. Wenn nicht angegeben, wird das Compute Engine-Standarddienstkonto verwendet.
  • tags ist die Liste der Instanztags, die auf alle VM-Instanzen des Knotens angewendet werden. Mit Tags werden gültige Quellen oder Ziele für Netzwerkfirewalls bestimmt. Jedes Tag in der Liste muss RFC 1035 entsprechen.
  • web-server-machine-type ist ein Maschinentyp für die Compute Engine-Instanz, auf der der Airflow-Webserver ausgeführt wird. Der Maschinentyp bestimmt die Anzahl der CPUs und den Arbeitsspeicher für Ihre Umgebung. Der Standardmaschinentyp ist composer-n1-webserver-2. Mögliche Werte für diesen Parameter: composer-n1-webserver-2, composer-n1-webserver-4 und composer-n1-webserver-8.

Im folgenden Beispiel wird eine Umgebung erstellt, in der die neueste unterstützte Cloud Composer-Image-Version in der Region us-central1 ausgeführt wird, die den Maschinentyp n1-standard-2 mit einem beta-Umgebungslabel verwendet:

gcloud beta composer environments create test-environment \
    --location us-central1 \
    --zone us-central1-f \
    --machine-type n1-standard-2 \
    --image-version composer-latest-airflow-x.y.z \
    --labels env=beta  

Im folgenden Beispiel für freigegebene VPCs wird eine Umgebung im Hostprojekt erstellt. Die Umgebung befindet sich in der Region us-central1 und verwendet den Maschinentyp n1-standard-2 mit einem beta-Umgebungslabel:

gcloud beta composer environments create host-project-environment \
    --network vpc-network-name --subnetwork vpc-subnetwork-name
    --location us-central1 \
    --zone us-central1-f \
    --machine-type n1-standard-2 \
    --labels env=beta  

Vorschau: Benutzerdefinierte Wartungsfenster

Sie können für Cloud Composer benutzerdefinierte Zeitfenster für die Wartung der Umgebung festlegen. Möglicherweise ist Ihre Umgebung während dieser Zeitfenster vorübergehend nicht verfügbar. Wählen Sie daher Stunden (z. B. Wochenende oder außerhalb der Spitzenzeiten) aus, wenn die Wahrscheinlichkeit geringer ist, dass Workflows ausgeführt werden. Das Wartungsfenster muss mindestens 12 Stunden pro Woche eingeplant werden. Verwenden Sie die folgenden optionalen Parameter:

  • maintenance-window-start legt die Startzeit eines benutzerdefinierten Wartungsfensters fest.
  • maintenance-window-end legt das Ende eines benutzerdefinierten Wartungsfensters fest.
  • maintenance-window-recurrence legt die Tage für die Wartung des Wartungsfensters fest.

Beispiel:

gcloud beta composer environments create test-environment \
    --location us-central1 \
    --zone us-central1-f \
    --machine-type n1-standard-2 \
    --image-version composer-latest-airflow-x.y.z \
    --labels env=beta \
    --maintenance-window-start-time='2019-08-01T01:00:00Z' \
    --maintenance-window-end-time='2019-08-01T07:00:00Z' \
    --maintenance-window-recurrence='FREQ=WEEKLY;BYDAY=SA,SU'
  

Dadurch wird jeden Sonntag und Samstag eine Wartungsfenster mit einem Wartungsfenster zwischen 01:00 und 07:00 Uhr (UTC) erstellt. Wochentage (Sonntag bis Samstag) werden so dargestellt: SU, MO, TU, WE, TH, FR, SA. Mit FREQ=DAILY wird das Wartungsfenster so eingestellt, dass es jeden Tag wiederholt wird.

API

Zum Erstellen einer neuen Cloud Composer-Umgebung mit der Cloud Composer REST API erstellen Sie eine environments.create-API-Anfrage und geben für die Ressource Environment Ihre Konfigurationsinformationen an.

Terraform

Zur Konfiguration dieser Umgebung mit Terraform fügen Sie Ihrer Terraform-Konfiguration folgenden Ressourcenblock hinzu und führen terraform apply aus.

resource "google_composer_environment" "example-resource" {
  name   = "ENVIRONMENT_NAME"
  region = "LOCATION"
}

Folgende Parameter sind erforderlich:

  • name, wobei ENVIRONMENT_NAME der Name des Clusters ist. Der Wert muss folgendem Muster entsprechen: ^[a-z](?:[-0-9a-z]{0,61}[0-9a-z])?$. Anhand des Umgebungsnamens werden Unterkomponenten für die Umgebung erstellt. Daher müssen Sie einen Namen angeben, der auch als Cloud Storage-Bucket-Name gültig ist. Eine Liste der Einschränkungen finden Sie in den Benennungsrichtlinien für Buckets.
  • region, wobei LOCATION die Compute Engine-Region ist, in der sich die Umgebung befindet. Achten Sie darauf, dass am von Ihnen angegebenen Standort Composer verfügbar ist.

Die Verwendung zusätzlicher optionaler Parameter wird in der Terraform-Argument-Referenz definiert.

Im folgenden Beispiel wird eine Umgebung erstellt, in der die neueste unterstützte Cloud Composer-Image-Version in der Region us-central1 ausgeführt wird, die den Maschinentyp n1-standard-2 mit einem beta-Umgebungslabel verwendet: Zur Konfiguration dieser Umgebung mit Terraform fügen Sie Ihrer Terraform-Konfiguration folgenden Ressourcenblock hinzu und führen terraform apply aus:

resource "google_composer_environment" "example-resource" {
  name   = "example-environment"
  region = "us-central1"

  config {
    node_config {
      zone = "us-central1-f"
      machine_type = "n1-standard-2"
    }
    software_config {
      image_version = "composer-latest-airflow-x.y.z"
    }
  }
  labels = {"env": "beta"}
}

Im folgenden Beispiel für freigegebene VPCs wird eine Umgebung im Hostprojekt erstellt. Die Umgebung befindet sich in der Region us-central1 und verwendet den Maschinentyp n1-standard-2 mit einem beta-Umgebungslabel. Zur Konfiguration dieser Umgebung mit Terraform fügen Sie Ihrer Terraform-Konfiguration folgenden Ressourcenblock hinzu und führen terraform apply aus:

resource "google_composer_environment" "example-resource" {
  name   = "host-project-environment"
  region = "us-central1"

  config {
    node_config {
      zone = "us-central1-f"
      machine_type = "n1-standard-2"
      network = "vpc-network-name"
      subnetwork = "vpc-subnetwork-name"
    }
    software_config {
      image_version = "composer-latest-airflow-x.y.z"
    }
  }
  labels = {"env": "beta"}
}

E-Mail-Benachrichtigungen konfigurieren

SendGrid-E-Mail-Dienste konfigurieren

Damit Sie Benachrichtigungen erhalten, konfigurieren Sie Ihre Umgebungsvariablen so, dass E-Mails über den SendGrid-E-Mail-Dienst gesendet werden.

  1. Melden Sie sich über die Google Cloud Console bei SendGrid an und erstellen Sie einen API-Schlüssel, sofern noch nicht geschehen. Als Google Cloud-Entwickler können Sie mit 12.000 kostenlosen E-Mails pro Monat starten.

  2. Öffnen Sie in der Cloud Console die Seite Umgebung erstellen.

    Seite "Umgebung erstellen" öffnen

  3. Klicken Sie unter Knotenkonfiguration auf Umgebungsvariable hinzufügen.

  4. Geben Sie die folgenden Umgebungsvariablen ein:

    Name Wert
    SENDGRID_MAIL_FROM Die E-Mail-Adresse des Absenders, z. B. noreply-composer@<your-domain>.
    SENDGRID_API_KEY Ihr SendGrid-API-Schlüssel.
  5. So testen Sie die SendGrid-Konfiguration:

    1. Erstellen Sie einen Test-DAG, der EmailOperator verwendet.
    2. Laden Sie den DAG in Ihre Umgebung hoch und prüfen Sie, ob die EmailOperator-Aufgabe erfolgreich war.
    3. Melden Sie sich bei SendGrid mit Ihren SendGrid-Anmeldedaten an.
    4. Wechseln Sie in der SendGrid-Benutzeroberfläche zur Seite "Aktivität".
    5. Durchsuchen Sie die Liste nach der E-Mail. Es sollte nun sichtbar sein, dass SendGrid die E-Mail verarbeitet und zugestellt hat.
    6. Wenn die E-Mail nicht verarbeitet und nicht zugestellt wurde, gehen Sie so vor:
      • Prüfen Sie die Sendgrid-Konfiguration.
      • Überprüfen Sie, ob die Umgebungsvariablen SENDGRID_MAIL_FROM und SENDGRID_API_KEY korrekt sind.
      • Überprüfen Sie den Spamfilter in Ihrem E-Mail-Client.

SMTP-Dienste von Drittanbietern konfigurieren

Zum Senden von E-Mails über den SMTP-Dienst eines Drittanbieters konfigurieren Sie die email_backend-Airflow-Konfigurationsoption und konfigurieren Sie weitere SMTP-bezogene Parameter.

Zum Konfigurieren des SMTP-Dienstes eines Drittanbieters überschreiben Sie die Airflow-Konfigurationsoptionen:

Bereich Schlüssel Wert
email email_backend airflow.utils.email.send_email_smtp
smtp smtp_host Der Hostname für den SMTP-Server.
smtp smtp_user Der Nutzername auf dem SMTP-Server.
smtp smtp_port Der Port für den SMTP-Server. Port 25 ist nicht verfügbar. Sie können auch andere Ports verwenden, z. B. die Standard-SMTP-Ports 465 und 587.
smtp smtp_password Das Festlegen eines Passworts über smtp_password wird nicht unterstützt. Folgen Sie der Anleitung unter SMTP-Passwort konfigurieren, um ein SMTP-Passwort festzulegen.
smtp smtp_mail_from Die E-Mail-Adresse des Absenders, z. B. noreply-composer@.
smtp smtp_starttls Attribut zur Erhöhung der Sicherheit mit True.
smtp smtp_ssl Attribut zur Erhöhung der Sicherheit mit True.

Weitere SMTP-Konfigurationen finden Sie unter default_airflow.cfg für Ihre Airflow-Version.

SMTP-Passwort für den SMTP-Dienst eines Drittanbieters konfigurieren

Die Beibehaltung eines SMTP-Passworts als Klartext in der Airflow-Konfigurationsdatei ist nicht empfehlenswert. Daher unterstützt Cloud Composer diese Methode nicht. Stattdessen können Sie zwei andere Methoden zum Konfigurieren eines SMTP-Passworts verwenden.

SMTP-Passwort mit einem Befehl abrufen

In einer Konfigurationsüberschreibung können Sie einen Befehl zum Abrufen des SMTP-Passworts angeben. Bei der Kommunikation mit Ihrem SMTP-Dienst verwendet Airflow diesen Befehl, um den Wert des Passworts abzurufen.

Wenn Sie diese Methode verwenden möchten, überschreiben Sie das folgende Airflow-Konfigurationsattribut:

Bereich Schlüssel Wert
smtp smtp_password_cmd Geben Sie einen Befehl an, der das SMTP-Passwort zurückgibt.
SMTP-Passwort mit einem in Secret Manager gespeicherten Secret abrufen

Sie können Secret Manager als Airflow-Back-End-Back-End konfigurieren.

Nachdem Sie Secret Manager für Ihre Composer-Umgebung konfiguriert haben, können Sie ein SMTP-Passwort im Secret Manager speichern:

  1. Erstellen Sie ein neues Secret:

    echo "SMTP_PASSWORD" | gcloud beta secrets create airflow-config-smtp-password --data-file=- --replication-policy=automatic
    

    Ersetzen Sie SMTP_PASSWORD durch Ihr SMTP-Passwort.

  2. Airflow so konfigurieren, dass das SMTP-Passwort aus Secret Manager abgerufen wird Dazu überschreiben Sie das folgende Airflow-Konfigurationsattribut:

    Bereich Schlüssel Wert
    smtp smtp_password_secret smtp-password

Nächste Schritte