Esta página mostra a configuração necessária para expor um serviço do ambiente flexível do App Engine apenas no respetivo endereço IP interno.
Por predefinição, os serviços do ambiente flexível recebem um endereço IP interno e um endereço IP externo efémero quando são implementados pela primeira vez. O endereço IP externo efémero permite que o seu serviço envie pedidos para serviços do App Engine com domínios personalizados e recursos na Internet. Os endereços IP externos efémeros incorrem em custos.
Se o seu serviço não exigir um endereço IP externo, pode impedir que o serviço envie pedidos a recursos na Internet e reduzir os custos limitando o serviço à utilização apenas do respetivo endereço IP interno. Isto não impede o seu serviço de receber pedidos da Internet ou dos serviços do App Engine com domínios personalizados, porque o nome do domínio totalmente qualificado do seu serviço continua visível externamente.
Limitações
A desativação de endereços IP externos efémeros tem as seguintes limitações:
- Serviços com domínios personalizados: para enviar pedidos a serviços do App Engine com domínios personalizados, tem de configurar o Cloud NAT.
- Recursos externos: para enviar pedidos a recursos externos, tem de configurar o Cloud NAT.
- Dependência do acesso privado à Google: as instâncias com o modo IP definido como
internal
requerem acesso privado à Google na sub-rede de destino. - Redes antigas: as redes antigas não podem usar o acesso privado à Google e, por isso, não podem desativar os endereços IP externos efémeros.
Antes de começar
Para implementar apps do ambiente flexível sem endereços IP externos, tem de ativar o acesso privado à Google na sub-rede de destino.
- Para saber mais sobre o acesso privado à Google, consulte a vista geral.
- Para instruções de configuração passo a passo, consulte o artigo Ativar o acesso privado à Google.
Prepare a sua rede de VPC partilhada
Se usar a VPC partilhada, siga estes passos para preparar a sua rede de VPC partilhada para configuração adicional.
Confirme que tem uma rota compatível com o acesso privado do Google. Normalmente, a rota predefinida de uma rede é compatível com o acesso privado à Google. Para outras rotas, confirme que a rota está configurada da seguinte forma.
Network: SHARED_VPC_NETWORK_NAME Destination IP address range: 0.0.0.0/0 Instance tags: INSTANCE_TAGS Next hop: DEFAULT_INTERNET_GATEWAY
Substitua o seguinte:
SHARED_VPC_NETWORK_NAME
: o nome da sua rede de VPC partilhada.INSTANCE_TAGS
: se não usar etiquetas de instância, não especifique nada neste campo. Se usar etiquetas de instância, incluaaef-instances
na sua lista de etiquetas de instância.DEFAULT_INTERNET_GATEWAY
: o gateway da Internet predefinido.
Para saber mais sobre as rotas compatíveis para o acesso privado à Google, consulte a documentação do acesso privado à Google sobre as opções de encaminhamento.
Verifique se tem uma regra de firewall compatível com o acesso privado do Google. A regra de firewall tem de ser configurada da seguinte forma.
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 o seguinte:
SHARED_VPC_NETWORK_NAME
: o nome da sua rede de VPC partilhada.INSTANCE_TAGS
: se não usar etiquetas de instância, não especifique nada neste campo. Se usar etiquetas de instância, incluaaef-instances
na sua lista de etiquetas de instância.
Para saber mais acerca das regras de firewall compatíveis com o acesso privado à Google, consulte a documentação do acesso privado à Google sobre a configuração da firewall.
Configure o seu serviço para usar apenas o respetivo endereço IP interno
Atualize a CLI Google Cloud. Isto garante que está a usar uma versão da CLI gcloud que suporta endereços IP privados para apps do ambiente flexível.
gcloud components update
No ficheiro
app.yaml
, adicione o campoinstance_ip_mode
à secçãonetwork
e defina-o comointernal
.Se o seu ficheiro
app.yaml
já tiver uma secçãonetwork
, adicione a seguinte linha à secçãonetwork
:instance_ip_mode: internal
Se o seu ficheiro
app.yaml
não tiver uma secçãonetwork
, crie a secção e especifique o modo de IP da instância adicionando as seguintes linhas:network: instance_ip_mode: internal
Guarde estas alterações.
Implemente o serviço.
gcloud beta app deploy
Valide a configuração verificando a página Instâncias da Google Cloud consola.
Desloque a página para baixo até à tabela Instâncias (abaixo do gráfico Resumo). Na coluna IP externo, confirme que não existe nenhum endereço IP indicado. A ausência de um endereço IP nesta coluna significa que a sua instância não tem um endereço IP externo. Embora este campo esteja vazio, a sua instância continua a ter um endereço IP interno.
Envie pedidos externos sem um endereço IP externo
Se o seu serviço enviar pedidos para a Internet, mas quiser limitá-lo à utilização apenas do respetivo endereço IP interno, pode usar o Cloud NAT para criar um gateway. O seu serviço pode enviar pedidos externos através do gateway Cloud NAT sem usar os endereços IP externos efémeros predefinidos.
Siga os passos na secção Configure o seu serviço para usar apenas o respetivo endereço IP interno.
Siga os passos para configurar o Cloud NAT.
Para saber mais sobre esta abordagem, consulte a documentação do Cloud Architecture Center sobre a implementação do Cloud NAT para obtenção.