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 Google Cloud console, 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 a um projeto do Google Cloud , siga 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 o projeto Google Cloud para conferir os resultados. No console Google Cloud , navegue até seus recursos na interface 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 à instância com o cliente psql por meio de SSL/TLS.