Nesta página, você encontrará a configuração necessária para expor um serviço do ambiente flexível do App Engine apenas no endereço IP interno.
Por padrão, os serviços do ambiente flexível recebem um endereço IP interno e um endereço IP externo temporário quando são implantados pela primeira vez. O endereço IP externo temporário permite que o serviço envie solicitações aos serviços do App Engine com domínios personalizados e recursos na Internet. Os endereços IP externos temporários geram custos.
Se o serviço não exigir um endereço IP externo, será possível impedir que o serviço envie solicitações a recursos na Internet e reduzir custos, limitando o serviço a usar apenas o endereço IP interno. Isso não impede que o serviço receba solicitações da Internet ou de serviços do App Engine com domínios personalizados porque o nome de domínio totalmente qualificado do serviço ainda é visível externamente.
Limitações
A desativação dos endereços IP externos temporários tem as seguintes limitações:
- Serviços com domínios personalizados: para enviar solicitações a serviços do App Engine com domínios personalizados, você precisa configurar o Cloud NAT.
- Recursos externos: para enviar solicitações a recursos externos, você precisa configurar o Cloud NAT.
- Dependência do Acesso privado do Google: as instâncias com o modo IP definido como
internal
exigem o Acesso privado do Google na sub-rede de destino. - Redes legadas: redes legadas não podem usar o Acesso privado do Google e, portanto, não podem desativar os endereços IP externos temporários.
Antes de começar
Para implantar apps de ambiente flexível sem endereços IP externos, você precisa ativar o Acesso privado do Google na sub-rede de destino.
- Para saber mais sobre o Acesso privado do Google, consulte a Visão geral.
- Para instruções passo a passo de configuração, consulte Como ativar o Acesso privado do Google.
Preparar a rede VPC compartilhada
Se você usa a VPC compartilhada, siga estas etapas para preparar a rede VPC compartilhada.
Verifique se você tem uma rota compatível com o Acesso privado do Google. Normalmente, a rota padrão de uma rede é compatível com o Acesso privado do Google. Para outras rotas, confirme se a rota está configurada da seguinte maneira.
Network: SHARED_VPC_NETWORK_NAME Destination IP address range: 0.0.0.0/0 Instance tags: INSTANCE_TAGS Next hop: DEFAULT_INTERNET_GATEWAY
Substitua:
SHARED_VPC_NETWORK_NAME
: o nome da sua rede VPC compartilhada.INSTANCE_TAGS
: se você não usar tags de instância, não especifique nada nesse campo. Se você usar tags de instância, incluaaef-instances
na sua lista.DEFAULT_INTERNET_GATEWAY
: o gateway de Internet padrão.
Para saber mais sobre rotas compatíveis com o Acesso privado do Google, consulte a documentação do Acesso privado do Google sobre opções de roteamento.
Verifique se você tem uma regra de firewall compatível com o Acesso privado do Google. Configure a regra de firewall da seguinte maneira:
Network: SHARED_VPC_NETWORK_NAME Destination IP address range: 0.0.0.0/0 Destination filter: IP ranges Direction of traffic: Egress Attach on match: Allow Instance tags: INSTANCE_TAGS
Substitua:
SHARED_VPC_NETWORK_NAME
: o nome da sua rede VPC compartilhada.INSTANCE_TAGS
: se você não usar tags de instância, não especifique nada nesse campo. Se você usar tags de instância, incluaaef-instances
na sua lista.
Para saber mais sobre regras de firewall compatíveis com o Acesso privado do Google, consulte a documentação do Acesso privado do Google sobre configuração de firewall.
Configurar o serviço para usar somente o endereço IP interno
Atualize a Google Cloud CLI. Isso garante que você use uma versão da CLI gcloud compatível com endereços IP particulares para apps de ambiente flexível.
gcloud components update
No arquivo
app.yaml
, adicione o campoinstance_ip_mode
à seçãonetwork
e defina-o comointernal
.Se o arquivo
app.yaml
já tiver uma seçãonetwork
, adicione a seguinte linha dentro da seçãonetwork
:instance_ip_mode: internal
Se o arquivo
app.yaml
não tiver uma seçãonetwork
, crie a seção e especifique o modo de IP da instância adicionando as seguintes linhas:network: instance_ip_mode: internal
Salve as alterações.
Implante o serviço.
gcloud beta app deploy
Para verificar a configuração, consulte a página "Instâncias" do Console do Google Cloud.
Role para baixo até a tabela Instâncias (abaixo do gráfico Resumo). Na coluna IP da VM, confirme se não há endereço IP listado. A ausência de um endereço IP nessa coluna significa que sua instância não tem um endereço IP externo. Mesmo que esse campo esteja vazio, a instância ainda tem um endereço IP interno.
Enviar solicitações externas sem um endereço IP externo
Se o serviço enviar solicitações à Internet, mas você quiser limitá-lo apenas ao endereço IP interno, use o Cloud NAT para criar um gateway. Seu serviço pode enviar solicitações externas por meio do gateway do Cloud NAT sem usar os endereços IP externos temporários padrão.
Siga as etapas na seção Configurar o serviço para usar somente o endereço IP interno dele.
Siga as etapas para configurar o Cloud NAT.
Para saber mais sobre essa abordagem, consulte a documentação do Cloud Architecture Center em Como implantar o Cloud NAT para buscar.