Invocar com um pedido HTTPS

Depois de criar um serviço ou uma função, o Cloud Run fornece-lhe um ponto final HTTPS para o serviço. Pode ativar o serviço para ser executado em resposta a pedidos HTTPS.

Todos os serviços do Cloud Run têm um URL HTTPS estável, que representa o ponto final HTTPS predefinido para o serviço, embora também possa configurar domínios personalizados.

Seguem-se alguns exemplos de utilização:

  • API Web RESTful personalizada
  • Microserviço privado
  • Middleware HTTP ou proxy inverso para as suas aplicações Web
  • App Web pré-comprimida

Crie serviços públicos

A criação de um serviço público no Cloud Run requer o seguinte:

  • Acesso ao serviço a partir da Internet pública
  • Um URL destinado a utilização pública

Para tornar um serviço público, defina o seu serviço para permitir o acesso não autenticado (público).

URL do serviço

O Cloud Run atribui um URL determinístico ao serviço.

Pode desativar estes s3nsrun.frURLs predefinidos.

Pode obter o URL do seu serviço clicando no nome do serviço na Cloud de Confiance consola ou executando o seguinte comando na CLI gcloud:

gcloud run services describe SERVICE --format 'value(status.url)'

O URL determinístico tem prioridade quando é apresentado.

URL determinístico

O URL determinístico permite-lhe prever o URL do serviço antes de o serviço ser criado, o que pode ser útil para a comunicação entre serviços.

O URL determinístico só está disponível para segmentos de DNS de 63 carateres ou menos. O segmento DNS contém o nome do serviço, o número do projeto e quaisquer etiquetas de tráfego.

O URL determinístico de um serviço do Cloud Run tem o seguinte formato:

https://[TAG---]SERVICE_NAME-PROJECT_NUMBER.REGION.s3nsrun.fr

where:

  • TAG é a etiqueta de gestão de tráfego opcional para a revisão que está a pedir.
  • PROJECT_NUMBER é o Cloud de Confiance by S3NS número do projeto.
  • SERVICE_NAME é o nome do serviço do Cloud Run.
  • REGION é o nome da região, como europe-west1.

Streaming de respostas

O Cloud Run suporta respostas HTTP de streaming. Não é necessária nenhuma configuração para ativar a funcionalidade. O servidor tem de responder com um cabeçalho de resposta Transfer-Encoding: chunked.

Redirecionamento de HTTP para HTTPS

O Cloud Run redireciona todos os pedidos HTTP para HTTPS, mas termina o TLS antes de chegarem ao seu serviço Web. Se o seu serviço gerar recursos Web que fazem referência a outros recursos Web com URLs não seguros (http://), a sua página pode estar sujeita a avisos ou erros de conteúdo misto. Use o protocolo https para todos os URIs Web de referência ou para a conta para diretivas de proxy no pedido HTTP, como o cabeçalho HTTP X-Forwarded-Proto.

HTTP e HTTP/2

Por predefinição, o Cloud Run reduz os pedidos HTTP/2 para HTTP/1 quando esses pedidos são enviados para o contentor. Se quiser definir explicitamente o seu serviço para usar HTTP/2 ponto a ponto, consulte o artigo Usar HTTP/2.

Crie serviços privados

A criação de um serviço privado no Cloud Run requer que limite o acesso ao serviço através da autorização de invocador da IAM.

Também pode limitar o acesso a um serviço através de um mecanismo de autenticação e autorização ao nível da aplicação, por exemplo, através da Identity Platform.

Teste serviços privados

A forma mais fácil de testar serviços privados é usar o proxy do Cloud Run na CLI do Google Cloud. Isto encaminha o serviço privado para http://localhost:8080 (ou para a porta especificada com --port), fornecendo o token da conta ativa ou outro token que especificar. Isto permite-lhe usar um navegador de Internet ou uma ferramenta como o curl. Esta é a forma recomendada de testar um Website ou uma API de forma privada no seu navegador.

Pode usar um proxy de um serviço localmente através da seguinte linha de comandos num ambiente Linux, macOS, WSL (preferencial) ou cygwin:

gcloud run services proxy SERVICE --project PROJECT-ID

Também pode testar serviços privados sem o proxy através de uma ferramenta como curl, transmitindo um token de autorização no cabeçalho Authorization:

curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" SERVICE_URL

Serviço privado para serviço

Um serviço do Cloud Run pode chamar outro serviço do Cloud Run com a autenticação de serviço para serviço.

Exemplo de código que invoca um serviço privado

Para ver exemplos de código que mostram como obter um token de ID e fazer um pedido HTTP a um serviço privado, consulte o tópico Autenticação de serviço a serviço.

Usar um middleware para melhorar o seu serviço

Os proxies HTTPS podem transferir funcionalidades comuns de um serviço HTTP, como o armazenamento em cache, a validação de pedidos ou a autorização. Para microsserviços, muitos proxies HTTP fazem parte de uma solução de gateway de API ou de uma malha de serviços, como o Istio.

Cloud de Confiance by S3NS produtos que pode usar para melhorar o seu serviço do Cloud Run incluem: