Membuat instance utama

Untuk mendukung workload baca dan tulis di cluster AlloyDB untuk PostgreSQL, Anda dapat membuat instance utama menggunakan konsol Google Cloud , Google Cloud CLI, Terraform, atau AlloyDB API. Instance utama menyediakan resource komputasi yang memproses transaksi serta mengoordinasikan operasi baca dan tulis untuk cluster Anda.

Sebelum memulai

  • Project Google Cloud yang Anda gunakan harus sudah diaktifkan untuk mengakses AlloyDB.
  • Anda harus memiliki salah satu peran IAM ini dalam project Google Cloud yang Anda gunakan:
    • roles/alloydb.admin (peran IAM yang telah ditetapkan untuk Admin AlloyDB)
    • roles/owner (peran IAM dasar Pemilik)
    • roles/editor (peran IAM dasar Editor)

    Jika Anda tidak memiliki peran ini, hubungi Organization Administrator untuk meminta akses.

Membuat instance utama AlloyDB

Konsol

  1. Buka halaman Clusters.

    Buka Cluster

  2. Klik cluster di kolom Resource Name.

  3. Di halaman Overview, buka Instances in your cluster, lalu klik Create primary instance.

  4. Konfigurasikan instance utama Anda:

    1. Di kolom Instance ID, masukkan ID untuk instance utama Anda.
    2. Di bagian Zonal availability, pilih salah satu opsi berikut:
      1. Untuk membuat instance produksi dengan tingkat ketersediaan tinggi dengan failover otomatis, pilih Multiple zones (Highly available).
      2. Untuk membuat instance dasar yang tidak perlu memiliki ketersediaan tinggi, pilih Single zone.
    3. Pilih salah satu seri mesin berikut:

      • C4A (seri mesin berbasis Google Axion)
      • N2 (seri mesin berbasis x86). Ini adalah seri mesin default.
      • C4 (seri mesin berbasis x86)
      • Z3 (seri mesin berbasis Intel Xeon)
    4. Pilih jenis mesin.

      • C4A mendukung 1, 2, 4, 8, 16, 32, 48, 64, dan 72 vCPU
      • N2 mendukung 2, 4, 8, 16, 32, 64, 96, dan 128 vCPU
      • C4 mendukung 4, 8, 16, 24, 32, 48, 96, 144, 192, dan 288 vCPU
      • Z3 mendukung 8, 14, 16, 22, 32, 44, dan 88 vCPU
    5. Opsional: Untuk menghubungkan aplikasi dan klien Anda melalui internet publik, centang kotak Enable Public IP di bagian Public IP Connectivity. Mengaktifkan IP publik mungkin memerlukan konfigurasi tambahan untuk memastikan Anda memiliki koneksi yang aman. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan menggunakan IP publik.

      Secara default, IP pribadi selalu diaktifkan. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan akses layanan pribadi.

    6. Opsional: Untuk mengaktifkan penggabungan koneksi terkelola, pilih Enable managed connection pool di bagian Managed connection pool. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi penggabungan koneksi terkelola.

    7. Opsional: Untuk menetapkan flag kustom untuk instance Anda, luaskan Advanced configuration options, lalu lakukan hal berikut untuk setiap flag:

      1. Klik Add flag.
      2. Pilih flag database dari daftar New database flag.
      3. Berikan nilai untuk flag.
      4. Klik Done.
    8. Opsional: Untuk mengonfigurasi persyaratan SSL atau konektor pada instance, perluas Advanced configuration options, lalu lakukan hal berikut:

      1. Secara default, instance AlloyDB mengharuskan semua koneksi menggunakan enkripsi SSL. Untuk mengizinkan koneksi non-SSL, hapus centang pada kotak Only allow SSL connections.
      2. Untuk mewajibkan semua koneksi database ke instance menggunakan Proxy Auth AlloyDB atau library konektor aman yang disediakan oleh Google, pilih Enforce mTLS via AlloyDB connectors.
  5. Klik Create instance.

gcloud

Untuk menggunakan gcloud CLI, Anda dapat menginstal dan melakukan inisialisasi Google Cloud CLI, atau Anda dapat menggunakan Cloud Shell.

Gunakan perintah gcloud alloydb instances create untuk membuat instance utama.

