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 inus-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 Multiregionus
befindet, kann sich die VM inus-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-Traffic2001:4860:8040::/42
erreicht. Außerdem muss Traffic zu den Endpunktenstorage.googleapis.com:443
unddirectpath-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
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.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.