Esta página descreve como criar um cluster do AlloyDB e a instância principal.
Antes de começar
- O projeto do Google Cloud que você está usando precisa ter sido ativado para acessar o AlloyDB.
- Uma rede VPC no projeto do Google Cloud que você está usando já precisa estar configurada para acesso a serviços particulares ao 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.
- Você também precisa ter a permissão
compute.networks.list
no projeto do Google Cloud que está usando. Para receber essa permissão seguindo o princípio de privilégio mínimo, peça ao administrador para conceder a você o papelroles/compute.networkUser
(usuário da rede do Compute).
Criar um novo cluster
Console
Acesse a página Clusters.
Clique em Criar cluster.
Escolha uma configuração de cluster. Para mais informações sobre a diferença entre as configurações básicas e de alta disponibilidade, consulte Nós e instâncias.
Se você não tiver certeza se o novo cluster precisa de instâncias de pool de leitura, escolha uma das configurações sem pools de leitura. É possível adicionar instâncias de pool de leitura ao cluster mais tarde, sempre que necessário.
Clique em Continuar.
Na seção Configurar o cluster, no campo ID do cluster, insira um ID para o cluster.
No campo Senha, insira uma senha inicial para o novo cluster. O AlloyDB atribui a senha fornecida ao usuário do banco de dados
postgres
ao criar o cluster.No campo Database version, selecione a versão principal do PostgreSQL com que os servidores de banco de dados do cluster precisam ser compatíveis.
Selecione uma região.
Selecione um caminho de rede.
Opcional: para aplicar um intervalo de endereços IP específico a esse cluster, em vez de permitir que o AlloyDB escolha um intervalo de endereços IP, siga estas etapas:
Clique em Mostrar opção de intervalo de IP alocado.
Na lista Intervalo de IP alocado, selecione um intervalo de endereços IP.
Para mais informações sobre essa opção, consulte Criar um cluster com um intervalo de endereços IP específico.
Opcional: para criptografar esse cluster usando uma chave de criptografia gerenciada pelo cliente (CMEK) em vez da criptografia gerenciada pelo Google, siga estas etapas:
Clique em Opções de criptografia avançadas.
Selecione Chave de criptografia gerenciada pelo cliente (CMEK).
No menu exibido, selecione uma chave gerenciada pelo cliente.
O console do Google Cloud limita essa lista a chaves no mesmo projeto e região do Google Cloud que o novo cluster. Para usar uma chave que não está nesta lista, clique em Não encontra sua chave? Insira o nome do recurso da chave e digite o nome do recurso da chave na caixa de diálogo resultante.
O uso da CMEK com o AlloyDB requer mais configuração. Para mais informações, consulte Como usar a CMEK com o AlloyDB.
Clique em Continuar.
Configure a instância principal:
- No campo ID da instância, insira um ID para a instância principal.
- Selecione um tipo de máquina.
- Opcional: defina flags personalizadas para sua instância. Para cada flag,
siga estas etapas:
- Clique em Adicionar flag.
- Na lista Nova flag do banco de dados, selecione uma flag.
- Informe um valor para a flag.
- Clique em Concluído.
Se você escolheu um tipo de cluster sem pools de leitura, clique em Criar cluster. Caso não for, vá para a próxima etapa.
Se você escolheu um tipo de cluster com pools de leitura, siga estas etapas:
- Clique em Continuar para adicionar uma ou mais instâncias do pool de leitura.
Para adicionar uma instância do pool de leitura:
Clique em Adicionar pool de leitura.
No campo ID da instância do pool de leitura, insira um ID para a instância do pool de leitura.
No campo Contagem de nós, insira uma contagem de nós.
O número de nós em uma instância de pool de leitura determina a capacidade de computação geral da instância.
Selecione um tipo de máquina.
Opcional: defina flags personalizadas na sua instância. Para cada flag:
- Clique em Adicionar flag.
- Selecione uma flag na lista Nova flag do banco de dados.
- Informe um valor para a flag.
- Clique em Concluído.
Clique em Adicionar pool de leitura.
Clique em Criar cluster.
gcloud
Para usar a CLI gcloud, você pode instalar e inicializar a Google Cloud CLI ou usar o Cloud Shell.
Para criar o cluster com o acesso a serviços particulares ou o Private Service Connect ativado, use o comando
gcloud alloydb clusters create
.Acesso privado a serviços
gcloud alloydb clusters create CLUSTER_ID \ --database-version=POSTGRES_VERSION \ --password=PASSWORD \ --region=REGION_ID \ --project=PROJECT_ID \ --network=NETWORK
Private Service Connect
gcloud alloydb clusters create CLUSTER_ID \ --database-version=POSTGRES_VERSION \ --password=PASSWORD \ --region=REGION_ID \ --project=PROJECT_ID \ --enable-private-service-connect
Substitua:
CLUSTER_ID
: o ID do cluster que você está criando. Ele precisa começar com uma letra minúscula e pode conter letras minúsculas, números e hifens.VERSION
: a versão principal do PostgreSQL com que os servidores de banco de dados do cluster precisam ser compatíveis. Escolha uma destas opções:14
, para compatibilidade com o PostgreSQL 1415
, para compatibilidade com o PostgreSQL 15, que é a versão padrão do PostgreSQL compatível16
, para compatibilidade com o PostgreSQL 16
PASSWORD
: a senha a ser usada para o usuáriopostgres
padrão.NETWORK
(opcional): o nome da rede VPC configurada para acesso a serviços particulares ao AlloyDB. Se você omitir a flag--network
, o AlloyDB vai usar a rededefault
.--enable-private-service-connect
(opcional): definido para ativar o Private Service Connect como o método de conectividade do cluster e das instâncias.REGION_ID
: a região em que você quer colocar o cluster.PROJECT_ID
: o ID do projeto em que você quer colocar o cluster.
Esse comando inicia uma operação de longa duração, retornando um ID de operação.
Opcional: para aplicar um intervalo de endereços IP específico a esse cluster, em vez de permitir que o AlloyDB escolha um intervalo de endereços IP, forneça o seguinte argumento:
--allocated-ip-range-name=RANGE
Substitua
RANGE
pelo nome do intervalo de endereços IP que você quer que o cluster use para acesso a serviços particulares.Para mais informações sobre essa opção, consulte Criar um cluster com um intervalo de endereço IP específico.
Opcional: para criptografar esse cluster usando uma chave de criptografia gerenciada pelo cliente (CMEK) em vez da criptografia padrão gerenciada pelo Google, forneça os seguintes argumentos:
--kms-key=KEY_ID \ --kms-keyring=KEYRING_ID \ --kms-location=LOCATION_ID \ --kms-project=PROJECT_ID
Substitua:
KEY_ID
: o ID da chave CMEK a ser usada.KEYRING_ID
: o ID do keyring da chave.LOCATION_ID
: o ID da região do chaveiro, que precisa ser o mesmo que a região do cluster.PROJECT_ID
: o ID do projeto do keyring.
Confirme se a operação foi concluída.
gcloud alloydb operations describe OPERATION_ID \ --region=REGION_ID \ --project=PROJECT_ID
Substitua
OPERATION_ID
pelo ID da operação retornado na etapa anterior.
Depois de criar o cluster principal, você precisa criar uma instância principal.
Criar uma instância principal
Para criar uma instância principal, use o comando gcloud alloydb
instances create
.
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:
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 RAM4
: 4 vCPUs, 32 GB de RAM8
: 8 vCPUs, 64 GB de RAM16
: 16 vCPUs, 128 GB de RAM32
: 32 vCPUs, 256 GB de RAM64
: 64 vCPUs, 512 GB de RAM96
: 96 vCPUs, 768 GB de RAM128
: 128 vCPUs, 864 GB de RAM
REGION_ID
: a região em que você quer que a instância seja colocada.CLUSTER_ID
: o ID do cluster que você criou anteriormente.PROJECT_ID
: o ID do projeto em que o clusterALLOWED_PROJECT_LIST
(opcional): a lista separada por vírgulas de IDs de projeto ou número de projeto que você quer permitir o acesso à instância, se estiver usando o Private Service Connect.
Terraform
Para criar um cluster, use uma recurso do Terraform.
Confira a seguir o snippet de código para criar um cluster com base no exemplo de cluster completo do AlloyDB:
resource "google_alloydb_cluster" "cluster_abc" {
cluster_id = "alloydb-cluster"
location = "us-central1"
network_config {
network = google_compute_network.default.id
}
database_version = "POSTGRES_15"
initial_user {
user = "postgres"
password = "postgres"
}
continuous_backup_config {
enabled = true
recovery_window_days = 14
}
automated_backup_policy {
location = "us-central1"
backup_window = "1800s"
enabled = true
weekly_schedule {
days_of_week = ["MONDAY"]
start_times {
hours = 23
minutes = 0
seconds = 0
nanos = 0
}
}
quantity_based_retention {
count = 1
}
labels = {
test = "alloydb-cluster-backup-policy-labels"
}
}
labels = {
test = "alloydb-cluster-labels"
}
}
data "google_project" "project" {}
resource "google_compute_network" "default" {
name = "alloydb-cluster-network"
}
Preparar o Cloud Shell
Para aplicar a configuração do Terraform a um projeto do Google Cloud, prepare o Cloud Shell da seguinte maneira:
- Inicie o Cloud Shell.
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.
- 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 demain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
- 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 completa. - Revise o arquivo
main.tf
e modifique os parâmetros de amostra para aplicar ao seu ambiente. - Salve as alterações.
- Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
Opcional: para usar a versão mais recente do provedor do Google, inclua a opçãoterraform init
-upgrade
:terraform init -upgrade
Aplique as alterações
- Revise a configuração para confirmar se as atualizações do Terraform correspondem às suas expectativas:
Faça as correções necessárias na configuração.terraform plan
- Para aplicar a configuração do Terraform, execute o comando a seguir e digite
yes
no prompt: Aguarde até que o Terraform mostre a mensagemterraform apply
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.
Clonar um cluster ativo
Para criar um clone de um cluster ativo, contendo uma cópia de todos os dados do cluster de origem e em execução na mesma região, faça uma recuperação de ponto no tempo nesse cluster. É possível especificar um ponto muito recente ao fazer isso, por exemplo, o primeiro segundo do minuto atual.
Esse processo copia apenas os dados do cluster de origem para o clone, e não qualquer configuração do cluster de origem. Para criptografar os dados do clone usando a CMEK, é necessário especificar os detalhes da CMEK como parte do comando de recuperação de ponto no tempo, mesmo que os dados do cluster de origem já estejam criptografados com a CMEK. Depois que o novo cluster for criado, você vai precisar adicionar instâncias, sinalizações de banco de dados, programações de backup e qualquer outra configuração necessária para atender às suas necessidades.
Um cluster criado dessa forma existe independentemente da origem, e os dados dele não têm relação com os dados do cluster de origem após a duplicação inicial. Se você quiser criar clusters secundários que rastreiem e reproduzam automaticamente as mudanças de dados feitas nos clusters de origem, consulte Sobre a replicação entre regiões.
Criar um cluster com um intervalo de endereços IP específico
O AlloyDB usa o acesso a serviços particulares para permitir que os recursos internos de um cluster se comuniquem entre si. Antes de criar um cluster, sua rede de nuvem privada virtual (VPC) precisa conter pelo menos um intervalo de endereços IP configurado com uma conexão de acesso a serviços particulares.
Se a rede VPC tiver mais de um intervalo de endereços IP configurado com o acesso a serviços particulares, você poderá especificar o intervalo que o AlloyDB atribui a um novo cluster.
Para especificar um intervalo de endereços IP, consulte as etapas opcionais em Criar um cluster.
Se você não especificar um intervalo, o AlloyDB vai realizar uma das seguintes ações ao criar um cluster:
Se você tiver vários intervalos de endereços IP com acesso a serviços particulares disponível, o AlloyDB vai escolher um deles.
Se você tiver configurado exatamente um intervalo de endereços IP na VPC com acesso a serviços particulares, o AlloyDB vai aplicar esse intervalo ao novo cluster.
Para mais informações sobre como criar intervalos de endereços IP para uso com o AlloyDB, consulte Ativar o acesso a serviços particulares.