Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
En esta página, se explica cómo conectarse a una instancia de Cloud SQL que ejecuta la base de datos de Airflow de tu entorno de Cloud Composer y que ejecuta consultas de SQL.
Por ejemplo, es posible que desees ejecutar consultas directamente en la base de datos de Airflow, hacer copias de seguridad de la base de datos, recopilar estadísticas basadas en el contenido de la base de datos o recuperar cualquier otra información personalizada de la base de datos.
Para un entorno de Cloud Composer, una forma de hacerlo es conectarte a la base de datos de Airflow desde una VM en el clúster de GKE de tu entorno.
Obtén el nombre y la región del clúster de tu entorno
En la consola de Google Cloud, ve a la página Entornos.
Selecciona tu entorno.
Ve a la pestaña Configuración del entorno.
El elemento Clúster de GKE muestra el nombre y la región. del clúster de GKE de tu entorno.
Por ejemplo, si el valor de este parámetro es
projects/example-project/locations/us-central1/clusters/us-central1-composer-exam-e-23125af4-gke
: entonces el nombre del clúster esus-central1-composer-exam-e-23125af4-gke
, la región del clúster esus-central1
.
Obtén los parámetros de conexión de la base de datos
Airflow 2
- Accede a la interfaz web de Airflow para tu entorno.
En la interfaz web de Airflow, ve a Administrador > Configuración.
Busca el parámetro
sql_alchemy_conn
.Obtén el nombre de usuario, la contraseña y el nombre de la base de datos a partir del valor de este parámetro.
Por ejemplo, si el valor de este parámetro es
postgresql+psycopg2://root:example-password@127.0.0.1:3306/composer-1-17-0-airflow-2-0-1-400fa094
: entonces el nombre de usuario esroot
, la contraseña esexample-password
y el nombre de la base de datos escomposer-1-17-0-airflow-2-0-1-400fa094
.
Airflow 1
Cloud Composer 2 solo es compatible con Airflow 2.
Obtén la dirección del extremo de la base de datos
IP pública
En la consola de Google Cloud, ve a Kubernetes Engine > Puertas de enlace, servicios y Página Ingress:
Selecciona el servicio
airflow-sqlproxy-service
para tu clúster. Puedes usar el nombre del clúster o el rango de IP que se muestra para que los extremos busquen el elemento correcto.En la página Detalles del servicio, busca la dirección IP de un pod servidor. Aparece en la sección Pods de entrega, en la columna Endpoints.
IP privada: PSC
En la consola de Google Cloud, ve a Servicios de red > página Private Service Connect:
Haz clic en el extremo con el nombre de tu entorno. Por ejemplo, puede ser con el nombre
us-central1-example-environ-d9cb394f-psc
.Tu entorno se conecta a la base de datos a través de la dirección IP especificada. de la fila Dirección IP.
IP privada: Intercambios de tráfico entre VPC
En la consola de Google Cloud, ve a la página Kubernetes Engine > Puertas de enlace, Ingress y servicios:
Selecciona el servicio
airflow-sqlproxy-service
para tu clúster. Puedes usar el nombre del clúster o el rango de IP que se muestra para que los extremos busquen el elemento correcto.En la página Detalles del servicio, busca la dirección IP de un pod servidor. Aparece en la sección Pods de entrega, en la columna Endpoints.
Crea una instancia de VM
Crea una instancia de VM nueva con los siguientes parámetros:
Region. La misma región que tu clúster.
Zona. Selecciona cualquier zona en la misma región que tu clúster.
Disco de arranque. Selecciona una distribución de Linux, por ejemplo,
Ubuntu 21.04 LTS
.Especifica una dirección IP en el rango de IP del clúster:
- Expande el elemento Administración, seguridad, discos, Herramientas de redes, instancia única.
- Ve a la pestaña Herramientas de redes.
- En Interfaces de red, expande el elemento de interfaz predeterminado.
- Expande Mostrar rangos de alias de IP.
- En el Rango de la subred, selecciona el rango de IP
gke-services
para tu clúster. Por ejemplo,gke-europe-west3-composer-exam7b206598-gke-services-115b26e7
. En el paso anterior, obtienes el nombre del clúster. - En el Rango de IP de alias, especifica una dirección IP para la instancia de VM que esté en el rango de direcciones IP del rango de subred especificado.
Conéctate a la instancia de VM e instala el paquete de cliente SQL
Airflow 2
Conéctate a la instancia de VM que creaste en el paso anterior.
Instala el paquete
postgresql-client
.sudo apt-get update sudo apt-get install postgresql-client
Airflow 1
Cloud Composer 2 solo es compatible con Airflow 2.
Conéctate a la base de datos de Airflow
Mientras estés conectado a la instancia de VM, ejecuta el siguiente comando para conectarte a la base de datos de Airflow:
Airflow 2
psql --user=USERNAME --password \
--host=DB_ENDPOINT \
--port=3306 \
DB_NAME
Airflow 1
Cloud Composer 2 solo es compatible con Airflow 2.
Reemplaza los valores por los obtenidos en los pasos anteriores:
USERNAME
por el nombre de usuarioDB_ENDPOINT
por la dirección IP del extremo de la base de datos que obtuviste anteriormente en esta guía.DB_NAME
por el nombre de la base de datos
Ejecuta consultas de SQL
Aparecerá un mensaje. Puedes ejecutar consultas de SQL en esta ventana. Por ejemplo:
SELECT * FROM dag LIMIT 10;
Vuelca el contenido de la base de datos y los transfiere a un bucket
Para volcar el contenido de la base de datos a un archivo, ejecuta el siguiente comando:
Airflow 2
pg_dump --user=USERNAME --password \
--host=DB_ENDPOINT \
--port=3306 \
DB_NAME > DUMP_FILE
Airflow 1
Cloud Composer 2 solo es compatible con Airflow 2.
Reemplaza lo siguiente:
USERNAME
por el nombre de usuarioDB_ENDPOINT
por la dirección IP del extremo de la base de datosDB_NAME
por el nombre de la base de datosDUMP_FILE
por el nombre del archivo de volcado. Por ejemplo,dump.sql
Para transferir el archivo de volcado a un bucket de Cloud Storage, haz lo siguiente:
gcloud storage cp DUMP_FILE BUCKET_ADDRESS
Reemplaza lo siguiente:
DUMP_FILE
por el nombre del archivo de volcado.BUCKET_ADDRESS
por la dirección del bucket. Por ejemplo,gs://europe-west3-db-dump
Como alternativa, puedes transferir el archivo de volcado de forma local con gcloud compute scp
.