Criar uma instância principal

Esta página descreve como criar a instância principal em um cluster do AlloyDB.

Antes de começar

  • O projeto do Google Cloud que você está usando precisa ter sido ativado para acessar o AlloyDB.
  • É necessário ter uma destas funções do IAM no projeto do Google Cloud que você está usando:
    • roles/alloydb.admin (papel predefinido do IAM de administrador do AlloyDB)
    • roles/owner (o papel básico do IAM "Proprietário")
    • roles/editor (papel básico do IAM de editor)

    Se você não tiver nenhuma dessas funções, entre em contato com o administrador da organização para solicitar acesso.

Criar uma instância principal do AlloyDB

Console

  1. Acesse a página Clusters.

    Acessar Clusters

  2. Clique em um cluster na coluna Nome do recurso.

  3. Na página Visão geral, acesse Instâncias no cluster e clique em Criar instância primária.

  4. Configure a instância principal:

    1. No campo ID da instância, insira um ID para a instância principal.
    2. Em Disponibilidade por zona, selecione uma das seguintes opções:
      1. Para criar uma instância de produção altamente disponível com failover automatizado, selecione Várias zonas (altamente disponível).
      2. Para criar uma instância básica que não precisa estar altamente disponível, selecione Zona única.
    3. Selecione um tipo de máquina.
    4. Opcional: para definir flags personalizadas para sua instância, abra as Opções de configuração avançadas e faça o seguinte para cada flag:
      1. Clique em Adicionar flag.
      2. Selecione uma flag na lista Nova flag do banco de dados.
      3. Informe um valor para a flag.
      4. Clique em Concluído.
    5. Opcional: para configurar os requisitos de SSL ou conector na instância, abra Opções de configuração avançadas e faça o seguinte:
      1. Por padrão, as instâncias do AlloyDB exigem que todas as conexões usem criptografia SSL. Para permitir conexões não SSL, desmarque a caixa de seleção Permitir apenas conexões SSL.
      2. Para exigir que todas as conexões de banco de dados com a instância usem o proxy de autenticação do AlloyDB ou as bibliotecas de conector seguras fornecidas pelo Google, selecione Requer conectores.
    6. Clique em Criar instância.

gcloud

Para usar a CLI gcloud, você pode instalar e inicializar a Google Cloud CLI ou usar o Cloud Shell.

Use o comando gcloud alloydb instances create para criar uma instância principal.

gcloud alloydb instances create INSTANCE_ID \
    --instance-type=PRIMARY \
    --cpu-count=CPU_COUNT \
    --availability-type=AVAILABILITY \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID
  • INSTANCE_ID: o ID da instância que você está criando. Ele precisa começar com uma letra minúscula e pode conter letras minúsculas, números e hifens.
  • CPU_COUNT: o número de vCPUs que você quer para a instância. Os valores válidos incluem:
    • 2: 2 vCPUs, 16 GB de RAM
    • 4: 4 vCPUs, 32 GB de RAM
    • 8: 8 vCPUs, 64 GB de RAM
    • 16: 16 vCPUs, 128 GB de RAM
    • 32: 32 vCPUs, 256 GB de RAM
    • 64: 64 vCPUs, 512 GB de RAM
    • 96: 96 vCPUs, 768 GB de RAM
    • 128: 128 vCPUs, 864 GB de RAM
  • AVAILABILITY: se essa instância precisa ou não ser de alta disponibilidade (HA), com nós em várias zonas. Os valores válidos incluem:
    • REGIONAL: cria uma instância de HA com nós ativos e em espera separados e failover automático entre eles. Esse é o valor padrão, adequado para ambientes de produção.
    • ZONAL: cria uma instância básica, contendo apenas um nó e sem failover automático.
  • REGION_ID: a região em que você quer que a instância seja colocada. Por exemplo, us-central1.
  • CLUSTER_ID: o ID do cluster em que você quer colocar a instância.
  • PROJECT_ID: o ID do projeto em que o cluster está colocado.

Por padrão, as novas instâncias exigem que todas as conexões usem a criptografia SSL. Para permitir conexões não SSL na instância, adicione a flag --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED ao comando:

gcloud alloydb instances create INSTANCE_ID \
  --instance-type=PRIMARY \
  --cpu-count=CPU_COUNT \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID \
  --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED

