Configurações de entrada

ID da região

O REGION_ID é um código abreviado que o Google atribui com base na região que você selecionou ao criar o aplicativo. O código não corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes aos códigos de país e estado geralmente usados. Para apps criados após fevereiro de 2020, o REGION_ID.r está incluído nos URLs do App Engine. Para apps existentes criados antes dessa data, o ID da região é opcional no URL.

Saiba mais sobre IDs de região.

Nesta seção, descrevemos como usar as configurações de entrada para restringir o acesso à rede ao seu aplicativo do App Engine. Por nível de rede, por padrão, qualquer recurso na Internet pode alcançar seu aplicativo do App Engine no URL DO appspot ou emdomínio personalizado configurados no App Engine. Por exemplo, o URL appspot.com pode ter o seguinte formato: SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com.

É possível alterar esse padrão especificando uma configuração diferente de entrada. Todos os caminhos de entrada, incluindo o URL appspot.com padrão, estão sujeitos à configuração de entrada. O recurso de entrada é definido no nível do serviço.

Configurações de entrada disponíveis

As seguintes configurações estão disponíveis:

Configuração Descrição
Interno Mais restritiva. Permite solicitações de recursos anexados às redes VPC do projeto, como:
As solicitações dessas origens permanecem na rede do Google, mesmo que elas acessem o serviço no URL appspot.com. Solicitações de outras origens, incluindo a Internet, não podem alcançar seu serviço no URL appspot.com ou em domínios personalizados. Não há suporte para multilocação, ou seja, vários domínios de confiança dentro do mesmo projeto.
Interno e Cloud Load Balancing Permite solicitações dos seguintes recursos:
  • Recursos permitidos pela configuração interna mais restritiva
  • Balanceador de carga de aplicativo externo
Use a configuração de balanceamento de carga interno e do Cloud para aceitar solicitações de um balanceador de carga de aplicativo externo, mas não diretamente da Internet. As solicitações para o URL appspot.com ignoram o balanceador de carga de aplicativo externo. Portanto, essa configuração impede que solicitações externas cheguem ao URL appspot.com.
Tudo Menos restritiva. Permite todas as solicitações, incluindo solicitações diretamente da Internet para o URL appspot.com.

Como acessar serviços internos

As seguintes considerações se aplicam:

  • Nas solicitações de uma VPC compartilhada, o tráfego só será considerado interno se o app do App Engine for implantado no projeto host da VPC compartilhada. Se o aplicativo do App Engine for implantado em um projeto de serviço de VPC compartilhada, somente o tráfego de redes de propriedade do próprio projeto do aplicativo será interno. Todo o restante, inclusive o de outras VPCs compartilhadas, é externo.

  • Ao acessar os serviços internos, chame-os da mesma forma que faria usando os URLs públicos deles: o URL appspot.com padrão ou um domínio personalizado configurado no App Engine.

  • Para solicitações de instâncias de VM do Compute Engine ou outros recursos em execução em uma rede VPC no mesmo projeto, nenhuma outra configuração é necessária.

  • As solicitações de recursos dentro de redes VPC no mesmo projeto são classificadas como internas, mesmo que o recurso de origem tenha um endereço IP público.

  • As solicitações de recursos locais conectados à rede VPC via Cloud VPN são consideradas internal.

  • Para solicitações de outros serviços do App Engine ou do Cloud Run ou Cloud Functions no mesmo projeto, conecte o serviço ou a função a uma rede VPC e encaminhe todas as saídas pelo conector, conforme descrito em Conectar-se a uma rede VPC compartilhada

Ver configurações de entrada

Console

  1. Acesse a página "Serviços" do App Engine.

    Acessar a página de serviços

  2. Localize a coluna Entrada. Para cada serviço, o valor nessa coluna mostra a configuração de entrada como Todos (padrão), Interno + Balanceamento de carga ou Interno.

gcloud

Para ver a configuração de entrada de um serviço usando a CLI gcloud:

gcloud app services describe SERVICE

SERVICE pelo nome do serviço;

Por exemplo, para visualizar as configurações de entrada e outras informações da execução do serviço padrão:

gcloud app services describe default

Editar configurações de entrada

Console

  1. Acesse a página "Serviços" do App Engine.

    Acessar a página de serviços

  2. Selecione o serviço que você quer editar.

  3. Clique em Editar configuração de entrada.

  4. Selecione a configuração de entrada que você quer no menu e clique em Salvar.

gcloud

Para atualizar a configuração de entrada de um serviço usando a CLI gcloud:

gcloud app services update SERVICE --ingress=INGRESS

Substitua:

  • SERVICE: o nome do serviço;
  • INGRESS: o controle de entrada que você quer aplicar. Um de all, internal-only ou internal-and-cloud-load-balancing.

Exemplo:

  • Para atualizar o serviço padrão de um aplicativo do App Engine para aceitar tráfego somente do Cloud Load Balancing e das redes VPC no mesmo projeto:

    gcloud app services update default --ingress=internal-and-cloud-load-balancing
  • Para atualizar um serviço chamado "internal-requests" para aceitar o tráfego somente de redes VPC no mesmo projeto:

    gcloud app services update internal-requests --ingress=internal-only

Configuração de saída

Se você usar o acesso VPC sem servidor, poderá especificar a configuração de saída do serviço do App Engine.

Por padrão, somente solicitações para endereços IP internos e nomes DNS internos são roteadas por meio de um conector de acesso VPC sem servidor. É possível especificar a configuração de saída para o serviço no arquivo app.yaml.

As configurações de saída não são compatíveis com o serviço de busca de URL. O uso da biblioteca urlfetch ignora as configurações de saída, e as solicitações não serão roteadas por um conector de acesso VPC sem servidor.

Para configurar o comportamento de saída do serviço do App Engine:

  1. Adicione o atributo egress_setting ao campo vpc_access_connector do arquivo app.yaml do serviço:

    vpc_access_connector:
      name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
      egress_setting: EGRESS_SETTING
    

    Substitua:

    • PROJECT_ID pelo ID do projeto do Google Cloud
    • REGION pela região em que o conector está;
    • CONNECTOR_NAME pelo nome do conector;
    • EGRESS_SETTING por um destes procedimentos:
      • private-ranges-only Padrão. Somente solicitações para intervalos de endereços IP RFC 1918 e RFC 6598 ou nomes de DNS internos são roteadas para a rede VPC. Todas as outras solicitações são roteadas diretamente para a Internet.
      • all-traffic Todas as solicitações de saída do serviço são encaminhadas para a rede VPC. As solicitações estão sujeitas às regras de firewall, DNS e roteamento da rede VPC. O roteamento de todas as solicitações de saída para a rede VPC aumenta a quantidade de saída processada pelo conector de acesso VPC sem servidor e pode gerar cobranças.
  2. Implante o serviço:

    gcloud app deploy