Dengan mengonfigurasi alamat IP stateful di grup instance terkelola (MIG), Anda memastikan bahwa alamat IP dipertahankan saat instance VM dalam grup di-autohealing, diperbarui, dan dibuat ulang.
Anda dapat mempertahankan alamat IPv4 internal dan eksternal. Anda dapat mengonfigurasi alamat IP agar ditetapkan secara otomatis atau menetapkan alamat IP tertentu ke setiap instance VM di MIG.
Sebelum memulai
- Tinjau kapan harus menggunakan MIG stateful dan cara kerja MIG stateful.
-
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
MIG dengan alamat IP stateful memiliki batasan berikut:
Alamat IPv6 tidak didukung.
Alamat IP internal tidak didukung di jaringan yang tidak memiliki subjaringan, misalnya, jaringan lama.
MIG dengan konfigurasi stateful—MIG stateful—memiliki batasan berikut:
- Anda tidak dapat menggunakan penskalaan otomatis jika MIG Anda memiliki konfigurasi stateful.
- Jika ingin menggunakan update berkelanjutan otomatis, Anda harus menetapkan metode penggantian ke
RECREATE
. - Untuk MIG regional stateful, Anda harus menonaktifkan redistribusi proaktif (menetapkan jenis distribusi ulang ke
NONE
) untuk mencegah penghapusan instance stateful dengan redistribusi lintas zona otomatis. - Jika menggunakan konfigurasi semua instance untuk mengganti properti template instance, Anda tidak dapat menentukan properti tersebut dalam konfigurasi per instance mana pun dan pada saat yang sama dalam konfigurasi semua instance grup.
Harga
Anda akan ditagih untuk alamat IP eksternal sesuai dengan pricing jaringan.
Kapan harus menggunakan alamat IP stateful
Mempertahankan alamat IP instance berguna dalam skenario berikut:
- Aplikasi Anda memerlukan alamat IP agar tetap statis setelah ditetapkan—misalnya, Kafka.
- Konfigurasi aplikasi Anda bergantung pada alamat IP tertentu—misalnya, server DNS.
- Pengguna, termasuk aplikasi lain, mengakses server Anda melalui alamat IP statis khusus, misalnya server file.
- Anda perlu memigrasikan beban kerja yang ada tanpa mengubah konfigurasi jaringan.
Mengonfigurasi alamat IP stateful untuk semua VM dalam grup
Mengonfigurasi alamat IP stateful untuk semua VM di MIG berguna dalam skenario berikut:
- Aplikasi Anda memerlukan alamat IP agar tetap statis setelah ditetapkan. Namun, aplikasi Anda tidak memerlukan penetapan alamat IP khusus ke instance tertentu. Alamat IP dapat ditetapkan secara otomatis saat pembuatan instance.
- Pengguna Anda, termasuk aplikasi lain, mengakses server Anda melalui alamat IP statis yang Anda publikasikan setelah men-deploy aplikasi.
- Anda ingin memanfaatkan autohealing instance dan update otomatis, sekaligus mempertahankan alamat IP statis yang ditetapkan secara otomatis pada pembuatan instance.
Untuk mempertahankan alamat IP internal atau eksternal statis bagi instance VM yang ada dan yang akan datang dalam grup, konfigurasikan dalam kebijakan stateful.
Saat Anda menambahkan konfigurasi alamat IP stateful ke kebijakan stateful grup, MIG akan menerapkan konfigurasi dengan cara berikut:
- Untuk instance baru, MIG otomatis menetapkan dan mencadangkan alamat IP statis.
- Untuk instance yang sudah ada, MIG mempromosikan penggunaan sementara alamat IP internal atau eksternal ke alamat statis dengan melakukan reservasi alamat IP statis yang sesuai.
Untuk instance yang ada tanpa alamat IP eksternal, MIG menetapkan dan mencadangkan alamat IP statis, serta menambahkan konfigurasi akses ke antarmuka jaringan yang sesuai dengan nilai default berikut:
"accessConfigs": [ { "kind": "compute#accessConfig", "name": "External NAT", "natIP": "XX.XX.XX.XX", "networkTier": "PREMIUM", "type": "ONE_TO_ONE_NAT" } ]
Untuk mencadangkan alamat IP statis, MIG akan membuat resource Address.
Mengonfigurasi alamat IP stateful pada pembuatan MIG
Gunakan Konsol Google Cloud, gcloud CLI, Terraform, atau REST.
Konsol
Di Konsol Google Cloud, buka halaman Instance groups.
Pilih project Anda lalu klik Continue.
Klik Create grup instance.
Pilih New managed instance group (stateful).
Tentukan Name untuk grup instance.
Pilih sebuah Instance template.
Di bagian Number of instances, tentukan jumlah instance yang ingin Anda sertakan dalam grup instance terkelola.
Di bagian Stateful configuration, luaskan IP Eksternal dan IP Internal yang ingin Anda jadikan stateful.
- Di bagian Stateful, pilih Ya.
- Dari menu drop-down On bulk instance Deletion, pilih tindakan yang akan dilakukan pada alamat IP stateful saat instance VM dihapus. Opsi yang tersedia adalah:
- Detach IP: (Default.) Membatalkan penetapan alamat saat penghapusan instance dan menjaga alamat tetap dicadangkan.
- Delete IP: Menghapus reservasi alamat IP statis saat instance dihapus secara permanen dari grup instance, misalnya, saat Anda menghapus instance secara manual atau mengurangi ukuran grup.
- Setelah Anda menyelesaikan konfigurasi stateful, klik Done.
Klik Create.
gcloud
Saat membuat MIG, untuk menentukan alamat IP mana di antarmuka jaringan dari template instance yang harus stateful, gunakan satu atau beberapa flag berikut dengan perintah gcloud compute instance-groups managed create
:
--stateful-internal-ip
untuk menandai alamat IP internal dari antarmuka jaringan tertentu sebagai stateful.--stateful-external-ip
untuk menandai alamat IP eksternal dari antarmuka jaringan tertentu sebagai stateful.
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template INSTANCE_TEMPLATE \ --size SIZE \ --instance-redistribution-type NONE \ --stateful-internal-ip [enabled | interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip [enabled | interface-name=NI_NAME][,auto-delete=DELETE_RULE]
Ganti kode berikut:
- INSTANCE_GROUP_NAME: Nama MIG yang akan dibuat.
- INSTANCE_TEMPLATE: Nama template instance yang akan digunakan saat membuat instance baru.
- SIZE: Jumlah awal instance yang Anda perlukan dalam grup ini.
- NI_NAME: (Opsional.) Nama antarmuka jaringan. Jika tidak diberikan, maka opsi
enabled
akan diperlukan dan antarmuka jaringan utama bernamanic0
akan digunakan secara default. Jika memiliki beberapa antarmuka jaringan, Anda dapat menentukan flag ini untuk setiap IP di setiap antarmuka jaringan. DELETE_RULE: (Opsional.) Menentukan apa yang akan terjadi pada resource Address statis yang terkait saat instance VM dihapus secara permanen. Opsi yang tersedia adalah sebagai berikut:
never
: (Default.) Jangan pernah menghapus alamat IP statis. Sebagai gantinya, batalkan penetapan alamat saat penghapusan instance dan pertahankan alamat tersebut.on-permanent-instance-deletion
: Menghapus reservasi alamat IP statis saat instance dihapus secara permanen dari grup instance, misalnya, saat Anda menghapus instance secara manual atau mengurangi ukuran grup.
Terlepas dari nilai aturan hapus, grup selalu mempertahankan alamat IP stateful pada operasi autohealing, update, dan pembuatan ulang instance.
Contoh
Anda perlu membuat grup regional instance VM dengan alamat IP internal statis untuk jaringan default dan kustom, serta alamat IP eksternal statis hanya untuk jaringan default. Anda ingin alamat ditetapkan secara otomatis, tetapi perlu mempertahankannya melalui peristiwa autohealing, pembaruan, dan pembuatan ulang instance. Anda menyimpan konfigurasi instance dalam template instance bernama node-template
.
Untuk membuat skrip yang dimaksud, jalankan perintah berikut:
gcloud compute instance-groups managed create example-group \ --region us-east1 \ --template node-template \ --base-instance-name node \ --instance-redistribution-type NONE \ --size 3 \ --stateful-internal-ip interface-name=nic0,auto-delete=on-permanent-instance-deletion --stateful-internal-ip interface-name=nic1,auto-delete=on-permanent-instance-deletion --stateful-external-ip enabled,auto-delete=on-permanent-instance-deletion
IP internal dalam antarmuka jaringan nic0
dan nic1
serta IP eksternal dalam antarmuka jaringan nic0
dikonfigurasi sebagai stateful untuk semua instance dalam grup. Grup akan otomatis mencadangkan alamat IP internal dan eksternal statis untuk setiap instance. Karena flag auto-delete
disetel ke on-permanent-instance-deletion
, grup akan otomatis menghapus reservasi alamat IP statis saat Anda menghapus instance terkait atau seluruh grup.
Untuk memverifikasi bahwa IP internal dalam antarmuka jaringan nic0
dan nic1
serta IP eksternal dalam antarmuka jaringan nic0
dikonfigurasi sebagai stateful, jalankan perintah berikut:
gcloud compute instance-groups managed describe example-group \ --zone us-east1-c
Outputnya akan terlihat seperti berikut:
baseInstanceName: node ... name: example-group ... statefulPolicy: preservedState: internalIPs: nic0: autoDelete: ON_PERMANENT_INSTANCE_DELETION nic1: autoDelete: ON_PERMANENT_INSTANCE_DELETION externalIPs: nic0: autoDelete: ON_PERMANENT_INSTANCE_DELETION ...
Anda dapat melihat bahwa kebijakan stateful grup mendeklarasikan IP internal dalam antarmuka jaringan nic0
dan nic1
serta IP eksternal dalam antarmuka jaringan nic0
sebagai stateful dengan aturan untuk menghapus IP statis reservasi saat penghapusan instance permanen.
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.
Saat membuat MIG, untuk menentukan alamat IP mana dalam antarmuka jaringan dari template instance yang harus stateful, gunakan satu atau beberapa blok berikut:
stateful_internal_ip
untuk menandai alamat IP internal antarmuka jaringan tertentu sebagai stateful.stateful_external_ip
untuk menandai alamat IP eksternal antarmuka jaringan tertentu sebagai stateful.
Contoh berikut mengonfigurasi alamat IP stateful saat membuat
MIG regional. Untuk mengetahui informasi selengkapnya tentang
resource yang digunakan dalam contoh, lihat resource
google_compute_region_instance_group_manager
.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
REST
Saat membuat MIG, untuk menentukan alamat IP mana dalam antarmuka jaringan dari template instance yang harus stateful, sertakan alamat tersebut dalam kolom statefulPolicy
di dalam isi permintaan instanceGroupManagers.insert
atau metode regionInstanceGroupManagers.insert
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "versions": [ { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE" } ], "targetSize": SIZE, "statefulPolicy": { "preservedState": { "internalIPs": { "NI_NAME": {"autoDelete": "DELETE_RULE" } }, "externalIPs": { "NI_NAME": {"autoDelete": "DELETE_RULE" } } } }, "updatePolicy": { "instanceRedistributionType": "NONE" } }
Ganti kode berikut:
- PROJECT: Project ID untuk permintaan.
- REGION: Untuk MIG regional, region tempat
grup berada. Untuk MIG zona, ganti
regions/REGION
denganzones/ZONE
dan tentukan zona tempat MIG berada. - NAME: Nama MIG yang akan dibuat.
- INSTANCE_TEMPLATE: Nama template instance yang akan digunakan saat membuat instance baru.
- SIZE: Jumlah awal instance yang Anda perlukan dalam grup ini.
- NI_NAME: (Opsional.) Nama antarmuka jaringan. Jika tidak diberikan, maka opsi
enabled
akan diperlukan dan antarmuka jaringan utama bernamanic0
akan digunakan secara default. Jika memiliki beberapa antarmuka jaringan, Anda dapat menentukan beberapa NI_NAMES. DELETE_RULE: (Opsional) Menentukan apa yang harus terjadi pada resource Address statis yang terkait saat instance VM dihapus secara permanen. Opsi yang tersedia adalah sebagai berikut:
NEVER
: (Default) Jangan pernah menghapus alamat IP statis. Sebagai gantinya, batalkan penetapan alamat saat penghapusan instance dan pertahankan alamat tersebut.ON_PERMANENT_INSTANCE_DELETION
: Menghapus reservasi alamat IP statis saat instance dihapus secara permanen dari grup instance, misalnya, saat Anda menghapus instance secara manual atau mengurangi ukuran grup.
Terlepas dari nilai aturan hapus, grup selalu mempertahankan alamat IP stateful pada operasi autohealing, update, dan pembuatan ulang instance.
Contoh
Anda perlu membuat grup instance VM regional dengan alamat IP internal statis untuk jaringan default dan kustom, serta alamat IP eksternal statis hanya untuk jaringan default. Anda ingin alamat ditetapkan secara otomatis, tetapi perlu mempertahankannya melalui peristiwa autohealing, pembaruan, dan pembuatan ulang instance. Anda menyimpan konfigurasi instance dalam template instance bernama node-template
.
Untuk membuat grup, gunakan metode regionInstanceGroupManagers.insert
:
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers { "name": "example-group", "baseInstanceName": "node", "versions": [ { "instanceTemplate": "global/instanceTemplates/node-template" } ], "targetSize": 3, "statefulPolicy": { "preservedState": { "internalIPs": { "nic0": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" }, "nic1": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } "externalIPs": { "nic0": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } } }, "updatePolicy": { "instanceRedistributionType": "NONE" } }
IP internal dalam antarmuka jaringan nic0
dan nic1
serta IP eksternal dalam antarmuka jaringan nic0
dikonfigurasi sebagai stateful untuk semua instance dalam grup. Grup akan otomatis mencadangkan alamat IP internal dan eksternal statis untuk setiap instance. Karena kolom auto-delete
ditetapkan ke ON_PERMANENT_INSTANCE_DELETION
, grup akan otomatis menghapus reservasi alamat IP statis saat Anda menghapus instance terkait atau seluruh grup.
Gunakan metode regionInstanceGroupManagers.get
untuk memverifikasi bahwa IP internal dalam antarmuka jaringan nic0
dan nic1
serta IP eksternal dalam antarmuka jaringan nic0
telah dikonfigurasi dalam kebijakan stateful dari resource regionInstanceGroupManagers
yang baru:
GET https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group
Responsnya berisi kebijakan stateful yang dikonfigurasi:
{ "name": "example-group", "baseInstanceName": "node", ... "statefulPolicy": { "preservedState": { "internalIPs": { "nic0": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" }, "nic1": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } "externalIPs": { "nic0": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } } } ... }
Anda dapat melihat bahwa kebijakan stateful grup mendeklarasikan IP internal dalam nic0
dan pada antarmuka jaringan nic1
dan IP eksternal dalam antarmuka jaringan nic0
sebagai stateful dengan aturan untuk menghapus reservasi alamat IP statis terkait saat penghapusan instance permanen.
Menetapkan dan memperbarui konfigurasi stateful untuk alamat IP di MIG yang ada
Jika Anda menjalankan beban kerja pada MIG stateless (MIG tanpa konfigurasi stateful) dan beban kerja memerlukan alamat IP statis, Anda dapat mengonfigurasi alamat IP yang sudah ditetapkan ke instance VM terkelola agar menjadi stateful. Hal ini memastikan bahwa alamat IP VM yang ada dipertahankan saat peristiwa autohealing, update, dan pembuatan ulang instance. Secara opsional, Anda dapat mempertahankan reservasi alamat IP statis setelah instance dihapus.
Dengan mengonfigurasi kebijakan stateful untuk alamat IP di MIG yang ada, Anda dapat melakukan hal berikut:
- Mengonfigurasikan alamat IP sebagai stateful untuk semua instance yang ada dan yang akan datang dalam grup. Hal ini akan mempromosikan alamat IP sementara yang sesuai dari semua instance yang ada ke alamat IP statis.
- Perbarui konfigurasi stateful yang ada untuk alamat IP.
MIG menerapkan konfigurasi yang telah diperbarui dalam kebijakan stateful secara otomatis dan asinkron ke semua instance. Pembaruan pada konfigurasi alamat IP dalam kebijakan stateful tidak akan mengganggu pengoperasian instance VM. Untuk mempelajari lebih lanjut, baca cara menerapkan pembaruan kebijakan stateful.
Konsol
Di Konsol Google Cloud, buka halaman Instance groups.
Klik nama grup instance yang alamat IP stateful-nya ingin Anda tentukan.
Klik Edit untuk mengubah grup instance terkelola.
Di bagian Stateful configuration, luaskan IP Eksternal dan Internal IP yang ingin Anda jadikan stateful.
- Di bagian Stateful, pilih Ya.
- Dari menu drop-down On bulk instance Deletion, pilih tindakan yang akan dilakukan pada alamat IP stateful saat instance VM dihapus. Opsi yang tersedia adalah:
- Detach IP: (Default.) Membatalkan penetapan alamat saat penghapusan instance dan menjaga alamat tetap dicadangkan.
- Delete IP: Menghapus reservasi alamat IP statis saat instance dihapus secara permanen dari grup instance—misalnya, saat Anda menghapus instance secara manual atau mengurangi ukuran grup.
- Setelah Anda memperbarui konfigurasi stateful, klik Done.
- Klik Save untuk menyelesaikan update.
gcloud
Untuk menentukan alamat IP mana yang harus stateful atau untuk memperbarui konfigurasi IP stateful untuk MIG yang ada, gunakan satu atau beberapa flag --stateful-internal-ip
atau --stateful-external-ip
dengan perintah gcloud compute instance-groups managed update
.
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --stateful-internal-ip [enabled | interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip [enabled | interface-name=NI_NAME][,auto-delete=DELETE_RULE]
Ganti kode berikut:
- INSTANCE_GROUP_NAME: Nama MIG yang akan diupdate.
- NI_NAME: (Opsional.) Nama antarmuka jaringan. Jika tidak diberikan, maka opsi
enabled
akan diperlukan dan antarmuka jaringan utama bernamanic0
akan digunakan secara default. Jika memiliki beberapa antarmuka jaringan, Anda dapat menentukan flag ini untuk setiap IP di setiap antarmuka jaringan. DELETE_RULE: (Opsional.) Menentukan apa yang akan terjadi pada resource Address statis yang terkait saat instance VM dihapus secara permanen. Opsi yang tersedia adalah sebagai berikut:
never
: (Default.) Jangan pernah menghapus alamat IP statis. Sebagai gantinya, batalkan penetapan alamat saat penghapusan instance dan pertahankan alamat tersebut.on-permanent-instance-deletion
: Menghapus reservasi alamat IP statis saat instance dihapus secara permanen dari grup instance, misalnya, saat Anda menghapus instance secara manual atau mengurangi ukuran grup.
Terlepas dari nilai aturan hapus, grup selalu mempertahankan alamat IP stateful pada operasi autohealing, update, dan pembuatan ulang instance.
Jika alamat IP yang ditentukan sudah dikonfigurasi dalam kebijakan stateful untuk antarmuka jaringan tertentu, perintah akan memperbarui konfigurasi.
Contoh
Anda harus mengekspos server file, yang berjalan di MIG stateful bernama example-fs-group
, kepada pengguna eksternal melalui alamat IP eksternal statis.
Instance dalam grup memiliki alamat IP eksternal sementara.
Anda harus memastikan bahwa alamat IP dipertahankan saat autohealing instance dan update sehingga pengguna eksternal memiliki akses berkelanjutan ke server melalui alamat IP yang dipublikasikan. Anda juga harus menjaga alamat IP tetap dicadangkan untuk kontinuitas jika terjadi penghapusan grup yang tidak diinginkan.
Perbarui MIG untuk menentukan alamat IP eksternal sebagai stateful dengan menggunakan perintah berikut:
gcloud compute instance-groups managed update example-fs-group \ --stateful-external-ip enabled
Akibatnya, grup ini mempromosikan alamat IP eksternal sementara dalam antarmuka jaringan nic0
ke alamat IP statis untuk semua instance terkelola secara asinkron.
Alamat IP eksternal kini dipertahankan saat peristiwa autohealing, update,
dan pembuatan ulang instance. Reservasi alamat IP statis terkait tidak ditetapkan dan dipertahankan saat instance dihapus karena aturan auto-delete
yang tidak ditentukan ditetapkan ke never
secara default.
Anda dapat memverifikasi bahwa IP eksternal stateful telah dikonfigurasi dalam kebijakan stateful dengan menjalankan perintah gcloud compute instance-groups managed describe example-fs-group
.
REST
Untuk menentukan alamat IP mana yang harus stateful atau untuk memperbarui konfigurasi IP stateful untuk MIG yang ada, gunakan metode instanceGroupManagers.patch
atau regionInstanceGroupManagers.patch
:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "statefulPolicy": { "preservedState": { "internalIPs": { "NI_NAME": {"autoDelete": "DELETE_RULE" } }, "externalIPs": { "NI_NAME": {"autoDelete": "DELETE_RULE" } } } } }
Ganti kode berikut:
- PROJECT: Project ID untuk permintaan.
- REGION: Untuk MIG regional, region tempat
grup berada. Untuk MIG zona, ganti
regions/REGION
denganzones/ZONE
dan tentukan zona tempat MIG berada. - NAME: Nama MIG yang akan dibuat.
- NI_NAME: (Wajib) Nama antarmuka jaringan. Antarmuka jaringan utama diberi nama
nic0
. Jika memiliki beberapa antarmuka jaringan, Anda dapat menentukan beberapa NI_NAMES. DELETE_RULE: (Opsional) Menentukan apa yang harus terjadi pada resource Address statis yang terkait saat instance VM dihapus secara permanen. Opsi yang tersedia adalah sebagai berikut:
NEVER
: (Default) Jangan pernah menghapus alamat IP statis. Sebagai gantinya, batalkan penetapan alamat saat penghapusan instance dan pertahankan alamat tersebut.ON_PERMANENT_INSTANCE_DELETION
: Menghapus reservasi alamat IP statis saat instance dihapus secara permanen dari grup instance, misalnya, saat Anda menghapus instance secara manual atau mengurangi ukuran grup.
Terlepas dari nilai aturan hapus, grup selalu mempertahankan alamat IP stateful pada operasi autohealing, update, dan pembuatan ulang instance.
Jika alamat IP yang ditentukan sudah dikonfigurasi dalam kebijakan stateful, metode ini akan men-patch konfigurasi.
Contoh
Anda harus mengekspos server file, yang berjalan di MIG stateful bernama example-fs-group
, kepada pengguna eksternal melalui alamat IP eksternal statis.
Instance dalam grup memiliki alamat IP eksternal sementara.
Anda harus memastikan bahwa alamat IP dipertahankan saat autohealing instance dan update sehingga pengguna eksternal memiliki akses berkelanjutan ke server melalui antarmuka jaringan yang dipublikasikan. Anda juga harus menjaga alamat IP tetap dicadangkan untuk kontinuitas jika terjadi penghapusan grup yang tidak diinginkan.
Lakukan patch pada MIG untuk menentukan alamat IP eksternal sebagai stateful:
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-fs-group { "statefulPolicy": { "preservedState": { "externalIPs": { "nic0": {"autoDelete": "NEVER" } } } } }
Akibatnya, grup ini mempromosikan alamat IP eksternal sementara dalam antarmuka jaringan nic0
ke alamat IP statis untuk semua instance terkelola secara asinkron.
Alamat IP eksternal kini dipertahankan saat peristiwa autohealing, update,
dan pembuatan ulang instance. Reservasi alamat IP statis terkait tidak akan ditetapkan dan dipertahankan saat instance dihapus karena aturan autoDelete
disetel ke NEVER
.
Verifikasi bahwa alamat IP eksternal dikonfigurasi dalam kebijakan stateful dengan melihat resource regionInstanceGroupManagers
, yang ditampilkan oleh metode regionInstanceGroupManagers.get
.
Mendeklarasikan alamat IP stateful sebelumnya sebagai stateless
Anda mungkin perlu mengonfigurasi alamat IP stateful agar bersifat sementara, misalnya, karena alasan berikut:
- Anda merancang ulang aplikasi agar tidak lagi mengandalkan alamat IP statis.
- Anda tidak sengaja mengonfigurasi IP agar menjadi stateful dan ingin mengembalikannya.
Anda dapat menghapus konfigurasi IP stateful dari kebijakan stateful grup untuk mendeklarasikan alamat IP dalam antarmuka jaringan tertentu sebagai sementara untuk semua instance terkelola.
Saat Anda menghapus konfigurasi IP stateful dari kebijakan stateful, MIG akan menghapus alamat IP secara otomatis dan asinkron dari status yang dipertahankan dari semua instance dalam grup. Operasi ini tidak akan mengganggu instance VM yang berjalan. Alamat IP tetap aktif di instance, tetapi tidak lagi stateful. Saat Anda membuat ulang atau mengupdate instance, atau saat instance di-autohealing, MIG membatalkan penetapan alamat IP statis terkait dan otomatis menetapkan alamat sementara. Jika tidak perlu lagi menyimpan reservasi alamat IP eksternal statis, sekarang Anda dapat melepaskannya.
Untuk mempelajari lebih lanjut, baca dokumen berikut:
- Bagaimana penghapusan resource dari kebijakan stateful memengaruhi status yang dipertahankan.
- Menerapkan pembaruan kebijakan stateful.
Konsol
Di Konsol Google Cloud, buka halaman Instance groups.
Klik nama grup instance tempat Anda ingin menghapus konfigurasi stateful untuk alamat IP-nya.
Klik Edit untuk mengubah grup instance terkelola.
Di bagian Stateful configuration, luaskan IP Eksternal dan IP Internal yang ingin dijadikan stateless.
- Ubah opsi Stateful menjadi No.
- Klik Done.
Setelah melakukan perubahan, klik Save.
gcloud
Untuk menentukan alamat IP mana dari kebijakan stateful MIG guna dibuat sementara, gunakan flag --remove-stateful-internal-ips
atau --remove-stateful-external-ips
dengan perintah gcloud compute instance-groups managed update
:
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --remove-stateful-internal-ips NI_NAME[,NI_NAME,...] \ --remove-stateful-external-ips NI_NAME[,NI_NAME,...]
Ganti kode berikut:
- INSTANCE_GROUP_NAME: Nama MIG yang akan diupdate.
- NI_NAME: (Wajib.) Nama antarmuka jaringan. Antarmuka jaringan utama diberi nama
nic0
. Jika memiliki beberapa antarmuka jaringan, Anda dapat menentukan beberapa NI_NAMES.
Jika perlu mengubah alamat IP stateful dari antarmuka jaringan utama default bernama nic0
menjadi alamat IP sementara, Anda juga dapat menggunakan perintah berikut:
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --stateful-internal-ip disabled \ --stateful-external-ip disabled
Contoh
Aplikasi Anda telah diekspos kepada pengguna melalui alamat IP eksternal statis yang dipublikasikan dari instance VM dalam MIG yang disebut example-group
.
Anda telah mendesain ulang layanan dengan men-deploy load balancer di depan MIG dan mengarahkan traffic ke VM terkelola melalui MIG tersebut.
Anda tidak perlu lagi mempertahankan alamat IP eksternal statis dan ingin membuat alamat IP eksternal VM bersifat sementara.
Untuk membuat alamat IP eksternal stateful pada VM dalam sementara MIG, jalankan perintah berikut:
gcloud compute instance-groups managed update example-group \ --remove-stateful-external-ips nic0
MIG menghapus alamat IP eksternal statis antarmuka jaringan nic0
secara otomatis dan asinkron dari status yang dipertahankan untuk semua instance dalam grup. Alamat IP eksternal tetap aktif di instance, tetapi tidak lagi stateful. Saat Anda membuat ulang atau mengupdate instance, atau saat instance di-autohealing, MIG membatalkan penetapan alamat IP statis terkait dan otomatis menetapkan alamat sementara. Jika tidak perlu lagi menyimpan reservasi alamat IP eksternal statis, sekarang Anda dapat melepaskannya.
REST
Untuk menentukan alamat IP mana dari kebijakan stateful MIG agar dapat dibuat sementara, hapus setiap konfigurasi IP dari kebijakan stateful MIG menggunakan metode instanceGroupManagers.patch
atau regionInstanceGroupManagers.patch
:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "statefulPolicy": { "preservedState": { "internalIPs": { "NI_NAME": null }, "externalIPs": { "NI_NAME": null } } } }
Ganti kode berikut:
- PROJECT: Project ID untuk permintaan.
- REGION: Untuk MIG regional, region tempat
grup berada. Untuk MIG zona, ganti
regions/REGION
denganzones/ZONE
dan tentukan zona tempat MIG berada. - INSTANCE_GROUP_NAME: Nama MIG yang akan dibuat.
- NI_NAME: (Wajib) Nama antarmuka jaringan. Antarmuka jaringan utama diberi nama
nic0
. Jika memiliki beberapa antarmuka jaringan, Anda dapat menentukan beberapa NI_NAMES.
Contoh
Aplikasi Anda telah diekspos kepada pengguna melalui alamat IP eksternal statis yang dipublikasikan dari instance VM dalam MIG yang disebut example-group
. Anda telah mendesain ulang layanan dengan men-deploy load balancer di depan MIG dan mengarahkan traffic ke VM terkelola melalui MIG tersebut. Anda tidak perlu lagi mempertahankan alamat IP eksternal statis dan ingin membuat alamat IP eksternal VM bersifat sementara.
Untuk membuat alamat IP eksternal stateful pada VM dalam sementara MIG, lakukan patch MIG:
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group { "statefulPolicy": { "preservedState": { "externalIPs": { "nic0": null } } } }
MIG menghapus alamat IP eksternal statis antarmuka jaringan nic0
secara otomatis dan asinkron dari status yang dipertahankan untuk semua instance dalam grup. Alamat IP eksternal tetap aktif di instance, tetapi tidak lagi stateful. Saat Anda membuat ulang atau mengupdate instance, atau saat instance di-autohealing, MIG membatalkan penetapan alamat IP statis terkait dan otomatis menetapkan alamat sementara.
Jika tidak perlu lagi menyimpan reservasi alamat IP eksternal statis, sekarang Anda dapat melepaskannya.
Mengonfigurasi alamat IP stateful secara individual untuk VM di MIG
Mengonfigurasi alamat IP stateful satu per satu untuk VM di MIG berguna dalam skenario berikut:
- Memigrasikan beban kerja yang ada (dengan membawa alamat IP statis yang dicadangkan yang sudah ada) dari instance VM mandiri ke MIG stateful untuk mendapatkan manfaat dari autohealing dan update otomatis.
- Menetapkan alamat IP statis khusus yang dicadangkan yang diperlukan oleh arsitektur atau konfigurasi beban kerja.
Mengonfigurasi alamat IP statis pada pembuatan VM di MIG
Anda dapat mencadangkan dan menetapkan alamat IP statis ke instance tertentu saat membuat instance tersebut satu per satu di MIG. Hal ini berguna untuk memigrasikan aplikasi stateful dari VM mandiri yang ada ke MIG stateful dalam situasi saat arsitektur, konfigurasi, atau pengguna mengandalkan alamat IP statis tertentu.
Saat Anda membuat instance di MIG secara manual dan memberikan alamat IP statis, MIG akan melakukan tindakan berikut:
- Membuat reservasi alamat IP internal atau eksternal statis untuk alamat IP yang diberikan jika belum ada ini.
- Membuat instance dari template instance menggunakan nama instance dan alamat IP yang diberikan.
- Membuat konfigurasi per instance dengan konfigurasi stateful yang disediakan untuk alamat IP.
gcloud
Untuk membuat instance dengan alamat IP statis yang telah ditetapkan, gunakan perintah gcloud compute instance-groups managed create-instance
dengan satu atau beberapa flag berikut:
--stateful-internal-ip
untuk menetapkan alamat IP internal statis antarmuka jaringan tertentu.--stateful-external-ip
untuk menyetel alamat IP eksternal statis dari antarmuka jaringan tertentu.
gcloud compute instance-groups managed create-instance INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME \ --stateful-internal-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE]
Ganti kode berikut:
- INSTANCE_GROUP_NAME: Nama MIG.
- INSTANCE_NAME: Nama instance yang akan dibuat.
- NI_NAME: (Opsional.) Nama antarmuka jaringan. Jika tidak diberikan, antarmuka jaringan utama yang bernama
nic0
diasumsikan secara default. Jika memiliki beberapa antarmuka jaringan, Anda dapat menentukan flag ini untuk setiap IP di setiap antarmuka jaringan. ADDRESS: (Wajib.) Alamat IP statis yang akan ditetapkan ke instance dalam salah satu format berikut:
- Address. URL reservasi alamat IP statis, misalnya:
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. - Literal–misalnya:
"130.211.181.55"
.- Jika alamat IP yang diberikan belum dicadangkan, MIG akan otomatis membuat pencadangan alamat IP yang sesuai.
- Jika alamat IP yang diberikan dicadangkan, MIG akan menetapkan reservasi ke instance tersebut.
- Address. URL reservasi alamat IP statis, misalnya:
DELETE_RULE: (Opsional.) Menentukan apa yang akan terjadi pada resource Address statis yang terkait saat instance VM dihapus secara permanen. Opsi yang tersedia adalah sebagai berikut:
never
: (Default.) Jangan pernah menghapus alamat IP statis. Sebagai gantinya, batalkan penetapan alamat saat penghapusan instance dan pertahankan alamat tersebut.on-permanent-instance-deletion
: Menghapus reservasi alamat IP statis saat instance dihapus secara permanen dari grup instance, misalnya, saat Anda menghapus instance secara manual atau mengurangi ukuran grup.
Terlepas dari nilai aturan hapus, grup selalu mempertahankan alamat IP stateful pada operasi autohealing, update, dan pembuatan ulang instance.
Contoh
Anda perlu menambahkan satu instance VM lagi ke cluster server proxy, yang berjalan pada MIG bernama proxy-cluster
. Anda telah membuat reservasi
alamat IP internal
statis bernama proxy-node-03-ip
dan perlu menetapkannya ke node baru. Anda perlu mempertahankan reservasi alamat IP meskipun memutuskan untuk menghapus node di masa mendatang.
Jalankan perintah berikut untuk membuat node-nya:
gcloud compute instance-groups managed create-instance proxy-cluster \ --instance proxy-node-03 \ --stateful-internal-ip address="projects/example-project/regions/us-east1/addresses/proxy-node-03-ip",auto-delete=never
Perintah tersebut membuat instance bernama proxy-node-03
, menetapkan alamat IP internal statis yang disediakan bernama proxy-node-03-ip
ke instance, dan menyimpan konfigurasi stateful untuk IP di bagian konfigurasi per instance.
Karena tanda auto-delete
disetel ke never
, IP akan tetap dicadangkan jika Anda menghapus instance nanti.
Terraform
Untuk membuat VM dengan alamat IP statis yang telah ditetapkan sebelumnya, gunakan satu atau beberapa blok berikut:
preserved_state.internal_ip
untuk menandai alamat IP internal dari antarmuka jaringan tertentu sebagai stateful.preserved_state.external_ip
untuk menandai alamat IP eksternal dari antarmuka jaringan tertentu sebagai stateful.
Contoh berikut mengonfigurasi alamat IP statis pada pembuatan VM di MIG regional. Untuk mengetahui informasi selengkapnya tentang
resource yang digunakan dalam contoh, lihat resource
google_compute_region_per_instance_config
.
Untuk MIG zona, gunakan
resource google_compute_per_instance_config
.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
REST
Untuk membuat satu atau beberapa instance di MIG, menetapkan nama instance kustom, dan menetapkan alamat IP statis yang telah ditetapkan ke instance tersebut, gunakan metode instanceGroupManagers.createInstances
atau regionInstanceGroupManagers.createInstances
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/createInstances { "instances": [ { "name": "INSTANCE_NAME", "preservedState" : { "internalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, "externalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, ... } }, ... ] }
Ganti kode berikut:
- PROJECT_ID: Project ID untuk permintaan.
- NAME: Nama MIG.
- REGION: Untuk MIG regional, region tempat
grup berada. Untuk MIG zona, ganti
regions/REGION
denganzones/ZONE
dan tentukan zona tempat MIG berada. - INSTANCE_NAME: Nama instance yang akan dibuat.
- NI_NAME: (Wajib.) Nama antarmuka jaringan. Antarmuka jaringan utama diberi nama
nic0
. Jika memiliki beberapa antarmuka jaringan, Anda dapat menentukan beberapa NI_NAMES. - ADDRESS: (Opsional.) Alamat IP statis yang akan ditetapkan ke instance dalam format URL reservasi alamat IP statis, misalnya:
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. Anda harus dan hanya dapat menetapkan satu kolom pada satu waktu, baikaddress
atauliteral
, saat menetapkan alamat IP statis. - LITERAL: (Opsional.) Alamat IP statis yang akan ditetapkan ke instance dalam format literal, misalnya:
"130.211.181.55"
. Anda harus dan hanya dapat menetapkan satu kolom pada satu waktu, baikaddress
atauliteral
, saat menetapkan alamat IP statis.- Jika alamat IP literal yang diberikan belum dicadangkan, MIG akan otomatis membuat pencadangan alamat IP yang sesuai.
- Jika alamat IP literal yang diberikan dicadangkan, MIG akan menetapkan reservasi ke instance.
DELETE_RULE: (Opsional.) Menentukan apa yang akan terjadi pada resource Address statis yang terkait saat instance VM dihapus secara permanen. Opsi yang tersedia adalah sebagai berikut:
NEVER
: (Default.) Jangan pernah menghapus alamat IP statis. Sebagai gantinya, batalkan penetapan alamat saat penghapusan instance dan pertahankan alamat tersebut.ON_PERMANENT_INSTANCE_DELETION
: Menghapus reservasi alamat IP statis saat instance dihapus secara permanen dari grup instance, misalnya, saat Anda menghapus instance secara manual atau mengurangi ukuran grup.
Terlepas dari nilai aturan hapus, grup selalu mempertahankan alamat IP stateful pada operasi autohealing, update, dan pembuatan ulang instance.
Contoh
Anda perlu menambahkan satu instance VM lagi ke cluster server proxy, yang berjalan pada MIG bernama proxy-cluster
. Anda telah membuat reservasi
alamat IP internal
statis bernama proxy-node-03-ip
dan perlu menetapkannya ke node baru. Anda perlu mempertahankan reservasi alamat IP meskipun memutuskan untuk menghapus node di masa mendatang.
Panggil metode regionInstanceGroupManagers.createInstances
untuk membuat instance tambahan:
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/proxy-cluster/createInstances { "instances": [ { "name": "proxy-node-03", "preservedState" : { "internalIPs": { "nic0" : { "ipAddress": { "address": "projects/example-project/regions/us-east1/addresses/proxy-node-03-ip" }, "autoDelete": "NEVER" } } } } ] }
Metode ini membuat instance bernama proxy-node-03
, menetapkan alamat IP internal statis yang disediakan bernama proxy-node-03-ip
ke instance, dan menyimpan konfigurasi stateful untuk IP di bagian konfigurasi per instance.
Karena kolom autoDelete
disetel ke NEVER
, IP akan tetap dicadangkan jika Anda menghapus instance di lain waktu.
Mengonfigurasi alamat IP statis untuk VM yang ada di MIG
Anda dapat menetapkan alamat IP statis yang telah ditetapkan atau mengupdate konfigurasi IP stateful untuk instance terkelola satu per satu, misalnya:
- Menetapkan alamat IP statis ke instance yang ada di MIG. Untuk IP eksternal statis, operasi ini memerlukan pemuatan ulang instance, dan untuk IP internal statis, operasi ini memerlukan pembuatan ulang instance.
- Perbarui aturan penghapusan untuk alamat IP statis yang sudah ditetapkan. Operasi ini dapat dilakukan tanpa mengganggu instance yang sedang berjalan.
Untuk instance yang ada tanpa alamat IP eksternal, tempat Anda mengonfigurasi IP stateful eksternal, MIG akan menambahkan konfigurasi akses ke antarmuka jaringan yang sesuai dengan nilai default berikut:
"accessConfigs": [ { "kind": "compute#accessConfig", "name": "External Nat", "natIP": "XX.XX.XX.XX", "networkTier": "PREMIUM", "type": "ONE_TO_ONE_NAT" } ]
gcloud
Untuk mengonfigurasi alamat IP stateful satu per satu untuk instance VM di MIG, tambahkan atau perbarui konfigurasi IP stateful dalam konfigurasi per instance yang terkait.
Jika konfigurasi per instance belum ada untuk instance tersebut, gunakan perintah gcloud compute instance-groups managed instance-configs create
dengan satu atau beberapa flag berikut:
--stateful-internal-ip
untuk menetapkan alamat IP internal statis antarmuka jaringan tertentu.--stateful-external-ip
untuk menyetel alamat IP eksternal statis dari antarmuka jaringan tertentu.
gcloud compute instance-groups managed instance-configs create INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME \ --stateful-internal-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ [--no-update-instance | --update-instance] [--instance-update-minimal-action MINIMAL_ACTION]
Jika konfigurasi per instance sudah ada untuk instance, gunakan perintah gcloud compute instance-groups managed instance-configs update
dengan satu atau beberapa flag --stateful-internal-ip
atau --stateful-external-ip
:
gcloud compute instance-groups managed instance-configs update INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME \ --stateful-internal-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ [--no-update-instance | --update-instance] [--instance-update-minimal-action MINIMAL_ACTION]
Ganti kode berikut:
- INSTANCE_GROUP_NAME: Nama MIG.
- INSTANCE_NAME: Nama instance tempat mengonfigurasi alamat IP stateful.
- NI_NAME: (Opsional.) Nama antarmuka jaringan. Jika tidak diberikan, antarmuka jaringan utama yang bernama
nic0
diasumsikan secara default. Jika memiliki beberapa antarmuka jaringan, Anda dapat menentukan flag ini untuk setiap IP di setiap antarmuka jaringan. - ADDRESS: Alamat IP statis yang akan ditetapkan ke instance dalam salah satu format berikut:
- Address. URL reservasi alamat IP statis, misalnya:
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. - Literal. Contoh:
"130.211.181.55"
.- Jika alamat IP yang diberikan belum dicadangkan, MIG akan otomatis membuat pencadangan alamat IP yang sesuai.
- Jika alamat IP yang diberikan dicadangkan, MIG akan menetapkan reservasi ke instance tersebut.
- Subflag ini bersifat opsional jika alamat sudah ditentukan dalam konfigurasi per instance untuk instance tersebut. Jika tidak, subflag akan menjadi wajib.
- Jika dihilangkan, alamat yang dikonfigurasi tetap tidak berubah.
- Address. URL reservasi alamat IP statis, misalnya:
DELETE_RULE: (Opsional.) Menentukan apa yang akan terjadi pada resource Address statis yang terkait saat instance VM dihapus secara permanen. Opsi yang tersedia adalah sebagai berikut:
never
: (Default.) Jangan pernah menghapus alamat IP statis. Sebagai gantinya, batalkan penetapan alamat saat penghapusan instance dan pertahankan alamat tersebut.on-permanent-instance-deletion
: Menghapus reservasi alamat IP statis saat instance dihapus secara permanen dari grup instance, misalnya, saat Anda menghapus instance secara manual atau mengurangi ukuran grup.- Jika dihilangkan, nilai default akan ditetapkan untuk konfigurasi IP stateful baru; nilainya tetap tidak berubah dalam konfigurasi yang ada.
Terlepas dari nilai aturan hapus, grup selalu mempertahankan alamat IP stateful pada operasi autohealing, update, dan pembuatan ulang instance.
--update-instance
: (Opsional. Default.) Segera terapkan perubahan ke instance. Jika Anda menggunakan tanda--no-update-instance
, perubahan tetap tidak diterapkan dan akan diterapkan saat Anda membuat ulang atau menerapkan update ke instance di lain waktu.MINIMAL_ACTION: (Opsional.) Lakukan setidaknya tindakan yang ditentukan saat menerapkan update konfigurasi per instance ke instance. Harus digunakan bersama dengan tanda
--update-instance
. Nilainya harus berupa salah satu dari berikut:none
: Tidak ada tindakan.refresh
: Menerapkan update yang dapat diterapkan tanpa menghentikan instance.restart
: Menghentikan instance, lalu memulainya lagi.replace
: Membuat ulang instance.
Jika dihilangkan, tindakan yang paling tidak mengganggu yang diperlukan oleh update akan digunakan.
Contoh
Anda memiliki instance server file bernama file-server
, yang merupakan satu instance dalam MIG stateful yang disebut fs-group
. Grup ini memiliki konfigurasi per instance yang sesuai, tempat disk data stateful dikonfigurasi. Server file hanya dapat diakses secara internal, tetapi sekarang Anda memiliki pengguna yang perlu mengaksesnya secara eksternal melalui alamat IP statis. Anda telah mencadangkan IP eksternal statis dengan membuat reservasi alamat file-server-ip
. Sekarang Anda perlu menetapkan IP ini ke instance server file.
Jalankan perintah berikut untuk mengonfigurasi IP eksternal stateful untuk instance server file:
gcloud compute instance-groups managed instance-configs update fs-group \ --instance file-server \ --stateful-external-ip interface-name=nic0,address="projects/example-project/regions/us-east1/addresses/file-server-ip",auto-delete=never \ --update-instance
Perintah tersebut melakukan hal berikut:
- Mengupdate konfigurasi per instance untuk instance
file-server
:- Menambahkan konfigurasi IP eksternal stateful, yang mengarah ke pencadangan alamat
file-server-ip
. - Mempertahankan konfigurasi disk data stateful yang ada agar tidak berubah.
- Menambahkan konfigurasi IP eksternal stateful, yang mengarah ke pencadangan alamat
- Menerapkan update konfigurasi per instance ke instance
file-server
segera karena tanda--update-instance
disertakan: memuat ulang instance dan menetapkan alamat IP eksternal statis dari reservasifile-server-ip
.
REST
Untuk mengonfigurasi IP stateful satu per satu untuk instance VM di MIG, tambahkan atau perbarui konfigurasi IP stateful dalam konfigurasi per instance yang terkait.
Jika konfigurasi per instance belum ada untuk instance tertentu, gunakan
metode instanceGroupManagers.updatePerInstanceConfigs
atau
metode regionInstanceGroupManagers.updatePerInstanceConfigs
dengan konfigurasi stateful untuk satu atau beberapa alamat IP:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/updatePerInstanceConfigs { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "internalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, "externalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, ... }, "fingerprint: "FINGERPRINT" }, ... ] }
Jika konfigurasi per instance sudah ada untuk instance tertentu, gunakan metode instanceGroupManagers.patchPerInstanceConfigs
atau metode regionInstanceGroupManagers.patchPerInstanceConfigs
dengan konfigurasi stateful untuk satu atau beberapa alamat IP:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "internalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, "externalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, ... }, "fingerprint: "FINGERPRINT" }, ... ] }
Ganti kode berikut:
- PROJECT_ID: Project ID untuk permintaan.
- NAME: Nama MIG.
- REGION: Untuk MIG regional, region tempat
grup berada. Untuk MIG zona, ganti
regions/REGION
denganzones/ZONE
dan tentukan zona tempat MIG berada. - INSTANCE_NAME: (Wajib.) Nama instance yang akan dikonfigurasi IP stateful-nya.
- NI_NAME: (Wajib.) Nama antarmuka jaringan. Antarmuka jaringan utama diberi nama
nic0
. Jika memiliki beberapa antarmuka jaringan, Anda dapat menentukan beberapa NI_NAMES. - ADDRESS: (Opsional.) Alamat IP statis yang akan ditetapkan ke instance dalam format URL reservasi alamat IP statis, misalnya:
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. Anda harus dan hanya dapat menetapkan satu kolom pada satu waktu, baik alamat maupun literal, saat menetapkan alamat IP statis. - LITERAL: (Opsional.) Alamat IP statis untuk ditetapkan ke instance dalam format literal. Contoh:
"130.211.181.55"
. Anda harus dan hanya dapat menetapkan satu kolom pada satu waktu, baik alamat atau literal, saat menetapkan alamat IP statis.- Jika alamat IP literal yang diberikan belum dicadangkan, MIG akan otomatis membuat pencadangan alamat IP yang sesuai.
- Jika alamat IP literal yang diberikan dicadangkan, MIG akan menetapkan reservasi ke instance.
DELETE_RULE: (Opsional.) Menentukan apa yang akan terjadi pada resource Address statis yang terkait saat instance VM dihapus secara permanen. Opsi yang tersedia adalah sebagai berikut:
NEVER
: (Default.) Jangan pernah menghapus alamat IP statis. Sebagai gantinya, batalkan penetapan alamat saat penghapusan instance dan pertahankan alamat tersebut.ON_PERMANENT_INSTANCE_DELETION
: Menghapus reservasi alamat IP statis saat instance dihapus secara permanen dari grup instance, misalnya, saat Anda menghapus instance secara manual atau mengurangi ukuran grup.- Jika dihilangkan, nilai default akan ditetapkan untuk konfigurasi IP stateful baru; nilainya tetap tidak berubah dalam konfigurasi yang ada.
Terlepas dari nilai aturan hapus, grup selalu mempertahankan alamat IP stateful pada operasi autohealing, update, dan pembuatan ulang instance.
FINGERPRINT: (Opsional.) Sidik jari untuk konfigurasi yang diberikan jika sudah ada. Digunakan untuk penguncian optimistis. Operasi akan gagal jika sidik jari berbeda dengan yang diberikan, karena menunjukkan bahwa konfigurasi per instance telah diubah sejak terakhir dibaca. Untuk melihat sidik jari terbaru, lihat output metode
listPerInstanceConfigs
untuk MIG regional atau zona. Jikafingerprint
dihilangkan, operasi akan dilanjutkan tanpa perbandingan sidik jari.
Metode updatePerInstanceConfigs
dan patchPerInstanceConfigs
akan memperbarui konfigurasi per instance yang ditentukan, tetapi tidak menerapkan pembaruan konfigurasi pada instance terkelola terkait. Perubahan tersebut diterapkan ke instance saat MIG diminta untuk membuat ulang atau mengupdate instance. Anda dapat menerapkan update secara manual untuk menerapkan perubahan pada instance.
Contoh
Anda memiliki instance server file bernama file-server
, yang merupakan satu instance dalam MIG stateful yang disebut fs-group
. Grup ini memiliki konfigurasi per instance yang sesuai, tempat disk data stateful dikonfigurasi. Server file hanya dapat diakses secara internal, tetapi sekarang Anda memiliki pengguna yang perlu mengaksesnya secara eksternal melalui alamat IP statis. Anda telah mencadangkan IP eksternal statis dengan membuat reservasi alamat file-server-ip
. Sekarang Anda perlu menetapkan IP ini ke instance server file.
Guna mengupdate konfigurasi per instance untuk file-server
dengan IP eksternal stateful baru, panggil metode patchPerInstanceConfigs
:
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/fs-group/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "file-server", "preservedState" : { "externalIPs": { "nic0" : { "ipAddress": { "address": "projects/example-project/regions/us-east1/addresses/file-server-ip" }, "autoDelete": "NEVER" } } } } ] }
Metode ini men-patch konfigurasi per instance untuk instance file-server
:
- Menambahkan konfigurasi IP eksternal stateful, yang mengarah ke reservasi alamat
file-server-ip
. - Mempertahankan konfigurasi disk data stateful yang ada agar tidak berubah.
Update konfigurasi belum diterapkan ke instance VM file-server
. MIG akan menerapkan update konfigurasi saat Anda membuat ulang atau menerapkan update ke instance nanti.
Untuk menerapkan update konfigurasi per instance ke instance VM file-server
, panggil metode regionInstanceGroupManagers.applyUpdatesToInstances
untuk instance tersebut:
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/gs-group/applyUpdatesToInstances { "instances": ["/zones/us-east1-b/instances/file-server"] }
Metode ini menetapkan alamat IP eksternal statis yang dikonfigurasi dari reservasi file-server-ip
ke instance terkelola. Metode ini memuat ulang
instance file-server
untuk menetapkan alamat IP eksternal.
Karena autoDelete
ditetapkan ke NEVER
dalam konfigurasi IP stateful, IP akan tetap dicadangkan jika Anda menghapus instance nanti.
Memisahkan alamat IP statis dari VM yang ada di MIG
Anda mungkin perlu memisahkan alamat IP statis dari VM yang ada, sehingga antarmuka jaringan menjadi singkat untuk VM. Hal ini berguna dalam skenario berikut:
- Anda merancang ulang aplikasi agar tidak lagi mengandalkan alamat IP statis.
- Anda tidak sengaja mengonfigurasi IP agar menjadi stateful dan ingin mengembalikannya.
Anda dapat memisahkan alamat IP statis dari VM yang ada di MIG dan membuat alamat IP sementara untuk setiap VM dengan menghapus konfigurasi stateful IP dari konfigurasi per instance terkait atau menghapusnya seluruh konfigurasi per instance jika tidak berisi status lain. Menerapkan perubahan memiliki efek berikut:
- Alamat IP tetap aktif di instance, tetapi tidak lagi stateful.
- Saat Anda membuat ulang atau mengupdate instance, atau saat instance dipulihkan secara otomatis, MIG membatalkan penetapan reservasi alamat IP statis terkait dan otomatis menetapkan alamat sementara.
- Setelah ditetapkan, alamat IP statis akan tetap dicadangkan.
Menghapus konfigurasi IP stateful dari konfigurasi per instance tidak akan mengganggu instance VM yang berjalan, kecuali jika Anda secara eksplisit memilih untuk melakukannya.
Untuk mempelajari lebih lanjut, lihat dokumen berikut:
- Dampak penghapusan konfigurasi IP stateful dari konfigurasi per instance terhadap status terpelihara.
- Menerapkan update konfigurasi per instance.
gcloud
Untuk menghapus konfigurasi IP stateful dari konfigurasi per instance yang terkait, gunakan perintah gcloud compute instance-groups managed instance-configs update
dengan flag --remove-stateful-internal-ips
atau --remove-stateful-external-ips
:
gcloud compute instance-groups managed instance-configs update INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME \ --remove-stateful-internal-ips NI_NAME[,NI_NAME,...] \ --remove-stateful-external-ips NI_NAME[,NI_NAME,...] [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
Ganti kode berikut:
- INSTANCE_GROUP_NAME: Nama MIG.
- INSTANCE_NAME: (Wajib.) Nama instance yang konfigurasi IP stateful-nya akan dihapus.
- NI_NAME: (Wajib.) Nama antarmuka jaringan. Antarmuka jaringan utama diberi nama
nic0
. Jika memiliki beberapa antarmuka jaringan, Anda dapat menentukan beberapa NI_NAMES. --update-instance
: (Opsional. Default.) Segera terapkan perubahan ke instance. Jika Anda menggunakan tanda--no-update-instance
, perubahan tetap tidak diterapkan dan akan diterapkan saat Anda membuat ulang atau menerapkan update ke instance di lain waktu.MINIMAL_ACTION: (Opsional.) Lakukan setidaknya tindakan yang ditentukan saat menerapkan update konfigurasi per instance ke instance. Flag ini hanya dapat digunakan bersama dengan flag
--update-instance
. Nilainya harus berupa salah satu dari berikut ini:none
: Tidak ada tindakan.refresh
: Menerapkan update yang dapat diterapkan tanpa menghentikan instance.restart
: Menghentikan instance, lalu memulainya lagi.replace
: Membuat ulang instance.
Jika dihilangkan, tindakan yang paling tidak mengganggu yang diperlukan oleh update akan digunakan.
Contoh
Aplikasi Anda telah diekspos kepada pengguna melalui alamat IP eksternal statis tertentu yang dipublikasikan dari instance VM dalam MIG yang disebut example-group
.
Anda telah mendesain ulang layanan dengan men-deploy load balancer di depan MIG dan mengarahkan traffic ke VM terkelola melalui MIG tersebut. Anda tidak perlu lagi mempertahankan alamat IP eksternal statis dan ingin membuat alamat IP eksternal VM bersifat sementara.
Untuk membuat alamat IP eksternal stateful pada VM dalam sementara MIG, jalankan perintah berikut untuk setiap instance, misalnya, untuk node-1
:
gcloud compute instance-groups managed instance-configs update example-group \ --instance node-1 \ --remove-stateful-external-ips nic0 \ --update-instance
Perintah tersebut melakukan hal berikut:
- Menghapus konfigurasi stateful untuk alamat IP eksternal dalam antarmuka jaringan
nic0
dari konfigurasi per instance untuknode-1
. - Menerapkan pembaruan konfigurasi per instance ke instance VM
node-1
segera karena flag--update-instance
disertakan. Instance VM tidak terganggu dan tetap menyajikan dari IP yang sama, yang tidak lagi stateful. MIG menghapus referensi ke reservasi IP statis daripreservedStateFromConfig
instance terkelola dan memperlakukan alamat IP eksternal sebagai sementara. MIG akan otomatis menetapkan IP eksternal pada peristiwa pembuatan ulang, update, atau autohealing instance berikutnya. - Setelah dibatalkan, IP statis asli tetap dicadangkan. Anda dapat melepaskan IP jika tidak lagi membutuhkannya.
REST
Untuk menghapus konfigurasi IP stateful dari konfigurasi per instance yang terkait, gunakan metode instanceGroupManagers.patchPerInstanceConfigs
atau metode regionInstanceGroupManagers.patchPerInstanceConfigs
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "internalIPs": { "NI_NAME" : null }, "externalIPs": { "NI_NAME" : null } }, "fingerprint: "FINGERPRINT" }, ... ] }
Ganti kode berikut:
- PROJECT_ID: Project ID untuk permintaan.
- NAME: Nama MIG.
- REGION: Untuk MIG regional, region tempat
grup berada. Untuk MIG zona, ganti
regions/REGION
denganzones/ZONE
dan tentukan zona tempat MIG berada. - INSTANCE_NAME: (Wajib.) Nama instance yang konfigurasi IP stateful-nya akan dihapus.
- NI_NAME: (Wajib.) Nama antarmuka jaringan. Antarmuka jaringan utama diberi nama
nic0
. Jika memiliki beberapa antarmuka jaringan, Anda dapat menentukan beberapa NI_NAMES. - FINGERPRINT: (Opsional.) Sidik jari untuk konfigurasi yang diberikan jika sudah ada. Digunakan untuk penguncian optimistis. Operasi akan gagal jika sidik jari berbeda dengan yang diberikan, karena menunjukkan bahwa konfigurasi per instance telah diubah sejak terakhir dibaca. Untuk melihat sidik jari terbaru, lihat output metode
listPerInstanceConfigs
untuk MIG regional atau zona. Jikafingerprint
dihilangkan, operasi akan dilanjutkan tanpa perbandingan sidik jari.
Metode patchPerInstanceConfigs
memperbarui konfigurasi per instance yang ditentukan, tetapi tidak menerapkan pembaruan konfigurasi ke instance terkelola yang terkait. Perubahan tersebut diterapkan ke instance saat MIG diminta untuk membuat ulang atau mengupdate instance. Anda dapat menerapkan update secara manual untuk menerapkan perubahan pada instance.
Contoh
Aplikasi Anda telah diekspos kepada pengguna melalui alamat IP eksternal statis tertentu yang dipublikasikan dari instance VM dalam MIG yang disebut example-group
. Anda telah mendesain ulang layanan dengan men-deploy load balancer di depan MIG dan mengarahkan traffic ke VM terkelola melalui MIG tersebut. Anda tidak perlu lagi mempertahankan alamat IP eksternal statis dan ingin membuat alamat IP eksternal VM bersifat sementara.
Untuk membuat alamat IP eksternal stateful pada VM dalam sementara MIG, jalankan metode berikut untuk setiap instance, misalnya, untuk node-1
, dan berikan nilai null
ke konfigurasi stateful antarmuka jaringan:
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "node-1", "preservedState" : { "externalIPs": { "nic0" : null } } } ] }
Metode ini menghapus konfigurasi untuk alamat IP stateful dalam antarmuka jaringan nic0
dari konfigurasi per instance untuk node-1
. Update konfigurasi belum diterapkan ke instance VM node-1
. MIG menerapkan update konfigurasi pada pembuatan ulang atau update instance berikutnya.
Untuk menerapkan update konfigurasi per instance ke instance VM node-1
, jalankan metode regionInstanceGroupManagers.applyUpdatesToInstances
untuk instance tersebut:
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group/applyUpdatesToInstances { "instances": ["/zones/us-east1-c/instances/node-1"] }
MIG menghapus referensi ke reservasi IP statis dari kolom preservedStateFromConfig
untuk instance node-1
dan memperlakukan alamat IP sebagai sementara. MIG akan otomatis menetapkan IP eksternal pada peristiwa pembuatan ulang, update, atau autohealing instance berikutnya.
Setelah dibatalkan, IP statis asli tetap dicadangkan. Anda dapat melepaskan IP jika tidak lagi membutuhkannya.
Menghapus konfigurasi stateful
Untuk menghapus konfigurasi dari kebijakan stateful untuk semua VM di MIG, lihat dokumen berikut:
- Untuk hanya menghapus alamat IP stateful, lihat Mendeklarasikan alamat IP stateful sebelumnya sebagai stateless.
- Untuk menghapus semua konfigurasi stateful dari kebijakan stateful, lihat Menghapus kebijakan stateful.
Untuk menghapus konfigurasi dari konfigurasi per instance untuk VM tertentu dalam MIG, lihat dokumen berikut:
- Untuk hanya menghapus alamat IP stateful, lihat Mengalihkan alamat IP statis dari VM yang ada di MIG.
- Untuk menghapus semua konfigurasi stateful dari konfigurasi per instance, lihat Menghapus konfigurasi stateful untuk VM tertentu.
Membersihkan alamat IP statis yang tidak digunakan
Saat mengonfigurasi alamat IP stateful untuk instance terkelola dalam grup, Anda dapat memilih apakah akan merilis reservasi alamat IP statis terkait secara manual atau secara otomatis saat instance dihapus secara permanen:
- Untuk otomatis merilis reservasi alamat IP statis pada penghapusan instance permanen, tetapkan parameter
autoDelete
keON_PERMANENT_INSTANCE_DELETION
. - Untuk merilis reservasi alamat IP statis secara manual, setel parameter
autoDelete
keNEVER
. Untuk menghapus reservasi alamat IP statis yang tidak digunakan, misalnya, untuk menghindari biaya yang tidak perlu, lihat dokumen berikut:
Jika Anda telah menginstruksikan MIG untuk tidak pernah menghapus reservasi IP terkait, alamat IP statis akan tetap dicadangkan setelah instance terkait atau MIG tidak lagi ada.
Masukan
Kami ingin mempelajari kasus penggunaan, tantangan, dan masukan Anda tentang MIG stateful. Anda dapat memberikan masukan kepada tim kami di mig-discuss@google.com.
Langkah selanjutnya
- Pelajari cara menerapkan, melihat, dan menghapus konfigurasi stateful.
- Dapatkan info tentang MIG tertentu dan instance terkelolanya, termasuk status dan properti VM.
- Pelajari lebih lanjut cara menggunakan instance terkelola.