Para aplicar uma conexão segura entre o cliente e uma instância do AlloyDB pelo proxy de autenticação ou outros aplicativos que usam bibliotecas de conector fornecidas pelo Google, adicione a flag --require-connectors ao comando:

gcloud alloydb instances create INSTANCE_ID \
  --instance-type=PRIMARY \
  --cpu-count=CPU_COUNT \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID \
  --require-connectors

Para criar uma instância principal para um cluster com o Serviço Private Service Connect ativado, adicione a flag --allowed-psc-projects para definir uma lista separada por vírgulas de IDs ou números de projeto que você quer permitir o acesso à instância, por exemplo, my-project-1, 12345, my-project-n.

gcloud alloydb instances create INSTANCE_ID \
    --instance-type=PRIMARY \
    --cpu-count=CPU_COUNT \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID \
    --allowed-psc-projects=ALLOWED_PROJECT_LIST

Substitua:

  • ALLOWED_PROJECT_LIST (opcional): a lista separada por vírgulas de IDs ou números de projetos que podem acessar a instância,por exemplo, my-project-1,12345, my-project-n. É necessário definir uma lista de projetos ou números permitidos se o cluster estiver usando o Private Service Connect como método de conexão com a instância.

Terraform

Para criar uma instância no cluster do banco de dados, use um recurso do Terraform.

resource "google_alloydb_instance" "default" {
  cluster       = google_alloydb_cluster.default.name
  instance_id   = "alloydb-instance"
  instance_type = "PRIMARY"

  machine_config {
    cpu_count = 2
  }

  depends_on = [google_service_networking_connection.vpc_connection]
}

resource "google_alloydb_cluster" "default" {
  cluster_id = "alloydb-cluster"
  location   = "us-central1"
  network_config {
    network = google_compute_network.default.id
  }

  initial_user {
    password = "alloydb-cluster"
  }
}

data "google_project" "project" {}

resource "google_compute_network" "default" {
  name = "alloydb-network"
}

resource "google_compute_global_address" "private_ip_alloc" {
  name          =  "alloydb-cluster"
  address_type  = "INTERNAL"
  purpose       = "VPC_PEERING"
  prefix_length = 16
  network       = google_compute_network.default.id
}

resource "google_service_networking_connection" "vpc_connection" {
  network                 = google_compute_network.default.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.private_ip_alloc.name]
}

Preparar o Cloud Shell

Para aplicar a configuração do Terraform a um projeto do Google Cloud, prepare o Cloud Shell da seguinte maneira:

  1. Inicie o Cloud Shell.
  2. Defina o projeto padrão do Google Cloud em que você quer aplicar as configurações do Terraform.

    Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As variáveis de ambiente são substituídas se você definir valores explícitos no arquivo de configuração do Terraform.

Preparar o diretório

Cada arquivo de configuração do Terraform precisa ter o próprio diretório, também chamado de módulo raiz.

  1. No Cloud Shell, crie um diretório e um novo arquivo nele. O nome do arquivo precisa ser um arquivo TF, por exemplo, main.tf. Neste documento, o arquivo é chamado de main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Copie o exemplo de código no main.tf recém-criado. Se preferir, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução de ponta a ponta.
    git clone https://github.com/terraform-google-modules/terraform-docs-samples
  3. No diretório terraform-docs-samples, navegue até o diretório alloydb.
    cd terraform-docs-samples/alloydb
  4. Copie o exemplo de código no main.tf recém-criado.
    cp SAMPLE_FILE
    Substitua <var>SAMPLE_FILE</var> pelo nome do arquivo de amostra a ser copiado, por exemplo, main.tf.
  5. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  6. Salve as alterações.
  7. Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
    terraform init
    Opcional: para usar a versão mais recente do provedor do Google, inclua a opção -upgrade:
    terraform init -upgrade

Aplique as alterações

  1. Revise a configuração para confirmar se as atualizações do Terraform correspondem às suas expectativas:
    terraform plan
    Faça as correções necessárias na configuração.
  2. Para aplicar a configuração do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply
    Aguarde até que o Terraform mostre a mensagem Apply complete!.

Abra seu projeto do Google Cloud para conferir os resultados. No console do Google Cloud, navegue até seus recursos na UI para verificar se foram criados ou atualizados pelo Terraform.

A seguir