Konektivitas langsung adalah solusi koneksi yang memungkinkan koneksi jaringan gRPC langsung yang diautentikasi dan berperforma tinggi antara library klien dan Cloud Storage, sehingga menghasilkan latensi dan overhead koneksi yang lebih rendah. Google Cloud Saat Anda menggunakan gRPC untuk terhubung ke Google Cloud menggunakan konektivitas langsung, permintaan yang dimulai melalui library klien Google Cloud yang didukung dirutekan langsung ke Cloud Storage, dengan melewati Google Front End (GFE).
Konektivitas langsung hanya tersedia untuk permintaan yang dibuat dari virtual machine (VM) Compute Engine.
Persyaratan untuk konektivitas langsung
Konektivitas langsung diaktifkan secara default saat Anda menggunakan library klien Cloud Storage yang didukung untuk terhubung ke Cloud Storage, tetapi hanya tersedia jika semua kondisi berikut terpenuhi:
VM Compute Engine yang berinteraksi dengan Cloud Storage harus memiliki akun layanan yang dilampirkan, meskipun akun layanan tidak memiliki izin. Akun layanan digunakan untuk merepresentasikan VM Compute Engine dalam proses handshake Application Layer Transport Security.
VM Compute Engine yang berinteraksi dengan bucket Cloud Storage harus ditempatkan bersama dengan bucket. Misalnya, jika bucket berada di
us-central1
, VM dapat berada dius-central1-a
. Jika bucket berada di multi-region atau dual-region, VM harus berada di region yang membentuk multi-region atau dual-region. Misalnya, jika bucket berada di multi-regionus
, VM dapat berada dius-east4-c
.Untuk mengetahui informasi selengkapnya tentang lokasi bucket, lihat Lokasi.
Rute dan aturan firewall Anda mengizinkan traffic IPv4 mencapai
34.126.0.0/18
dan traffic IPv6 mencapai2001:4860:8040::/42
. Selain itu, traffic harus diizinkan untuk mencapai endpointstorage.googleapis.com:443
dandirectpath-pa.googleapis.com:443
.Untuk mempelajari cara memeriksa apakah koneksi dapat dibuat ke endpoint ini, lihat Memeriksa konfigurasi jaringan. Untuk mengetahui informasi tentang cara menyiapkan rute, lihat Mengonfigurasi rute.
Library klien Cloud Storage memiliki persyaratan kredensial tertentu agar aplikasi dapat diautentikasi ke Cloud Storage dan konektivitas langsung tersedia:
Library klien Java memerlukan kredensial akun pengguna atau kredensial akun layanan.
Library klien C++ memerlukan kredensial akun layanan.
Library klien Go memerlukan kredensial akun layanan. Versi sebelum 1.52.0 memerlukan kredensial akun layanan default VM yang mengakses bucket Anda.
Untuk melihat nama akun yang digunakan VM Anda untuk mengautentikasi ke Cloud Storage, gunakan perintah
gcloud auth list
:gcloud auth list --filter=status:ACTIVE --format="value(account)"
Jika Anda menggunakan library klien Go dan perlu memeriksa apakah akun Google yang digunakan untuk mengautentikasi cocok dengan akun layanan default VM Anda, gunakan perintah
gcloud compute instances describe
:gcloud compute instances describe INSTANCE_NAME --format='yaml(serviceAccounts)'
Ganti
INSTANCE_NAME
dengan nama instance Anda.Untuk mengetahui informasi selengkapnya tentang autentikasi, lihat Ringkasan Google pengelolaan identitas.
Memeriksa konektivitas menggunakan Google Cloud CLI
Google Cloud CLI dapat menguji diagnostik konektivitas langsung di bucket Anda dengan mengeluarkan panggilan GET
ke bucket menggunakan gcloud storage buckets describe gs://example-bucket
. Bagian ini menjelaskan cara melakukan uji diagnostik untuk konektivitas langsung menggunakan Google Cloud CLI.
Sebelum memulai
Pastikan Anda memiliki izin IAM
storage.buckets.get
di bucket, yang dapat diberikan menggunakan peran Storage Legacy Bucket Reader (roles/storage.legacyBucketReader
).Perintah
gcloud alpha storage diagnose
hanya tersedia di Google Cloud CLI versi 531.0.0 atau yang lebih baru. Untuk menggunakan perintah ini, sebaiknya upgrade ke Google Cloud CLI versi terbaru.
Menjalankan diagnosis
Untuk memeriksa apakah konektivitas langsung tersedia, jalankan
gcloud alpha storage diagnose
dengan argumen
--test-type=DIRECT_CONNECTIVITY
:
gcloud alpha storage diagnose --test-type=DIRECT_CONNECTIVITY gs://BUCKET_NAME
Ganti kode berikut:
BUCKET_NAME
: nama bucket Anda. Contoh,my-bucket
.
Jika koneksi dapat dibuat, Anda akan menerima respons yang mirip dengan berikut ini:
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. │
└────────────────────────────┴─────────────────────────────────────────────────────────────────────────┴──────────┘
Periksa konfigurasi jaringan
Jika Anda mengalami error Unable to connect to Traffic Director
saat memeriksa
konektivitas langsung menggunakan Google Cloud CLI, gunakan petunjuk
berikut untuk memastikan bahwa konfigurasi jaringan Anda mengizinkan traffic melewati
dari VM Anda ke endpoint yang diperlukan.
Konektivitas langsung memerlukan layanan yang dihosting di
directpath-pa.googleapis.com:443
dan di storage.googleapis.com:443
. Untuk memeriksa apakah koneksi dapat dibuat ke layanan, lakukan panggilan curl ke directpath-pa.googleapis.com:443
atau storage.googleapis.com:443
. Contoh:
curl directpath-pa.googleapis.com:443
Jika koneksi dapat dibuat, Anda akan menerima respons kosong tanpa error:
curl: (52) Empty reply from server
Jika koneksi tidak dapat dibuat, Anda akan menerima error yang mirip dengan berikut ini:
curl: (56) Recv failure: Connection reset by peer
Batasan
Konektivitas langsung tidak mendukung Private Service Connect.