Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Auf dieser Seite wird erläutert, wie Sie eine Verbindung zu einer Cloud SQL-Instanz herstellen, die die Airflow-Datenbank Ihrer Cloud Composer-Umgebung ausführt und wie Sie SQL-Abfragen ausführen.
Sie können beispielsweise Abfragen direkt in der Airflow-Datenbank ausführen, Datenbanksicherungen erstellen, Statistiken basierend auf dem Datenbankinhalt erfassen oder andere benutzerdefinierte Informationen aus der Datenbank abrufen.
Bei einer Cloud Composer-Umgebung können Sie beispielsweise von einer VM im GKE-Cluster Ihrer Umgebung eine Verbindung zur Airflow-Datenbank herstellen.
Name und Region des Clusters der Umgebung abrufen
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Wählen Sie Ihre Umgebung aus.
Rufen Sie den Tab Umgebungskonfiguration auf.
Im Element GKE-Cluster werden der Name und die Region des GKE-Clusters Ihrer Umgebung aufgelistet.
Wenn der Wert dieses Parameters beispielsweise
projects/example-project/locations/us-central1/clusters/us-central1-composer-exam-e-23125af4-gke
, lautet der Clusternameus-central1-composer-exam-e-23125af4-gke
, der Clusterregion istus-central1
.
Parameter für die Datenbankverbindung abrufen
Airflow 2
- Rufen Sie die Airflow-Weboberfläche für Ihre Umgebung auf.
Wechseln Sie in der Airflow-Weboberfläche zu Administrator > Konfigurationen.
Suchen Sie den Parameter
sql_alchemy_conn
.Rufen Sie den Benutzernamen, das Passwort und den Datenbanknamen aus dem Wert dieser .
Wenn der Wert dieses Parameters beispielsweise
postgresql+psycopg2://root:example-password@127.0.0.1:3306/composer-1-17-0-airflow-2-0-1-400fa094
lautet, lautet der Nutzernameroot
, das Passwort istexample-password
und der Datenbanknamecomposer-1-17-0-airflow-2-0-1-400fa094
.
Airflow 1
Cloud Composer 2 unterstützt nur Airflow 2.
Adresse des Datenbankendpunkts abrufen
Öffentliche IP-Adresse
Wechseln Sie in der Google Cloud Console zur Kubernetes Engine > Gateways, Dienste und Seite für eingehenden Traffic:
Wählen Sie den Dienst
airflow-sqlproxy-service
für Ihren Cluster aus. Sie können den Namen des Clusters oder den aufgeführten IP-Bereich für Endpunkte verwenden, um das richtige Element zu ermitteln.Suchen Sie auf der Seite Dienstdetails die IP-Adresse eines Bereitstellungs-Pods. Sie wird im Abschnitt Pods bereitstellen in der Spalte Endpunkte aufgeführt.
Private IP – PSC
Gehen Sie in der Google Cloud Console zu Netzwerkdienste > Private Service Connect:
Klicken Sie auf den Endpunkt mit dem Namen Ihrer Umgebung. Zum Beispiel kann es sein, mit dem Namen
us-central1-example-environ-d9cb394f-psc
.Ihre Umgebung stellt über die angegebene IP-Adresse eine Verbindung zur Datenbank her in die Zeile IP-Adresse ein.
Private IP-Adresse – VPC-Peerings
Rufen Sie in der Google Cloud Console die Seite Kubernetes Engine > Gateways, Dienste und Ingress auf:
Wählen Sie den Dienst
airflow-sqlproxy-service
für Ihren Cluster aus. Sie können den Namen des Clusters oder den aufgeführten IP-Bereich für Endpunkte verwenden, um das richtige Element zu ermitteln.Suchen Sie auf der Seite Dienstdetails die IP-Adresse eines Bereitstellungs-Pods. Sie wird im Abschnitt Pods bereitstellen in der Spalte Endpunkte aufgeführt.
VM-Instanz erstellen
Erstellen Sie eine neue VM-Instanz mit den folgenden Parametern:
Region Wählen Sie die Region des Clusters aus.
Zone. Wählen Sie eine Zone in derselben Region wie der Cluster aus.
Bootlaufwerk. Wählen Sie eine Linux-Distribution aus, z. B.
Ubuntu 21.04 LTS
.Geben Sie eine IP-Adresse im IP-Bereich des Clusters an:
- Erweitern Sie das Menü Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten.
- Rufen Sie den Tab Netzwerk auf.
- Maximieren Sie unter Netzwerkschnittstellen das Element Standard.
- Maximieren Sie Alias-IP-Bereiche einblenden.
- Wählen Sie im Subnetzbereich den IP-Bereich
gke-services
für den Cluster aus. Beispiel:gke-europe-west3-composer-exam7b206598-gke-services-115b26e7
. Sie haben im vorherigen Schritt den Namen des Clusters abgerufen. - Geben Sie im Alias-IP-Bereich eine IP-Adresse für die VM-Instanz im IP-Adressbereich des angegebenen Subnetzbereichs an.
Verbindung zur VM-Instanz herstellen und das SQL-Clientpaket installieren
Airflow 2
Stellen Sie eine Verbindung zur VM-Instanz her, die Sie im vorherigen Schritt erstellt haben.
Installieren Sie das Paket
postgresql-client
:sudo apt-get update sudo apt-get install postgresql-client
Airflow 1
Cloud Composer 2 unterstützt nur Airflow 2.
Verbindung zur Airflow-Datenbank herstellen
Führen Sie den folgenden Befehl aus, während Sie mit der VM-Instanz verbunden sind, um eine Verbindung zur Airflow-Datenbank herzustellen:
Airflow 2
psql --user=USERNAME --password \
--host=DB_ENDPOINT \
--port=3306 \
DB_NAME
Airflow 1
Cloud Composer 2 unterstützt nur Airflow 2.
Ersetzen Sie folgende Werte durch die Werte, die Sie in den vorherigen Schritten abgerufen haben:
USERNAME
durch den Nutzernamen.DB_ENDPOINT
durch die IP-Adresse des Datenbankendpunkts, die Sie zuvor in diesem Leitfaden ermittelt haben.DB_NAME
durch den Datenbanknamen.
SQL-Abfragen ausführen
Eine Eingabeaufforderung wird angezeigt. Sie können SQL-Abfragen in dieser Eingabeaufforderung ausführen. Beispiel:
SELECT * FROM dag LIMIT 10;
Inhalt der Datenbank in einer Dumpdatei sichern und in einen Bucket übertragen
Führen Sie den folgenden Befehl aus, um Datenbankinhalte in eine Dump-Datei zu speichern:
Airflow 2
pg_dump --user=USERNAME --password \
--host=DB_ENDPOINT \
--port=3306 \
DB_NAME > DUMP_FILE
Airflow 1
Cloud Composer 2 unterstützt nur Airflow 2.
Ersetzen Sie:
USERNAME
durch den Nutzernamen.DB_ENDPOINT
durch die IP-Adresse des Datenbankendpunkts.DB_NAME
durch den Datenbanknamen.DUMP_FILE
durch den Namen der Dumpdatei. Beispiel:dump.sql
.
So übertragen Sie die Dumpdatei in einen Cloud Storage-Bucket:
gcloud storage cp DUMP_FILE BUCKET_ADDRESS
Ersetzen Sie:
DUMP_FILE
durch den Namen der Dumpdatei.BUCKET_ADDRESS
durch die Adresse des Buckets. Beispiel:gs://europe-west3-db-dump
.
Alternativ können Sie die Dumpdatei lokal mit gcloud compute scp
übertragen.