Como configurar um IP privado

Nesta página, você verá como configurar uma instância do Cloud SQL para usar IP particular.

Para informações sobre como o IP particular funciona, bem como sobre os requisitos de ambiente e de gerenciamento, consulte IP particular.

Antes de começar

Antes de configurar uma instância do Cloud SQL para usar o IP particular, faça o seguinte:

  • Ative a API Service Networking no projeto.

    Se você estiver usando uma rede VPC compartilhada, também precisará fazer estas ações:

    • Ative a API Service Networking no projeto host.
    • Adicione o usuário ao projeto host.
    • Atribua ao usuário o papel de Network Administrator do IAM no projeto host.
  • Selecione uma rede VPC para usar.

  • Realize esta tarefa apenas uma vez: configure o acesso a serviços particulares na rede VPC para alocar um intervalo de endereços IP e criar uma conexão de serviço particular. Isso permite que os recursos na rede VPC se conectem às instâncias do Cloud SQL.

    • Para estabelecer o acesso a serviços particulares, é necessário ter o papel Network Administrator do IAM.

      Depois que o acesso a serviços particulares for estabelecido na rede, o papel Network Administrator não será mais necessário para configurar uma instância para usar o IP particular.

    • Se você estiver usando o IP particular em qualquer uma das instâncias do Cloud SQL, será necessário configurar o acesso a serviços particulares uma vez para cada projeto do Google Cloud que tenha uma instância do Cloud SQL ou que precise se conectar a ela. Para mais informações, consulte Acesso a serviços particulares.

Com o Cloud SQL, você configura o acesso a serviços particulares quando todos os casos abaixo são aplicáveis:

  • Você ainda não configurou o acesso a serviços particulares no projeto do Google Cloud.
  • Você está ativando o IP particular pela primeira vez para qualquer instância do Cloud SQL no projeto do Google Cloud.
  • Ao ativar o IP particular na página Connections da instância, você seleciona as opções "Rede associada" Use an automatically allocated IP range e default.

Como configurar uma instância para usar IP particular

Ao criar uma instância do Cloud SQL, é possível configurá-la para usar o IP particular. Essa configuração também pode ser feita em uma instância atual.

Como configurar o IP particular para uma nova instância

Para configurar uma instância do Cloud SQL para usar IP particular ao criar uma instância:

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.

    Acessar a página "Instâncias" do Cloud SQL

  2. Clique em CRIAR INSTÂNCIA.
  3. No assistente de criação, em Opções de configuração, expanda a seção Conectividade.
  4. Marque a caixa de seleção IP particular.

    Uma lista suspensa exibirá as redes VPC disponíveis no projeto. Se o projeto for o de serviço de uma VPC compartilhada, as redes VPC do projeto host também serão exibidas.

  5. Selecione a rede VPC a ser usada:
  6. Se você configurou o acesso a serviços particulares, faça o seguinte:

    1. Selecione a rede VPC a ser usada.
    2. Clique em Conectar.
    3. Uma lista suspensa exibirá o intervalo de endereços IP alocados.

    4. Clique em Criar.
    5. Clique em Salvar.

    Para que o Cloud SQL aloque o intervalo para você e crie a conexão particular, faça o seguinte:

    1. Selecione a rede VPC "padrão".
    2. Clique em Alocar e conectar.
    3. Clique em Salvar.

gcloud

Se você ainda não tiver feito isso, siga as instruções abaixo para configurar o acesso a serviços particulares no Cloud SQL. Crie sua instância do Cloud SQL usando o parâmetro --network para especificar o nome da rede VPC escolhida e a sinalização --no-assign-ip para desativar o IP público.

A menos que a rede VPC seja compartilhada, o valor do parâmetro --network estará no seguinte formato: https://www.googleapis.com/compute/alpha/projects/[PROJECT_ID]/global/networks/[VPC_NETWORK_NAME]

Se a rede VPC for compartilhada, o valor do parâmetro --network estará no formato projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK_NAME. Nele, HOST_PROJECT_ID é o nome do projeto host da VPC compartilhada, e VPC_NETWORK_NAME é o nome da rede VPC compartilhada.

gcloud --project=[PROJECT_ID] beta sql instances create [INSTANCE_ID]
       --network=[VPC_NETWORK_NAME]
       --no-assign-ip

Como configurar o IP particular para uma instância atual

Configurar uma instância atual do Cloud SQL para usar IP particular faz com que ela seja reiniciada, resultando em tempo de inatividade.

