Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Questa pagina spiega come connettersi a un'istanza Cloud SQL in esecuzione il database Airflow di Cloud Composer dell'ambiente di analisi ed eseguire query SQL.
Ad esempio, potresti voler eseguire query direttamente sul database Airflow, eseguire backup dei database, raccogliere statistiche in base ai contenuti del database o recuperare qualsiasi altra informazione personalizzata dal database.
Per un ambiente Cloud Composer, un modo per farlo è connettere al database Airflow da una VM nel cluster GKE completamente gestito di Google Cloud.
Ottieni il nome e la regione del cluster dell'ambiente
Nella console Google Cloud, vai alla pagina Ambienti.
Seleziona il tuo ambiente.
Vai alla scheda Configurazione dell'ambiente.
L'elemento Cluster GKE elenca il nome e la regione del cluster GKE del tuo ambiente.
Ad esempio, se il valore di questo parametro è
projects/example-project/locations/us-central1/clusters/us-central1-composer-exam-e-23125af4-gke
, il nome del cluster èus-central1-composer-exam-e-23125af4-gke
e la regione del cluster èus-central1
.
recupera i parametri di connessione del database
Airflow 2
- Accedi all'interfaccia web di Airflow per del tuo ambiente.
Nell'interfaccia web di Airflow, vai ad Admin (Amministrazione) > Configurazioni.
Trova il parametro
sql_alchemy_conn
.Ottieni il nome utente, la password e il nome del database dal valore di questo .
Ad esempio, se il valore di questo parametro è
postgresql+psycopg2://root:example-password@127.0.0.1:3306/composer-1-17-0-airflow-2-0-1-400fa094
, il nome utente èroot
, la password èexample-password
, il nome del database ècomposer-1-17-0-airflow-2-0-1-400fa094
.
Flusso d'aria 1
Cloud Composer 2 supporta solo Airflow 2.
Ottenere l'indirizzo dell'endpoint del database
IP pubblico
Nella console Google Cloud, vai alla Kubernetes Engine > Gateway, servizi e Pagina in entrata:
Seleziona il servizio
airflow-sqlproxy-service
per il tuo cluster. Puoi utilizzare il nome del cluster o l'intervallo IP elencato per gli endpoint da cercare l'elemento corretto.Nella pagina Dettagli del servizio, individua l'indirizzo IP di un pod di pubblicazione. it è elencato nella sezione Pod in pubblicazione, nella colonna Endpoint.
IP privato - PSC
Nella console Google Cloud, vai alla pagina Servizi di rete > Private Service Connect:
Fai clic sull'endpoint con il nome dell'ambiente. Ad esempio, può essere chiamato
us-central1-example-environ-d9cb394f-psc
.L'ambiente si connette al database tramite l'indirizzo IP specificato nella riga Indirizzo IP.
IP privato - Peering VPC
Nella console Google Cloud, vai alla pagina Kubernetes Engine > Gateway, servizi e Ingress:
Seleziona il servizio
airflow-sqlproxy-service
per il tuo cluster. Puoi utilizzare il nome del cluster o l'intervallo IP elencato per gli endpoint da cercare l'elemento corretto.Nella pagina Dettagli servizio, trova l'indirizzo IP di un pod di pubblicazione. È elencato nella sezione Pod di servizio, nella colonna Endpoint.
Crea un'istanza VM
Crea una nuova istanza VM con i seguenti parametri:
Regione. Seleziona la stessa regione del cluster.
Zona. Seleziona una zona qualsiasi nella stessa regione del cluster.
Disco di avvio. Seleziona una distribuzione Linux, ad esempio
Ubuntu 21.04 LTS
.Specifica un indirizzo IP nell'intervallo IP del cluster:
- Espandi Gestione, sicurezza, dischi, networking, single-tenancy molto utile.
- Vai alla scheda Networking.
- In Interfacce di rete, espandi l'elemento dell'interfaccia predefinita.
- Espandi Mostra intervalli IP alias.
- In Intervallo subnet, seleziona l'intervallo IP
gke-services
per il tuo cluster. Ad esempio:gke-europe-west3-composer-exam7b206598-gke-services-115b26e7
. Tu di avere ottenuto il nome del cluster nel passaggio precedente. - In Intervallo IP alias, specifica un indirizzo IP per l'istanza VM che rientri nell'intervallo di indirizzi IP dell'intervallo di subnet specificato.
Connettiti all'istanza VM e installa il pacchetto client SQL
Flusso d'aria 2
Connettiti all'istanza VM creata nel passaggio precedente.
Installa il pacchetto
postgresql-client
.sudo apt-get update sudo apt-get install postgresql-client
Airflow 1
Cloud Composer 2 supporta solo Airflow 2.
Connettiti al database Airflow
Mentre sei connesso all'istanza VM, esegui il seguente comando per connetterti al database Airflow:
Airflow 2
psql --user=USERNAME --password \
--host=DB_ENDPOINT \
--port=3306 \
DB_NAME
Flusso d'aria 1
Cloud Composer 2 supporta solo Airflow 2.
Sostituisci con i valori ottenuti nei passaggi precedenti:
USERNAME
con il nome utente.DB_ENDPOINT
con l'indirizzo IP dell'endpoint del database che hai ottenuto in precedenza.DB_NAME
con il nome del database.
esegui query SQL
Viene visualizzato un prompt. In questo prompt puoi eseguire query SQL. Ad esempio:
SELECT * FROM dag LIMIT 10;
Esegui il dump dei contenuti del database e trasferiscili in un bucket
Per eseguire il dump dei contenuti del database in un file, esegui questo comando:
Flusso d'aria 2
pg_dump --user=USERNAME --password \
--host=DB_ENDPOINT \
--port=3306 \
DB_NAME > DUMP_FILE
Flusso d'aria 1
Cloud Composer 2 supporta solo Airflow 2.
Sostituisci:
USERNAME
con il nome utente.DB_ENDPOINT
con l'indirizzo IP dell'endpoint del database.DB_NAME
con il nome del database.DUMP_FILE
con il nome del file di dump. Ad esempio,dump.sql
.
Per trasferire il file di dump in un bucket Cloud Storage:
gcloud storage cp DUMP_FILE BUCKET_ADDRESS
Sostituisci:
DUMP_FILE
con il nome del file dump.BUCKET_ADDRESS
con l'indirizzo del bucket. Ad esempio,gs://europe-west3-db-dump
.
In alternativa, puoi trasferire il file dump localmente
con gcloud compute scp
.