Dokumen ini menjelaskan cara membuat grup instance terkelola (MIG) dengan VM-nya yang tersebar di beberapa zona dalam satu region. Menyebarkan beban aplikasi di beberapa zona akan melindungi workload Anda dari kegagalan zona. Jika terjadi kegagalan zona, aplikasi Anda dapat terus menyajikan dari instance yang berjalan di zona tersisa yang tersedia di region yang sama.
Jenis MIG ini juga dikenal sebagai MIG regional. Untuk informasi selengkapnya, lihat Tentang MIG regional.
Anda juga dapat membaca skenario dasar lainnya untuk membuat MIG.
Sebelum memulai
- Buat template instance, yang diperlukan untuk membuat grup instance terkelola.
-
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- Menetapkan region dan zona default.
Terraform
Untuk menggunakan contoh Terraform di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
Batasan
Untuk melihat daftar lengkap batasan MIG, yang bervariasi berdasarkan konfigurasi yang Anda gunakan, lihat Batasan MIG.
Membuat MIG dengan VM di beberapa zona dalam satu region
Gunakan Konsol Google Cloud, gcloud CLI, Terraform, atau REST.
Konsol
-
Di Konsol Google Cloud, buka halaman Instance groups.
Langkah-langkah selanjutnya akan muncul secara otomatis di konsol Google Cloud.
-
Klik
Buat grup instance untuk membuat grup instance baru. -
Pilih salah satu Opsi grup instance terkelola baru:
- Stateless (default)
- Stateful
- Tetapkan nama dan jika perlu, deskripsi untuk grup instance Anda.
- Pilih template instance untuk grup instance atau buat yang baru.
- Di bagian Jumlah instance atau dalam Penskalaan otomatis, tentukan jumlah instance untuk grup ini. Jangan lupa untuk menyediakan VM yang cukup untuk mendukung aplikasi Anda jika terjadi kegagalan zona.
-
Untuk
Lokasi , pilih Beberapa zona. - Pilih region, lalu pilih zona yang ingin Anda gunakan. Jika Anda memilih template instance regional, Region akan otomatis dipilih berdasarkan region template.
- Di bagian Bentuk distribusi target, pilih Merata. Jika ingin memilih bentuk yang berbeda, lihat Menetapkan bentuk distribusi target untuk VM di MIG regional.
- Jika Anda ingin menonaktifkan distribusi ulang instance proaktif, lalu di bagian distribusi ulang instance, hapus centang pada kotak Izinkan distribusi ulang instance.
- Lanjutkan dengan proses pembuatan MIG lainnya.
- Untuk membuat MIG, klik
Buat .
gcloud
Semua MIG memerlukan template instance. Jika Anda belum memilikinya, buat template instance. Misalnya, perintah berikut akan membuat template instance dasar dengan properti default:
gcloud compute instance-templates create example-template
Selanjutnya, gunakan
perintah instance-groups managed create
dengan flag --region
. Misalnya, perintah berikut membuat
MIG regional di tiga zona dalam region us-east1
:
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --region us-east1
Jika Anda ingin memilih zona tertentu
yang harus digunakan grup, berikan flag --zones
:
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --zones us-east1-b,us-east1-c
Jika Anda ingin menonaktifkan distribusi ulang instance proaktif, lihat Menonaktifkan distribusi ulang instance proaktif.
Terraform
Jika Anda belum membuat template instance, yang menentukan jenis mesin, boot disk image, jaringan, dan properti VM lainnya yang Anda inginkan untuk setiap VM di MIG Anda, buat template instance.
Untuk membuat MIG regional, Anda dapat menggunakan resource
google_compute_region_instance_group_manager
.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
REST
Semua MIG memerlukan template instance. Jika Anda belum memilikinya, buat template instance.
Selanjutnya, buat permintaan POST
ke
metode regionInstanceGroupManagers.insert
.
Dalam isi permintaan, tentukan nama grup, ukuran grup, dan URL
ke template instance. Atau, tentukan kolom lain, seperti nama dasar
untuk instance dalam grup.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "baseInstanceName": "BASE_INSTANCE_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "name": "INSTANCE_GROUP_NAME", "targetSize": "TARGET_SIZE" }
Ganti kode berikut:
PROJECT_ID
: project ID untuk permintaan ini.REGION
: region untuk grup.BASE_INSTANCE_NAME
: (opsional) nama instance untuk setiap instance VM yang dibuat sebagai bagian dari grup. Misalnya, nama instance dasarexample-instance
membuat instance yang memiliki nama sepertiexample-instance-[RANDOM_STRING]
tempat[RANDOM_STRING]
dibuat oleh server.INSTANCE_TEMPLATE_NAME
: template instance yang akan digunakan. Untuk template instance regional, Anda harus menentukan URL lengkap atau sebagian URL template. Contoh URL lengkap adalahhttps://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
dan sebagian URL adalahprojects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
.INSTANCE_GROUP_NAME
: nama MIG.TARGET_SIZE
: jumlah target VM untuk grup.
Jika Anda ingin
memilih zona tertentu
atau jika Anda membuat VM di region dengan kurang dari atau lebih dari tiga
zona, sertakan properti distributionPolicy
di permintaan Anda dan berikan
daftar zona. Ganti ZONE
dengan nama
zona untuk membuat VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "baseInstanceName": "BASE_INSTANCE_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "name": "INSTANCE_GROUP_NAME", "targetSize": "TARGET_SIZE", "distributionPolicy": { "zones": [ {"zone": "zones/ZONE"}, {"zone": "zones/ZONE"} ] } }
Misalnya, kode berikut akan membuat MIG regional bernama example-rmig
dengan 10 instance terkelola yang didistribusikan di seluruh zona us-east1-b
dan us-east1-c
:
POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-east1/instanceGroupManagers { "instanceTemplate": "global/instanceTemplates/example-instance", "name": "example-rmig", "targetSize": 10, "distributionPolicy": { "zones": [ {"zone": "zones/us-east1-b"}, {"zone": "zones/us-east1-c"} ] } }
Bergantung pada cara Anda mengonfigurasi dan melakukan tindakan pada MIG, berbagai kebijakan dan tindakan dapat memengaruhi instance dalam grup. Untuk menentukan instance terkelola mana yang aktif dan berjalan, lihat Memeriksa status instance terkelola.
Jika kapasitas di setiap zona tidak cukup untuk mendukung VM bagi grup, Compute Engine akan membuat VM sebanyak mungkin dan terus mencoba membuat VM yang tersisa saat kapasitas tambahan tersedia.
Jika Anda tidak secara eksplisit menentukan masing-masing zona dalam permintaan Anda, Compute Engine akan otomatis memilih tiga zona untuk membuat VM. Jika perlu membuat VM di lebih dari atau kurang dari tiga zona, atau ngin memilih zona mana yang digunakan, Anda dapat memberikan daftar zona dalam permintaan Anda. Untuk mengetahui informasi selengkapnya, lihat Pemilihan zona.
Distribusi VM di seluruh zona
Secara default, MIG regional mendistribusikan VM secara merata di seluruh zona yang dipilih. Karena Anda membuat MIG regional, perlu diingat bahwa resource tertentu bersifat zona, seperti GPU dan persistent disk yang ada. Jika template instance MIG Anda menentukan resource zona, Anda harus memastikan semua resource tersebut ada di semua zona yang dipilih sehingga dapat dipasang ke VM yang dibuat oleh MIG regional. Atau, jika Anda ingin grup memeriksa keberadaan resource zona untuk Anda, Anda dapat menetapkan bentuk distribusi target MIG untuk membuat instance hanya di zona yang berisi resource tersebut.
Untuk informasi selengkapnya, baca dokumen berikut:
Tetapkan bentuk distribusi target untuk VM di seluruh zona
Pendistribusian ulang instance proaktif
Pendistribusian ulang instance proaktif
diaktifkan secara default. Jika Anda perlu mengelola jumlah VM di setiap
zona secara manual, atau jika perlu menetapkan bentuk distribusi target MIG ke BALANCED
atau
ANY_SINGLE_ZONE
, Anda harus menonaktifkan distribusi ulang instance proaktif.
Untuk informasi selengkapnya, baca dokumen berikut:
- Menonaktifkan dan mengaktifkan kembali distribusi ulang VM proaktif
- Menyeimbangkan kembali MIG regional secara manual
Langkah selanjutnya
- Siapkan autohealing berbasis aplikasi, yang secara berkala memverifikasi bahwa aplikasi Anda merespons seperti yang diharapkan pada setiap VM MIG dan otomatis membuat ulang VM yang tidak responsif.
- Aktifkan penskalaan otomatis untuk menambahkan atau menghapus VM dari MIG Anda secara otomatis berdasarkan peningkatan atau penurunan beban.
- Pelajari cara menerapkan konfigurasi baru ke semua atau subset VM di MIG dengan menetapkan dan menerapkan template instance baru, konfigurasi semua instance, atau konfigurasi per instance.
- Pertahankan disk, metadata, dan alamat IP di seluruh peristiwa yang mengganggu seperti pembuatan ulang VM, autohealing, dan update dengan menambahkan konfigurasi stateful.
- Pelajari cara menggunakan instance terkelola, misalnya, untuk menghapus, meninggalkan, dan membuat ulang VM di MIG.
- Lihat info tentang MIG dan VM-nya.
- Menyimulasikan pemadaman layanan zona untuk MIG regional
- Pelajari cara menambahkan frontend load balancer HTTP(S) eksternal ke grup instance. Untuk informasi tentang jenis load balancer lainnya, lihat Ringkasan load balancing.