gcloud alloydb instances create INSTANCE_ID \
    --instance-type=PRIMARY \
    --availability-type=AVAILABILITY \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --cpu-count=CPU_COUNT \
    --machine-type=MACHINE_TYPE \
    --project=PROJECT_ID
  • INSTANCE_ID: ID instance yang Anda buat. Nama harus diawali dengan huruf kecil dan dapat berisi huruf kecil, angka, dan tanda hubung.
  • AVAILABILITY: Apakah instance ini harus memiliki ketersediaan tinggi (HA) atau tidak, dengan node di beberapa zona. Nilai yang valid mencakup:
    • REGIONAL: Membuat instance HA dengan node aktif dan standby terpisah, serta failover otomatis di antara keduanya. Ini adalah nilai default, yang cocok untuk lingkungan produksi.
    • ZONAL: Membuat instance dasar, yang hanya berisi satu node, dan tanpa failover otomatis.
  • REGION_ID: Region tempat Anda ingin menempatkan instance. Contoh, us-central1.
  • CLUSTER_ID: ID cluster tempat Anda ingin menempatkan instance.
  • CPU_COUNT: jumlah vCPU yang Anda inginkan untuk instance.

    • Anda harus menentukan cpu_count atau machine_type.
    • Jika hanya cpu_count yang disediakan, instance N2 akan dibuat dengan spesifikasi berikut:
      • 2: 2 vCPU, RAM 16 GB
      • 4: 4 vCPU, RAM 32 GB
      • 8: 8 vCPU, RAM 64 GB
      • 16: 16 vCPU, RAM 128 GB
      • 32: 32 vCPU, RAM 256 GB
      • 64: 64 vCPU, RAM 512 GB
      • 96: 96 vCPU, RAM 768 GB
      • 128: 128 vCPU, RAM 864 GB
    • Jika machine_type dan cpu_count disediakan, nilai cpu_count harus sesuai dengan jumlah vCPU yang ditentukan dalam machine_type. Misalnya, jika machine_type adalah n2-highmem-4, Anda harus menetapkan cpu_count ke 4.
  • MACHINE_TYPE: Pilih dari daftar jenis mesin yang didukung seperti n2-highmem-4, c4-highmem-4-lssd, atau c4a-highmem-4-lssd. Untuk mengetahui informasi selengkapnya, lihat Memilih jenis mesin AlloyDB.

    Saat Anda menggunakan machine_type dan cpu_count bersama-sama, nilai dalam cpu_count dan machine_type harus cocok. Misalnya, jika machine_type adalah n2-highmem-4, Anda harus menetapkan cpu_count ke 4.

  • PROJECT_ID: ID project tempat cluster ditempatkan.

Secara default, instance baru mengharuskan semua koneksi menggunakan enkripsi SSL. Untuk mengizinkan koneksi non-SSL ke instance, tambahkan flag --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED ke perintah:

gcloud alloydb instances create INSTANCE_ID \
  --instance-type=PRIMARY \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID \
  --cpu-count=CPU_COUNT \
  --machine-type=MACHINE_TYPE \
  --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED

Untuk menerapkan koneksi yang aman antara klien dan instance AlloyDB melalui Proxy Auth atau aplikasi lain yang menggunakan library konektor yang disediakan Google, tambahkan flag --require-connectors ke perintah:

gcloud alloydb instances create INSTANCE_ID \
 --instance-type=PRIMARY \
 --region=REGION_ID \
 --cluster=CLUSTER_ID \
 --cpu-count=CPU_COUNT \
 --machine-type=MACHINE_TYPE \
 --project=PROJECT_ID \
 --require-connectors

Untuk mengaktifkan penggabungan koneksi terkelola di instance AlloyDB Anda, tambahkan flag --enable-connection-pooling ke perintah gcloud alloydb instances create:

gcloud alloydb instances create INSTANCE_ID \
  --instance-type=PRIMARY \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --cpu-count=CPU_COUNT \
  --machine-type=MACHINE_TYPE \
  --project=PROJECT_ID \
  --enable-connection-pooling

Anda juga dapat membuat instance AlloyDB dengan Private Service Connect yang diaktifkan. Untuk mengetahui informasi tentang cara membuat instance utama untuk cluster yang mendukung Private Service Connect, lihat Membuat instance AlloyDB.

Terraform

Membuat instance

Untuk membuat instance dalam cluster database Anda, gunakan resource Terraform.

resource "google_alloydb_instance" "default" {
  cluster       = google_alloydb_cluster.default.name
  instance_id   = "alloydb-instance"
  instance_type = "PRIMARY"

  machine_config {
    cpu_count = 2
  }

  depends_on = [google_service_networking_connection.vpc_connection]
}

resource "google_alloydb_cluster" "default" {
  cluster_id = "alloydb-cluster"
  location   = "us-central1"
  network_config {
    network = google_compute_network.default.id
  }

  initial_user {
    password = "alloydb-cluster"
  }
}

data "google_project" "project" {}

resource "google_compute_network" "default" {
  name = "alloydb-network"
}

resource "google_compute_global_address" "private_ip_alloc" {
  name          =  "alloydb-cluster"
  address_type  = "INTERNAL"
  purpose       = "VPC_PEERING"
  prefix_length = 16
  network       = google_compute_network.default.id
}

