Configurar endpoints regionais

Os endpoints regionais permitem que você execute as cargas de trabalho do App Hub de maneira que obedeça aos requisitos de residência de dados e de soberania de dados, em que o tráfego da solicitação é roteado diretamente para a região especificada no endpoint.

O que são endpoints regionais?

Os endpoints de locais são endpoints de solicitação que só permitem o processamento do recurso afetado, que está no local especificado pelo endpoint. Por exemplo, ao usar o endpoint https://apphub.us-central1.rep.googleapis.com em uma solicitação para gerenciar recursos, a solicitação só prosseguirá se o aplicativo ou componente registrado estiver localizado em us-central1.

Ao contrário dos endpoints globais, em que as solicitações podem ser processadas em um local diferente de onde o recurso reside, os endpoints regionais processam apenas as solicitações no local especificado pelo endpoint. Os endpoints regionais encerram sessões TLS no local especificado pelo endpoint para solicitações recebidas da Internet, outros recursos do Google Cloud , como máquinas virtuais do Compute Engine, serviços locais que usam VPN ou Interconnect e nuvens privadas virtuais (VPCs).

Os endpoints regionais oferecem suporte à residência de dados, garantindo que os metadados do aplicativo permaneçam na região especificada, tanto em repouso quanto em trânsito.

Limitações

Não é possível usar endpoints regionais para gerenciar recursos globais no App Hub, como aplicativos globais, perímetros, anexos de projeto de serviço (SPAs, na sigla em inglês) e limites.

As solicitações de API relacionadas a esses recursos globais que usam um endpoint regional vão falhar porque incluem o local /global/ no caminho da API. Por exemplo, a solicitação GET .../locations/global/applications/globalApp será rejeitada.

Para gerenciar recursos globais, use o endpoint global padrão, https://apphub.googleapis.com.

Locais suportados

É possível usar endpoints regionais para todos os locais regionais em que o App Hub está disponível. Para conferir uma lista de regiões com disponibilidade, consulte Locais.

Ferramentas para usar endpoints regionais

É possível configurar a Google Cloud CLI ou fazer solicitações de API REST ou RPC diretas usando endpoints regionais.

CLI do Google Cloud

Para configurar a Google Cloud CLI para uso com endpoints regionais, siga estas etapas:

  1. Verifique se você está usando a versão 402.0.0 ou mais recente da Google Cloud CLI.

  2. Defina a propriedade api_endpoint_overrides/apphub como o endpoint regional que você quer usar:

    gcloud config set api_endpoint_overrides/apphub https://apphub.LOCATION.rep.googleapis.com/
    

    Substitua LOCATION por uma região com disponibilidade, como us-central1.

Como alternativa, defina a variável de ambiente CLOUDSDK_API_ENDPOINT_OVERRIDES_APPHUB para o endpoint:

CLOUDSDK_API_ENDPOINT_OVERRIDES_APPHUB=https://apphub.LOCATION.rep.googleapis.com/
gcloud apphub applications list

APIs REST

Para fazer solicitações a endpoints regionais, use o seguinte URI, substituindo LOCATION por uma região com disponibilidade:

https://apphub.LOCATION.rep.googleapis.com

Por exemplo, é possível usar o seguinte endpoint para acessar o App Hub na região us-central1:

https://apphub.us-central1.rep.googleapis.com

Terraform

Para usar endpoints regionais com o Terraform, é preciso substituir o endpoint do App Hub no bloco do provedor do Google.

Quando você define um endpoint regional como personalizado, não é possível usar o Terraform para gerenciar recursos globais, como google_apphub_service_project_attachment.

provider "google" {
  project = "project-id"
  region = "us-central1"
  # Override the App Hub API endpoint to use a regional endpoint
  apphub_custom_endpoint = "https://apphub.us-central1.rep.googleapis.com/"
}

Bibliotecas de cliente

Para usar endpoints regionais com bibliotecas de cliente, é necessário substituir a propriedade api_endpoint nas opções do cliente.

O exemplo a seguir usa a biblioteca de cliente do Python.

from google.cloud import apphub_v1
from google.api_core import client_options

rep_endpoint = "apphub.us-central1.rep.googleapis.com"
options = client_options.ClientOptions(api_endpoint=rep_endpoint)

# Instantiate the client
client = apphub_v1.AppHubClient(client_options=options)

Restringir o uso de endpoints de API globais

Para ajudar a aplicar o uso de endpoints regionais, utilize a restrição de política da organização constraints/gcp.restrictEndpointUsage para bloquear solicitações ao endpoint de API global. Para mais informações sobre como restringir o uso de endpoints, consulte Restringir o uso de endpoints.