Halaman ini menjelaskan cara membuat instance utama di cluster AlloyDB.
Sebelum memulai
- Project Google Cloud yang Anda gunakan harus telah diaktifkan untuk mengakses AlloyDB.
- Anda harus memiliki salah satu peran IAM berikut di project Google Cloud yang Anda gunakan:
roles/alloydb.admin
(peran IAM bawaan AlloyDB Admin)roles/owner
(peran IAM dasar Pemilik)roles/editor
(peran IAM dasar Editor)
Jika Anda tidak memiliki salah satu peran ini, hubungi Administrator Organisasi untuk meminta akses.
Membuat instance utama AlloyDB
Konsol
Buka halaman Cluster.
Klik cluster di kolom Resource Name.
Di halaman Ringkasan, buka Instance di cluster Anda, lalu klik Buat instance utama.
Konfigurasikan instance utama Anda:
- Di kolom Instance ID, masukkan ID untuk instance utama Anda.
- Di bagian Zonal availability, pilih salah satu opsi berikut:
- Untuk membuat instance produksi dengan ketersediaan tinggi dan failover otomatis, pilih Beberapa zona (Ketersediaan tinggi).
- Untuk membuat instance dasar yang tidak perlu memiliki ketersediaan tinggi, pilih Single zone.
- Pilih jenis mesin.
- Opsional: Untuk menetapkan flag kustom untuk instance Anda, luaskan Advanced
configuration options, lalu lakukan tindakan berikut untuk setiap flag:
- Klik Add flag.
- Pilih flag dari daftar Flag database baru.
- Berikan nilai untuk tanda.
- Klik Done.
- Opsional: Untuk mengonfigurasi persyaratan SSL atau konektor di instance,
luaskan Opsi konfigurasi lanjutan, lalu lakukan tindakan berikut:
- Secara default, instance AlloyDB mewajibkan semua koneksi untuk menggunakan enkripsi SSL. Untuk mengizinkan koneksi non-SSL, hapus centang pada kotak Hanya izinkan koneksi SSL.
- Untuk mewajibkan semua koneksi database ke instance menggunakan Proxy Auth AlloyDB atau library konektor aman yang disediakan oleh Google, pilih Wajibkan konektor.
- Klik Create instance.
gcloud
Untuk menggunakan gcloud CLI, Anda dapat menginstal dan melakukan inisialisasi Google Cloud CLI, atau menggunakan Cloud Shell.
Gunakan perintah gcloud alloydb instances create
untuk membuat instance utama.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--cpu-count=CPU_COUNT \
--availability-type=AVAILABILITY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--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.CPU_COUNT
: Jumlah vCPU yang Anda inginkan untuk instance. Nilai yang valid mencakup:2
: 2 vCPU, RAM 16 GB4
: 4 vCPU, RAM 32 GB8
: 8 vCPU, RAM 64 GB16
: 16 vCPU, RAM 128 GB32
: 32 vCPU, RAM 256 GB64
: 64 vCPU, RAM 512 GB96
: 96 vCPU, RAM 768 GB128
: 128 vCPU, RAM 864 GB
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 tidak ada failover otomatis.
REGION_ID
: Region tempat Anda ingin menempatkan instance. Contoh,us-central1
.CLUSTER_ID
: ID cluster tempat Anda ingin instance ditempatkan.PROJECT_ID
: ID project tempat cluster ditempatkan.
Secara default,
instance baru mewajibkan semua koneksi untuk 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 \
--cpu-count=CPU_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED
Untuk menerapkan koneksi aman antara klien dan instance AlloyDB
melalui Proxy Autentikasi 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 \
--cpu-count=CPU_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--require-connectors
Untuk membuat instance utama bagi cluster yang mengaktifkan Private Service Connect, tambahkan flag --allowed-psc-projects
untuk menetapkan daftar project ID atau nomor project yang dipisahkan koma yang ingin Anda izinkan aksesnya ke instance—misalnya, my-project-1
, 12345
,my-project-n
.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--cpu-count=CPU_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--allowed-psc-projects=ALLOWED_PROJECT_LIST
Ganti kode berikut:
ALLOWED_PROJECT_LIST
(Opsional): Daftar project ID atau nomor project yang dipisahkan koma yang ingin Anda izinkan aksesnya ke instance—misalnya,my-project-1
,12345
,my-project-n
. Anda harus menetapkan daftar project atau nomor yang diizinkan, jika cluster Anda menggunakan Private Service Connect sebagai metode untuk terhubung ke instance.
Terraform
Untuk membuat instance dalam cluster database, 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]
}
Menyiapkan Cloud Shell
Untuk menerapkan konfigurasi Terraform di project Google Cloud, siapkan Cloud Shell sebagai berikut:
- Luncurkan Cloud Shell.
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.
- 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 sebagaimain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
- 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
- Di direktori
terraform-docs-samples
, buka direktorialloydb
.cd terraform-docs-samples/alloydb
- Salin kode contoh ke dalam
main.tf
yang baru dibuat. Ganticp SAMPLE_FILE
<var>SAMPLE_FILE</var>
dengan nama file contoh yang akan disalin—misalnya,main.tf
. - Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
- Simpan perubahan Anda.
- Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
Opsional: Untuk menggunakan versi penyedia Google terbaru, sertakan opsiterraform init
-upgrade
:terraform init -upgrade
Menerapkan perubahan
- Tinjau konfigurasi untuk mengonfirmasi bahwa update Terraform sesuai dengan ekspektasi Anda:
Lakukan koreksi pada konfigurasi jika diperlukan.terraform plan
- Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan
yes
pada prompt: Tunggu hingga Terraform menampilkan pesanterraform apply
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.