Nesta página, você verá como criar uma instância do Cloud SQL para PostgreSQL.
Para saber mais sobre todas as configurações de instância, veja o artigo Configurações de instância.
Uma instância recém-criada tem um banco de dados postgres
.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Verifique se você tem os papéis Administrador do Cloud SQL e Leitor do Compute na
sua conta de usuário.
Saiba mais sobre papéis e permissões
Criar uma instância do PostgreSQL
Console
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Clique em Criar instância.
- No painel Escolher o mecanismo do banco de dados na página Criar uma instância, clique em Escolher PostgreSQL.
- No campo Código da instância do painel Informações da instância, insira
um ID para a instância.
Não é necessário incluir o ID do projeto no nome da instância. Isso é feito automaticamente quando necessário, como nos arquivos de registros.
- Digite a senha do usuário
postgres
. Opcional: configure uma política de senha para a instância da seguinte maneira:
- Marque a caixa de seleção Ativar políticas de senha.
- Clique no botão Definir política de senha, defina uma ou mais das seguintes opções e clique em Salvar.
- Comprimento mínimo: especifica o número mínimo de caracteres que a senha precisa ter.
- Complexidade da senha: verifica se a senha é uma combinação de caracteres minúsculos, maiúsculos, numéricos e não alfanuméricos.
- Restringir a reutilização de senhas: especifica o número de senhas anteriores que não podem ser reutilizadas.
- Bloquear nome de usuário: impede o uso do nome de usuário na senha.
- Definir intervalo de alteração de senha: especifica o número mínimo de horas após as quais você pode alterar a senha.
- Selecione a versão do banco de dados da instância: PostgreSQL 15 (padrão), PostgreSQL 14,
PostgreSQL 13, PostgreSQL 12, PostgreSQL 11, PostgreSQL 10 ou PostgreSQL 9.6.
A versão do banco de dados não pode ser editada depois que a instância é criada.
- Selecione a edição do Cloud SQL para sua instância:
Enterprise
ouEnterprise plus
. Para mais informações sobre as edições do Cloud SQL, consulte Introdução às edições do Cloud SQL. - Na seção Escolher região e disponibilidade por zona, selecione a região
e a zona da instância.
A disponibilidade da região pode ser diferente com base na edição do Cloud SQL. Para mais informações, consulte Sobre as configurações da instância.
Coloque a instância na mesma região que os recursos que a acessam. A região selecionada não poderá ser modificada no futuro. Na maioria dos casos, não é necessário especificar uma zona.
Se você estiver configurando a instância para alta disponibilidade, selecione as zonas primária e secundária.
As condições a seguir se aplicam quando a zona secundária é usada durante a criação da instância:
- A zona padrão é
Any
para a zona principal eAny (different from primary)
para a zona secundária. - Se as zonas primária e secundária forem especificadas, elas precisarão ser zonas diferentes.
- A zona padrão é
- Na seção Personalizar a instância, atualize as configurações
dela.
Comece clicando em MOSTRAR OPÇÕES DE CONFIGURAÇÃO para exibir os grupos
de configurações. Em seguida, expanda os grupos cujas configurações você quer revisar e personalizar.
Um resumo de todas as opções selecionadas é mostrado à direita.
A personalização dessas configurações de instância é opcional. Os padrões são atribuídos em
todos os casos em que nenhuma personalização é feita.
A tabela a seguir é uma referência rápida às configurações da instância. Para mais detalhes sobre cada configuração, consulte a página configurações da instância.
Configuração Observações Tipo de máquina Tipo de máquina Selecione entre "Núcleo compartilhado" ou "Núcleo dedicado". Para o núcleo compartilhado, cada tipo de máquina é classificado pelo número de CPUs (núcleos) e a quantidade de memória da instância. Núcleos Número de vCPUs da instância. Saiba mais. Memória A quantidade de memória da instância, em GB. Saiba mais Personalizado Para o tipo de máquina com núcleo dedicado, em vez de selecionar uma configuração predefinida, selecione o botão Personalizado para criar uma instância com uma configuração personalizada. Quando você seleciona essa opção, precisa selecionar o número de núcleos e a quantidade de memória para a instância. Saiba mais. Armazenamento Tipo de armazenamento Determina se a instância usa armazenamento SSD ou HDD. Saiba mais. Capacidade de armazenamento A quantidade de armazenamento provisionada para a instância. Saiba mais. Ativar aumento automático de armazenamento Determina se o Cloud SQL fornece automaticamente mais armazenamento para sua instância quando há pouco espaço livre. Saiba mais. Criptografia Criptografia gerenciada pelo Google A opção padrão. Chave de criptografia gerenciada pelo cliente (CMEK, na sigla em inglês) Selecione para usar sua chave com o Google Cloud Key Management Service. Saiba mais. Conexões IP particular Adiciona um endereço IP privado à instância. Para ativar a conexão com a instância, é necessário ter configurações extras.
Opcionalmente, é possível especificar um intervalo de IP alocado para as suas instâncias usarem em conexões.- Expanda Mostrar opção de intervalo de IP alocado.
- Selecione um intervalo de IP no menu suspenso.
A instância pode ter um endereço IP público e um particular.
- Saiba mais sobre como usar o IP privado.
- Saiba mais sobre como alocar intervalos de endereços IP.
IP público Adiciona um endereço IP público à instância. Em seguida, é possível adicionar redes autorizadas para se conectar à instância. A instância pode ter um endereço IP público e um particular.
Saiba mais sobre como usar o IP público.
Redes autorizadas Adicione o nome da nova rede e o endereço dela. Saiba mais Caminho particular para os serviços do Google Cloud Ao marcar essa caixa de seleção, você permite que outros serviços do Google Cloud, como o BigQuery, acessem dados no Cloud SQL e façam consultas nesses dados por meio de uma conexão particular.
Proteção de dados Backups automáticos A janela de horário em que você quer que os backups comecem. Saiba mais. Escolha onde quer armazenar os backups Selecione "Multirregional" para a maioria dos casos de uso. Se você precisar armazenar backups em uma região específica, por exemplo, se houver razões regulatórias, selecione a região e selecione sua região no menu suspenso "Local". Escolher quantos backups automatizados armazenar O número de backups automáticos que você quer manter (de 1 a 365 dias). Saiba mais. Ativar recuperação pontual Ativa a recuperação pontual e a geração de registros em tempo de gravação. Saiba mais. Ativar proteção contra exclusão Determina se uma instância será protegida contra exclusão acidental. Saiba mais. Escolha quantos dias de registros serão retidos Configure a retenção de registros em tempo de gravação de um a sete dias. A configuração padrão é de sete dias. Saiba mais. Manutenção Janela preferida Determina uma janela de uma hora em que o Cloud SQL pode executar a manutenção disruptiva na instância. Se você não definir a janela, uma manutenção disruptiva poderá ser feita a qualquer momento. Saiba mais. Ordem de atualizações Horário de sua preferência para as atualizações de instâncias, em relação a outras instâncias no mesmo projeto. Saiba mais. Sinalizações ADICIONAR SINALIZAÇÃO Você pode usar sinalizações do banco de dados para controlar configurações e parâmetros na instância. Saiba mais. Marcadores ADICIONAR MARCADOR Adicione uma chave e um valor para cada rótulo adicionado. Use rótulos para ajudar a organizar suas instâncias. Cache de dados Ativar cache de dados (opcional) Ativa o cache de dados para instâncias do Cloud SQL para PostgreSQL Enterprise Plus. Para mais informações sobre cache de dados, consulte cache de dados. -
Clique em Criar instância.
Observação: pode levar alguns minutos para criar sua instância. No entanto, é possível visualizar informações sobre a instância enquanto ela está sendo criada.
Para ver a senha em texto não criptografado, clique no ícone Mostrar senha.
Insira a senha manualmente ou clique em Gerar para que o Cloud SQL crie uma senha automaticamente.
gcloud
Para informações sobre como instalar e começar a usar a CLI gcloud, consulte Como instalar a CLI gcloud. Para mais informações sobre como iniciar o Cloud Shell, consulte a documentação dele.
- Use o comando
gcloud sql instances create
para criar a instância:
Para instâncias da edição Cloud SQL Enterprise Plus:gcloud sql instances create INSTANCE_NAME \ --database-version=POSTGRES_14 \ --region=REGION \ --zone=ZONE \ --tier=TIER \ --edition=ENTERPRISE_PLUS
Para instâncias do Cloud SQL Enterprise: Como alternativa, é possível usar a sinalizaçãogcloud sql instances create INSTANCE_NAME \ --database-version=POSTGRES_14 \ --cpu=NUMBER_CPUS \ --memory=MEMORY_SIZE \ --region=REGION \ --zone=ZONE
--tier
se você escolher db-f1-micro ou db-g1-small como o tipo de máquina:gcloud sql instances create INSTANCE_NAME \ --tier=API_TIER_STRING \ --region=REGION
Há restrições quanto ao valor das vCPUs e tamanho de memória:
- O valor das vCPUs precisa ser 1 ou um número par entre 2 e 96.
- A memória precisa:
- ter 0,9 a 6,5 GB por vCPU;
- ser um múltiplo de 256 MB;
- ter pelo menos 3,75 GB (3840 MB).
Por exemplo, a string a seguir cria uma instância do Cloud SQL Enterprise com duas vCPUs e 7.680 MB de memória:
gcloud sql instances create myinstance \ --database-version=POSTGRES_14 \ --cpu=2 \ --memory=7680MB \ --region=us-central1
A string a seguir cria uma instância do Cloud SQL Enterprise com quatro núcleos:
Consulte Configuração da instância personalizada para mais informações sobre como dimensionargcloud sql instances create myinstance \ --database-version=POSTGRES_14 \ --tier=db-perf-optimized-N-4 \ --edition=ENTERPRISE_PLUS \ --region=us-central1
--cpu
e--memory
.O valor padrão de REGION é
us-central1
.Não inclua informações confidenciais ou de identificação pessoal no nome da sua instância. Elas são visíveis externamente.
Não é necessário incluir o ID do projeto no nome da instância. Isso é feito automaticamente quando necessário, como nos arquivos de registros.Se você estiver criando uma instância para alta disponibilidade, especifique as zonas primária e secundária usando os parâmetros
--zone
e--secondary-zone
. As condições a seguir se aplicam quando a zona secundária é usada durante a criação ou edição da instância:- As zonas precisam ser válidas.
- Se a zona secundária for especificada, a primária também precisará ser especificada.
- Se as zonas primária e secundária forem especificadas, elas precisarão ser zonas diferentes.
- Se as zonas primária e secundária forem especificadas, elas precisarão pertencer à mesma região.
Adicione mais parâmetros para determinar outras configurações da instância:
Configuração Parâmetro Observações Parâmetros obrigatórios Versão do banco de dados --database-version
A versão do banco de dados, que é baseada na edição do Cloud SQL. Região --region
Consulte os valores válidos. Definir política de senha Ativar política de senha --enable-password-policy
Ativa a política de senha quando usada. Por padrão, a política de senha fica desativada. Quando desativados usando o parâmetro --clear-password-policy
, os outros parâmetros da política de senha são redefinidos.Tamanho mínimo --password-policy-min-length
Especifica o número mínimo de caracteres que a senha precisa ter. Complexidade da senha --password-policy-complexity
Ativa a verificação de complexidade da senha para garantir que ela contenha um destes tipos de caractere: minúsculas, maiúsculas, numéricas e não alfanuméricas. Definir o valor como COMPLEXITY_DEFAULT
.Restringir a reutilização de senhas --password-policy-reuse-interval
Especifica o número de senhas anteriores que não podem ser reutilizadas. Nome de usuário não permitido --password-policy-disallow-username-substring
Impede o uso do nome de usuário na senha. Use o parâmetro --no-password-policy-disallow-username-substring
para desativar a verificação.Definir intervalo de alteração de senha --password-policy-password-change-interval
Especifica a duração mínima após a qual você pode alterar a senha, por exemplo, 2m para 2 minutos. Conectividade IP privado --network
--no-assign-ip
(opcional)--allocated-ip-range-name
(opcional)--enable-google-private-path
(opcional)--network
: Especifica o nome da rede VPC que você quer usar para a instância. O acesso a serviços particulares já precisa estar configurado na rede. Disponível apenas para o comando Beta (gcloud beta sql instances create
).--no-assign-ip
: a instância terá apenas um endereço IP particular.--allocated-ip-range-name
: se especificado, define um nome de intervalo para o qual um intervalo de IP é alocado. Por exemplo,google-managed-services-default
. O nome do intervalo precisa obedecer aRFC-1035
e ter de 1 a 63 caracteres. (gcloud alpha sql instances create
).--enable-google-private-path
: se você usar esse parâmetro, permitirá que outros serviços do Google Cloud, como o BigQuery, acessem dados no Cloud SQL e façam consultas nesses dados em uma conexão particular.Esse parâmetro só será válido se:
- Use o parâmetro
--no-assign-ip
. - Use o parâmetro
--network
para especificar o nome da rede VPC que você quer usar para criar uma conexão particular.
Saiba mais sobre como configurar o IP particular.
IP público --authorized-networks
Nas conexões de IP público, apenas as conexões de redes autorizadas podem se conectar à instância. Saiba mais. SSL Enforcement --ssl-mode
--require-ssl
O parâmetro
ssl-mode
aplica a aplicação SSL/TLS às conexões. Para mais informações, consulte Configurações do Cloud SQL para PostgreSQL.O parâmetro
require-ssl
determina se as conexões SSL por IP serão aplicadas ou não.require-ssl
é um parâmetro legado. Em vez disso, usessl-mode
. Para mais informações, consulte IpConfiguration.Tipo de máquina e armazenamento Tipo de máquina --tier
Usado para especificar uma instância de núcleo compartilhado ( db-f1-micro
oudb-g1-small
). Para uma configuração de instância personalizada, use os parâmetros--cpu
ou--memory
. Consulte Configuração da instância personalizada.Tipo de armazenamento --storage-type
Determina se a instância usa armazenamento SSD ou HDD. Saiba mais. Capacidade de armazenamento --storage-size
Quantidade de armazenamento provisionada para a instância em GB.Saiba mais. Aumento automático de armazenamento --storage-auto-increase
Determina se o Cloud SQL fornece automaticamente mais armazenamento para sua instância quando há pouco espaço livre. Saiba mais. Limite de aumento automático de armazenamento --storage-auto-increase-limit
Determina o quanto o Cloud SQL pode expandir o armazenamento automaticamente. Disponível apenas para o comando Beta ( gcloud beta sql instances create
). Saiba mais.Cache de dados (opcional) --enable-data-cache
Ativa ou desativa o cache de dados para as instâncias. Para mais informações, consulte cache de dados. Backups automáticos e alta disponibilidade Alta disponibilidade --availability-type
Para uma instância altamente disponível, defina como REGIONAL
. Saiba mais.Zona secundária --secondary-zone
Se você estiver criando uma instância para alta disponibilidade, poderá especificar as zonas primária e secundária usando --zone
e--secondary-zone parameters
. As restrições a seguir se aplicam quando a zona secundária é usada durante a criação ou edição da instância:- As zonas precisam ser válidas.
- Se a zona secundária for especificada, a primária também precisará ser especificada.
Se as zonas primária e secundária forem especificadas, elas precisarão ser zonas diferentes.
Se as zonas primária e secundária forem especificadas, elas precisarão pertencer à mesma região.
Backups automáticos --backup-start-time
A janela de horário em que você quer que os backups comecem. Saiba mais. Configurações de retenção para backups automáticos --retained-backups-count
O número de backups automáticos a serem mantidos. Saiba mais. Recuperação pontual --enable-point-in-time recovery
Ativa a recuperação pontual e a geração de registros em tempo de gravação. Saiba mais. Configurações de retenção para geração de registros binários --retained-transaction-log-days
Número de dias para reter registros de gravação para recuperação pontual.Saiba mais. Adicionar sinalizações do banco de dados Sinalizações do banco de dados --database-flags
Você pode usar sinalizações do banco de dados para controlar configurações e parâmetros na instância. Saiba mais sobre as sinalizações do banco de dados. Cronograma de manutenção Janela de manutenção --maintenance-window-day
,--maintenance-window-hour
Determina uma janela de uma hora em que o Cloud SQL pode executar a manutenção disruptiva na instância. Se você não definir a janela, uma manutenção disruptiva poderá ser feita a qualquer momento. Saiba mais. Dia/hora da manutenção --maintenance-release-channel
Horário de sua preferência para as atualizações de instâncias, em relação a outras instâncias no mesmo projeto. Use preview
para atualizações anteriores eproduction
para atualizações posteriores. Saiba mais.Integração com a Vertex AI --enable-google-ml-integration
Permite que instâncias do Cloud SQL se conectem à Vertex AI para transmitir solicitações de previsões em tempo real e insights para a IA. --database-flags cloudsql.enable_google_ml_integration=on
Ao ativar essa flag, o Cloud SQL pode se integrar à Vertex AI. - Observe o endereço IP atribuído automaticamente.
Se não estiver usando o proxy do Cloud SQL Auth, você usará esse endereço como o endereço do host que os aplicativos ou as ferramentas usam para se conectar à instância.
- Defina a senha do usuário
postgres
:gcloud sql users set-password postgres \ --instance=INSTANCE_NAME \ --password=PASSWORD
Terraform
Para criar uma instância, use um recurso do Terraform.
Aplique as alterações
Para aplicar a configuração do Terraform em um projeto do Google Cloud, conclua as etapas nas seções a seguir.
Preparar o Cloud Shell
- 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 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 ter a extensão
.tf
, por exemplo,main.tf
. Neste tutorial, o arquivo é chamado demain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.
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 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.
terraform init
Opcionalmente, para usar a versão mais recente do provedor do Google, inclua a opção
-upgrade
:terraform init -upgrade
Aplique as alterações
-
Revise a configuração e verifique se os recursos que o Terraform vai criar ou
atualizar correspondem às suas expectativas:
terraform plan
Faça as correções necessárias na configuração.
-
Para aplicar a configuração do Terraform, execute o comando a seguir e digite
yes
no prompt:terraform apply
Aguarde até que o Terraform exiba a mensagem "Apply complete!".
- Abra seu projeto do Google Cloud para ver os resultados. No console do Google Cloud, navegue até seus recursos na IU para verificar se foram criados ou atualizados pelo Terraform.
Excluir as alterações
Para excluir as mudanças, faça o seguinte:
- Para desativar a proteção contra exclusão, no arquivo de configuração do Terraform, defina o argumento
deletion_protection
comofalse
.deletion_protection = "false"
- Para aplicar a configuração atualizada do Terraform, execute o comando a seguir e digite
yes
no prompt:terraform apply
-
Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo
yes
no prompt:terraform destroy
REST v1
Criar instância
Este exemplo cria uma instância. Alguns parâmetros opcionais, como backups e geração de registros binários, também estão incluídos. Para ver uma lista completa de parâmetros dessa chamada, consulte a página Instances:insert. Para informações sobre configurações da instância, incluindo valores válidos para região, consulte Configurações da instância.
Não inclua informações confidenciais ou de identificação pessoal
no ID da instância. Elas são visíveis externamente.
Não é necessário incluir o ID do projeto no nome da instância. Isso é feito automaticamente quando
necessário, como nos arquivos de registros.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: ID do projeto;
- INSTANCE_ID: o ID da sua instância
- REGION: a região
- DATABASE_VERSION: string de tipo enumerado da versão do banco de dados.
Por exemplo:
POSTGRES_13
- PASSWORD: a senha do usuário raiz
- MACHINE_TYPE: string de tipo enumerado do tipo de máquina (camada), como:
db-custom-[CPUS]-[MEMORY_MBS]
- EDITION_TYPE: sua edição do Cloud SQL
- DATA_CACHE_ENABLED: (opcional) defina como
true
para ativar o cache de dados na instância - PRIVATE_NETWORK: especifique o nome da rede de nuvem privada virtual (VPC) que você quer usar para essa instância. O acesso a serviços particulares já precisa estar configurado na rede.
- AUTHORIZED_NETWORKS: para conexões de IP público, especifique as conexões de redes autorizadas que podem se conectar à instância.
Para definir uma política de senha ao criar uma instância, inclua o objeto passwordValidationPolicy na solicitação. Defina os seguintes parâmetros, conforme necessário:
enablePasswordPolicy
: ativa a política de senha quando definida comotrue
.Para remover a política de senha, use uma solicitação
PATCH
comnull
como o valor deenablePasswordPolicy
. Nesse caso, os outros parâmetros da política de senha serão redefinidos.minLength
: especifica o número mínimo de caracteres que a senha precisa ter.complexity
: verifica se a senha é uma combinação de caracteres minúsculos, maiúsculos, numéricos e não alfanuméricos. O valor padrão éCOMPLEXITY_DEFAULT
.reuseInterval
: especifica o número de senhas anteriores que não podem ser reutilizadas.disallowUsernameSubstring
: impede o uso do nome de usuário na senha quando definido comotrue
.passwordChangeInterval
: especifica o período mínimo após o qual você pode alterar a senha. O valor aparece em segundos com até nove dígitos fracionários, encerrados pors
. Por exemplo,3.5s
.
Para criar a instância para que ela possa fazer a integração com a Vertex AI, inclua o objeto enableGoogleMlIntegration na solicitação. Essa integração permite aplicar modelos de linguagem grandes (LLMs), hospedados na Vertex AI, a um banco de dados do Cloud SQL para PostgreSQL.
Defina os seguintes parâmetros, conforme necessário:
enableGoogleMlIntegration
: quando o parâmetro é definido comotrue
, as instâncias do Cloud SQL podem se conectar à Vertex AI para transmitir solicitações de previsões em tempo real e insights para a IA.cloudsql.enable_google_ml_integration
: quando esse parâmetro é definido comoon
, o Cloud SQL pode se integrar à Vertex AI
Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Corpo JSON da solicitação:
{ "name": "INSTANCE_ID", "region": "REGION", "databaseVersion": "DATABASE_VERSION", "rootPassword": "PASSWORD", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "enableGoogleMlIntegration": "true" | "false" "databaseFlags": [ { "name": "cloudsql.enable_google_ml_integration", "value": "on" | "off" } ] "dataCacheConfig" = { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", "passwordChangeInterval": "PASSWORD_CHANGE_INTERVAL" } "ipConfiguration": { "privateNetwork": "PRIVATE_NETWORK", "authorizedNetworks": [AUTHORIZED_NETWORKS], "ipv4Enabled": false, "enablePrivatePathForGoogleCloudServices": true } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2019-09-25T22:19:33.735Z", "operationType": "CREATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
A resposta é uma operação de longa duração, que pode levar alguns minutos para ser concluída.
Recuperar o endereço IPv4
Recupere o endereço IPv4 atribuído automaticamente à nova instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: ID do projeto
- instance-id: o ID da instância criado na etapa anterior
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0_18", "settings": { "authorizedGaeApplications": [], "tier": "db-f1-micro", "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "us-west1-a", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "backupConfiguration": { "startTime": "18:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "1", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" }, "etag": "--redacted--", "ipAddresses": [ { "type": "PRIMARY", "ipAddress": "10.0.0.1" } ], "serverCaCert": { ... }, "instanceType": "CLOUD_SQL_INSTANCE", "project": "project-id", "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com", "backendType": "SECOND_GEN", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id", "connectionName": "project-id:region:instance-id", "name": "instance-id", "region": "us-west1", "gceZone": "us-west1-a" }
Procure o campo ipAddress
na resposta.
REST v1beta4
Criar instância
Este exemplo cria uma instância. Alguns parâmetros opcionais, como backups e geração de registros binários, também estão incluídos. Para ver uma lista completa de parâmetros dessa chamada, consulte a página instances:insert. Para informações sobre configurações da instância, incluindo valores válidos para a região, consulte Configurações de instância.
Não inclua informações confidenciais ou de identificação pessoal
no ID da instância. Elas são visíveis externamente.
Não é necessário incluir o ID do projeto no nome da instância. Isso é feito automaticamente quando
necessário, como nos arquivos de registros.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: ID do projeto;
- INSTANCE_ID: o ID da sua instância
- REGION: a região
- DATABASE_VERSION: string de tipo enumerado da versão do banco de dados.
Por exemplo:
POSTGRES_13
- PASSWORD: a senha do usuário raiz
- MACHINE_TYPE: string de tipo enumerado do tipo de máquina (camada), como:
db-custom-[CPUS]-[MEMORY_MBS]
- EDITION_TYPE: sua edição do Cloud SQL
- DATA_CACHE_ENABLED: (opcional) defina como
true
para ativar o cache de dados na instância
Para definir uma política de senha ao criar uma instância, inclua o objeto passwordValidationPolicy na solicitação. Defina os seguintes parâmetros, conforme necessário:
enablePasswordPolicy
: ativa a política de senha quando definida comotrue
.Para remover a política de senha, use uma solicitação
PATCH
comnull
como o valor deenablePasswordPolicy
. Nesse caso, os outros parâmetros da política de senha serão redefinidos.minLength
: especifica o número mínimo de caracteres que a senha precisa ter.complexity
: verifica se a senha é uma combinação de caracteres minúsculos, maiúsculos, numéricos e não alfanuméricos. O valor padrão éCOMPLEXITY_DEFAULT
.reuseInterval
: especifica o número de senhas anteriores que não podem ser reutilizadas.disallowUsernameSubstring
: impede o uso do nome de usuário na senha quando definido comotrue
.passwordChangeInterval
: especifica o período mínimo após o qual você pode alterar a senha. O valor aparece em segundos com até nove dígitos fracionários, encerrados pors
. Por exemplo,3.5s
.
Para criar a instância para que ela possa fazer a integração com a Vertex AI, inclua o objeto enableGoogleMlIntegration na solicitação. Essa integração permite aplicar modelos de linguagem grandes (LLMs), hospedados na Vertex AI, a um banco de dados do Cloud SQL para PostgreSQL.
Defina os seguintes parâmetros, conforme necessário:
enableGoogleMlIntegration
: quando o parâmetro é definido comotrue
, as instâncias do Cloud SQL podem se conectar à Vertex AI para transmitir solicitações de previsões em tempo real e insights para a IA.cloudsql.enable_google_ml_integration
: quando esse parâmetro é definido comoon
, o Cloud SQL pode se integrar à Vertex AI
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
Corpo JSON da solicitação:
{ "name": "INSTANCE_ID", "region": "REGION", "databaseVersion": "DATABASE_VERSION", "rootPassword": "PASSWORD", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "enableGoogleMlIntegration": "true" | "false" "databaseFlags": [ { "name": "cloudsql.enable_google_ml_integration", "value": "on" | "off" } ] "dataCacheConfig" = { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", "passwordChangeInterval": "PASSWORD_CHANGE_INTERVAL" } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-01T19:13:21.834Z", "operationType": "CREATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
A resposta é uma operação de longa duração, que pode levar alguns minutos para ser concluída.
Recuperar o endereço IPv4
Recupere o endereço IPv4 atribuído automaticamente à nova instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: ID do projeto
- instance-id: o ID da instância criado na etapa anterior
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0_18", "settings": { "authorizedGaeApplications": [], "tier": "db-f1-micro", "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "us-west1-a", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "backupConfiguration": { "startTime": "18:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "1", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" }, "etag": "--redacted--", "ipAddresses": [ { "type": "PRIMARY", "ipAddress": "10.0.0.1" } ], "serverCaCert": { ... }, "instanceType": "CLOUD_SQL_INSTANCE", "project": "project-id", "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com", "backendType": "SECOND_GEN", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "connectionName": "project-id:region:instance-id", "name": "instance-id", "region": "us-west1", "gceZone": "us-west1-a" }
Procure o campo ipAddress
na resposta.
Configurações de instâncias personalizadas
Determina os núcleos virtuais e de memória disponíveis para a instância do Cloud SQL. A disponibilidade do tipo de máquina é determinada pela edição do Cloud SQL.
Para cargas de trabalho que exigem processamento em tempo real, como processamento de transações on-line (OLTP, na sigla em inglês), verifique se a instância tem memória suficiente para conter todo o conjunto de trabalho. No entanto, há outros fatores que podem afetar os requisitos de memória, como o número de conexões ativas e os processos de sobrecarga interna. Realize o teste de carga para evitar problemas de desempenho no seu ambiente de produção.
Ao configurar a instância, selecione memória e vCPUs suficientes para processar a carga de trabalho e faça o upgrade à medida que a carga de trabalho aumenta. Uma configuração de máquina com vCPUs insuficientes pode perder a cobertura do SLA. Para mais informações, consulte as diretrizes operacionais.
Tipos de máquina para instâncias da edição Cloud SQL Enterprise Plus
Para instâncias da edição Enterprise Plus do Cloud SQL, os tipos de máquina são predefinidos da seguinte maneira:
Tipo de máquina da edição Enterprise Plus | vCPUs | Memória (GB) | SSD local |
---|---|---|---|
db-perf-optimized-N-2 | 2 | 16 | 375 |
db-perf-optimized-N-4 | 4 | 32 | 375 |
db-perf-optimized-N-8 | 8 | 64 | 375 |
db-perf-optimized-N-16 | 16 | 128 | 750 |
db-perf-optimized-N-32 | 32 | 256 | 1.500 |
db-perf-optimized-N-48 | 48 | 384 | 3000 |
db-perf-optimized-N-64 | 64 | 512 | 6.000 |
db-perf-optimized-N-80 | 80 | 640 | 6.000 |
db-perf-optimized-N-96 | 96 | 768 | 6.000 |
db-perf-optimized-N-128 | 128 | 864 | 9000 |
Tipos de máquina para instâncias da edição Cloud SQL Enterprise
Para instâncias do Cloud SQL Enterprise, também é possível criar configurações de instância personalizadas usando o comando gcloud sql
instances create
.
Com as configurações de instância flexíveis, você seleciona a quantidade de memória e CPUs
necessárias para a instância. Essa flexibilidade permite escolher o
formato de VM apropriado para a carga de trabalho.
Os nomes dos tipos de máquina usam o seguinte formato:
db-custom-#-#
Substitua o primeiro marcador # pelo número de CPUs na máquina e o segundo marcador # pela quantidade de memória na máquina.
Por exemplo, se o nome da máquina for db-custom
e
tiver 1 CPU e 3.840 MB de RAM, o formato será
db-custom-1-3840
.
Ao selecionar o número de CPUs e a quantidade de memória, há algumas restrições à configuração escolhida:
- O valor das vCPUs precisa ser 1 ou um número par entre 2 e 96.
- A memória precisa:
- ter 0,9 a 6,5 GB por vCPU;
- ser um múltiplo de 256 MB;
- ter pelo menos 3,75 GB (3840 MB).
A tabela a seguir lista os nomes de cada tipo de máquina legado, o número de CPUs e RAM de cada tipo de máquina e a string resultante para do tipo de máquina.
É possível criar o tipo de máquina equivalente especificando a CPU e
a RAM equivalentes no Console do Google Cloud usando a CLI gcloud ou
especificando db-custom-#-#
na API.
Tipo de máquina legada | vCPUs | Memória (MB) | db-custom-CPU-RAM (string do nível da API) |
---|---|---|---|
db-n1-standard-1 | 1 | 3.840 | db-custom-1-3840 |
db-n1-standard-2 | 2 | 7.680 | db-custom-2-7680 |
db-n1-standard-4 | 4 | 15.360 | db-custom-4-15360 |
db-n1-standard-8 | 8 | 30.720 | db-custom-8-30720 |
db-n1-standard-16 | 16 | 61.440 | db-custom-16-61440 |
db-n1-standard-32 | 32 | 122.880 | db-custom-32-122880 |
db-n1-standard-64 | 64 | 245.760 | db-custom-64-245760 |
db-n1-standard-96 | 96 | 368640 | db-custom-96-368640 |
db-n1-highmem-2 | 2 | 13.312 | db-custom-2-13312 |
db-n1-highmem-4 | 4 | 26.624 | db-custom-4-26624 |
db-n1-highmem-8 | 8 | 53.248 | db-custom-8-53248 |
db-n1-highmem-16 | 16 | 106.496 | db-custom-16-106496 |
db-n1-highmem-32 | 32 | 212.992 | db-custom-32-212992 |
db-n1-highmem-64 | 64 | 425.984 | db-custom-64-425984 |
db-n1-highmem-96 | 96 | 638976 | db-custom-96-638976 |
Resolver problemas
Problema | Solução de problemas |
---|---|
Mensagem de erro: Failed to create subnetwork. Couldn't
find free blocks in allocated IP ranges. Please allocate new ranges for
this service provider |
Não há mais endereços disponíveis no intervalo de IP alocado. Pode
haver vários cenários possíveis:
Para resolver esse problema, é possível expandir o intervalo de IP alocado existente ou alocar um intervalo de IP adicional para a conexão de serviço particular. Para mais informações, consulte Alocar um intervalo de endereços IP. Se você usou a sinalização Se você estiver alocando um novo intervalo, tenha cuidado para que a alocação não se sobreponha a nenhuma alocação atual. Depois de criar um novo intervalo de IP, atualize o peering VPC com o comando a seguir: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID \ --force Se você estiver expandindo uma alocação atual, só aumente o intervalo de alocação em vez de diminuí-lo. Por exemplo, se a alocação original for 10.0.10.0/24, faça a nova alocação pelo menos 10.0.10.0/23. Em geral, se começar com uma alocação de /24, diminuir o /mascaramento em 1 para cada condição (grupo de tipo de instância adicional, região adicional) é uma boa regra geral. Por exemplo, se você tentar criar os dois grupos de tipos de instância na mesma alocação, a mudança de /24 para /23 será suficiente. Depois de expandir um intervalo de IP atual, use o seguinte comando para atualizar o peering VPC: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID |
Mensagem de erro: Failed to create subnetwork. Router status is
temporarily unavailable. Please try again later. Help Token:
[token-ID] |
Tente criar a instância do Cloud SQL novamente. |
Mensagem de erro: Failed to create subnetwork. Required
'compute.projects.get' permission for PROJECT_ID |
Quando você cria uma instância usando um endereço IP privado, uma conta de serviço é criada no momento certo usando a API Service Networking. Se você ativou recentemente a API Service Networking, a conta de serviço pode não ser criada e a criação da instância falhará. Nesse caso, você precisa esperar a conta de serviço se propagar pelo sistema ou adicioná-la manualmente com as permissões necessárias. |
A seguir
- Crie um banco de dados PostgreSQL na instância.
- Crie usuários do PostgreSQL na instância.
- Proteja e controle o acesso à instância.
- Conecte-se à instância com um cliente PostgreSQL.
- Importar dados para o banco de dados.