Nesta página, descrevemos 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 Google Cloud que você está usando já precisa estar configurada para acesso a serviços particulares no AlloyDB.
- Você precisa ter um destes papéis do IAM no
Google Cloud projeto que está sendo usado:
roles/alloydb.admin
(o papel predefinido do IAM de Admin do AlloyDB)roles/owner
(o papel básico do IAM de Proprietário)roles/editor
(o papel básico do IAM de Editor)
- Se você não tiver nenhum desses papéis, entre em contato com o administrador da organização para solicitar acesso.
- Você também precisa ter a permissão
compute.networks.list
no projetoGoogle 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 papel de Usuário da rede do Compute (roles/compute.networkUser
). - Para cargas de trabalho de desenvolvimento e sandbox, considere sua região e tipo de máquina. Se você pretende usar o formato de 1 vCPU, selecione uma região que seja compatível com ele. Para mais informações, consulte Considerações ao usar 1 vCPU.
Criar um cluster e uma instância principal
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 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 posteriormente, sempre que necessário.
Clique em Continuar.
Na seção Configurar seu 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.Opcional: para definir a flag
alloydb.iam_authentication
manualmente, desmarque Criar um usuário do banco de dados do IAM. Para mais informações, consulte Editar uma instância.Por padrão, a opção Criar um usuário do banco de dados do IAM está selecionada, o que faz o seguinte:
Ativa a flag
alloydb.iam_authentication
na instância principal.Cria um usuário do banco de dados do IAM para você.
No campo Versão do banco de dados, selecione a versão principal do PostgreSQL com que você quer que os servidores de banco de dados do cluster sejam compatíveis.
Selecione uma região. Para cargas de trabalho de desenvolvimento e sandbox, considere o formato de 1 vCPU, que está disponível em regiões selecionadas. Para mais informações, consulte Considerações ao usar 1 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 adicionais:
Clique em Opções avançadas de criptografia.
Selecione Chave de criptografia gerenciada pelo cliente (CMEK).
No menu exibido, selecione uma chave gerenciada pelo cliente.
O console Google Cloud limita essa lista às chaves no mesmo projeto Google Cloud e região do novo cluster. Para usar uma chave que não está nessa lista, clique em Não encontrou 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 exige algumas configurações adicionais. Para mais informações, consulte Como usar a CMEK com o AlloyDB.
Clique em Continuar.
Configure a instância primária:
- No campo ID da instância, insira um ID para a instância primária.
Selecione uma das seguintes séries de máquinas:
- C4A (série de máquinas baseadas no Google Axion)
- N2 (série de máquinas baseadas em x86). Essa é a série de máquinas padrão.
Selecione um tipo de máquina.
- O C4A é compatível com 1, 4, 8, 16, 32, 48, 64 e 72 tipos ou formatos 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 de banco de dados, selecione uma opção.
- 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 gcloud CLI, você pode instalar e inicializar a CLI do Google Cloud ou usar o Cloud Shell.
É necessário criar um cluster do AlloyDB e uma instância principal antes de começar a usar o AlloyDB.
Criar um cluster
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 você quer que os servidores de banco de dados do cluster sejam 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 compatível16
, para compatibilidade com o PostgreSQL 16
PASSWORD
: a senha a ser usada para o usuário padrãopostgres
.NETWORK
(opcional): o nome da rede VPC que você configurou para o acesso a serviços particulares ao AlloyDB. Se você omitir a flag--network
, o AlloyDB usará a rededefault
.No caso de uma rede VPC compartilhada, defina o caminho totalmente qualificado da rede VPC, por exemplo,
projects/cymbal-project/global/networks/shared-vpc-network
.--enable-private-service-connect
(opcional): defina como para ativar o Private Service Connect como o método de conectividade do cluster e das instâncias dele.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, 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ços 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 keyring, que precisa ser igual à região do cluster.PROJECT_ID
: o ID do projeto do keyring.
Confirme se a operação foi bem-sucedida.
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 primário, crie uma instância primária.
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 \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--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.REGION_ID
: a região em que você quer que a instância esteja localizada.CLUSTER_ID
: o ID do cluster que você criou anteriormente.PROJECT_ID
: o ID do projeto em que o cluster foi criado.CPU_COUNT
: o número de vCPUs que você quer para a instância.- É preciso especificar
cpu_count
oumachine_type
. - Se apenas
cpu_count
for fornecido, uma instância N2 será criada com as seguintes especificações:- 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
- Se
machine_type
ecpu_count
forem fornecidos, o valor decpu_count
precisará estar alinhado com o número de vCPUs especificado emmachine_type
. Por exemplo, semachine_type
forn2-highmem-4
, definacpu_count
como4
.
- É preciso especificar
MACHINE_TYPE
: o tipo de máquina da instância.Para a série de máquinas C4A baseadas no Axion, os seguintes valores são válidos:
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 a série de máquinas N2, os seguintes valores são válidos:
n2-highmem-2
n2-highmem-4
n2-highmem-8
n2-highmem-16
n2-highmem-32
n2-highmem-64
n2-highmem-96
n2-highmem-128
Quando você usa
machine_type
ecpu_count
juntos, os valores emcpu_count
emachine_type
precisam corresponder. Por exemplo, semachine_type
forn2-highmem-4
, definacpu_count
como4
.
ALLOWED_PROJECT_LIST
: (opcional) se você estiver usando o Private Service Connect,ALLOWED_PROJECT_LIST
será a lista separada por vírgulas de IDs de projetos ou o número do projeto que você quer permitir o acesso à instância.
Terraform
Criar um cluster e uma instância principal
Para criar um cluster e a instância primária dele, use um recurso do Terraform.
Confira abaixo um snippet de código para criar um cluster e uma instância principal com base no exemplo AlloyDB instance full:
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" "cluster_abc" { cluster_id = "alloydb-cluster" location = "us-central1" network_config { network = google_compute_network.default.id } database_version = "POSTGRES_16" 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] }
Este exemplo cria uma instância N2. Para criar uma instância do C4A, use o campo
machine_type
na estrutura machine_config
, conforme mostrado no
exemplo a seguir:
machine_config { machine_type = "c4a-highmem-4-lssd" }
Preparar o Cloud Shell
Para aplicar a configuração do Terraform em um projeto Google Cloud , prepare o Cloud Shell da seguinte maneira:
- Inicie o Cloud Shell.
Defina o projeto Google Cloud padrão 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 serã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 dentro dele. 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 Google Cloud projeto para conferir os resultados. No console do Google Cloud , navegue até seus recursos na UI para verificar se foram criados ou atualizados pelo Terraform.
REST v1
Criar um cluster
Este exemplo cria um cluster. Para uma lista completa de parâmetros dessa chamada, consulte Método: projects.locations.clusters.create. Para informações sobre as configurações de cluster, consulte Ver 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, como nos arquivos de registros.
Para enviar sua solicitação, salve o corpo da solicitação em um arquivo chamado cluster_request.json
:
{
"databaseVersion": "<var>DATABASE_VERSION</var>",
"initialUser": {
"user": "<var>INITIAL_USERNAME</var>",
"password": "<var>INITIAL_USER_PASSWORD</var>"
},
"labels": {
"test": "alloydb-cluster-full"
}
}
Faça as seguintes substituições:
DATABASE_VERSION
: string de enumeração da versão do banco de dados, por exemplo,POSTGRES_16
.INITIAL_USERNAME
: o nome de usuário que você usa para o usuário postgres padrão.INITIAL_USER_PASSWORD
: a senha que você usa para o usuário padrão do postgres.
Use o método HTTP e o URL a seguir:
POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters?cluster_id=CLUSTER_ID
Faça as seguintes substituições:
PROJECT_ID
: o ID do projeto em que você quer que o cluster esteja localizado.LOCATION_ID
: o ID da região do cluster.CLUSTER_ID
: o ID do cluster que você criou. O ID do cluster precisa começar com uma letra minúscula e pode conter letras minúsculas, números e hifens.
Use o seguinte curl para executar a solicitação anterior:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://alloydb.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION_ID/clusters?cluster_id=CLUSTER_ID -d @cluster_request.json
Criar uma instância principal
Este exemplo cria uma instância principal. Para uma lista completa de parâmetros dessa chamada, consulte Método: projects.locations.clusters.instances.create. Para informações sobre as configurações de cluster, consulte Ver configurações de cluster e 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, porque isso é feito automaticamente quando apropriado, por exemplo, nos arquivos de registro.
Para enviar sua solicitação, salve o corpo da solicitação a seguir em um arquivo chamado
instance_request.json
.
{ "instance_type": "PRIMARY", "machine_config": { "cpu_count": "vCPU_COUNT" } }
Faça a seguinte substituição:
VCPU_COUNT
: o número de núcleos de CPU visíveis na instância que você quer criar.
O exemplo anterior cria uma instância N2 com as seguintes especificações:
- 2: 2 vCPUs, 16 GB de RAM
- 4: 4 vCPUs, 32 GB RAM
- 8: 8 vCPUs, 64 GB RAM
- 16: 16 vCPUs, 128 GB RAM
- 32: 32 vCPUs, 256 GB RAM
- 64: 64 vCPUs, 512 GB RAM
- 96: 96 vCPUs, 768 GB RAM
- 128: 128 vCPUs, 864 GB RAM
Para criar uma instância do C4A, use o campo machine_type
em vez de cpu_count
na estrutura machine_config
, conforme mostrado no exemplo a seguir:
machine_config: { machine_type : MACHINE_TYPE, },
Para a série de máquinas C4A baseada em Axion, use os seguintes valores válidos:
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 a série de máquinas N2, use os seguintes valores válidos:
n2-highmem-2
n2-highmem-4
n2-highmem-8
n2-highmem-16
n2-highmem-32
n2-highmem-64
n2-highmem-96
n2-highmem-128
Use o método HTTP e o URL a seguir:
POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID
Faça as seguintes substituições:
PROJECT_ID
: o ID do projeto em que você quer localizar o cluster.LOCATION_ID
: o ID da região do cluster.CLUSTER_ID
: o ID do cluster que você criou. Ele precisa começar com uma letra minúscula e pode conter letras minúsculas, números e hifens.INSTANCE_ID
: o nome da instância principal que você quer criar.
É possível usar curl para executar a solicitação, conforme mostrado no exemplo a seguir:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://alloydb.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID -d @instance_request.json
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 executado na mesma região, faça uma recuperação pontual nesse cluster. É possível especificar um ponto no tempo muito recente, por exemplo, o primeiro segundo do minuto atual.
Esse processo copia apenas os dados do cluster de origem para o clone, não a configuração do cluster de origem. Para criptografar os dados do clone usando CMEK, especifique os detalhes da CMEK como parte do comando de recuperação pontual, mesmo que os dados do cluster de origem já estejam criptografados com CMEK. Depois que o novo cluster for criado, adicione instâncias, flags 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 depois que a duplicação inicial é concluída. Se você quiser criar clusters secundários que rastreiam e replicam 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 ter 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 baseada no Google Axion, o processador personalizado do Google com base em Arm. As máquinas virtuais (VMs) 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 Double Data Rate 5 (DDR5).
Ao escolher o C4A, lembre-se do seguinte:
- Para mudar uma instância N2 para uma C4A, modifique o
machine_type
da instância atual usando o console do Google Cloud , a CLI gcloud, o Terraform ou a API. - Não exclua a instância N2 e crie uma nova instância C4A no mesmo cluster.
O C4A está disponível 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 fins de desenvolvimento e teste. Para cargas de trabalho de produção, escolha duas ou mais vCPUs.
Ao escolher 1 vCPU, lembre-se das seguintes limitações:
- Uma vCPU é oferecida com 8 GB de memória sem suporte a cache ultrarrápido.
- Recomendamos uma configuração de 1 vCPU para ambientes de desenvolvimento e sandbox com tamanhos de banco de dados menores, na ordem de dezenas de gigabytes. Para bancos de dados maiores e cargas de trabalho de produção, use 2 vCPUs ou mais.
- É possível configurar com alta disponibilidade (HA), mas não há SLAs de tempo de atividade.
- Para saber onde você pode implantar 1 vCPU, consulte Regiões compatíveis com C4A.