Nesta página, descrevemos como criar a instância principal em um cluster do AlloyDB.
Antes de começar
- O projeto Google Cloud que você está usando precisa ter sido ativado para acessar o AlloyDB.
- Você precisa ter um destes papéis do IAM no projeto Google Cloud que está usando:
roles/alloydb.admin
(o papel predefinido do IAM de administrador do AlloyDB)roles/owner
(o papel básico Proprietário do IAM)roles/editor
(o papel básico de editor do IAM)
Se você não tiver nenhum desses papéis, entre em contato com o administrador da organização para solicitar acesso.
Criar uma instância principal do AlloyDB
Console
Acessar a página Clusters.
Clique em um cluster na coluna Nome do recurso.
Na página Visão geral, acesse Instâncias no seu cluster e clique em Criar instância principal.
Configure a instância principal:
- No campo ID da instância, insira um ID para a instância principal.
- Em Disponibilidade por zona, selecione uma das seguintes opções:
- Para criar uma instância de produção altamente disponível com failover automatizado, selecione Várias zonas (altamente disponível).
- Para criar uma instância básica que não precisa de alta disponibilidade, selecione Zona única.
Selecione uma das seguintes séries de máquinas:
- C4A (série de máquinas baseadas no Google Axion) (prévia)
- 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: para conectar seus aplicativos e clientes pela Internet pública, marque a caixa Ativar IP público em Conectividade de IP público. A ativação do IP público pode exigir configuração adicional para garantir uma conexão segura. Para mais informações, consulte Conectar usando IP público.
Por padrão, o IP particular está sempre ativado. Para mais informações, consulte Ativar o acesso a serviços privados.
Opcional: para ativar e usar o pool de conexões gerenciado, marque a caixa Ativar pool de conexões gerenciado em Pool de conexões gerenciado. Para mais informações, consulte Configurar o pool de conexões gerenciado.
Opcional: para definir flags personalizadas para sua instância, expanda Opções avançadas de configuração e faça o seguinte para cada flag:
- Clique em Adicionar flag.
- Selecione uma flag na lista Nova flag de banco de dados.
- Informe um valor para a flag.
- Clique em Concluído.
Opcional: para configurar requisitos de SSL ou conector na instância, expanda Opções de configuração avançada e faça o seguinte:
- 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.
- 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 conectores seguros fornecidas pelo Google, selecione Exigir conectores.
Clique em Criar instância.
gcloud
Para usar a CLI gcloud, instale e inicialize a Google Cloud CLI ou use 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 \
--machine-type=MACHINE_TYPE \
--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 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 corresponder. 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 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 baseadas em x86, use 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
AVAILABILITY
: se esta instância deve ser de alta disponibilidade (HA), com nós em várias zonas. Valores válidos incluem:REGIONAL
: cria uma instância de alta disponibilidade com nós ativos e em espera separados e failover automatizado 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á localizado.
Para aplicar um intervalo de endereços IP específico a esta instância, em vez de permitir que o AlloyDB escolha um intervalo, forneça o seguinte argumento:
--allocated-ip-range-override=OVERRIDE_RANGE_NAME
Substitua OVERRIDE_RANGE_NAME
pelo nome do intervalo de endereços IP
que você quer que a instância use para acesso a serviços particulares. Por exemplo: google-managed-services-default
. O nome do intervalo precisa estar em conformidade com a RFC 1035. O nome precisa ter de 1 a 63 caracteres e corresponder à expressão regular [a-z]([-a-z0-9]*[a-z0-9])?
.
Para mais informações sobre essa opção, consulte Criar uma instância com um intervalo de endereços IP específico.
Por padrão, as novas instâncias exigem que todas as conexões usem criptografia SSL. Para permitir conexões não SSL à 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 \
--machine-type=MACHINE_TYPE \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED
Para forçar 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 conectores fornecidas pelo Google, adicione a flag --require-connectors
ao comando:
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 \
--require-connectors
Para ativar o pool de conexões gerenciadas na instância do AlloyDB, adicione a flag --enable-connection-pooling
ao comando gcloud alpha alloydb instances create
:
gcloud alpha alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--cpu-count=CPU_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--enable-connection-pooling
Também é possível criar uma instância do AlloyDB com o Private Service Connect ativado. Para informações sobre como criar uma instância principal para um cluster com o Private Service Connect ativado, consulte Criar uma instância do AlloyDB.
Terraform
Para criar uma instância no cluster de 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
}
network_config {
allocated_ip_range_override = google_compute_global_address.private_ip_alloc_2.name
}
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
allocated_ip_range = google_compute_global_address.private_ip_alloc_1.name
}
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-address-range-1"
address_type = "INTERNAL"
purpose = "VPC_PEERING"
prefix_length = 16
network = google_compute_network.default.id
}
resource "google_compute_global_address" "private_ip_alloc_2" {
name = "alloydb-address-range-2"
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_1.name,google_compute_global_address.private_ip_alloc_2.name]
}
Preparar o Cloud Shell
Para aplicar a configuração do Terraform a 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.git clone https://github.com/terraform-google-modules/terraform-docs-samples
- No diretório
terraform-docs-samples
, navegue até o diretórioalloydb
.cd terraform-docs-samples/alloydb
- Copie o exemplo de código no
main.tf
recém-criado. Substituacp SAMPLE_FILE
<var>SAMPLE_FILE</var>
pelo nome do arquivo de amostra a ser copiado, por exemplo,main.tf
. - Revise 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 Google Cloud , navegue até seus recursos na UI para verificar se foram criados ou atualizados pelo Terraform.
REST v1
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 do 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.
Antes de usar os dados da solicitação, faça as substituições a seguir:
CLUSTER_ID
: o ID do cluster que você criar. Ele precisa começar com uma letra minúscula e pode conter letras minúsculas, números e hífens.PROJECT_ID
: o ID do projeto em que você quer colocar o cluster.LOCATION_ID
: o ID da região do cluster.INSTANCE_ID
: o nome da instância principal que você quer criar.vCPU_COUNT
: o número de núcleos de CPU visíveis na instância que você quer criar.
O corpo JSON da solicitação tem esta aparência:
{
instanceId = "INSTANCE_ID"
instanceType = "PRIMARY"
machineConfig {
cpuCount = vCPU_COUNT
}
databaseFlags = {
"key1" : "value1",
"key2" : "value2"
}
}
Para enviar sua 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/CLUSTER_ID/instances