Menginstal dan mengelola lisensi Spanner Omni

Dokumen ini menjelaskan cara menyimpan dan menangani kunci lisensi, menginstalnya di deployment, memperbarui kunci yang akan habis masa berlakunya, dan memverifikasi penginstalan di semua node.

Untuk menjalankan lingkungan produksi, Anda harus menginstal kunci lisensi Spanner Omni komersial. Di lingkungan non-produksi, Anda dapat menggunakan fitur pencadangan dan pemulihan dengan men-deploy Spanner Omni dalam konfigurasi server tunggal dengan empat vCPU atau kurang tanpa kunci lisensi. Fitur pekerja tidak didukung dengan lisensi Default atau Developer, terlepas dari jumlah server atau vCPU yang digunakan. Untuk membeli lisensi komersial guna menggunakan pekerja, hubungi Google.

Untuk mempelajari jenis lisensi, edisi, dan fitur yang tersedia, lihat Ringkasan edisi Spanner Omni.

Menyimpan kunci lisensi Anda

Perlakukan kunci lisensi Spanner Omni Anda sebagai kredensial yang sangat sensitif. Jika seseorang membobol kunci lisensi, Google akan membatalkannya di rilis Spanner Omni mendatang. Untuk mencegah eksposur kunci, terapkan panduan siklus proses berikut. Sebaiknya gunakan sistem otomatis untuk menyisipkan kunci, bukan menuliskannya ke penyimpanan persisten dalam teks biasa. Bagian berikut menjelaskan cara menyimpan kunci lisensi, melindungi file deployment otomatis, dan mengonfigurasi transmisi runtime.

Penyimpanan di pengelola secret pusat

Jangan melakukan commit kunci lisensi Anda ke kontrol sumber atau melakukan hardcode di file konfigurasi. Selalu simpan kunci di penyimpanan kredensial terpusat, seperti:

Otomatisasi deployment

Saat Anda men-deploy melalui alat otomatisasi seperti Terraform atau Ansible, jangan teruskan kunci lisensi sebagai variabel konfigurasi teks biasa:

  • Terraform: Ambil kunci lisensi secara dinamis saat runtime deployment menggunakan sumber data. Tandai variabel menggunakan atribut sensitive = true untuk mencegah kunci muncul di log konsol eksekusi.
  • Ansible: Pertahankan kunci dalam memori selama eksekusi konfigurasi melalui plugin pengelola rahasia (seperti google.cloud.gcp_secret_manager atau community.hashicorp.vault), atau enkripsi kunci dengan Ansible Vault jika disimpan di repositori.

Mengirimkan kunci lisensi saat runtime

Gunakan teknik berikut untuk mengirimkan kunci lisensi ke proses database tanpa mengeksposnya kepada pengguna yang tidak berwenang:

Deployment berbasis VM (cloud atau lokal)

  • Injeksi berbasis Identity and Access Management (IAM): Kaitkan VM database Anda dengan akun layanan terkelola atau peran IAM. Selama startup atau penyediaan (misalnya, dengan Ansible), gunakan identitas ini untuk mengambil kunci lisensi dari pengelola rahasia Anda ke dalam memori atau direktori dengan akses terbatas.
  • Izin sistem operasi: Jika Anda menulis kunci ke disk, batasi akses file sehingga hanya pengguna yang menjalankan proses Spanner Omni yang dapat melihat file (misalnya, chmod 400 /path/to/license). Batasi akses SSH ke mesin host secara ketat.

Deployment Kubernetes

  • Gunakan Driver CSI Secrets Store: Gunakan Driver CSI Secrets Store standar untuk memasang kunci lisensi Anda langsung dari pengelola rahasia eksternal ke pod Spanner Omni sebagai volume memori sementara (tmpfs). Kredensial hanya ada di memori dan akan hilang saat pod dihentikan.
  • Hindari Secret Kubernetes bawaan: Jangan gunakan Secret Kubernetes bawaan, yang hanya menggunakan encoding base64 dan tetap ada di etcd.

Menginstal kunci lisensi

Untuk menginstal atau memperbarui kunci lisensi, buat kunci dapat diakses oleh server Spanner Omni Anda sebagai jalur lokal (misalnya, /path/to/your/license).

Untuk meneruskan jalur kunci lisensi ke server, gunakan tanda --license-file-path atau variabel lingkungan SPANNER_LICENSE_FILE_PATH saat menjalankan perintah spanner start atau spanner start-single-server.

Contoh:

spanner start --root \
  --license-file-path=LICENSE_KEY_FILE_PATH \
  --server-address=RESOLVABLE_HOSTNAME \
  --zone=ZONE_NAME \
  --base-dir=SPANNER_BASE_DIR

Atau, gunakan variabel lingkungan untuk memberikan jalur lisensi:

SPANNER_LICENSE_FILE_PATH=LICENSE_KEY_FILE_PATH \
  spanner start --root \
    --server-address=RESOLVABLE_HOSTNAME \
    --zone=ZONE_NAME \
    --base-dir=SPANNER_BASE_DIR

