Nesta página, você verá como usar as configurações de redes autorizadas para se conectar a instâncias do Cloud SQL que usam endereços IP.
Configurar redes autorizadas
O endereço IP ou o intervalo de endereços do aplicativo cliente precisa ser configurado como
authorized networks
para as seguintes condições:
- O aplicativo cliente está se conectando diretamente a uma instância do Cloud SQL no endereço IP público.
- O aplicativo cliente está se conectando diretamente a uma instância do Cloud SQL no endereço IP particular, e o endereço IP do cliente é um endereço não RFC 1918.
O endereço IP pode ser um único endpoint ou consistir em um intervalo na notação CIDR.
Console
-
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 uma rede.
- No campo Nome, insira um nome para Nova rede.
- No campo Rede*, insira o endereço IPv4 público ou o intervalo de endereços do qual quer permitir conexões.
Para o intervalo de endereços, use uma notação CIDR válida (por exemplo, 10.10.10.0/24).
- Clique em Concluído.
- Clique em Salvar.
gcloud
A configuração de redes autorizadas substitui a lista atual de redes autorizadas.
gcloud sql instances patch INSTANCE_ID \ --authorized-networks=NETWORK_RANGE_1,NETWORK_RANGE_2...
Terraform
Para configurar redes autorizadas, 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
A configuração de redes autorizadas substitui a lista atual de redes autorizadas.
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:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
A configuração de redes autorizadas substitui a lista atual de redes autorizadas.
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:
Você receberá uma resposta JSON semelhante a esta:
Limitações
Alguns intervalos de endereços IP não podem ser adicionados como redes autorizadas.
Intervalo de endereços | Observações |
---|---|
10.0.0.0/8 | Intervalo de endereços do RFC 1918. Elas são incluídas automática e implicitamente nas redes autorizadas pelo Cloud SQL |
172.16.0.0/12 | Intervalo de endereços do RFC 1918. Elas são incluídas automática e implicitamente nas redes autorizadas pelo Cloud SQL |
192.168.0.0/16 | Intervalo de endereços do RFC 1918. Elas são incluídas automática e implicitamente nas redes autorizadas pelo Cloud SQL |
A seguir
Saiba mais sobre o controle de acesso à instância.
Configure a instância para usar SSL/TLS.
Conecte-se à sua instância com o cliente sqlcmd usando SSL/TLS.