Endpoint lokasi

Halaman ini menjelaskan endpoint lokasi Bigtable, menjelaskan hal-hal yang harus Anda pertimbangkan sebelum menggunakannya, dan menunjukkan cara menyetel endpoint menggunakan Google Cloud CLI.

Anda dapat menggunakan endpoint layanan global atau lokasi untuk mengirim permintaan ke Bigtable. Endpoint berbasis lokasi untuk Bigtable memastikan bahwa data instance disimpan dan diproses di region Bigtable tempat data berada. Anda mungkin perlu menggunakan endpoint lokasi untuk Bigtable di region geografis tertentu untuk mendukung kebutuhan keamanan dan kepatuhan project Anda.

Sebelum membaca dokumen ini, Anda harus memahami Instance, cluster, dan node serta Profil aplikasi.

Konsep utama meliputi:

  • Endpoint layanan: Endpoint layanan adalah URL dasar yang menentukan alamat jaringan layanan API. Bigtable memiliki endpoint global dan lokal.

  • Endpoint global: Endpoint global memungkinkan Bigtable menyimpan dan merutekan data dalam instance Bigtable ke region mana pun yang berisi salah satu cluster instance. Endpoint global untuk Cloud Bigtable API (Data API) adalah bigtable.googleapis.com. Endpoint Data API default mengakses endpoint global.

  • Endpoint lokasi Endpoint lokasi menerapkan batasan lokasi, memastikan bahwa data disimpan dan diproses di region tertentu.

Anda hanya dapat menggunakan endpoint lokasi dengan Cloud Bigtable API (Data API). Endpoint lokasi tidak didukung untuk Cloud Bigtable Admin API.

Kapan harus menggunakan endpoint lokasi

Manfaat menggunakan endpoint lokasi Bigtable dibandingkan endpoint global adalah endpoint lokasi memberikan isolasi dan perlindungan lokasi untuk memenuhi persyaratan keamanan, kepatuhan, dan peraturan.

Gunakan endpoint lokasi jika lokasi data Anda harus dibatasi dan dikontrol untuk mematuhi persyaratan peraturan.

Gunakan endpoint global jika Anda tidak memiliki persyaratan pembatasan lokasi yang ketat.

Pertimbangan saat menggunakan endpoint lokasi

Pertimbangkan faktor-faktor berikut saat Anda menggunakan endpoint lokasi.

Lokasi cluster

Sebelum dapat menggunakan endpoint lokasi, Anda harus membuat instance dengan setidaknya satu cluster di region tempat Anda ingin mengisolasi data. Endpoint lokasi Bigtable tersedia di semua lokasi Bigtable.

Anda hanya dapat menggunakan endpoint lokasi yang termasuk dalam region tempat Anda ingin mengisolasi data. Misalnya, Anda tidak dapat menggunakan us-west1-bigtable.googleapis.com untuk melayani permintaan jika cluster yang Anda akses berada di region us-central1.

Jika Anda mencoba menggunakan endpoint lokasi untuk mengakses cluster di region lain, permintaan akan ditolak dengan error FAILED_PRECONDITION dan pesan yang menyatakan bahwa tidak ada cluster yang dapat diakses menggunakan cluster dan endpoint yang ditentukan. Misalnya, permintaan yang dikirim ke us-west1-bigtable.googleapis.com untuk cluster di us-central1 gagal dengan FAILED_PRECONDITION. Untuk mengetahui informasi selengkapnya tentang FAILED_PRECONDITION, lihat Kode status Bigtable.

Profil aplikasi

Setelah menetapkan endpoint lokasi, Anda harus menggunakan profil aplikasi yang dikonfigurasi untuk merutekan permintaan ke cluster di region endpoint.

Jika Anda mencoba menggunakan profil aplikasi yang dikonfigurasi untuk mengirim penulisan hanya ke cluster (menggunakan perutean cluster tunggal) atau cluster di region yang berbeda dari endpoint (menggunakan perutean multi-cluster), Anda akan menerima pesan error prasyarat gagal There are no clusters accessible through this app profile and the REGION_NAME endpoint.. Untuk mengetahui informasi selengkapnya tentang perutean cluster, lihat Kebijakan perutean.

Jika Anda menggunakan profil aplikasi yang dikonfigurasi untuk merutekan ke cluster mana pun di instance untuk ketersediaan tinggi (HA), dan Anda juga menggunakan endpoint lokasi, endpoint lokasi memastikan bahwa semua permintaan hanya dirutekan ke cluster di regionnya, meskipun instance memiliki cluster di region lain. Failover otomatis dibatasi, sehingga permintaan hanya ditayangkan dari cluster di region endpoint.