Ganti kode berikut:

  • LICENSE_KEY_FILE_PATH: Jalur lokal ke file kunci lisensi Anda.
  • RESOLVABLE_HOSTNAME: Nama host atau alamat IP server node yang dapat di-resolve.
  • ZONE_NAME: Nama zona untuk deployment.
  • SPANNER_BASE_DIR: Direktori dasar tempat file server disimpan.

Atau, Anda dapat menempatkan kunci lisensi di jalur tempat server mengharapkannya: BASE_DIR/license/license. Untuk deployment Kubernetes, BASE_DIR secara default adalah /spanner.

Memperbarui lisensi yang akan habis masa berlakunya

Untuk memperbarui, memperpanjang, atau memperpanjang masa berlaku lisensi Edisi developer yang akan berakhir di seluruh deployment aktif, minta lisensi abadi. Untuk memperpanjang masa berlaku lisensi proof-of-concept yang akan berakhir atau membeli lisensi komersial, hubungi Google. Setelah Anda menerima lisensi baru, berikan jalur lisensi tersebut dan mulai mulai ulang bertahap server Spanner Omni Anda:

  1. Buat file lisensi baru dapat diakses oleh setiap node.
  2. Lakukan mulai ulang berkelanjutan dengan memulai ulang satu node server dalam satu waktu.
  3. Pantau kondisi deployment selama peluncuran. Jika ada node yang gagal dimulai ulang atau mengalami error, lakukan rollback ke konfigurasi yang berfungsi sebelumnya dan periksa log server Anda untuk memastikan lisensi baru diberikan dengan benar.

Menginstal kunci lisensi dengan Helm (Kubernetes)

Jika men-deploy menggunakan diagram Helm yang disediakan Google, Anda dapat meneruskan jalur ke file lisensi secara dinamis selama upgrade.

Karena flag --set-file Helm memerlukan jalur fisik di disk, jangan simpan kunci lisensi ke file permanen. Sebagai gantinya, ambil kunci dari pengelola rahasia Anda ke file sementara ephemeral atau jalur dalam memori (misalnya, /dev/shm di Linux). Teruskan jalur ini ke Helm, lalu segera hapus atau hancurkan file tersebut. Tindakan ini memastikan sistem tidak meninggalkan kredensial teks biasa di disk, sehingga mencegah kredensial tersebut tetap ada secara lokal atau tidak sengaja di-commit ke kontrol versi.

helm upgrade --install spanner-omni \
  --set-file licenseKey=LICENSE_KEY_FILE_PATH

Ganti kode berikut:

  • LICENSE_KEY_FILE_PATH: Jalur lokal ke file kunci lisensi Anda.

Memverifikasi penginstalan lisensi

Karena Anda menginstal kunci lisensi di setiap node server aktif dalam cluster, Anda dapat memverifikasi penginstalan dengan memeriksa status salah satu node server yang menangani permintaan Anda. Gunakan perintah describe untuk endpoint:

spanner deployment describe --deployment-endpoint=SERVER_ADDRESS

Ganti kode berikut:

  • SERVER_ADDRESS: Alamat node server.

Menjalankan audit di seluruh cluster

Untuk memverifikasi bahwa semua node di seluruh cluster VM atau StatefulSet Kubernetes Anda telah menginstal kunci lisensi yang benar, jalankan perintah audit di seluruh cluster:

spanner admin license check

Audit di seluruh cluster memeriksa setiap server dalam topologi database. Oleh karena itu, pastikan semua server node dalam status online dan dapat diakses melalui jaringan sebelum Anda menjalankan perintah ini.

Menafsirkan hasil audit

Gunakan tabel berikut untuk memahami hasil audit di seluruh cluster:

Status cluster Jenis output Deskripsi dan tindakan yang diperlukan
Seragam (diharapkan) ID izin tunggal Semua node menggunakan kunci dan jenis lisensi yang sama. Tidak diperlukan tindakan lebih lanjut.
Campuran (tindakan diperlukan) Daftar ID dan server lisensi Kunci lisensi yang berbeda terdeteksi di seluruh node (misalnya, selama update bertahap yang terhenti). Selidiki node yang tercantum untuk memastikan file lisensi baru telah diterapkan dengan benar.

Mempertahankan kepatuhan lisensi Komersial

Jika Anda menggunakan lisensi komersial Spanner Omni, Anda harus mematuhi perjanjian lisensi Anda. Mempertahankan kepatuhan membantu mencegah sengketa penagihan serta melacak dan melaporkan penggunaan resource cluster Anda ke Google. Selesaikan langkah-langkah berikut untuk tetap mematuhi perjanjian lisensi Komersial Spanner Omni:

  1. Jalankan Alat Penggunaan Spanner Omni di akhir setiap siklus penagihan untuk mengumpulkan metrik penggunaan vCPU cluster:

    spanner admin license report --row-format=CSV
    
  2. Bekerja sama dengan Technical Account Manager (TAM) atau tim akun Google Anda untuk mengonfirmasi saluran pengiriman pilihan organisasi Anda.

  3. Kirimkan payload yang dihasilkan ke Google paling lambat tanggal 5 bulan berikutnya.

Langkah berikutnya