Esta página descreve como criar a instância principal num cluster do AlloyDB.
Antes de começar
- O Google Cloud projeto que está a usar tem de ter sido ativado para aceder ao AlloyDB.
- Tem de ter uma destas funções de IAM no Google Cloud projeto que está a usar:
roles/alloydb.admin
(a função IAM predefinida de administrador do AlloyDB)roles/owner
(a função de IAM básica de proprietário)roles/editor
(a função de IAM básica de editor)
Se não tiver nenhuma destas funções, contacte o administrador organizacional para pedir acesso.
Crie uma instância principal do AlloyDB
Consola
Aceda à página Clusters.
Clique num cluster na coluna Nome do recurso.
Na página Vista geral, aceda a Instâncias no cluster e clique em Criar instância principal.
Configure a sua instância principal:
- No campo ID da instância, introduza um ID para a sua instância principal.
- Em Disponibilidade zonal, selecione uma das seguintes opções:
- Para criar uma instância de produção de elevada disponibilidade com comutação por falha automática, selecione Várias zonas (elevada disponibilidade).
- Para criar uma instância básica que não precise de estar altamente disponível, selecione Zona única.
Selecione uma das seguintes séries de máquinas:
- C4A (série de máquinas baseada no Google Axion)
- N2 (série de máquinas baseadas em x86). Esta é a série de máquinas predefinida.
Selecione um tipo de máquina.
- O C4A suporta 1, 4, 8, 16, 32, 48, 64 e 72 tipos ou formas de máquinas.
- O N2 suporta 2, 4, 8, 16, 32, 64, 96 e 128 tipos ou formas de máquinas.
Para mais informações sobre a utilização da série de máquinas baseadas em Axion C4A, incluindo o tipo de máquina de 1 vCPU, consulte o artigo Considerações ao usar a série de máquinas baseadas em Axion C4A.
Opcional: para ligar as suas aplicações e clientes através da Internet pública, selecione a caixa Ativar IP público em Conetividade de IP público. A ativação do IP público pode exigir uma configuração adicional para garantir que tem uma ligação segura. Para mais informações, consulte o artigo Estabeleça ligação através do IP público.
Por predefinição, o IP privado está sempre ativado. Para mais informações, consulte o artigo Ative o acesso a serviços privados.
Opcional: para ativar e usar o conjunto de ligações gerido, selecione a caixa Ativar conjunto de ligações gerido em Conjunto de ligações gerido. Para mais informações, consulte o artigo Configure a partilha de ligações gerida.
Opcional: para definir flags personalizadas para a sua instância, expanda Opções de configuração avançadas e, em seguida, faça o seguinte para cada flag:
- Clique em Adicionar flag.
- Selecione uma flag na lista Nova flag da base de dados.
- Indique um valor para a flag.
- Clique em Concluído.
Opcional: para configurar os requisitos de SSL ou conector na instância, expanda Opções de configuração avançadas e, em seguida, faça o seguinte:
- Por predefinição, as instâncias do AlloyDB requerem que todas as ligações usem encriptação SSL. Para permitir ligações não SSL, desmarque a caixa de verificação Permitir apenas ligações SSL.
- Para exigir que todas as ligações à base de dados da instância usem o proxy Auth do AlloyDB ou as bibliotecas de conetores seguros fornecidas pela Google, selecione Exigir conetores.
Clique em Criar instância.
gcloud
Para usar a CLI gcloud, pode instalar e inicializar a CLI Google Cloud ou usar a Cloud Shell.
Use o comando gcloud alloydb instances create
para criar uma instância principal.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--availability-type=AVAILABILITY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID
INSTANCE_ID
: o ID da instância que está a criar. Tem de começar por uma letra minúscula e pode incluir letras minúsculas, números e hífenes.AVAILABILITY
: se esta instância deve ou não ter 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 com comutação por falha automática entre eles. Este é o valor predefinido, adequado para ambientes de produção.ZONAL
: cria uma instância básica, que contém apenas um nó e nenhuma comutação por falha automática.
REGION_ID
: a região onde quer colocar a instância. Por exemplo,us-central1
.CLUSTER_ID
: o ID do cluster onde quer colocar a instância.CPU_COUNT
: o número de vCPUs que quer para a instância.- Tem de especificar
cpu_count
oumachine_type
. - Se apenas for fornecido
cpu_count
, é criada uma instância N2 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 forem fornecidos
machine_type
ecpu_count
, o valor decpu_count
tem de estar alinhado com o número de vCPUs especificado emmachine_type
. Por exemplo, semachine_type
forn2-highmem-4
, tem de definircpu_count
como4
.
- Tem de especificar
MACHINE_TYPE
: o tipo de máquina da instância.Para a série de máquinas baseada no C4A Axion, os seguintes são 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, os seguintes são 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
Quando usa
machine_type
ecpu_count
em conjunto, os valores emcpu_count
emachine_type
têm de corresponder. Por exemplo, semachine_type
forn2-highmem-4
, tem de definircpu_count
como4
.
PROJECT_ID
: o ID do projeto onde o cluster está localizado.
Por predefinição, as novas instâncias requerem que todas as ligações usem encriptação SSL. Para permitir ligaçõ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 \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED
Para aplicar uma ligação segura entre o cliente e uma instância do AlloyDB através do proxy de autorização ou de outras aplicações que usam bibliotecas de conetores fornecidas pela Google, adicione a flag --require-connectors
ao comando:
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID \
--require-connectors
Para ativar a partilha de ligações gerida na sua instância do AlloyDB, adicione a flag --enable-connection-pooling
ao comando gcloud alloydb instances create
:
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID \
--enable-connection-pooling
Também pode criar uma instância do AlloyDB com o Private Service Connect ativado. Para obter informações sobre como criar uma instância principal para um cluster com o Private Service Connect ativado, consulte o artigo Crie uma instância do AlloyDB.
Terraform
Crie uma instância
Para criar uma instância no cluster da base 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] }
No exemplo anterior, é criada uma instância N2. Para criar uma instância C4A,
use o campo machine_type
na estrutura machine_config
, conforme mostrado
no exemplo seguinte:
machine_config { machine_type = "c4a-highmem-4-lssd" }
Prepare o Cloud Shell
Para aplicar a configuração do Terraform num Google Cloud projeto, prepare o Cloud Shell da seguinte forma:
- Inicie o Cloud Shell.
Defina o Google Cloud projeto predefinido onde quer aplicar as suas configurações do Terraform.
Só tem de executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
As variáveis de ambiente são substituídas se definir valores explícitos no ficheiro de configuração do Terraform.
Prepare o diretório
Cada ficheiro de configuração do Terraform tem de ter o seu próprio diretório, também denominado módulo raiz.
- No Cloud Shell, crie um diretório e um novo ficheiro nesse diretório. O nome do ficheiro tem de ser um ficheiro TF, por exemplo,
main.tf
. Neste documento, o ficheiro é denominadomain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
- Copie o exemplo de código para o ficheiro
main.tf
criado recentemente. Opcionalmente, copie o código do GitHub. Isto é recomendado quando o fragmento do Terraform faz parte de uma solução completa.git clone https://github.com/terraform-google-modules/terraform-docs-samples
- No diretório
terraform-docs-samples
, navegue para o diretórioalloydb
.cd terraform-docs-samples/alloydb
- Copie o exemplo de código para o ficheiro
main.tf
criado recentemente. Substituacp SAMPLE_FILE
<var>SAMPLE_FILE</var>
pelo nome do ficheiro de exemplo a copiar, por exemplo,main.tf
. - Reveja e modifique os parâmetros de exemplo para aplicar ao seu ambiente.
- Guarde as alterações.
- Inicialize o Terraform. Só tem de fazer isto uma vez por diretório.
Opcional: para usar a versão mais recente do fornecedor Google, inclua aterraform init
-upgrade
opção:terraform init -upgrade
Aplique as alterações
- Reveja a configuração para confirmar que as atualizações do Terraform correspondem às suas expetativas:
Faça as correções necessárias à configuração.terraform plan
- Aplique a configuração do Terraform executando o seguinte comando e introduzindo
yes
no comando: Aguarde até que o Terraform apresente a mensagemterraform apply
Apply complete!
.
Abra o seu Google Cloud projeto para ver os resultados. Na Google Cloud consola, navegue para os seus recursos na IU para se certificar de que o Terraform os criou ou atualizou.
REST v1
Crie uma instância
Este exemplo cria uma instância principal. Para ver uma lista completa de parâmetros para esta chamada, consulte Method: projects.locations.clusters.instances.create. Para obter informações sobre as definições do cluster, consulte o artigo Veja as definições do cluster e da instância.
Não inclua informações confidenciais nem de identificação pessoal no ID do cluster, uma vez que é visível externamente. Não tem de incluir o ID do projeto no nome do cluster, porque isto é feito automaticamente quando adequado, por exemplo, nos ficheiros de registo.
Para enviar o pedido, guarde o corpo do pedido num ficheiro denominado instance_request.json
.
{ "instance_type": "PRIMARY", "machine_config": { "cpu_count": "vCPU_COUNT", }, }
Faça a seguinte substituição:
CPU_COUNT
: o número de núcleos da CPU visíveis na instância que 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 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
Para criar uma instância C4A, use o campo machine_type
em vez de cpu_count
na estrutura machine_config
, conforme mostrado no exemplo seguinte:
machine_config: { machine_type : MACHINE_TYPE, },
Para a série de máquinas baseada em Axion C4A, 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 são 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 seguinte método HTTP e URL:
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 onde quer que o cluster esteja localizado.LOCATION_ID
: o ID da região do cluster.CLUSTER_ID
: o ID do cluster que cria. O ID tem de começar com uma letra minúscula e pode conter letras minúsculas, números e hífenes.INSTANCE_ID
: o nome da instância principal que quer criar.
Pode usar o curl para executar o pedido, conforme mostrado no exemplo seguinte:
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