Nesta página, descrevemos como usar as configurações de entrada para restringir o acesso à rede para seu
serviço do Cloud Run. No nível de rede, por padrão, qualquer recurso na
Internet pode acessar seu serviço do Cloud Run no
URL run.app
ou em um domínio personalizado configurado no Cloud Run. É possível alterar
esse padrão especificando uma configuração diferente de entrada. Todos os caminhos de entrada,
incluindo o URL run.app
padrão, estão sujeitos à configuração de entrada.
O recurso de entrada é definido no nível do serviço.
As configurações de entrada e os métodos de autenticação do IAM são duas maneiras de gerenciar o acesso a um serviço. Eles são independentes uns dos outros. Use uma dessas abordagens para gerenciar o acesso em camadas.
Configurações de entrada disponíveis
As seguintes configurações estão disponíveis:
Configuração | Descrição |
---|---|
Interno |
Mais restritiva. Permite solicitações das seguintes fontes:
As solicitações dessas origens permanecem na rede do Google, mesmo que elas acessem o serviço no URL run.app . Solicitações
de outras origens, incluindo a Internet, não podem alcançar seu serviço no
URL run.app ou em domínios personalizados.e Para solicitações do Cloud Scheduler, Cloud Tasks, Eventarc, Pub/Sub, BigQuery e Workflows para um serviço interno, use o run.app padrão do Cloud Run
para esse serviço. Não é possível usar um domínio personalizado.
|
Interno e Cloud Load Balancing | Essa configuração permite solicitações dos seguintes recursos:
Observação: para ativar essa configuração na CLI gcloud, use internal-and-cloud-load-balancing .
Para ativar essa configuração no console do Google Cloud, selecione
Interno > Permitir tráfego de balanceadores de carga de aplicativo externos.
|
Tudo |
Menos restritiva. Permite todas as solicitações, incluindo solicitações diretamente da
Internet para o URL run.app .
|
Como acessar serviços internos
As seguintes considerações adicionais se aplicam:
Ao acessar serviços internos, chame-os da mesma maneira que chamaria usando os URLs públicos, seja o URL padrão
run.app
ou um domínio personalizado configurado no Cloud Run.Para solicitações de instâncias de VM do Compute Engine, nenhuma outra configuração é necessária para máquinas que têm endereços IP externos ou que usam o Cloud NAT. Caso contrário, consulte Receber solicitações de redes VPC.
Ao chamar pelo Cloud Run, App Engine ou Cloud Functions para um serviço do Cloud Run definido como "Interno" ou "Interno e Cloud Load Balancing", o tráfego precisa ser roteado por uma VPC rede que é considerada interna. Consulte Receber solicitações de outros serviços do Cloud Run, do App Engine e do Cloud Functions.
Solicitações de recursos nas redes VPC do mesmo projeto são "internas" mesmo que o recurso de origem tenha um IP externo endereço IP.
As solicitações de recursos locais conectados à rede VPC via Cloud VPN e Cloud Interconnect são "internas".
Como configurar a entrada
É possível definir a entrada usando qualquer um dos métodos compatíveis nas guias abaixo:
Console
Se você estiver configurando um novo serviço, clique em Criar serviço e preencha a página de configurações de serviço inicial conforme desejado.
Se você estiver configurando um serviço atual, clique nele e na guia Rede.
Selecione o tráfego de entrada que você quer permitir:
Clique em Criar ou Salvar.
gcloud
Se você estiver implantando um novo serviço, implante seu serviço com a sinalização
--ingress
:gcloud run deploy SERVICE --image IMAGE_URL --ingress INGRESS
Substituir
INGRESS
por uma das configurações de entrada disponíveis:all
internal
internal-and-cloud-load-balancing
SERVICE
pelo nome do serviço.- IMAGE_URL por uma referência à imagem de contêiner. Por
exemplo,
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL tem o formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
Se você estiver alterando uma entrada de serviço atual:
gcloud run services update SERVICE --ingress INGRESS
Substituir
INGRESS
por uma das configurações de entrada disponíveis:all
internal
internal-and-cloud-load-balancing
SERVICE
pelo nome do serviço.
YAML
Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço, faça o download da configuração YAML correspondente:
gcloud run services describe SERVICE --format export > service.yaml
Atualize a anotação
run.googleapis.com/ingress:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/ingress: INGRESS name: SERVICE spec: template: metadata: name: REVISION
Substituir
- SERVICE com o nome do Cloud Run.
- INGRESS por uma das
configurações de entrada disponíveis:
all
internal
internal-and-cloud-load-balancing
- REVISION por um novo nome de revisão ou excluí-lo (se houver). Se você fornecer um novo nome de revisão, ele precisará atender aos seguintes critérios:
- Começa com
SERVICE-
- Contém apenas letras minúsculas, números e
-
- Não termina com um
-
- Não excede 63 caracteres
- Começa com
Substitua o serviço pela nova configuração usando o seguinte comando:
gcloud run services replace service.yaml
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Adicione a instrução a seguir ao seu arquivo main.tf
:
A seguir
- Saiba mais sobre as configurações de saída
- Configurar um balanceador de carga de aplicativo interno para o Cloud Run.
- Configurar um balanceador de carga de aplicativo externo com o Cloud Run.
- Configurar métodos de autenticação do IAM para acessar serviços.