Gérer des bases de données

GDC Sandbox fournit le service de base de données pour tester et gérer les clusters de bases de données.

Créer une base de données

Pour créer et gérer un cluster de bases de données, consultez Créer et gérer un cluster de bases de données.

Moteurs de base de données disponibles

GDC Sandbox n'est compatible qu'avec PostgreSQL et AlloyDB.

Utilisez la console GDC ou la CLI Distributed Cloud pour créer des clusters de bases de données :

Console

  1. Dans le menu principal, sélectionnez Service de base de données.
  2. Cliquez sur Créer un cluster de bases de données.
  3. Dans la boîte de dialogue Sélectionner un moteur de base de données, sélectionnez un moteur de base de données.

  4. Dans la boîte de dialogue Configurer votre cluster , spécifiez l'ID du cluster, le mot de passe et la version de la base de données. Vous pouvez activer les sauvegardes et configurer la période de conservation des sauvegardes.

  5. Dans la boîte de dialogue Configurer votre instance principale , spécifiez la capacité de processeur, de mémoire et de stockage de l'instance principale du cluster de bases de données. Nous vous recommandons de choisir suffisamment de mémoire pour accueillir votre table la plus volumineuse.

  6. Cliquez sur Créer. La création du cluster de bases de données peut prendre quelques minutes. Vérifiez l'état du cluster sur la page Présentation du cluster. L'état passe de Création à Prêt lorsque le cluster est prêt.

gdcloud

  1. Avant d'utiliser la CLI Distributed Cloud, installez-la et initialisez-la. Ensuite, authentifiez-vous auprès de votre organisation.

  2. Exécutez la commande suivante pour créer un cluster de bases de données :

    gdcloud database clusters create CLUSTER_NAME \
        --database-version DB_VERSION \
        --admin-password ADMIN_PASSWORD
    

    Remplacez les variables suivantes :

    • CLUSTER_NAME par le nom du nouveau cluster.
    • DB_VERSION par la chaîne de version du nouveau cluster. Par exemple, POSTGRESQL_13 ou ALLOYDBOMNI_15
    • ADMIN_PASSWORD par le mot de passe administrateur du nouveau cluster.
  3. Pour en savoir plus sur la configuration des ressources de processeur, de mémoire et de stockage pour le cluster de bases de données, la configuration de la sauvegarde, l'activation de la haute disponibilité et d'autres options disponibles, exécutez la commande suivante :

    gdcloud database clusters create --help
    

API

  1. Créez un fichier db-cluster-create.yaml avec le contenu suivant :

    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_DISK
    

    Remplacez les variables suivantes :

    • DBCLUSTER_NAME par le nom du cluster de bases de données.
    • USER_PROJECT par le nom du projet utilisateur dans lequel le cluster de bases de données sera créé.
    • BASE64_PASSWORD par l'encodage en base64 du mot de passe administrateur de la base de données.
    • DBENGINE_NAME par le nom du moteur de base de données. Il s'agit de l'un des éléments suivants : alloydbomni ou postgresql.
    • DB_VERSION par la version du moteur de base de données.
    • DB_MEMORY par la quantité de mémoire allouée au cluster de bases de données, par exemple 5Gi.
    • DB_CPU par la quantité de processeurs allouée au cluster de bases de données, par exemple 2.
    • DB_DATA_DISK par la quantité d'espace allouée au cluster de bases de données, par exemple 10 Gi.
  2. kubectl --kubeconfig MANAGEMENT_API apply -f db-cluster-create.yaml
    

Se connecter à la base de données

Par défaut, un cluster de bases de données n'autorise la connexion qu'à partir du cluster d'utilisateur et du même projet.

Pour activer les connexions à tous les clusters de bases de données de votre projet à partir d'un autre projet, consultez Activer les connexions entre projets.

Pour vous connecter à la base de données à partir d'adresses IP en dehors de votre organisation GDC Sandbox, suivez les instructions de la section Se connecter à un cluster de bases de données pour activer les connexions externes.

Vous pouvez utiliser sshuttle pour vous connecter à votre base de données avec un client de base de données local tel que psql :

  1. Accédez à la section Connectivité de la page Service de base de données pour le cluster de bases de données. Cette page inclut les éléments suivants :

    • Le mot de passe du compte administrateur (le nom d'utilisateur est dbsadmin)
    • Le nom d'hôte et le numéro de port du point de terminaison principal du cluster de bases de données
    • Une commande psql pour se connecter au cluster (pour les clusters de bases de données PostgreSQL et AlloyDB Omni)
    • Un lien pour télécharger le certificat d'autorité de certification (CA) du cluster de bases de données
  2. Téléchargez le certificat CA à partir de la console GDC dans la section Connectivité de la page Service de base de données pour votre cluster de bases de données.

  3. Configurez votre client pour qu'il utilise le certificat CA afin de valider la base de données. Pour les clients psql, définissez la variable d'environnement PGSSLROOTCERT sur le chemin d'accès au fichier de certificat et la variable d'environnement PGSSLMODE sur votre préférence :

        export PGSSLROOTCERT=path/to/accounts_cert.pem
        export PGSSLMODE="verify-full"
    
  4. Lancez un tunnel sécurisé. Si vous disposez d'une instance sshuttle en cours d'exécution, comme décrit dans Se connecter à votre instance, mettez fin à ce processus.

        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
    

    Remplacez les éléments suivants par les valeurs fournies par l'équipe GDC Sandbox :

    • GDC_SANDBOX_INSTANCE_NAME par le nom de votre instance GDC Sandbox.
    • PROJECT_NAME par le projet contenant votre environnement GDC Sandbox.
    • ZONE par la zone contenant votre environnement GDC Sandbox.
  5. Lorsque le tunnel est actif, exécutez la commande à l'aide de psql dans un autre terminal.

        PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
    

    Remplacez les variables suivantes :

    • DB_PASSWORD par le mot de passe de l'UI de la console.
    • DB_HOSTNAME par le nom d'hôte de la base de données de la console.
    • DB_PORT par le numéro de port de la base de données de la console.
    • DB_USERNAME par le nom d'utilisateur de la base de données de la console.