resource "google_service_networking_connection" "vpc_connection" {
  network                 = google_compute_network.default.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.private_ip_alloc.name]
}

Contoh ini membuat instance N2. Untuk mengetahui daftar jenis mesin lain yang didukung seperti n2-highmem-4, c4-highmem-4-lssd, atau c4a-highmem-4-lssd, lihat Memilih jenis mesin AlloyDB.

Menyiapkan Cloud Shell

Untuk menerapkan konfigurasi Terraform di project Google Cloud , siapkan Cloud Shell sebagai berikut:

  1. Luncurkan Cloud Shell.
  2. Tetapkan project Google Cloud default tempat Anda ingin menerapkan konfigurasi Terraform.

    Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.

Menyiapkan direktori

Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri, yang juga disebut modul root.

  1. Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus berupa file TF—misalnya, main.tf. Dalam dokumen ini, file ini disebut sebagai main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Salin kode contoh ke dalam main.tf yang baru dibuat. Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.
    git clone https://github.com/terraform-google-modules/terraform-docs-samples
  3. Di direktori terraform-docs-samples, buka direktori alloydb.
    cd terraform-docs-samples/alloydb
  4. Salin kode contoh ke dalam main.tf yang baru dibuat.
    cp SAMPLE_FILE main.tf
    Ganti <var>SAMPLE_FILE</var> dengan nama file contoh yang akan disalin—misalnya, main.tf.
  5. Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
  6. Simpan perubahan Anda.
  7. Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
    terraform init
    Opsional: Untuk menggunakan versi penyedia Google terbaru, sertakan opsi -upgrade:
    terraform init -upgrade

Menerapkan perubahan

  1. Tinjau konfigurasi untuk mengonfirmasi bahwa update Terraform sesuai dengan ekspektasi Anda:
    terraform plan
    Koreksi konfigurasi jika diperlukan.
  2. Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan yes pada prompt:
    terraform apply
    Tunggu hingga Terraform menampilkan pesan Apply complete!.

Buka project Google Cloud Anda untuk melihat hasilnya. Di konsol Google Cloud , buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.

REST v1

Membuat instance

Contoh ini membuat instance utama. Untuk mengetahui daftar lengkap parameter panggilan ini, lihat Metode: projects.locations.clusters.instances.create. Untuk mengetahui informasi tentang setelan cluster, lihat Melihat setelan cluster dan instance.

Jangan menyertakan informasi sensitif atau informasi identitas pribadi dalam ID cluster Anda, karena informasi tersebut terlihat secara eksternal. Anda tidak perlu menyertakan project ID dalam nama cluster karena hal ini dilakukan secara otomatis jika sesuai—misalnya, dalam file log.

Untuk mengirim permintaan Anda, simpan isi permintaan dalam file bernama instance_request.json.

{
  "instance_type": "PRIMARY",
  "machine_config": {
    "cpu_count": CPU_COUNT
  }
}

Lakukan penggantian berikut:

  • CPU_COUNT: jumlah core CPU yang terlihat pada instance yang ingin Anda buat.

Contoh sebelumnya membuat instance N2 dengan spesifikasi berikut:

  • 2: 2 vCPU, RAM 16 GB
  • 4: 4 vCPU, RAM 32 GB
  • 8: 8 vCPU, RAM 64 GB
  • 16: 16 vCPU, RAM 128 GB
  • 32: 32 vCPU, RAM 256 GB
  • 64: 64 vCPU, RAM 512 GB
  • 96: 96 vCPU, RAM 768 GB
  • 128: 128 vCPU, RAM 864 GB
"machine_config": {
  "machine_type": "MACHINE_TYPE"
}

Ganti MACHINE_TYPE dengan jenis mesin yang didukung seperti n2-highmem-4, c4-highmem-4-lssd, atau c4a-highmem-4-lssd. Untuk mengetahui informasi selengkapnya tentang jenis mesin yang didukung, lihat Memilih jenis mesin AlloyDB.

Gunakan metode HTTP dan URL berikut:

POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID

Lakukan penggantian berikut:

  • PROJECT_ID: ID project tempat Anda ingin menempatkan cluster.
  • LOCATION_ID: ID region cluster.
  • CLUSTER_ID: ID cluster yang Anda buat. ID harus diawali dengan huruf kecil dan dapat berisi huruf kecil, angka, dan tanda hubung.
  • INSTANCE_ID: nama instance utama yang ingin Anda buat.

Anda dapat menggunakan curl untuk menjalankan permintaan, seperti yang ditunjukkan dalam contoh berikut:

curl -X POST   -H "Authorization: Bearer $(gcloud auth print-access-token)"   -H "Content-Type: application/json"   https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID   -d @instance_request.json

Langkah berikutnya