Configurar o uso de IP particular em uma instância atual:

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.
    Acessar a página "Instâncias" do Cloud SQL
  2. Clique no nome da instância para abrir a página Visão geral correspondente.
  3. Selecione a guia Conexões.
  4. Marque a caixa de seleção IP particular.

    Uma lista suspensa exibirá as redes disponíveis no projeto. Se o projeto for o de serviço de uma VPC compartilhada, as redes VPC do projeto host também serão exibidas.

  5. Se você configurou o Acesso a serviços privados, faça o seguinte:
    1. Selecione a rede VPC a ser usada.
    2. Uma lista suspensa exibirá o intervalo de endereços IP alocados.

    3. Clique em Conectar.
    4. Clique em Salvar.
  6. Para permitir que o Cloud SQL aloque um endereço IP para você, faça o seguinte:
    1. Selecione a rede VPC "padrão".
    2. Clique em Alocar e conectar.
    3. Clique em Salvar.

gcloud

Se você ainda não tiver feito isso, siga as instruções abaixo para configurar o acesso a serviços particulares no Cloud SQL. Atualize a instância do Cloud SQL usando o parâmetro --network para especificar o nome da rede VPC escolhida.

VPC_NETWORK_NAME é o nome da rede VPC escolhida. Por exemplo: my-vpc-network. O valor do parâmetro --network estará no formato: https://www.googleapis.com/compute/alpha/projects/[PROJECT_ID]/global/networks/[VPC_NETWORK_NAME]

gcloud --project=[PROJECT_ID] beta sql instances patch [INSTANCE_ID]
       --network=[VPC_NETWORK_NAME]
       --no-assign-ip

Como se conectar a uma instância usando o IP particular dela

Use o acesso a serviços particulares para se conectar a instâncias do Cloud SQL do Compute Engine ou do Google Kubernetes Engine na mesma rede VPC (definida aqui como origens internas) ou de fora dessa rede (uma origem externa).

Como se conectar de uma origem interna

Para se conectar de uma origem no mesmo projeto do Google Cloud que a instância do Cloud SQL, como o Cloud SQL Proxy em execução em um recurso do Compute Engine, esse recurso precisa estar na mesma rede VPC que a instância do Cloud SQL.

Como se conectar de uma origem externa

É possível se conectar a partir de um cliente em uma rede local se ela estiver conectada à rede VPC em que a instância do Cloud SQL está conectada. Para permitir conexões de uma rede local, faça o seguinte:

  1. Verifique se a rede VPC está conectada à sua rede local usando um Túnel do Cloud VPN ou um anexo de interconexão (VLAN, na sigla em inglês) para Interconexão dedicada ou Interconexão por parceiro.
  2. Identifique o peering produzido pela conexão de serviços particulares. Observe que um peering é criado para cada tipo de mecanismo de banco de dados usado (MySQL, PostgreSQL e SQL Server).
  3. Atualize a conexão de peering para trocar rotas personalizadas.
  4. Identifique o intervalo alocado usado pela conexão de serviços particulares.
  5. Crie uma divulgação de rota personalizada do Cloud Router para o intervalo alocado nos Cloud Routers que gerencia sessões do BGP para os túneis do Cloud VPN ou anexos do Cloud Interconnect (VLANs).

Como se conectar de endereços que não sejam RFC 1918

As conexões com uma instância do Cloud SQL usando um endereço IP privado são autorizadas automaticamente para intervalos de endereços RFC 1918. Dessa forma, todos os clientes particulares podem acessar o banco de dados sem passar pelo proxy. Os intervalos de endereços não RFC 1918 precisam ser configurados como redes autorizadas.

Para se conectar a partir de um endereço que não seja RFC 1918, você precisa definir a autorização de IP por instância para permitir o tráfego de intervalos de endereços não RFC 1918.

Por exemplo, use um comando gcloud como este:

gcloud sql instances patch [INSTANCE_NAME] --authorized-networks 172.16.12.0/28,172.16.1.0/24,172.16.10.0/24,172.16.2.0/24,172.16.11.0/24,192.88.99.0/24,11.0.0.0/24

Por padrão, o Cloud SQL não grava as rotas de sub-rede não RFC 1918 da sua VPC. É necessário atualizar o peering de rede para o Cloud SQL para exportar rotas que não sejam RFC 1918. Exemplo:

gcloud compute networks peerings update cloudsql-[mysql/postgres]-googleapis-com --network=NETWORK --export-subnet-routes-with-public-ip --project=PROJECT

A seguir