El GDC Sandbox proporciona el servicio de base de datos para probar y administrar clústeres de bases de datos.
Crear base de datos
Para crear y administrar un clúster de bases de datos, consulta Crea y administra un clúster de bases de datos.
Motores de bases de datos disponibles
La zona de pruebas de GDC admite los motores de bases de datos de PostgreSQL y AlloyDB Omni.
Enumera los motores de bases de datos disponibles y sus versiones compatibles:
gdcloud database engine list
Para obtener más información, consulta gdcloud database engine list.
Usa la consola de GDC o la CLI de Distributed Cloud para crear clústeres de bases de datos:
Console
- En el menú principal, elige Database Service.
- Haz clic en Crear clúster de base de datos.
En el diálogo Elige un motor de base de datos, elige un motor de base de datos.
En el diálogo Configura tu clúster, especifica el ID del clúster, la contraseña y la versión de la base de datos. Puedes habilitar las copias de seguridad y configurar el período de retención de copias de seguridad.
En el diálogo Configura tu instancia principal, especifica la capacidad de CPU, memoria y almacenamiento de la instancia principal del clúster de bases de datos. Te recomendamos que elijas suficiente memoria para contener tu tabla más grande.
Haz clic en Crear. La creación del clúster de la base de datos puede tardar unos minutos. Verifica el estado del clúster en la página Descripción general del clúster. El estado cambia de Creando a Listo cuando el clúster está listo.
gdcloud
Antes de usar Distributed Cloud CLI, instálala y, luego, inicialízala. Luego, autentícate con tu organización.
Ejecuta el siguiente comando para crear un clúster de base de datos:
gdcloud database clusters create CLUSTER_NAME \ --database-version DB_VERSION \ --admin-password ADMIN_PASSWORDReemplaza las siguientes variables:
CLUSTER_NAMEpor el nombre del clúster nuevo.DB_VERSIONcon la cadena de versión del clúster nuevo (por ejemplo,POSTGRESQL_15oALLOYDBOMNI_15). Para ver todas las versiones disponibles, ejecutagdcloud database engine list.ADMIN_PASSWORDcon la contraseña de administrador del clúster nuevo.
Para obtener más información sobre cómo configurar los recursos de CPU, memoria y almacenamiento del clúster de base de datos, configurar copias de seguridad, habilitar la alta disponibilidad y otras opciones disponibles, ejecuta el siguiente comando:
gdcloud database clusters create --help
API
Crea un archivo
db-cluster-create.yamlcon el siguiente contenido:apiVersion: v1 kind: Secret metadata: name: db-pw-DBCLUSTER_NAME namespace: USER_PROJECT type: Opaque data: DBCLUSTER_NAME: "BASE64_PASSWORD" --- apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1 kind: DBCluster metadata: name: DBCLUSTER_NAME namespace: USER_PROJECT spec: primarySpec: adminUser: passwordRef: name: db-pw-DBCLUSTER_NAME version: "DB_VERSION" resources: memory: DB_MEMORY cpu: DB_CPU disks: - name: DataDisk size: DB_DATA_DISKReemplaza las siguientes variables:
DBCLUSTER_NAME, el nombre del clúster de la base de datosUSER_PROJECT, el nombre del proyecto del usuario en el que se creará el clúster de la base de datos.BASE64_PASSWORD, la codificación en base64 de la contraseña del administrador de la base de datos.DBENGINE_NAME, el nombre del motor de base de datos. Puede seralloydbomniopostgresql.DB_VERSION, la versión del motor de base de datos. Para ver las versiones disponibles, ejecutagdcloud database engine list.DB_MEMORY, la cantidad de memoria asignada al clúster de base de datos, por ejemplo,5Gi.DB_CPU, la cantidad de CPU asignadas al clúster de base de datos, por ejemplo,2.DB_DATA_DISK, cantidad de espacio asignado al clúster de base de datos, por ejemplo,10 Gi.
kubectl --kubeconfig MANAGEMENT_API apply -f db-cluster-create.yaml
Conéctate a la base de datos
De forma predeterminada, un clúster de base de datos solo permite la conexión desde el clúster de usuario y el mismo proyecto.
Para habilitar las conexiones a todos los clústeres de bases de datos de tu proyecto desde otro proyecto, consulta Habilita las conexiones entre proyectos.
Para conectarte a la base de datos desde direcciones IP fuera de tu organización de GDC Sandbox, sigue las instrucciones en Conéctate a un clúster de bases de datos para habilitar las conexiones externas.
Puedes usar sshuttle para conectarte a tu base de datos con un cliente de base de datos local como psql:
Navega a la sección Conectividad de la página Servicio de base de datos del clúster de bases de datos. En esta página, se incluye lo siguiente:
- La contraseña de la cuenta de administrador (el nombre de usuario es
dbsadmin) - Nombre de host y número de puerto del extremo principal del clúster de la base de datos
- Un comando
psqlpara conectarse al clúster (para clústeres de bases de datos de PostgreSQL y AlloyDB Omni) - Un vínculo para descargar el certificado de la autoridad certificadora (CA) del clúster de base de datos
- La contraseña de la cuenta de administrador (el nombre de usuario es
Descarga el certificado de la AC desde la consola de GDC en la sección Conectividad de la página Servicio de base de datos de tu clúster de base de datos.
Configura tu cliente para que use el certificado de la AC y verifique la base de datos. Para los clientes de
psql, establece la variable de entornoPGSSLROOTCERTen la ruta de acceso del archivo de certificado y la variable de entornoPGSSLMODEsegún tus preferencias:export PGSSLROOTCERT=path/to/accounts_cert.pem export PGSSLMODE="verify-full"Inicia un túnel seguro. Si tienes una instancia de
sshuttleen ejecución, como se describe en Conéctate a tu instancia, finaliza ese proceso.sshuttle -r zone1-org-1-data@GDC_SANDBOX_INSTANCE_NAME --no-latency-control \ --ssh-cmd 'gcloud compute ssh --project PROJECT_NAME --zone ZONE --tunnel-through-iap' \ 10.200.0.0/16 --dnsReemplaza lo siguiente por los valores que te proporcionó el equipo del GDC Sandbox:
GDC_SANDBOX_INSTANCE_NAME: Es el nombre de tu instancia de GDC Sandbox.PROJECT_NAME: Es el proyecto que contiene tu entorno de zona de pruebas de GDC.ZONE: Es la zona que contiene tu entorno de zona de pruebas de GDC.
Mientras el túnel está activo, ejecuta el comando con
psqlen otra terminal.PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgresReemplaza las siguientes variables:
DB_PASSWORD: Es la contraseña de la IU de la consola.DB_HOSTNAME: Es el nombre de host de la base de datos que se muestra en la consola.DB_PORT: Es el número de puerto de la base de datos que se muestra en la consola.DB_USERNAME: Es el nombre de usuario de la base de datos que se muestra en la consola.