Esta página descreve como criar um cluster do AlloyDB e a instância principal dele.
Antes de começar
- O projeto do Google Cloud que você está usando precisa estar 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
(o papel predefinido do IAM do 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 do menor privilégio, peça ao administrador para conceder a você o papel de usuário da rede do Compute (roles/compute.networkUser
). - Para cargas de trabalho de desenvolvimento e sandbox, considere sua região e o tipo de máquina. Se você pretende usar o formato de 1 vCPU, selecione uma região que ofereça suporte a ele. Para mais informações, consulte Considerações ao usar uma vCPU.
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. Para cargas de trabalho de desenvolvimento e sandbox, considere a forma de 1 vCPU (na Pré-lançamento), que está disponível em regiões selecionadas. Para mais informações, consulte Considerações ao usar uma vCPU.
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 na mesma região Google Cloud do 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 uma das seguintes séries de máquinas:
- C4A (série de máquinas baseadas no Google Axion) (pré-lançamento)
- N2 (série de máquinas baseadas em x86). Esta é a série de máquinas padrão.
Selecione um tipo de máquina.
- A C4A oferece suporte a 1, 4, 8, 16, 32, 48, 64 e 72 tipos ou formas de máquina.
- O N2 oferece suporte a 2, 4, 8, 16, 32, 64, 96 e 128 tipos ou formatos de máquina.
Para mais informações sobre o uso da série de máquinas C4A baseada em Axion, incluindo o tipo de máquina de 1 vCPU, consulte Considerações ao usar a série de máquinas C4A baseada em Axion.
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.
gcloud
Para usar a CLI gcloud, você pode instalar e inicializar a CLI do Google Cloud 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 chaveiro.
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 \
--machine-type=MACHINE_TYPE \
--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 N2 que você quer para a instância. N2 é o padrão. 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
MACHINE_TYPE
: esse parâmetro é opcional ao implantar máquinas N2. Para implantar a série de máquinas C4A baseada em Axion (pré-lançamento) ou migrar entre máquinas C4A e N2, escolha esse parâmetro com os seguintes valores.Quando você usa
MACHINE_TYPE
eCPU_COUNT
juntos, os valores emCPU_COUNT
eMACHINE_TYPE
precisam ser iguais. Caso contrário, um erro será gerado.Para a série de máquinas C4A baseada em Axion, escolha o tipo de máquina com os seguintes valores:
c4a-highmem-1
c4a-highmem-4-lssd
c4a-highmem-8-lssd
c4a-highmem-16-lssd
c4a-highmem-32-lssd
c4a-highmem-48-lssd
c4a-highmem-64-lssd
c4a-highmem-72-lssd
Para implantar o C4A com 4 vCPUs ou mais, use o sufixo
lssd
para ativar o cache ultrarrápido.Para mais informações sobre o uso da série de máquinas C4A baseada em Axion, incluindo o tipo de máquina de 1 vCPU, consulte Considerações ao usar a série de máquinas C4A baseada em Axion.
Para a série de máquinas N2 baseada em x86, use o tipo de máquina com os seguintes valores:
N2-highmem-2
N2-highmem-4
N2-highmem-8
N2-highmem-16
N2-highmem-32
N2-highmem-64
N2-highmem-96
N2-highmem-128
REGION_ID
: a região em que você quer que a instância esteja localizada.CLUSTER_ID
: o ID do cluster criado 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.
O snippet de código a seguir cria 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 de ponta a ponta. - 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 interface para verificar se foram criados ou atualizados pelo Terraform.
REST v1
Este exemplo cria um cluster. O parâmetro network
é obrigatório.
Para uma lista completa de parâmetros dessa chamada, consulte Método: projects.locations.clusters.create. Para saber mais sobre as configurações do cluster, consulte Conferir as configurações do cluster e da instância.
Não inclua informações sensíveis ou de identificação pessoal no ID do cluster, porque ele é visível externamente. Não é necessário incluir o ID do projeto no nome do cluster. Isso é feito automaticamente quando necessário, por exemplo, nos arquivos de registro.
Antes de usar os dados da solicitação, faça as substituições a seguir:
CLUSTER_ID
: o ID do cluster criado. Ele precisa começar com uma letra minúscula e pode conter letras minúsculas, números e hifens.PROJECT_ID
: o ID do projeto em que você quer colocar o cluster.LOCATION_ID
: o ID da região do cluster.NETWORK
: o nome da rede VPC configurada para acesso a serviços privados ao AlloyDB.DATABASE_VERSION
: string de tipo enumerado da versão do banco de dados,por exemplo,POSTGRES_15
.INITIAL_USERNAME
: o nome de usuário a ser usado para o usuáriopostgres
padrão.INITIAL_USER_PASSWORD
: a senha a ser usada para o usuáriopostgres
padrão.
O corpo JSON da solicitação tem a seguinte aparência:
{
clusterId = "CLUSTER_ID"
network = "projects/PROJECT_ID/global/networks/NETWORK"
databaseVersion = "DATABASE_VERSION"
initialUser {
user = "INITIAL_USERNAME"
password = "INITIAL_USER_PASSWORD"
}
continuousBackupConfig {
enabled = true
recoveryWindowDays = 14
}
weeklySchedule {
daysOfWeek = ["MONDAY"]
startTimes {
hours = 23
minutes = 0
seconds = 0
nanos = 0
}
}
quantityBasedRetention {
count = 1
}
labels = {
test = "alloydb-cluster-full"
}
}
}
Para enviar a solicitação, salve o corpo da solicitação em um arquivo chamado request.json
e use a seguinte solicitação POST
:
POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters
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íveis, 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.
Considerações ao usar a série de máquinas C4A baseadas no Axion
O AlloyDB oferece uma série de máquinas C4A baseadas no Google Axion, o processador personalizado do Google com base em Arm. As máquinas virtuais (VM) C4A estão disponíveis como configurações predefinidas para 1, 4, 8, 16, 32, 48, 64 e 72 vCPUs, com até 576 GB de memória de taxa de dados dupla 5 (DDR5).
Ao escolher a C4A, tenha em mente o seguinte:
- Para implantar a série de máquinas C4A, use
MACHINE_TYPE
eCPU_COUNT
, em queCPU_COUNT
precisa corresponder ao valor decpu-count
emMACHINE_TYPE
. - Para atualizar do N2 para o C4A usando a CLI do Google Cloud, atualize
MACHINE_TYPE
eCPU_COUNT
, em queCPU_COUNT
precisa corresponder ao valor decpu-count
emMACHINE_TYPE
. - Para atualizar de C4A para N2, atualize
MACHINE_TYPE
eCPU_COUNT
, em queCPU_COUNT
precisa corresponder ao valor decpu-count
emMACHINE_TYPE
.
O C4A é aceito nas seguintes regiões:
asia-east1
asia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
us-central1
us-east1
us-east4
Considerações ao usar o tipo de máquina com 1 vCPU
O AlloyDB oferece um formato de 1 vCPU com C4A e é destinado apenas para desenvolvimento e sandbox. Para cargas de trabalho de produção, escolha duas ou mais vCPUs.
Ao escolher uma vCPU, considere as seguintes limitações:
- Uma vCPU é oferecida com 8 GB de memória sem suporte a cache ultrarrápido.
- A configuração de 1 vCPU é recomendada para desenvolvimento e ambientes de sandbox com tamanhos de banco de dados menores na faixa de dezenas de gigabytes. Para bancos de dados maiores e cargas de trabalho de produção, considere usar duas vCPUs ou mais.
- É possível configurar com alta disponibilidade (HA), mas não há SLAs de tempo de atividade.
- Não é possível fazer upgrades de versão principal no local para 1 vCPU, 48 vCPU e 72 vCPU em máquinas C4A. Considere outras abordagens de upgrade, como dump e restauração, ou tente aumentar a escala antes de iniciar um upgrade de versão principal no local.
- Consulte as regiões com suporte para C4A em que você pode implantar uma vCPU.