Comunicar entre os seus serviços

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.

Pode usar vários métodos para comunicar entre os seus serviços do App Engine ou com outros serviços, incluindo serviços e aplicações externas. Google Cloud

A abordagem mais simples para comunicar com o seu serviço do App Engine é enviar pedidos HTTP segmentados, em que o URL inclui o nome ou o ID de um recurso. Por exemplo, pode incluir o ID de um serviço ou de uma versão que quer segmentar, além do Google Cloud ID do projeto correspondente:


https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

Tenha em atenção que o comprimento combinado de VERSION-dot-SERVICE-dot-PROJECT_ID, em que VERSION é o nome da sua versão, SERVICE é o nome do seu serviço e PROJECT_ID é o ID do seu projeto, não pode ter mais de 63 carateres e não pode começar nem terminar com um hífen. Se o comprimento combinado for superior a 63 carateres, pode ver o erro DNS address could not be found.

Saiba mais acerca dos pedidos no App Engine:

Os seus serviços do App Engine também podem comunicar através do Pub/Sub, que oferece mensagens assíncronas fiáveis de muitos para muitos entre processos, incluindo o App Engine. Estes processos podem ser instâncias individuais da sua aplicação, serviços ou até mesmo aplicações externas.

Para partilhar dados entre bases de dados e a sua app do App Engine ou alguma outra aplicação externa, consulte o artigo Compreender o armazenamento de dados e ficheiros.

Se usar os serviços agrupados antigos, também pode transmitir pedidos entre serviços e de serviços para pontos finais externos através da API URL Fetch.

Além disso, os serviços no ambiente padrão que residem no mesmo projetoGoogle Cloud também podem usar uma das APIs do App Engine para as seguintes tarefas:

  • Partilhar uma única instância de memcache.
  • Colaborar atribuindo trabalho entre serviços através de filas de tarefas.

Comunicação privada

Comunicação entre serviços no mesmo projeto

Pode permitir que um serviço padrão do App Engine comunique com outro serviço do App Engine no mesmo projeto sem ter de expor o serviço de destino à Internet pública.

Para permitir a comunicação entre serviços no mesmo projeto:

  1. Configure os controlos de entrada ajustando as definições de entrada do serviço de destino para permitir apenas tráfego "interno".

    A definição "internal" permite pedidos apenas das redes VPC do projeto. Isto inclui recursos do App Engine de uma app cliente na mesma rede quando o tráfego de saída é encaminhado através de um conector. Todo o outro tráfego da Internet ou de outros Google Cloud projetos, incluindo outros serviços do App Engine, é bloqueado.

  2. Encaminhe o tráfego através de um conetor de acesso a VPC sem servidor:

    1. Para cada versão do App Engine que envia tráfego privado para outros pontos finais de apps, anexe a versão a um conector de acesso à VPC sem servidor pertencente a uma das redes do próprio projeto e não a uma rede da VPC partilhada. Google Cloud

    2. Certifique-se de que o acesso privado à Google está ativado para a sub-rede usada pelo conetor do Acesso a VPC sem servidor.

    3. Configure uma das seguintes opções:

      • Configure os pedidos do cliente para usar o intervalo de IP private.googleapis.com adicionando uma entrada DNS para o nome do anfitrião de destino. Siga a configuração de DNS para adicionar o nome de anfitrião de DNS, mas certifique-se de que configura a zona privada para appspot.com e não para googleapis.com. Certifique-se também de que o tráfego é direcionado para o endereço appspot.com da app de destino e não para um domínio personalizado. A sua app só pode ser alcançada no intervalo de private.googleapis.com IPs através deste domínio appspot.com.

      • Configure a app cliente para enviar all-traffic através do conetor do Acesso a VPC sem servidor, em vez de configurar pedidos para usar o intervalo de IPs private.googleapis.com.

Comunicação entre serviços em projetos diferentes

Pode ter acesso privado entre Google Cloud projetos quando as apps em execução nos projetos pertencem a uma rede de VPC partilhada que está configurada para invocar uma app em execução no projeto anfitrião da rede de VPC partilhada.

Para usar este padrão, siga os passos anteriores para comunicar entre serviços no mesmo projeto. No ambiente padrão, anexe cada versão do cliente a um conetor do Acesso a VPC sem servidor na rede de VPC partilhada.

Outros métodos de comunicação entre projetos que usam acesso interno não são possíveis no App Engine.

Caminhos de URLs reservados

Não é possível usar os seguintes caminhos de URL:

  • Caminhos que terminam com /eventlog
  • Caminhos que começam por /_ah/
  • Alguns caminhos que terminam com z