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 da rede, o endpoint de um serviço do Cloud Run pode ser acessado pelos seguintes caminhos de entrada de rede:
- Um URL
run.app
padrão, que pode ser desativado - Qualquer mapeamento de domínio configurado
- Qualquer balanceador de carga de aplicativo externo ou interno configurado
Todos os caminhos de entrada de rede estão sujeitos à configuração de entrada do serviço. Os caminhos de entrada padrão e as configurações de entrada permitem que qualquer recurso na Internet alcance seu serviço do Cloud Run. A autenticação do IAM ainda se aplica a solicitações que chegam aos endpoints de serviço de qualquer um dos caminhos de entrada de rede anteriores. Para uma abordagem em camadas para gerenciar o acesso, use as configurações de entrada de rede e a autenticação do IAM.
Configurações de entrada de rede disponíveis
As seguintes configurações estão disponíveis:
Configuração | Descrição |
---|---|
Interno |
Mais restritiva. Permite solicitações das seguintes fontes:
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. |
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.
|
Todos |
Menos restritiva. Permite todas as solicitações, incluindo solicitações diretamente da
Internet para o URL run.app .
|
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, 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 funções do Cloud Run para um serviço do Cloud Run definido como "Interno" ou "Interno e Cloud Load Balancing", o tráfego precisa ser roteado por uma rede VPC que é considerada interna. Consulte Receber solicitações de outros serviços do Cloud Run, do App Engine e de funções do Cloud Run.
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".
Definir entrada
É possível definir a entrada usando qualquer um dos métodos compatíveis nas guias abaixo:
Console
No console do Google Cloud, acesse a página do Cloud Run:
Se você estiver configurando um novo serviço, clique em Implantar contêiner e selecione Serviço para mostrar o formulário Criar serviço. Preencha a página inicial de configurações do serviço.
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
:
Desativar o URL padrão
Desative o URL run.app
padrão de um serviço do Cloud Run
para permitir apenas o tráfego dos outros caminhos de entrada do serviço:
Cloud Load Balancing e qualquer mapeamento de domínio configurado.
Linha de comando
Para desativar o URL
run.app
para um serviço, execute o comandogcloud beta run deploy
ougcloud beta run services update
com a flag--no-default-url
:gcloud beta run deploy SERVICE_NAME --no-default-url
em que SERVICE_NAME é o nome da instância do serviço do Cloud Run.
Na saída, o URL é exibido como None
.
Para restaurar o URL padrão, use a sinalização --default-url
.
YAML
Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
gcloud run services describe SERVICE --format export > service.yaml
Para desativar o URL
run.app
, use a anotaçãorun.googleapis.com/default-url-disabled
:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/default-url-disabled: true run.googleapis.com/launch-stage: BETA name: SERVICE spec: template: metadata: name: REVISION
Substituir
- SERVICE pelo nome do serviço do Cloud Run;
- 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
Crie ou atualize o serviço usando o seguinte comando:
gcloud run services replace service.yaml
Para restaurar o URL padrão, remova a anotação run.googleapis.com/default-url-disabled
.
Os seguintes serviços do Google Cloud estão usando o URL run.app
padrão
para invocar o Cloud Run. Desativar o URL run.app
padrão impede
que esses serviços funcionem como esperado:
- Funções remotas do BigQuery
- Cloud Scheduler
- Cloud Service Mesh
- Cloud Tasks
- Eventarc
- Firebase App Hosting
- Firebase Hosting
- Pub/Sub
- Monitores sintéticos e verificações de tempo de atividade
- Workflows
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.