Direkte gRPC-Verbindung

Direkte Konnektivität ist eine Verbindungslösung, die leistungsstarke, authentifizierte, direkte gRPC-Netzwerkverbindungen zwischen einer Google Cloud Clientbibliothek und Cloud Storage ermöglicht. Dies führt zu einer geringeren Latenz und einem geringeren Verbindungsaufwand. Wenn Sie gRPC verwenden, um über eine direkte Verbindung eine Verbindung zu Google Cloudherzustellen, werden Anfragen, die über unterstützte Google Cloud-Clientbibliotheken initiiert werden, direkt an Cloud Storage weitergeleitet und umgehen die Google Front Ends (GFEs).

Direkte Verbindungen sind nur für Anfragen verfügbar, die von Compute Engine-VMs gesendet werden.

Anforderungen für die direkte Verbindung

Die direkte Verbindung ist standardmäßig aktiviert, wenn Sie unterstützte Cloud Storage-Clientbibliotheken verwenden, um eine Verbindung zu Cloud Storage herzustellen. Sie ist jedoch nur verfügbar, wenn alle folgenden Bedingungen erfüllt sind:

  • Die Compute Engine-VMs, die mit Cloud Storage interagieren, müssen ein zugeordnetes Dienstkonto haben, auch wenn das Dienstkonto keine Berechtigungen hat. Das Dienstkonto wird verwendet, um die Compute Engine-VM beim Application Layer Transport Security-Handshake zu repräsentieren.

  • Die Compute Engine-VMs, die mit einem Cloud Storage-Bucket interagieren, müssen sich am selben Standort wie der Bucket befinden. Wenn sich der Bucket beispielsweise in us-central1 befindet, kann sich die VM in us-central1-a befinden. Wenn sich der Bucket an einem Standort mit zwei oder mehr Regionen befindet, muss sich die VM in einer Region befinden, aus der der Standort mit zwei oder mehr Regionen besteht. Wenn sich ein Bucket beispielsweise in der Multiregion us befindet, kann sich die VM in us-east4-c befinden.

    Weitere Informationen zu Bucket-Standorten finden Sie unter Standorte.

  • Ihre Routen und Firewallregeln lassen zu, dass IPv4-Traffic 34.126.0.0/18 und IPv6-Traffic 2001:4860:8040::/42 erreicht. Außerdem muss Traffic zu den Endpunkten storage.googleapis.com:443 und directpath-pa.googleapis.com:443 zugelassen werden.

    Informationen dazu, wie Sie prüfen können, ob eine Verbindung zu diesen Endpunkten hergestellt werden kann, finden Sie unter Netzwerkkonfigurationen prüfen. Informationen zum Einrichten von Routen finden Sie unter Routen konfigurieren.

  • Cloud Storage-Clientbibliotheken haben bestimmte Anforderungen an Anmeldedaten, um Anwendungen bei Cloud Storage zu authentifizieren und eine direkte Verbindung zu ermöglichen:

    • Für die Java-Clientbibliothek sind entweder Nutzerkonto- oder Dienstkonto-Anmeldedaten erforderlich.

    • Für die C++-Clientbibliothek sind Dienstkonto-Anmeldedaten erforderlich.

    • Für die Go-Clientbibliothek sind Dienstkonto-Anmeldedaten erforderlich. Für Versionen vor 1.52.0 sind die Anmeldedaten des Standarddienstkontos der VM erforderlich, die auf Ihren Bucket zugreift.

    Verwenden Sie den Befehl gcloud auth list, um den Namen des Kontos aufzurufen, das Ihre VM zur Authentifizierung bei Cloud Storage verwendet:

    gcloud auth list --filter=status:ACTIVE --format="value(account)"
    

    Wenn Sie die Go-Clientbibliothek verwenden und prüfen müssen, ob das zur Authentifizierung verwendete Google -Konto mit dem Standarddienstkonto Ihrer VM übereinstimmt, verwenden Sie den Befehl gcloud compute instances describe:

    gcloud compute instances describe INSTANCE_NAME --format='yaml(serviceAccounts)'
    

    Ersetzen Sie dabei INSTANCE_NAME durch den Namen Ihrer Instanz.

    Weitere Informationen zur Authentifizierung finden Sie unter Übersicht über die Google Identitätsverwaltung.

Konnektivität mit der Google Cloud CLI prüfen

Mit der Google Cloud CLI können Sie die Diagnose der direkten Verbindung zu Ihrem Bucket testen, indem Sie mit gcloud storage buckets describe gs://example-bucket einen GET-Aufruf an den Bucket senden. In diesem Abschnitt wird beschrieben, wie Sie mit der Google Cloud CLI einen Diagnosetest für die direkte Verbindung durchführen.

Hinweise

  1. Sie benötigen die IAM-Berechtigung storage.buckets.get für den Bucket. Diese kann mit der Rolle „Storage Legacy Bucket Reader“ (roles/storage.legacyBucketReader) gewährt werden.

  2. Der Befehl gcloud alpha storage diagnose ist nur in der Google Cloud CLI-Version 531.0.0 oder höher verfügbar. Wenn Sie diesen Befehl verwenden möchten, empfehlen wir, ein Upgrade auf die neueste Version der Google Cloud CLI durchzuführen.

Diagnose ausführen

Führen Sie gcloud alpha storage diagnose mit dem Argument --test-type=DIRECT_CONNECTIVITY aus, um zu prüfen, ob eine direkte Verbindung verfügbar ist:

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

Ersetzen Sie Folgendes:

  • BUCKET_NAME: Der Name Ihres Buckets. Beispiel: my-bucket

Wenn eine Verbindung hergestellt werden kann, erhalten Sie eine Antwort ähnlich der folgenden:

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 Call   │ Able to get bucket metadata using Direct Connectivity network path.     │ Success. │
    └────────────────────────────┴─────────────────────────────────────────────────────────────────────────┴──────────┘

Netzwerkkonfigurationen prüfen

Wenn beim Prüfen der direkten Verbindung mit der Google Cloud CLI ein Unable to connect to Traffic Director-Fehler auftritt, folgen Sie der Anleitung unten, um dafür zu sorgen, dass Ihre Netzwerkkonfigurationen den Traffic von Ihren VMs zu den erforderlichen Endpunkten zulassen.

Für die direkte Verbindung ist ein Dienst erforderlich, der unter directpath-pa.googleapis.com:443 und storage.googleapis.com:443 gehostet wird. Wenn Sie prüfen möchten, ob eine Verbindung zum Dienst hergestellt werden kann, führen Sie einen curl-Aufruf an directpath-pa.googleapis.com:443 oder storage.googleapis.com:443 aus. Beispiel:

curl directpath-pa.googleapis.com:443

Wenn eine Verbindung hergestellt werden kann, erhalten Sie eine leere Antwort ohne Fehler:

curl: (52) Empty reply from server

Wenn keine Verbindung hergestellt werden kann, erhalten Sie eine Fehlermeldung, die in etwa so aussieht:

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

Beschränkungen

Direkte Verbindungen unterstützen Private Service Connect nicht.