Accéder aux API Google régionales via des points de terminaison publics

Vous pouvez accéder publiquement aux points de terminaison régionaux et multirégionaux sur Internet ou de manière privée depuis votre cloud privé virtuel. Ce document explique comment accéder publiquement aux points de terminaison.

Lorsque vous accédez à des points de terminaison régionaux depuis l'Internet public, le trafic est acheminé via Google Cloud le réseau de niveau Standard. La connexion, y compris la terminaison TLS, est gérée dans la région de destination.

Configurer l'accès Internet public aux API

Pour configurer l'accès Internet public aux points de terminaison d'API régionaux, procédez comme suit.

Rôles

Pour obtenir les autorisations nécessaires pour créer un point de terminaison régional, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre réseau VPC :

Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Avant de commencer

  1. Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisezla en exécutant la commande suivante :

    $ gcloud init

    Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  2. Activez les API Compute Engine, Network Connectivity Center et Cloud DNS.

    Rôles requis pour activer les API

    Pour activer les API, vous devez disposer de l'autorisation serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez l'obtenir via le rôle Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.

    Activer les API

  3. Activez également l'API pour le service cible auquel vous souhaitez accéder via le point de terminaison. Par exemple, si vous souhaitez accéder à spanner.me-central2.rep.googleapis.com, activez l'API Cloud Spanner.

  4. Assurez-vous que les règles de pare-feu de sortie autorisent le trafic vers le point de terminaison. La configuration de pare-feu par défaut d'un réseau VPC autorise ce trafic, car elle contient une règle implicite de sortie autorisée. Vérifiez que vous n'avez pas créé de règle de sortie de priorité plus élevée qui bloque le trafic.

Identifier le point de terminaison

Déterminez le service et la région ou la multirégion spécifique requis pour votre charge de travail.

  • Les points de terminaison régionaux sont au format suivant : SERVICE.REGION.rep.googleapis.com

  • Les points de terminaison multirégionaux sont au format suivant : SERVICE.MULTI_REGION.rep.googleapis.com

Modifier la configuration DNS

Si votre environnement remplace le DNS public pour googleapis.com à l'aide d'une zone DNS privée, ce qui est courant dans les configurations hybrides, procédez comme suit :

Configurer Google Cloud CLI

Pour remplacer le point de terminaison d'API par défaut pour des services spécifiques, utilisez la Google Cloud CLI. L'exemple suivant utilise la gcloud config set commande pour définir un remplacement pour Cloud Storage dans us-central1 et un remplacement pour Compute Engine dans 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/

Une fois le remplacement défini, les commandes gcloud CLI pour ce service utilisent le point de terminaison régional. Pour revenir à l'utilisation du point de terminaison global par défaut, utilisez la gcloud config unset commande :

gcloud config unset api_endpoint_overrides/SERVICE

Mettre à jour les SDK clients

La plupart des Google Cloud bibliothèques clientes vous permettent de spécifier un point de terminaison personnalisé lors de l' initialisation du client.

Python

Utilisez client_options avec 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

Remplacez les éléments suivants :

  • SERVICE : nom de votre service.
  • REGION : région de votre point de terminaison.
  • PROJECT_ID : ID de votre Google Cloud projet.

Go

Utilisez option.WithEndpoint lors de la création du client.

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

Remplacez les éléments suivants :

  • SERVICE : nom de votre service.
  • REGION : région de votre point de terminaison.

.NET

Configurez Endpoint dans le compilateur client.

Java

Utilisez setEndpoint dans le compilateur de paramètres de service.

L'exemple suivant utilise Java pour se connecter au point de terminaison de l'API Cloud Vision.

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

Documentation de référence

Étape suivante