Como se conectar a uma rede VPC

Com o acesso VPC sem servidor, é possível se conectar direto do App Engine às instâncias de VM do Compute Engine, às instâncias do Cloud Memorystore e do Cloud SQL e a qualquer outro recurso com um endereço IP interno. Isso é útil nos casos em que:

  • um serviço de back-end é executado em um grupo de instâncias gerenciadas no Compute Engine e é necessário que o aplicativo se comunique com esse serviço sem exposição à Internet pública;
  • o aplicativo usa software de terceiros que são executados em uma VM do Compute Engine;
  • o Cloud Memorystore é usado para armazenar dados para o aplicativo do App Engine;
  • o aplicativo precisa acessar dados do banco de dados no local por meio do Cloud VPN.

Com o acesso VPC sem servidor, as solicitações enviadas do app para endereços IP internos (conforme definido pela RFC 1918, em inglês) são encaminhadas por meio de um conector de acesso VPC sem servidor à rede VPC. As solicitações enviadas para endereços IP públicos são roteadas pela Internet. Os endereços IP internos só são acessíveis a partir dos serviços do Google Cloud Platform. Portanto, ao usá-los, você evita expor os recursos internos à Internet pública e melhora a latência da comunicação entre os serviços.

O acesso VPC sem servidor aceita a comunicação com redes VPC conectadas por Cloud VPN e peering de rede VPC, mas não aceita redes legadas ou redes VPC compartilhadas. Os conectores de acesso VPC sem servidor estão sujeitos a uma taxa mensal. Consulte os preços do acesso VPC sem servidor para mais informações.

Como se conectar à rede VPC

Há dois passos para conectar um aplicativo do App Engine à rede VPC:

  1. Criar um conector de acesso VPC sem servidor.
  2. Configurar os serviços do App Engine para usar o conector.

Um conector de acesso VPC sem servidor precisa estar no mesmo projeto e região que o aplicativo que o usa, mas pode enviar tráfego para recursos em diferentes regiões. O mesmo conector pode ser usado por vários serviços do App Engine. Para mais informações sobre conectores, consulte Como configurar o acesso VPC sem servidor.

Como criar um conector

É possível criar um conector usando o Console do GCP ou a ferramenta de linha de comando gcloud.

Console

  1. Vá para a página de visão geral do acesso VPC sem servidor.

    Vá para o acesso VPC sem servidor

  2. Clique em Criar conector.

  3. No campo Nome, insira um nome para o conector.

  4. No campo Região, selecione a região em que o aplicativo está localizado.

  5. No campo Rede, selecione a rede VPC a se conectar.

  6. No campo Intervalo de IP, insira um intervalo de IP CIDR /28 não utilizado. Os endereços nesse intervalo são usados como endereços de origem para o tráfego enviado pelo conector. Esse intervalo de IP não pode se sobrepor a nenhuma reserva de endereço IP atual na rede VPC.

  7. (Opcional) É possível controlar a capacidade do conector definindo os valores nos campos Capacidade mínima e Capacidade máxima.

  8. Clique em Criar.

Uma marca de seleção verde aparecerá ao lado do nome do conector quando ele estiver pronto para uso.

gcloud

  1. Ative a API de acesso do VPC sem servidor para o projeto com o comando:

    gcloud services enable vpcaccess.googleapis.com
    
  2. Crie um conector:

    gcloud beta compute networks vpc-access connectors create CONNECTOR_NAME \
    --network VPC_NETWORK \
    --region REGION \
    --range IP_RANGE
    

    Em que:

    • CONNECTOR_NAME é o nome do conector;
    • VPC_NETWORK é a rede VPC em que você se conectará;
    • REGION é a região em que o aplicativo está localizado;
    • IP_RANGE é um intervalo de IP CIDR /28 não utilizado. Os endereços neste intervalo são usados como endereços de origem para o tráfego enviado pelo conector. Esse intervalo de IP não pode se sobrepor a nenhuma reserva de endereço IP atual na rede VPC.
  3. Verifique se o conector está no estado READY antes de usá-lo:

    gcloud beta compute networks vpc-access connectors describe CONNECTOR_NAME --region REGION
    

    A saída precisa conter a linha state: READY.

Se a criação de um conector resultar em erro, tente o seguinte e recrie o conector:

  • Especifique um intervalo de IP que não se sobreponha a nenhuma reserva de endereço IP existente na rede VPC.
  • Conceda permissão ao projeto para usar imagens de VM do Compute Engine do projeto com o código serverless-vpc-access-images. Consulte Como configurar restrições de acesso a imagens para ver como atualizar a política da organização adequadamente.

Como configurar o aplicativo para usar um conector

Depois de criar um conector de acesso VPC sem servidor, configure os serviços no aplicativo do App Engine para usá-lo. O mesmo conector pode ser usado por vários serviços.

Para conectar o conector a um serviço no aplicativo:

  1. Adicione o elemento <vpc-access-connector> ao arquivo appengine-web.xml do seu serviço:

    <vpc-access-connector>
      <name>projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME</name>
    </vpc-access-connector>
    

    Em que PROJECT_ID é o ID do projeto do GCP, enquanto REGION e CONNECTOR_NAME são a região e o nome escolhidos ao criar o conector. O conector e o aplicativo precisam estar na mesma região.

  2. Implante o serviço:

    gcloud beta app deploy WEB-INF/appengine-web.xml
    

Depois de reimplantado, o serviço pode enviar solicitações para endereços IP internos a fim de acessar recursos na rede VPC.

Como desconectar o aplicativo de um conector

Se o aplicativo não precisar mais se conectar à rede VPC, desconecte o conector de acesso VPC sem servidor.

Para desconectar um serviço de um conector:

  1. Remova o elemento <vpc-access-connector> do arquivo appengine-web.xml do seu serviço.

  2. Reimplante o serviço:

    gcloud app deploy WEB-INF/appengine-web.xml
    

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente padrão do App Engine para Java