El entorno aislado de GDC proporciona el servicio de base de datos para probar y gestionar clústeres de bases de datos.
Crear base de datos
Para crear y gestionar un clúster de bases de datos, consulta Crear y gestionar un clúster de bases de datos.
Motores de bases de datos disponibles
El sandbox de GDC solo admite PostgreSQL y AlloyDB.
Usa la consola de GDC o la CLI de Distributed Cloud para crear clústeres de bases de datos:
Consola
- En el menú principal, elige Servicio de base de datos.
- Haz clic en Crear clúster de base de datos.
En el cuadro de diálogo Elegir un motor de base de datos, selecciona un motor de base de datos.
En el cuadro de diálogo Configurar el clúster, especifique 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 periodo de conservación de las copias de seguridad.
En el cuadro de diálogo Configura tu instancia principal, especifica la CPU, la memoria y la capacidad de almacenamiento de la instancia principal del clúster de la base de datos. Te recomendamos que elijas suficiente memoria para que quepa la tabla más grande.
Haz clic en Crear. La creación del clúster de base de datos puede tardar unos minutos. Consulta el estado del clúster en la página Vista 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álalo e inicialízalo. A continuación, 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_PASSWORD
Sustituye las siguientes variables:
CLUSTER_NAME
con el nombre del nuevo clúster.DB_VERSION
con la cadena de versión del nuevo clúster. Por ejemplo,POSTGRESQL_13
oALLOYDBOMNI_15
.ADMIN_PASSWORD
con la contraseña de administrador del nuevo clúster.
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 las 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.yaml
con contenidoapiVersion: 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_DISK
Sustituye las siguientes variables:
DBCLUSTER_NAME
, el nombre del clúster de la base de datos.USER_PROJECT
, el nombre del proyecto de usuario en el que se creará el clúster de base de datos.BASE64_PASSWORD
, la codificación en base64 de la contraseña de administrador de la base de datos.DBENGINE_NAME
, el nombre del motor de base de datos. Puede seralloydbomni
opostgresql
.DB_VERSION
, la versión del motor de la base de datos.DB_MEMORY
, la cantidad de memoria asignada al clúster de base de datos, por ejemplo,5Gi
.DB_CPU
, la cantidad de CPUs 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
Conectarse 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 Habilitar conexiones entre proyectos.
Para conectarte a la base de datos desde direcciones IP que no pertenezcan a tu organización de GDC Sandbox, sigue las instrucciones que se indican en el artículo Conectarse 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
:
Ve a la sección Conectividad de la página Servicio de base de datos del clúster de base de datos. Esta página 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 endpoint principal del clúster de la base de datos
- Un comando
psql
para conectarse al clúster (para clústeres de bases de datos PostgreSQL y AlloyDB Omni) - Un enlace para descargar el certificado de la autoridad de certificación (CA) del clúster de bases 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 AC y verifique la base de datos. En los clientes de
psql
, asigna a la variable de entornoPGSSLROOTCERT
la ruta del archivo de certificado y a la variable de entornoPGSSLMODE
el valor que prefieras:export PGSSLROOTCERT=path/to/accounts_cert.pem export PGSSLMODE="verify-full"
Inicia un túnel seguro. Si tienes una instancia de
sshuttle
en ejecución, como se describe en Conectarse a la 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 --dns
Sustituye lo siguiente por los valores que te haya proporcionado el equipo del entorno de pruebas de GDC:
GDC_SANDBOX_INSTANCE_NAME
: el nombre de tu instancia de GDC Sandbox.PROJECT_NAME
: el proyecto que contiene tu entorno de pruebas de GDC.ZONE
: la zona que contiene tu entorno de pruebas de GDC.
Mientras el túnel esté activo, ejecuta el comando con
psql
en otro terminal.PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
Sustituye las siguientes variables:
DB_PASSWORD
: la contraseña de la interfaz de la consola.DB_HOSTNAME
: el nombre de host de la base de datos de la consola.DB_PORT
: número de puerto de la base de datos de la consola.DB_USERNAME
: el nombre de usuario de la base de datos de la consola.