Como invocar com uma solicitação HTTPS

É possível enviar solicitações HTTPS de qualquer lugar que consiga fazer solicitações HTTPS para acionar um serviço hospedado no Cloud Run. Todos os serviços do Cloud Run têm um URL de HTTPS estável.

Alguns dos casos de uso incluem:

  • API Web RESTful personalizada
  • Microsserviço particular
  • Middleware de HTTP ou proxy reverso para seus aplicativos da Web
  • Aplicativo da Web pré-empacotado

Como criar serviços públicos

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

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

Para tornar um serviço público, configure seu serviço para permitir acesso não autenticado (público) quando você implantar ou a qualquer momento após implantar.

É possível usar o URL estável e atribuído automaticamente na primeira implantação de seu serviço como o URL público no Cloud Run totalmente gerenciado. Para determinar o URL de um serviço implantado:

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

Também é possível usar seu próprio domínio personalizado que mapeia para o serviço. Isso fornece automaticamente certificados SSL gerenciados.

O Cloud Run (totalmente gerenciado) redireciona todas as solicitações HTTP para HTTPS, mas encerra o TLS antes de chegar ao serviço da Web. Se o serviço gerar recursos da Web que se referem a outros recursos da Web com URLs não seguros (http://), sua página pode estar sujeita a avisos ou erros de conteúdo misto. Use o protocolo https para todos os URIs da Web de referência ou contas para diretivas de proxy na solicitação HTTP, como o cabeçalho HTTP X-Forwarded-Proto.

HTTP e HTTP/2

Por padrão, o Cloud Run faz downgrade das solicitações HTTP/2 para HTTP/1 quando essas solicitações são enviadas ao contêiner. Se você quiser definir explicitamente que o serviço use o HTTP/2 de ponta a ponta, consulte Como usar HTTP/2.

Como criar serviços privados

Criar um serviço privado no Cloud Run exige que você limite o acesso ao serviço.

Você pode limitar o acesso ao serviço usando o IAM conforme discutido em Como gerenciar o acesso usando o IAM.

A maneira mais fácil para desenvolvedores testarem serviços privados é usar uma ferramenta como curl e passar um token de autenticação no cabeçalho Authorization:

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

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

Além das maneiras listadas acima para limitar o acesso, também é possível limitar o acesso a um serviço usando autorização de nível de aplicativo e mecanismo de autenticação, por exemplo, usando Identity Platform.

Como usar um middleware para aprimorar seu serviço

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

Os produtos do Google Cloud que é possível usar para aprimorar seu serviço do Cloud Run incluem: