ID da região
O REGION_ID é um código abreviado que a Google atribui com base na região que seleciona quando cria a sua app. O código não corresponde a um país ou uma província, embora alguns IDs de regiões possam parecer semelhantes aos códigos de países e províncias usados frequentemente. Para apps criadas após
fevereiro de 2020, REGION_ID.r está incluído nos
URLs do App Engine. Para apps existentes criadas antes desta data, o
ID da região é opcional no URL.
Saiba mais acerca dos IDs de regiões.
Esta secção descreve como usar as definições de entrada para restringir o acesso à rede à sua app do App Engine. Ao nível da rede, por predefinição, qualquer recurso na Internet pode aceder à sua app do App Engine no respetivo URL appspot ou num domínio personalizado configurado no App Engine. Por exemplo, o URL appspot.com pode ter o seguinte formato:
SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com.
Pode alterar esta definição predefinida especificando uma definição diferente para a entrada. Todos os caminhos de entrada, incluindo o URL appspot.com predefinido, estão sujeitos à sua definição de entrada. A entrada é definida ao nível do serviço.
Definições de entrada disponíveis
Estão disponíveis as seguintes definições:
| Definição | Descrição |
|---|---|
| Internos |
Mais restritiva. Permite pedidos de recursos anexados às redes VPC do projeto, como:
appspot.com.
Os pedidos de outras origens, incluindo a Internet, não podem aceder ao seu serviço no URL appspot.com ou nos domínios personalizados. Não
existe suporte para multi-tenancy, ou seja, vários domínios de confiança
no mesmo projeto.
|
| Interno e Cloud Load Balancing | Permite pedidos dos seguintes recursos:
appspot.com ignoram o Application Load Balancer externo, pelo que esta definição impede que os pedidos externos alcancem o URL appspot.com.
|
| Tudo |
Menos restritivas. Permite todos os pedidos, incluindo pedidos diretamente da Internet para o URL appspot.com.
|
Aceder a serviços internos
Aplicam-se as seguintes considerações:
Para pedidos de uma VPC partilhada, o tráfego só é considerado interno se a app do App Engine for implementada no projeto anfitrião da VPC partilhada. Se a app do App Engine for implementada num projeto de serviço de VPC partilhada, apenas o tráfego de redes pertencentes ao próprio projeto da app é interno. Todo o outro tráfego, incluindo o tráfego de outras VPCs partilhadas, é externo.
Quando acede a serviços internos, chame-os como faria normalmente através dos respetivos URLs públicos, quer seja o URL
appspot.compredefinido ou um domínio personalizado configurado no App Engine.Para pedidos de instâncias de VMs do Compute Engine ou outros recursos em execução numa rede VPC no mesmo projeto, não é necessária nenhuma configuração adicional.
Os pedidos de recursos em redes VPC no mesmo projeto são classificados como internos, mesmo que o recurso de origem tenha um endereço IP público.
Os pedidos de recursos no local ligados à rede VPC através da VPN do Google Cloud são considerados
internal.
- Para pedidos de outros serviços do App Engine ou de funções do Cloud Run ou do Cloud Run no mesmo projeto, ligue o serviço ou a função a uma rede da VPC e encaminhe toda a saída através do conetor, conforme descrito no artigo Ligar a uma rede da VPC partilhada.
Veja as definições de carregamento
Consola
Aceda à página App Engine Services.
Localize a coluna Ingress. Para cada serviço, o valor nesta coluna mostra a definição de entrada como Tudo (predefinição), Interno + Equilíbrio de carga ou Interno.
gcloud
Para ver a definição de entrada de um serviço através da CLI gcloud:
gcloud app services describe SERVICE
Substitua SERVICE pelo nome do seu serviço.
Por exemplo, para ver as definições de entrada e outras informações para a execução do serviço predefinido:
gcloud app services describe default
Edite as definições de entrada
Consola
Aceda à página App Engine Services.
Selecione o serviço que quer editar.
Clique em Editar definição de entrada.
Selecione a definição de entrada pretendida no menu e clique em Guardar.
gcloud
Para atualizar a definição de entrada para um serviço através da CLI gcloud:
gcloud app services update SERVICE --ingress=INGRESS
Substituição:
- SERVICE: o nome do seu serviço.
- INGRESS: o controlo de entrada que quer aplicar. Uma das seguintes opções:
all,internal-onlyouinternal-and-cloud-load-balancing.
Por exemplo:
Para atualizar o serviço predefinido de uma app do App Engine para aceitar tráfego apenas do Cloud Load Balancing e das redes VPC que estão no mesmo projeto:
gcloud app services update default --ingress=internal-and-cloud-load-balancing
Para atualizar um serviço denominado "internal-requests" para aceitar tráfego apenas de redes VPC que estejam no mesmo projeto:
gcloud app services update internal-requests --ingress=internal-only
Definições de saída
Se usar o Acesso a VPC sem servidor, pode especificar a definição de saída para o seu serviço do App Engine.
Por predefinição, apenas os pedidos a endereços IP internos e nomes DNS internos são encaminhados através de um conetor de acesso a VPC sem servidor. Pode especificar a definição de saída para o seu serviço no ficheiro app.yaml.
As definições de saída não são compatíveis com o serviço URL Fetch.
A utilização da biblioteca urlfetch ignora as definições de saída e os pedidos não são encaminhados através de um conetor do Acesso a VPC sem servidor.
Para configurar o comportamento de saída do seu serviço do App Engine:
Adicione o atributo
egress_settingao campovpc_access_connectordo ficheiroapp.yamldo serviço:vpc_access_connector: name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME egress_setting: EGRESS_SETTING
Substituição:
PROJECT_IDcom o seu Google Cloud ID do projetoREGIONcom a região em que o conector se encontraCONNECTOR_NAMEcom o nome do conetorEGRESS_SETTINGcom uma das seguintes opções:private-ranges-onlyPredefinição. Apenas os pedidos aos intervalos de endereços IP RFC 1918 e RFC 6598 ou aos nomes DNS internos são encaminhados para a sua rede VPC. Todos os outros pedidos são encaminhados diretamente para a Internet.all-trafficTodos os pedidos de saída do seu serviço são encaminhados para a sua rede VPC. Os pedidos ficam sujeitos às regras de firewall, DNS e encaminhamento da sua rede VPC. Tenha em atenção que o encaminhamento de todos os pedidos de saída para a sua rede VPC aumenta a quantidade de saída processada pelo conetor do Acesso a VPC sem servidor e pode incorrer em custos.
Implemente o serviço:
gcloud app deploy