Accede a las APIs regionales de Google a través de extremos públicos

Puedes acceder a los extremos regionales y multirregionales de forma pública a través de Internet o de forma privada desde tu nube privada virtual. En este documento, se explica cómo acceder a los extremos de forma pública.

Cuando accedes a extremos regionales desde la Internet pública, el tráfico se enruta a través de la Google Cloud red de nivel Estándar. La conexión, incluida la finalización de TLS, se controla dentro de la región de destino.

Configura el acceso público a Internet para las APIs

Para configurar el acceso público a Internet a los extremos de la API regional, sigue estos pasos.

Funciones

Para obtener los permisos que necesitas para crear un extremo regional, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu red de VPC:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Antes de comenzar

  1. Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:

    $ gcloud init

    Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

  2. Habilita las APIs de Compute Engine, Network Connectivity Center y Cloud DNS.

    Roles necesarios para habilitar las APIs

    Para habilitar APIs, necesitas el permiso serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén más información para otorgar roles.

    Habilitar las API

  3. Además, habilita la API para el servicio de destino al que deseas acceder a través del extremo. Por ejemplo, si deseas acceder a spanner.me-central2.rep.googleapis.com, habilita la API de Cloud Spanner.

  4. Asegúrate de que las reglas de firewall de salida permitan el tráfico al extremo. La configuración predeterminada del firewall para una red de VPC permite este tráfico, porque contiene una regla de permiso de salida implícita. Verifica que no hayas creado una regla de salida de prioridad más alta que bloquee el tráfico.

Identifica el extremo

Determina el servicio y la región o multirregión específica que se requieren para tu carga de trabajo.

  • Los endpoints regionales tienen el siguiente formato: SERVICE.REGION.rep.googleapis.com

  • Los extremos multirregionales tienen el siguiente formato: SERVICE.MULTI_REGION.rep.googleapis.com

Modifica la configuración del DNS

Si tu entorno anula el DNS público para googleapis.com con una zona de DNS privada, lo que es común en las configuraciones híbridas, sigue estos pasos:

  • Actualiza tu configuración de DNS para excluir rep.googleapis.com. Para obtener más información, consulta Agrega, actualiza y borra registros.

  • Modifica la configuración de la zona del DNS para excluir el subdominio rep.googleapis.com. Reenvía esas consultas a los agentes de resolución de DNS públicos. Para obtener más información, consulta Crea, modifica y borra zonas.

Configura la CLI de Google Cloud

Para anular el extremo de API predeterminado para servicios específicos, usa Google Cloud CLI. En el siguiente ejemplo, se usa el comando gcloud config set para establecer una anulación para Cloud Storage en us-central1 y una anulación para Compute Engine en europe-west1.

# Set an override for Cloud Storage in us-central1.

gcloud config set api_endpoint_overrides/storage https://storage.us-central1.rep.googleapis.com/

# Set an override for Compute Engine in europe-west1.

gcloud config set api_endpoint_overrides/compute https://compute.europe-west1.rep.googleapis.com/compute/v1/

Después de configurar la anulación, los comandos de gcloud CLI para ese servicio usarán el extremo regional. Para volver a usar el extremo global predeterminado, usa el comando gcloud config unset:

gcloud config unset api_endpoint_overrides/SERVICE

Actualiza los SDKs cliente

La mayoría de las Google Cloud bibliotecas cliente te permiten especificar un extremo personalizado durante la inicialización del cliente.

Python

Usa client_options con api_endpoint.

from google.cloud import SERVICE
from google.api_core.client_options import ClientOptions

options = ClientOptions(api_endpoint='https://SERVICE.REGION.rep.googleapis.com')
SERVICE_client = SERVICE.Client(client_options=options, project='PROJECT_ID')
# ... use SERVICE_client as usual

Reemplaza lo siguiente:

  • SERVICE: el nombre de tu servicio.
  • REGION: la región de tu extremo
  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud.

Go

Usa option.WithEndpoint durante la creación del cliente.

client, err := SERVICE.NewClient(ctx, projID, 
option.WithEndpoint("https://SERVICE-my-endpoint.REGION.rep.googleapis.com"), // Override endpoint

Reemplaza lo siguiente:

  • SERVICE: el nombre de tu servicio.
  • REGION: la región de tu extremo

.NET

Configura Endpoint en el compilador de clientes.

Java

Usa setEndpoint en el compilador de configuración del servicio.

En el siguiente ejemplo, se usa Java para conectarse al extremo de la API de Cloud Vision.

ImageAnnotatorSettings settings = ImageAnnotatorSettings.newBuilder()
.setEndpoint("https://vision.REGION.rep.googleapis.com")
.build();
ImageAnnotatorClient client = ImageAnnotatorClient.create(settings);

Documentación de referencia

¿Qué sigue?