Pertimbangkan contoh saat Anda mengirim permintaan menggunakan profil aplikasi yang dikonfigurasi untuk perutean multi-cluster ke instance yang memiliki cluster di us-west1-a (Oregon), us-west1-b (Oregon), dan us-central1-a (Iowa). Jika Anda mengirim permintaan ini ke endpoint lokasi us-central1-bigtable.googleapis.com, semua permintaan akan ditayangkan oleh us-central1-a meskipun Anda tidak mengonfigurasi ulang profil aplikasi. Permintaan yang tidak dapat diproses oleh us-central1-a akan gagal.

Replikasi

Endpoint lokasi tidak memengaruhi atau mencegah replikasi. Jika Anda mengonfigurasi endpoint lokasi di Region A, lalu menambahkan cluster ke instance di Region B, data Anda direplikasi ke Region B seperti saat Anda menggunakan endpoint global.

Untuk menghindari replikasi data ke region lain, buat cluster hanya di region yang diinginkan.

Untuk mencegah pengguna di organisasi Anda menambahkan cluster di luar region endpoint, Anda dapat menetapkan kebijakan organisasi yang menggunakan batasan lokasi. Untuk mempelajari lebih lanjut, lihat Membatasi lokasi resource.

Ketersediaan

Saat menggunakan endpoint lokasi, Anda tidak dapat mengonfigurasi Bigtable untuk mencapai persentase waktu beroperasi bulanan >=99,999%. Waktu beroperasi bulanan >=99,999% memerlukan failover otomatis permintaan di seluruh batas lokasi, yang dicegah oleh endpoint lokasi karena membatasi semua permintaan ke satu region. Untuk mengetahui informasi selengkapnya tentang persentase waktu beroperasi bulanan, lihat perjanjian tingkat layanan (SLA) Bigtable.

Semantik endpoint lokasi

Segmen pertama dari nama endpoint lokasi Bigtable adalah Google Cloud nama region. Endpoint lokasi mengikuti format REGION-bigtable.googleapis.com, dengan REGION adalah nama region, seperti northamerica-northeast2.

Misalnya, jika Anda ingin mengisolasi data Anda di region Iowa, karena nama region untuk Iowa adalah us-central1, URL endpoint lokasi untuk region Iowa adalah us-central1-bigtable.googleapis.com. Untuk mengetahui daftar region yang tersedia, lihat Lokasi Bigtable.

Menentukan endpoint lokasi

Anda dapat menentukan endpoint lokasi Bigtable menggunakan Google Cloud CLI, cbt CLI, atau library klien Cloud Bigtable.

gcloud

Untuk menentukan endpoint lokasi dan mengganti endpoint global menggunakan gcloud CLI, jalankan perintah berikut:

gcloud config set api_endpoint_overrides/bigtable https://REGION-bigtable.googleapis.com/

Ganti REGION dengan region tempat Anda ingin menetapkan endpoint lokasi, seperti us-central1 atau europe-west1.

Misalnya, untuk mengonfigurasi endpoint lokasi sebagai us-central1, jalankan perintah berikut:

gcloud config set api_endpoint_overrides/bigtable https://us-central1-bigtable.googleapis.com/

cbt

Untuk menentukan endpoint lokasi dan mengganti endpoint global menggunakan CLI cbt, Anda dapat menggunakan opsi --data-endpoint dalam permintaan, atau menambahkan berikut ini ke file ~/.cbtrc. Untuk mengetahui informasi tambahan tentang cara membuat file ~/.cbtrc, lihat referensi cbt CLI.

data-endpoint = https://REGION-bigtable.googleapis.com/

Ganti REGION dengan region tempat Anda ingin menetapkan endpoint lokasi, seperti us-central1 atau europe-west1.

Misalnya, untuk mengonfigurasi endpoint lokasi sebagai us-central1, tambahkan ini ke file ~/.cbtrc:

data-endpoint = https://us-central1-bigtable.googleapis.com/

Menentukan endpoint global

gcloud

Untuk mengonfigurasi ulang endpoint lokasi ke endpoint global, jalankan perintah ini:

gcloud config unset api_endpoint_overrides/bigtable

cbt

Untuk menentukan titik kirim global, kirim permintaan Anda tanpa menggunakan opsi --data-endpoint. Jika sebelumnya Anda menambahkan baris data-endpoint ke file ~/.cbtrc, hapus baris tersebut.

Membatasi penggunaan endpoint API global

Untuk membantu menerapkan penggunaan endpoint lokasi, gunakan batasan kebijakan organisasi constraints/gcp.restrictEndpointUsage untuk memblokir permintaan ke endpoint API global. Untuk mengetahui informasi selengkapnya, lihat Membatasi penggunaan endpoint.

Langkah berikutnya