Cara mengelola instance

Instance adalah unit komputasi yang digunakan App Engine untuk menskalakan aplikasi Anda secara otomatis. Pada waktu tertentu, aplikasi Anda dapat berjalan di satu atau beberapa instance, dengan permintaan tersebar di semua instance tersebut.

Instance dengan penskalaan manual seharusnya berjalan tanpa batas waktu, tetapi tidak ada jaminan waktu beroperasi karena instance dapat mengalami penghentian lebih awal akibat kegagalan atau dimulai ulang untuk pembaruan. Kegagalan hardware atau software yang menyebabkan penghentian awal atau sering dimulai ulang dapat terjadi tanpa peringatan dan dapat memerlukan waktu yang cukup lama untuk menyelesaikannya.

Semua instance fleksibel dapat dimulai ulang setiap minggu jika ada update yang tersedia. Jadwal ini tidak dijamin. Selama mulai ulang, update penting yang kompatibel dengan versi lama akan otomatis diluncurkan ke sistem operasi yang mendasarinya. Image aplikasi Anda akan tetap sama setiap kali dimulai ulang.

Health check

App Engine mengirim permintaan health check secara berkala untuk mengonfirmasi bahwa instance berjalan, dan untuk memeriksa apakah instance telah dimulai sepenuhnya dan siap menerima permintaan masuk. Secara default, health check ini diaktifkan dan dikenal sebagai health check terpisah. Instance yang menerima health check harus menjawab health check dalam interval waktu yang ditentukan.

Jika perlu memperluas perilaku default health check terpisah ke aplikasi, Anda dapat menyesuaikan file app.yaml untuk mengonfigurasi dua jenis health check:

  • Pemeriksaan keaktifan mendeteksi bahwa instance VM dan container-nya sedang berjalan. Jika instance VM gagal dalam pemeriksaan keaktifan, instance akan dimulai ulang secara otomatis. Pemeriksaan keaktifan bisa gagal karena batas waktu yang telah dikonfigurasi dan interval waktu, atau karena container mengalami error.
  • Pemeriksaan kesiapan mendeteksi bahwa instance VM siap menerima permintaan masuk. Jika instance VM gagal dalam pemeriksaan kesiapan, itu berarti instance VM belum menyelesaikan startup-nya dan belum siap menerima permintaan. Setelah lulus pemeriksaan kesiapan dan telah menyelesaikan startup-nya, instance VM akan ditambahkan ke kumpulan instance yang tersedia.

Pelajari lebih lanjut perilaku health check terpisah dalam panduan Bermigrasi ke Health Check Terpisah.

Saat instance menjalani health check ini, log App Engine dapat menunjukkan bahwa instance berada dalam salah satu status berikut:

  • Responsif. Instance menerima permintaan health check dan sedang memproses permintaan tersebut. Status sehat menunjukkan bahwa instance memiliki lebih dari 820 MB ruang disk yang tersedia dan harus merespons health check dengan kode status HTTP 200.
  • Tidak Responsif. Instance menolak permintaan health check dan gagal merespons sejumlah permintaan health check berturut-turut. App Engine akan terus mengirim permintaan health check dan memulai ulang instance jika instance yang tidak responsif terus gagal merespons health check berturut-turut dalam jumlah yang telah ditentukan.
  • Lameduck. Instance dijadwalkan untuk dimatikan atau dimulai ulang. Selama penonaktifan, instance akan menyelesaikan permintaan yang sedang berlangsung dan menolak permintaan baru. Aplikasi menampilkan kode 503 untuk menunjukkan bahwa instance tidak dapat menangani permintaan. Sebelum instance dihentikan atau dimulai ulang, skrip penonaktifan memiliki jangka waktu terbatas untuk dijalankan, dan tidak dapat dikonfigurasi menjadi lebih pendek atau lebih lama.
  • Aplikasi Lameduck. Instance sedang bersiap untuk melayani traffic. Aplikasi menampilkan kode 503 untuk menunjukkan bahwa instance tidak dapat menangani permintaan. Ketika instance VM telah menyelesaikan startup dan siap untuk melayani traffic, instance akan menjadi responsif dan memproses permintaan. Jika instance VM tidak dimulai tepat waktu, instance akan berubah menjadi tidak responsif dan dihapus.

