Criar um cluster de banco de dados

Esta página descreve como usar o serviço de banco de dados para criar e gerenciar bancos de dados no Google Distributed Cloud (GDC) isolado por air-gap.

Autorização e papéis

Os usuários precisam ter autorização para acessar o serviço de banco de dados. A autorização é necessária para acessar o serviço de banco de dados com o console do GDC e a CLI do Distributed Cloud.

Os papéis a seguir concedem permissões aos usuários:

project-viewer
Os usuários com essa função podem acessar o console do GDC.
project-db-viewer
Os usuários com essa função podem ver clusters de banco de dados.
project-db-editor
Os usuários com essa função têm as capacidades conferidas por project-db-viewer e também podem editar clusters de banco de dados.
project-db-admin
Os usuários com essa função têm a capacidade conferida por project-db-editor e também podem criar e excluir clusters de banco de dados.
project-bucket-object-viewer
Os usuários com essa função podem usar o navegador de armazenamento na interface do serviço de banco de dados no console do GDC. Essa interface é usada para especificar arquivos para importações de banco de dados e destinos para arquivos gerados por exportações de banco de dados.
project-monitoring-viewer
Os usuários com essa função podem acessar a instância de monitoramento. Consulte Observar métricas para mais informações sobre como observar métricas do serviço de banco de dados. Conceda essa função apenas aos usuários que precisam acessar a instância de monitoramento.
project_mp_admin
Os usuários com esse papel têm as capacidades conferidas pelos papéis project_mp_editor e project_mpb_editor. Portanto, eles podem criar, editar e excluir políticas de manutenção e vinculações de políticas de manutenção.
project_mp_viewer
Os usuários com essa função podem ver políticas de manutenção.
project_mp_editor
Os usuários com essa função têm as capacidades conferidas pela função project_mp_viewer e também podem criar, editar e excluir políticas de manutenção.
project_mpb_viewer
Os usuários com essa função podem ver vinculações de políticas de manutenção.
project_mpb_editor
Os usuários com essa função têm os recursos conferidos pela função project_mpb_viewer e também podem criar, editar e excluir vinculações de políticas de manutenção.

Mecanismos de banco de dados disponíveis

Os seguintes mecanismos de banco de dados estão disponíveis para uso em um ambiente do GDC:

Banco de dados Versões
AlloyDB Omni 15
Oracle 19
PostgreSQL 13, 14, 15

Escolher um tipo de mecanismo de banco de dados e criar um cluster de banco de dados

Se quiser ativar os backups para o cluster de banco de dados, primeiro crie um bucket de armazenamento do Distributed Cloud ou qualquer bucket acessível com um endpoint compatível com S3 e crie um repositório de backup chamado dbs-backup-repository. Se você usar um bucket de armazenamento fora do Distributed Cloud, será sua responsabilidade garantir que ele esteja criptografado corretamente.

Confira a seguir um exemplo de recurso personalizado BackupRepository criado para backups do Database Service:

apiVersion: backup.gdc.goog/v1
kind: BackupRepository
metadata:
  name: dbs-backup-repository
spec:
  secretReference:
    namespace: "object-storage-secret-ns"
    name: "object-storage-secret"
  endpoint: "https://objectstorage.google.gdch.test"
  type: S3
  s3Options:
    bucket: "fully-qualified-bucket-name"
    region: "us-east-1"
    forcePathStyle: true
  importPolicy: ReadWrite

Um usuário com o papel de administrador de banco de dados do projeto precisa realizar as etapas a seguir. 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, selecione 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 deles.

  5. Se você escolheu o mecanismo de banco de dados PostgreSQL, é possível ativar a alta disponibilidade para o cluster de banco de dados. Se ativado, o serviço de banco de dados provisiona uma instância de espera na mesma zona da instância principal para proteger contra falhas. Consulte Alta disponibilidade para mais informações.

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

  7. 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 Criando 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, ORACLE_19_ENTERPRISE 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

Para bancos de dados do AlloyDB ou PostgreSQL:

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

Para bancos de dados Oracle:

apiVersion: v1
kind: Secret
metadata:
  name: db-pw-DBCLUSTER_NAME
  namespace: USER_PROJECT
type: Opaque
data:
  DBCLUSTER_NAME: "BASE64_PASSWORD"
---
apiVersion: oracle.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"
    cdbName: GCLOUD
    resources:
      memory: DB_MEMORY
      cpu: DB_CPU
      disks:
      - name: DataDisk
        size: DB_DATA_DISK
      - name: LogDisk
        size: DB_LOG_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 de 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.
  • DB_LOG_DISK, a quantidade de espaço alocado para o disco de registro do banco de dados Oracle (somente Oracle).