Veja nesta página como configurar a conectividade IP pública para uma instância do Cloud SQL.
Introdução
Você pode configurar sua instância do Cloud SQL para ter um endereço IPv4 público e aceitar conexões de endereços IP específicos ou de um intervalo de endereços, adicionando endereços autorizados à sua instância.
Não é possível especificar uma rede particular (por exemplo, 10.x.x.x) como uma rede autorizada.
Endereços IP públicos para instâncias do MySQL:
- IPv6: as instâncias não são compatíveis com IPv6.
- IPv4: as instâncias têm um endereço IPv4 estático atribuído automaticamente. Há uma pequena cobrança pelo endereço IP sempre que a instância é desativada.
Para ter ajuda para conectar um cliente de administração à instância por uma conexão IP, consulte Como se conectar ao cliente mysql usando endereços IP.
Se você configurar sua instância para aceitar conexões usando o endereço IP público, configure-a para usar SSL e manter seus dados seguros. Para ver mais informações, consulte Configurar SSL para instâncias.
Para configurar sua instância com um endereço IP que não esteja exposto à Internet pública, consulte Como configurar a conectividade IP privada.
Ativar o IP público e adicionar um endereço ou intervalo de endereços autorizados
Quando você ativa o IP público para sua instância, o Cloud SQL configura a instância com um endereço IPv4 público e estático. Depois de ativar o IP público, é necessário configurar a autorização para as conexões de banco de dados. Consulte as Opções de autorização para mais informações.
Para ativar o IP público e adicionar um endereço autorizado:
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- No menu de navegação SQL, selecione Conexões.
- Clique na guia Rede.
- Marque a caixa de seleção IP público.
- Clique em Adicionar rede.
- Se quiser, no campo Nome, insira um nome para a rede.
- No campo Rede, insira o endereço IP ou o intervalo de endereços do
qual você quer permitir conexões.
Use a notação CIDR.
- Clique em Concluído.
- Clique em Salvar.
- Se você ainda não fez isso, adicione um endereço IPv4 à instância:
gcloud sql instances patch
INSTANCE_NAME \ --assign-ip - Mostre todos os endereços autorizados existentes descrevendo a instância:
gcloud sql instances describe
INSTANCE_NAME Procure as entradas authorizedNetwork em ipConfiguration e observe os endereços que quer manter.
-
Atualize a lista de rede autorizada incluindo todos os endereços que você quiser.
gcloud sql instances patch
INSTANCE_NAME \ --authorized-networks=IP_ADDR1 ,IP_ADDR2 ...Use a notação CIDR.
- Confirme as alterações:
gcloud sql instances describe
INSTANCE_NAME
- Mostre todos os endereços autorizados existentes descrevendo a instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Atualize a instância incluindo todos os endereços que quer definir
na instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- network_range_1: um intervalo ou endereço IP autorizado
- network_range_2: outro intervalo ou endereço IP autorizado
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id Corpo JSON da solicitação:
{ "settings": { "ipConfiguration": { "authorizedNetworks": [{"value": "
network_range_1 "}, {"value": "network_range_2 "}] } } }Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id "PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " }Use a notação CIDR.
- Confirme as alterações:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- ip-address1: o formulário CIDR do primeiro endereço IP
- ip-address-name1: o nome do primeiro endereço IP
- ip-address2: o formulário CIDR do segundo endereço IP
- ip-address-name2: o nome do segundo endereço IP
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
Para ativar o IP público e adicionar um endereço ou intervalo de endereços autorizado, 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 && cdDIRECTORY && 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
- Mostre todos os endereços autorizados existentes descrevendo a instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Atualize a instância incluindo todos os endereços que quer definir
na instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- network_range_1: um intervalo ou endereço IP autorizado
- network_range_2: outro intervalo ou endereço IP autorizado
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id Corpo JSON da solicitação:
{ "settings": { "ipConfiguration": { "authorizedNetworks": [{"value": "
network_range_1 "}, {"value": "network_range_2 "}] } } }Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id "PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "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-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " }Use a notação CIDR.
- Confirme as alterações:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- ip-address1: o formulário CIDR do primeiro endereço IP
- ip-address-name1: o nome do primeiro endereço IP
- ip-address2: o formulário CIDR do segundo endereço IP
- ip-address-name2: o nome do segundo endereço IP
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
Remover um endereço ou intervalo de endereços autorizado
Para remover um endereço autorizado:
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Conexões no menu de navegação do SQL.
- Clique no ícone de exclusão
do endereço que você quer excluir.
- Clique em Salvar para atualizar a instância.
- Mostre todos os endereços autorizados existentes descrevendo a instância:
gcloud sql instances describe
INSTANCE_NAME Procure as entradas authorizedNetwork em ipConfiguration e observe os endereços que quer manter.
- Atualize a lista de rede autorizada descartando os endereços que quiser remover.
gcloud sql instances patch
INSTANCE_NAME \ --authorized-networks=IP_ADDR1 ,IP_ADDR2 ... - Confirme as alterações:
gcloud sql instances describe
INSTANCE_NAME
- Mostre todos os endereços autorizados existentes descrevendo a instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- ip-address1: o formulário CIDR do primeiro endereço IP
- ip-address-name1: o nome do primeiro endereço IP
- ip-address2: o formulário CIDR do segundo endereço IP
- ip-address-name2: o nome do segundo endereço IP
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Atualize a instância, incluindo todos os endereços que você quer manter e
descartando os que quer remover:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- network_range_1: o endereço IP ou o intervalo de rede autorizado a ser removido
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id Corpo JSON da solicitação:
{ "settings": { "ipConfiguration": { "authorizedNetworks": [{"value": "
network_range_1 "}] } } }Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id "PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - Confirme as alterações:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- ip-address: o formulário CIDR do endereço IP
- ip-address-name: o nome do endereço IP
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address ", "name": "ip-address-name ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
- Mostre todos os endereços autorizados existentes descrevendo a instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- ip-address1: o formulário CIDR do primeiro endereço IP
- ip-address-name1: o nome do primeiro endereço IP
- ip-address2: o formulário CIDR do segundo endereço IP
- ip-address-name2: o nome do segundo endereço IP
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Atualize a instância, incluindo todos os endereços que você quer manter e
descartando os que quer remover:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- network_range_1: o endereço IP ou o intervalo de rede autorizado a ser removido
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id Corpo JSON da solicitação:
{ "settings": { "ipConfiguration": { "authorizedNetworks": [{"value": "
network_range_1 "}] } } }Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id "PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "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-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - Confirme as alterações:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- ip-address: o formulário CIDR do endereço IP
- ip-address-name: o nome do endereço IP
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address ", "name": "ip-address-name ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
Configurar uma instância para recusar todas as conexões IP públicas:
Para configurar uma instância para recusar todas as conexões IP públicas:
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Conexões no menu de navegação do SQL.
- Clique no ícone de exclusão
de todos os endereços autorizados.
- Clique em Salvar para atualizar a instância.
- Limpe a lista de endereços autorizada:
gcloud sql instances patch
INSTANCE_NAME \ --clear-authorized-networks - Confirme as alterações:
gcloud sql instances describe
INSTANCE_NAME
- Mostre todos os endereços autorizados existentes descrevendo a instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- ip-address1: o formulário CIDR do primeiro endereço IP
- ip-address-name1: o nome do primeiro endereço IP
- ip-address2: o formulário CIDR do segundo endereço IP
- ip-address-name2: o nome do segundo endereço IP
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Atualize a instância com uma lista de endereços vazia:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id Corpo JSON da solicitação:
{ "settings": { "ipConfiguration": { "authorizedNetworks": [] } } }
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id "PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - Confirme as alterações:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
- Mostre todos os endereços autorizados existentes descrevendo a instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- ip-address1: o formulário CIDR do primeiro endereço IP
- ip-address-name1: o nome do primeiro endereço IP
- ip-address2: o formulário CIDR do segundo endereço IP
- ip-address-name2: o nome do segundo endereço IP
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Atualize a instância com uma lista de endereços vazia:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id Corpo JSON da solicitação:
{ "settings": { "ipConfiguration": { "authorizedNetworks": [] } } }
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id "PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "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-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - Confirme as alterações:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
Desativar IP público
É possível desativar o IP público, mas apenas se sua instância também estiver configurada para usar IP privado. Para ativar o IP privado, consulte Como configurar uma instância existente para usar IP privado.
Para desativar o IP público:
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Conexões no menu de navegação do SQL.
- Desmarque a caixa de seleção IP público.
- Clique em Salvar para atualizar a instância.
- Atualize a instância:
gcloud sql instances patch
INSTANCE_NAME \ --no-assign-ip - Confirme as alterações:
gcloud sql instances describe
INSTANCE_NAME
- Mostre todos os endereços autorizados existentes descrevendo a instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- ip-address1: o formulário CIDR do primeiro endereço IP
- ip-address-name1: o nome do primeiro endereço IP
- ip-address2: o formulário CIDR do segundo endereço IP
- ip-address-name2: o nome do segundo endereço IP
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Atualize a instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID:: o ID do projeto
- INSTANCE_ID:: o ID da instância
- VPC_NETWORK_NAME:: 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.
- RANGE_NAME: Opcional. Se especificado, define um nome de intervalo para o qual um intervalo de IP é alocado. O nome do intervalo precisa estar em conformidade com
RFC-1035
e conter de 1 a 63 caracteres. - AUTHORIZED_NETWORKS:: para conexões de IP público, especifique as conexões de redes autorizadas que podem se conectar à instância.
Para o parâmetro
ipv4Enabled
, defina o valor comotrue
se estiver usando um endereço IP público para a instância ou comofalse
se a instância tiver um endereço IP particular.Se você definir o parâmetro
enablePrivatePathForGoogleCloudServices
comotrue
, permitirá que outros serviços Google Cloud , como o BigQuery, acessem dados no Cloud SQL e façam consultas nesses dados em uma conexão IP particular. Ao definir esse parâmetro comofalse
, outros serviços Google Cloud não podem acessar dados no Cloud SQL por uma conexão de IP particular.Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/
PROJECT_ID /instancesCorpo JSON da solicitação:
{ "name": "
INSTANCE_ID ", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "ipConfiguration": { "ipv4Enabled": false, "privateNetwork": "projects/PROJECT_ID /global/networks/VPC_NETWORK_NAME ", "allocatedIpRange": "RANGE_NAME " "authorizedNetworks": [AUTHORIZED_NETWORKS ], "enablePrivatePathForGoogleCloudServices": true } } }Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances"PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
PROJECT_ID /instances/INSTANCE_ID ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "CREATE", "name": "OPERATION_ID ", "targetId": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } - Confirme as alterações:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": false }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
- Mostre todos os endereços autorizados existentes descrevendo a instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- ip-address1: o formulário CIDR do primeiro endereço IP
- ip-address-name1: o nome do primeiro endereço IP
- ip-address2: o formulário CIDR do segundo endereço IP
- ip-address-name2: o nome do segundo endereço IP
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Atualize a instância:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID:: o ID do projeto
- INSTANCE_ID:: o ID da instância
- VPC_NETWORK_NAME:: 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.
- RANGE_NAME: Opcional. Se especificado, define um nome de intervalo para o qual um intervalo de IP é alocado. O nome do intervalo precisa estar em conformidade com
RFC-1035
e conter de 1 a 63 caracteres. - AUTHORIZED_NETWORKS:: para conexões de IP público, especifique as conexões de redes autorizadas que podem se conectar à instância.
Para o parâmetro
ipv4Enabled
, defina o valor comotrue
se estiver usando um endereço IP público para a instância ou comofalse
se a instância tiver um endereço IP particular.Se você definir o parâmetro
enablePrivatePathForGoogleCloudServices
comotrue
, permitirá que outros serviços Google Cloud , como o BigQuery, acessem dados no Cloud SQL e façam consultas nesses dados em uma conexão IP particular. Ao definir esse parâmetro comofalse
, outros serviços Google Cloud não podem acessar dados no Cloud SQL por uma conexão de IP particular.Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1beta4/projects/
PROJECT_ID /instancesCorpo JSON da solicitação:
{ "name": "
INSTANCE_ID ", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "ipConfiguration": { "ipv4Enabled": false, "privateNetwork": "projects/PROJECT_ID /global/networks/VPC_NETWORK_NAME ", "allocatedIpRange": "RANGE_NAME " "authorizedNetworks": [AUTHORIZED_NETWORKS ], "enablePrivatePathForGoogleCloudServices": true } } }Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID /instances"PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID /instances" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
PROJECT_ID /instances/INSTANCE_ID ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "CREATE", "name": "OPERATION_ID ", "targetId": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } - Confirme as alterações:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- machine-type: o tipo de máquina da instância
- zone: a zona da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": false }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
Resolver problemas
Problema | Solução de problemas |
---|---|
Aborted connection . |
O problema pode ser:
Os aplicativos devem tolerar falhas de rede e seguir as práticas recomendadas, como a repetição e o pooling de conexões. A maioria dos pools de conexão identifica esses erros sempre que possível. Caso contrário, o aplicativo precisará tentar novamente ou falhar normalmente. Para novas tentativas de conexão, recomendamos os métodos a seguir:
A combinação desses métodos ajuda a reduzir a limitação. |
Certificate verify failed . |
Os certificados do cliente expiraram ou o caminho dos certificados está incorreto. Para gerar os certificados novamente, recrie-os. |
A seguir
- Configure a autorização para conexões de banco de dados. Saiba mais em Opções de autorização.
- Crie e gerencie chaves SSL para a instância.
- Conectar um cliente de administração à instância.
- Conectar-se à instância de um aplicativo externo.