Perilaku lameduck dan aplikasi lameduck adalah bagian dari proses normal yang dilalui instance VM.

Memantau penggunaan resource

Halaman Instance Google Cloud console memberikan visibilitas tentang performa instance Anda. Anda dapat melihat penggunaan memori dan CPU setiap instance, waktu beroperasi, jumlah permintaan, dan statistik lainnya. Anda juga dapat memulai proses penonaktifan secara manual untuk instance apa pun.

NTP dengan lingkungan fleksibel App Engine

Lingkungan fleksibel App Engine memiliki layanan protokol waktu jaringan (NTP) yang menggunakan server NTP Google. Namun, layanan NTP di lingkungan fleksibel tidak dapat diedit.

Lokasi instance

Instance secara otomatis ditempatkan menurut wilayah geografis sesuai dengan setelan project.

Penskalaan instance

Saat aplikasi berjalan, permintaan masuk akan diarahkan ke instance yang ada atau baru dari layanan/versi yang sesuai. Setiap versi aktif harus memiliki setidaknya satu instance yang berjalan, dan jenis penskalaan layanan/versi mengontrol cara pembuatan instance tambahan. Anda dapat menentukan jenis penskalaan di app.yaml aplikasi. Secara default, aplikasi Anda menggunakan penskalaan otomatis, yang berarti App Engine akan mengelola jumlah instance yang nonaktif.

Penskalaan otomatis
Penskalaan otomatis membuat instance berdasarkan rasio permintaan, latensi respons, dan metrik aplikasi lainnya. Anda dapat menentukan batas untuk setiap metrik ini, serta jumlah instance minimum yang akan terus berjalan setiap saat dengan mengonfigurasi elemen automatic_scaling.
Penskalaan manual
Penskalaan manual menentukan jumlah instance yang terus berjalan, berapa pun tingkat bebannya. Hal ini memungkinkan tugas-tugas seperti inisialisasi dan aplikasi kompleks yang mengandalkan status memori dari waktu ke waktu.

Mengelola layanan

Bergantung pada jenis penskalaan instance, Anda dapat mengelola layanan dan versi di konsol Google Cloud atau Google Cloud CLI.

Menghentikan versi

Setiap versi di App Engine berjalan dalam satu atau beberapa instance, bergantung pada jumlah traffic yang dikonfigurasi untuk ditangani.

Klik tab untuk mendapatkan petunjuk cara menggunakan alat pilihan Anda:

Konsol

Untuk menghentikan atau menonaktifkan versi untuk layanan Anda:

  1. Buka halaman Versi App Engine di konsol Google Cloud:

    Buka Versi

  2. Pilih versi dari tabel, lalu klik Stop.

gcloud

Jalankan perintah berikut:

  gcloud app versions stop --service=SERVICE VERSION

Ganti:

  • SERVICE dengan nama layanan Anda.
  • VERSION dengan nama versi layanan Anda.

Hapus layanan

Setiap layanan dapat dikonfigurasi untuk menggunakan runtime yang berbeda dan beroperasi dengan setelan performa yang berbeda. Anda tidak dapat menghapus layanan default. Menghapus layanan juga akan menghapus semua versi yang menyertainya di project Anda.

Klik tab untuk mendapatkan petunjuk cara menggunakan alat pilihan Anda:

Konsol

Untuk menghapus layanan:

  1. Buka halaman Services App Engine di konsol Google Cloud:

    Buka Layanan

  2. Pilih layanan dari tabel, lalu klik Hapus.

gcloud

Jalankan perintah berikut:

  gcloud app services delete SERVICE

Ganti:

  • SERVICE dengan nama layanan Anda.