Connectivité directe gRPC

La connectivité directe est une solution de connexion qui permet d'établir des connexions réseau gRPC directes, authentifiées et hautes performances entre une bibliothèque cliente Google Cloud et Cloud Storage. Elle permet de réduire la latence et la surcharge de connexion. Lorsque vous utilisez gRPC pour vous connecter à Google Cloudavec une connectivité directe, les requêtes initiées via les bibliothèques clientes Google Cloudcompatibles sont directement acheminées vers Cloud Storage, en contournant les Google Front Ends (GFE).

La connectivité directe n'est disponible que pour les requêtes effectuées à partir de machines virtuelles (VM) Compute Engine.

Conditions requises pour la connectivité directe

La connectivité directe est activée par défaut lorsque vous utilisez des bibliothèques clientes Cloud Storage compatibles pour vous connecter à Cloud Storage. Toutefois, elle n'est disponible que si toutes les conditions suivantes sont remplies :

  • Les VM Compute Engine qui interagissent avec Cloud Storage doivent disposer d'un compte de service associé, même si ce compte de service ne dispose d'aucune autorisation. Le compte de service est utilisé pour représenter la VM Compute Engine dans le processus d'établissement de liaison Application Layer Transport Security.

  • Les VM Compute Engine qui interagissent avec un bucket Cloud Storage doivent être colocalisées avec le bucket. Par exemple, si le bucket se trouve dans us-central1, la VM peut se trouver dans us-central1-a.

  • Vos routes et vos règles de pare-feu permettent au trafic IPv4 d'atteindre 34.126.0.0/18 et au trafic IPv6 d'atteindre 2001:4860:8040::/42. De plus, le trafic doit être autorisé à atteindre les points de terminaison storage.googleapis.com:443 et directpath-pa.googleapis.com:443.

    Pour savoir comment vérifier si une connexion peut être établie avec ces points de terminaison, consultez Vérifier les configurations réseau. Pour savoir comment configurer des routes, consultez Configurer des routes.

Vérifier la connectivité à l'aide de Google Cloud CLI

La Google Cloud CLI peut tester les diagnostics de connectivité directe sur votre bucket en y important un objet de deux octets, puis en le supprimant. Cette section explique comment effectuer un test de diagnostic pour la connectivité directe à l'aide de la Google Cloud CLI.

Avant de commencer

  1. Assurez-vous de disposer des autorisations IAM suivantes sur le bucket, qui peuvent être accordées à l'aide du rôle Utilisateur d'objets Storage (roles/storage.objectUser) :

    • storage.objects.create
    • storage.objects.delete
    • storage.objects.get
  2. La commande gcloud alpha storage diagnose n'est disponible que dans la version 531.0.0 ou ultérieure de Google Cloud CLI. Pour utiliser cette commande, nous vous recommandons de passer à la dernière version de Google Cloud CLI.

Exécuter le diagnostic

Pour vérifier si la connectivité directe est disponible, exécutez gcloud alpha storage diagnose avec l'argument --test-type=DIRECT_CONNECTIVITY :

gcloud alpha storage diagnose --test-type=DIRECT_CONNECTIVITY gs://BUCKET_NAME

Remplacez les éléments suivants :

  • BUCKET_NAME : nom de votre bucket. Exemple : my-bucket.

Si une connexion peut être établie, vous recevez une réponse semblable à la suivante :

Using my-bucket bucket for the diagnostic tests.
Bucket location : US
Bucket storage class : STANDARD
Running diagnostic: Direct Connectivity Diagnostic...
WARNING: This diagnostic is experimental. The output may change, and checks may be added or removed at any time. Please do not rely on the diagnostic being present.
Finished running diagnostic: Direct Connectivity Diagnostic
Generating diagnostic report...
NAME
Direct Connectivity Diagnostic
    ┌────────────────────────────┬─────────────────────────────────────────────────────────────────────────┬──────────┐
    │            NAME            │                           PAYLOAD_DESCRIPTION                           │  RESULT  │
    ├────────────────────────────┼─────────────────────────────────────────────────────────────────────────┼──────────┤
    │ Direct Connectivity Upload │ Able to upload object to bucket using Direct Connectivity network path. │ Success. │
    └────────────────────────────┴─────────────────────────────────────────────────────────────────────────┴──────────┘

Vérifier les configurations réseau

Si vous rencontrez une erreur Unable to connect to Traffic Director lors de la vérification de la connectivité directe à l'aide de Google Cloud CLI, suivez les instructions ci-dessous pour vous assurer que vos configurations réseau permettent au trafic de transiter de vos VM vers les points de terminaison requis.

La connectivité directe nécessite un service hébergé sur directpath-pa.googleapis.com:443 et storage.googleapis.com:443. Pour vérifier si une connexion peut être établie avec le service, effectuez un appel curl vers directpath-pa.googleapis.com:443 ou storage.googleapis.com:443. Exemple :

curl directpath-pa.googleapis.com:443

Si une connexion peut être établie, vous recevez une réponse vide sans erreur :

curl: (52) Empty reply from server

Si une connexion ne peut pas être établie, vous recevez un message d'erreur semblable à celui-ci :

curl: (56) Recv failure: Connection reset by peer