Gerenciar bancos de dados;

O sandbox do GDC oferece o serviço de banco de dados para testar e gerenciar clusters de banco de dados.

Criar banco de dados

Para criar e gerenciar um cluster de banco de dados, consulte Criar e gerenciar um cluster de banco de dados.

Mecanismos de banco de dados disponíveis

A sandbox do GDC só é compatível com PostgreSQL e AlloyDB.

Use o console do GDC ou a CLI do Distributed Cloud para criar clusters de banco de dados:

Console

  1. No menu principal, escolha Serviço de banco de dados.
  2. Clique em Criar cluster de banco de dados.
  3. Na caixa de diálogo Escolher um mecanismo de banco de dados, escolha um mecanismo de banco de dados.

  4. Na caixa de diálogo Configurar seu cluster, especifique o ID do cluster, a senha e a versão do banco de dados. É possível ativar backups e configurar o período de armazenamento de backup.

  5. Na caixa de diálogo Configurar a instância principal, especifique a capacidade de CPU, memória e armazenamento da instância principal do cluster de banco de dados. Recomendamos que você escolha memória suficiente para armazenar sua maior tabela.

  6. Clique em Criar. A criação do cluster de banco de dados pode levar alguns minutos. Verifique o status do cluster na página Visão geral do cluster. O status muda de Criação para Pronto quando o cluster está pronto.

gdcloud

  1. Antes de usar a CLI do Distributed Cloud, instale e inicialize. Em seguida, faça a autenticação com sua organização.

  2. Execute o comando a seguir para criar um cluster de banco de dados:

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

    Substitua as seguintes variáveis:

    • CLUSTER_NAME com o nome do novo cluster.
    • DB_VERSION com a string de versão do novo cluster. Por exemplo, POSTGRESQL_13 ou ALLOYDBOMNI_15
    • ADMIN_PASSWORD com a senha de administrador do novo cluster.
  3. Para mais informações sobre como configurar os recursos de CPU, memória e armazenamento do cluster de banco de dados, configurar o backup, ativar a alta disponibilidade e outras opções disponíveis, execute:

    gdcloud database clusters create --help
    

API

  1. Crie um arquivo db-cluster-create.yaml com o conteúdo

    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
    

    Substitua as seguintes variáveis:

    • DBCLUSTER_NAME, o nome do cluster de banco de dados.
    • USER_PROJECT, o nome do projeto do usuário em que o cluster de banco de dados será criado.
    • BASE64_PASSWORD, a codificação base64 da senha do administrador do banco de dados.
    • DBENGINE_NAME, o nome do mecanismo de banco de dados. É um dos campos alloydbomni ou postgresql.
    • DB_VERSION, a versão do mecanismo de banco de dados.
    • DB_MEMORY, a quantidade de memória alocada para o cluster de banco de dados, por exemplo, 5Gi.
    • DB_CPU, a quantidade de CPUs alocadas para o cluster de banco de dados, por exemplo, 2.
    • DB_DATA_DISK, quantidade de espaço alocado para o cluster de banco de dados, por exemplo, 10 Gi.
  2. kubectl --kubeconfig MANAGEMENT_API apply -f db-cluster-create.yaml
    

Conectar ao banco de dados

Por padrão, um cluster de banco de dados só permite conexões de dentro do cluster de usuário e do mesmo projeto.

Para ativar conexões com todos os clusters de banco de dados no seu projeto de outro projeto, consulte Ativar conexões entre projetos.

Para se conectar ao banco de dados de endereços IP fora da sua organização do GDC Sandbox, siga as instruções em Conectar-se a um cluster de banco de dados para ativar as conexões externas.

Use sshuttle para se conectar ao banco de dados com um cliente de banco de dados local, como psql:

  1. Acesse a seção Conectividade da página Serviço de banco de dados do cluster de banco de dados. Esta página inclui:

    • A senha da conta de administrador (o nome de usuário é dbsadmin)
    • Nome do host e número da porta do endpoint principal do cluster de banco de dados
    • Um comando psql para se conectar ao cluster (para clusters de banco de dados do PostgreSQL e do AlloyDB Omni)
    • Um link para fazer o download do certificado da autoridade certificadora (CA) do cluster de banco de dados
  2. Faça o download do certificado da CA no console do GDC, na seção Conectividade da página Serviço de banco de dados do seu cluster de banco de dados.

  3. Configure seu cliente para usar o certificado da CA e verificar o banco de dados. Para clientes psql, defina a variável de ambiente PGSSLROOTCERT como o caminho do arquivo de certificado e a variável de ambiente PGSSLMODE como sua preferência:

        export PGSSLROOTCERT=path/to/accounts_cert.pem
        export PGSSLMODE="verify-full"
    
  4. Inicie um túnel seguro. Se você tiver uma instância de sshuttle em execução, conforme descrito em Conectar-se à instância, encerre esse processo.

        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
    

    Substitua o seguinte pelos valores fornecidos pela equipe do GDC Sandbox:

    • GDC_SANDBOX_INSTANCE_NAME: o nome da sua instância do GDC Sandbox.
    • PROJECT_NAME: o projeto que contém seu ambiente de sandbox do GDC.
    • ZONE: a zona que contém seu ambiente de sandbox do GDC.
  5. Enquanto o túnel estiver ativo, execute o comando usando psql em um terminal diferente.

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

    Substitua as seguintes variáveis:

    • DB_PASSWORD: a senha da UI do console.
    • DB_HOSTNAME: o nome do host do banco de dados no console.
    • DB_PORT: o número da porta do banco de dados no console.
    • DB_USERNAME: o nome de usuário do banco de dados no console.