Acceder a la base de datos de Airflow

Cloud Composer 1 | Cloud Composer 2

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 de 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.

En 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 zona del clúster de tu entorno

  1. En Google Cloud Console, ve a la página Entornos.

    Ir a Entornos

  2. Selecciona tu entorno.

  3. Ve a la pestaña Configuración del entorno.

  4. El elemento de clúster de GKE enumera el nombre y la zona del clúster de GKE de tu entorno.

    Por ejemplo, si el valor de este parámetro es projects/example-project/zones/europe-west3-a/clusters/europe-west3-composer-exam--7b206598-gke, entonces el nombre del clúster es europe-west3-composer-exam--7b206598-gke, la zona del clúster es europe-west3-a.

Obtén los parámetros de conexión de la base de datos

Airflow 2

  1. Accede a la interfaz web de Airflow para tu entorno.
  2. En la interfaz web de Airflow, vaya a Admin > Configurations.

  3. Busca el parámetro sql_alchemy_conn.

  4. Obtén el nombre de usuario, la contraseña y el nombre de la base de datos 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 es root, la contraseña es example-password, el nombre de la base de datos es composer-1-17-0-airflow-2-0-1-400fa094.

Airflow 1

Cloud Composer 2 solo es compatible con Airflow 2.

Obtén la dirección de extremo del proxy de SQL

  1. En Google Cloud Console, ve a la página Kubernetes Engine > Ingress y servicios:

    Ir a Ingress y Service

  2. Selecciona el servicio airflow-sqlproxy-service para el clúster. Puedes usar el nombre del clúster o el rango de IP de la lista para que los extremos busquen el elemento correcto.

  3. 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 Extremos.

Crea una instancia de VM

Crea una nueva instancia de VM con los siguientes parámetros:

  • Region. Selecciona la misma región que el clúster.
  • Zona. Selecciona la misma zona que el 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 (solo para IP privada):

    1. Expande el elemento Administración, seguridad, discos, herramientas de redes, instancia única.
    2. Ve a la pestaña Herramientas de redes.
    3. En Interfaces de red, expande el elemento de interfaz predeterminado.
    4. Expande Mostrar rangos de IP de alias.
    5. 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. Obtuviste el nombre del clúster en el paso anterior.
    6. En el Rango de IP de alias, especifica una dirección IP para la instancia de VM que se encuentra en el rango de direcciones IP del rango de subred especificado.

Conéctate a la instancia de VM y, luego, instala el paquete del cliente SQL

Airflow 2

  1. Conéctate a la instancia de VM que creaste en el paso anterior.

  2. 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.

Conectarse a la base de datos de Airfow

Cuando 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=SQL_ENDPOINT --port=3306 DB_NAME

Airflow 1

Cloud Composer 2 solo es compatible con Airflow 2.

Reemplaza los valores obtenidos en los pasos anteriores:

  • USERNAME por el nombre de usuario
  • SQL_ENDPOINT por la dirección IP del extremo de SQL
  • DB_NAME por el nombre de la base de datos

Ejecuta consultas de SQL

Aparecerá un mensaje de indicación. Puedes ejecutar consultas de SQL en este mensaje. Por ejemplo:

SELECT * FROM dag LIMIT 10;

Vuelca el contenido de la base de datos y transfiérelo a un bucket

Para volcar los contenidos de la base de datos en un archivo, ejecute el siguiente comando:

Airflow 2

pg_dump --user=USERNAME --password --host=SQL_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 usuario
  • SQL_ENDPOINT por la dirección IP del extremo de SQL
  • DB_NAME por el nombre de la base de datos
  • DUMP_FILE por el nombre del archivo de volcado Por ejemplo, dump.sql

Para transferir el archivo de volcado a un bucket de Cloud Storage, sigue estos pasos:

gsutil cp DUMP_DILE 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.

¿Qué sigue?