Mengelola database

Sandbox GDC menyediakan Layanan Database untuk menguji dan mengelola cluster database.

Buat Database

Untuk membuat dan mengelola cluster database, lihat Membuat dan Mengelola cluster database.

Mesin Database yang Tersedia

Sandbox GDC hanya mendukung PostgreSQL dan AlloyDB.

Gunakan konsol GDC atau Distributed Cloud CLI untuk membuat cluster database:

Konsol

  1. Dari menu utama, pilih Database Service.
  2. Klik Create Database Cluster.
  3. Dalam dialog Choose a database engine, pilih mesin database.

  4. Pada dialog Configure your cluster, tentukan ID cluster, sandi, dan versi database. Anda dapat mengaktifkan pencadangan dan mengonfigurasi periode retensi cadangan.

  5. Pada dialog Konfigurasi instance utama Anda, tentukan CPU, memori, dan kapasitas penyimpanan instance utama cluster database. Sebaiknya pilih memori yang cukup untuk menyimpan tabel terbesar Anda.

  6. Klik Buat. Pembuatan cluster database dapat memerlukan waktu beberapa menit. Periksa status cluster dari halaman Ringkasan cluster. Statusnya akan berubah dari Membuat menjadi Siap saat cluster siap.

gdcloud

  1. Sebelum menggunakan Distributed Cloud CLI, instal dan lakukan inisialisasi. Kemudian, lakukan autentikasi dengan organisasi Anda.

  2. Jalankan perintah berikut untuk membuat cluster database:

    gdcloud database clusters create CLUSTER_NAME \
        --database-version DB_VERSION \
        --admin-password ADMIN_PASSWORD
    

    Ganti variabel berikut:

    • CLUSTER_NAME dengan nama untuk cluster baru.
    • DB_VERSION dengan string versi untuk cluster baru. Misalnya, POSTGRESQL_13 atau ALLOYDBOMNI_15
    • ADMIN_PASSWORD dengan sandi administrator untuk cluster baru.
  3. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi resource CPU, memori, dan penyimpanan untuk cluster database, mengonfigurasi pencadangan, mengaktifkan ketersediaan tinggi, dan opsi lain yang tersedia, jalankan:

    gdcloud database clusters create --help
    

API

  1. Buat file db-cluster-create.yaml dengan konten

    apiVersion: v1
    kind: Secret
    metadata:
      name: db-pw-DBCLUSTER_NAME
      namespace: USER_PROJECT
    type: Opaque
    data:
      DBCLUSTER_NAME: "BASE64_PASSWORD"
    ---
    apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
    kind: DBCluster
    metadata:
      name: DBCLUSTER_NAME
      namespace: USER_PROJECT
    spec:
      primarySpec:
        adminUser:
          passwordRef:
            name: db-pw-DBCLUSTER_NAME
        version: "DB_VERSION"
        resources:
          memory: DB_MEMORY
          cpu: DB_CPU
          disks:
          - name: DataDisk
            size: DB_DATA_DISK
    

    Ganti variabel berikut:

    • DBCLUSTER_NAME, nama cluster database.
    • USER_PROJECT, nama project pengguna tempat cluster database akan dibuat.
    • BASE64_PASSWORD, encoding base64 dari sandi administrator database.
    • DBENGINE_NAME, nama mesin database. Ini adalah salah satu dari alloydbomni, atau postgresql.
    • DB_VERSION, versi mesin database.
    • DB_MEMORY, jumlah memori yang dialokasikan ke DB Cluster, misalnya 5Gi.
    • DB_CPU, jumlah CPU yang dialokasikan ke DB Cluster, misalnya 2.
    • DB_DATA_DISK, jumlah ruang yang dialokasikan ke DB Cluster, misalnya 10 Gi.
  2. kubectl --kubeconfig MANAGEMENT_API apply -f db-cluster-create.yaml
    

Menghubungkan ke Database

Secara default, cluster database hanya mengizinkan koneksi dari dalam cluster pengguna dan project yang sama.

Untuk mengaktifkan koneksi ke semua cluster database di project Anda dari project lain, lihat Mengaktifkan koneksi lintas project.

Untuk terhubung ke database dari alamat IP di luar organisasi Sandbox GDC Anda, ikuti petunjuk di Menghubungkan ke cluster database untuk mengaktifkan koneksi eksternal.

Anda dapat menggunakan sshuttle untuk terhubung ke database dengan klien database lokal seperti psql:

  1. Buka bagian Connectivity di halaman Database Service untuk cluster database. Halaman ini mencakup:

    • Sandi akun administrator (nama penggunanya adalah dbsadmin)
    • Nama host dan nomor port endpoint utama cluster database
    • Perintah psql untuk menghubungkan ke cluster (untuk cluster database PostgreSQL dan AlloyDB Omni)
    • Link untuk mendownload sertifikat certificate authority (CA) dari cluster database
  2. Download sertifikat CA dari konsol GDC di bagian Connectivity pada halaman Database Service untuk cluster database Anda.

  3. Konfigurasi klien Anda untuk menggunakan sertifikat CA guna memverifikasi database. Untuk klien psql, tetapkan variabel lingkungan PGSSLROOTCERT ke jalur file sertifikat dan variabel lingkungan PGSSLMODE ke preferensi Anda:

        export PGSSLROOTCERT=path/to/accounts_cert.pem
        export PGSSLMODE="verify-full"
    
  4. Mulai tunnel aman. Jika Anda memiliki instance sshuttle yang sedang berjalan seperti yang dijelaskan dalam Menghubungkan ke instance Anda, hentikan proses tersebut.

        sshuttle -r zone1-org-1-data@GDC_SANDBOX_INSTANCE_NAME --no-latency-control \
        --ssh-cmd 'gcloud compute ssh --project PROJECT_NAME --zone ZONE --tunnel-through-iap' \
        10.200.0.0/16 --dns
    

    Ganti nilai berikut dengan nilai yang diberikan kepada Anda oleh tim Sandbox GDC:

    • GDC_SANDBOX_INSTANCE_NAME: nama instance GDC Sandbox Anda.
    • PROJECT_NAME: project yang berisi lingkungan Sandbox GDC Anda.
    • ZONE: zona yang berisi lingkungan GDC Sandbox Anda.
  5. Saat tunnel aktif, jalankan perintah menggunakan psql di terminal yang berbeda

        PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
    

    Ganti variabel berikut:

    • DB_PASSWORD: sandi dari UI konsol.
    • DB_HOSTNAME: nama host database dari konsol.
    • DB_PORT: nomor port database dari konsol.
    • DB_USERNAME: nama pengguna database dari konsol.