Tentang instance maksimum

Secara default, layanan Cloud Run memiliki jumlah maksimum instance yang ditentukan oleh batas kuota relevan terendah berikut. Batas maksimum untuk setiap region juga dipengaruhi oleh konfigurasi CPU dan memori untuk layanan Cloud Run Anda. Secara khusus, jumlah maksimum instance yang tersedia untuk layanan Anda adalah jumlah minimum dari masing-masing berikut:

  • kuota CPU regional dibagi dengan konfigurasi CPU untuk layanan.
  • kuota memori regional dibagi dengan konfigurasi memori untuk layanan.
  • kuota GPU regional, dengan atau tanpa redundansi zona, dibagi dengan konfigurasi GPU untuk layanan.

Misalnya, kuota dasar 1.000 vCPU atau memori 2.000 GiB akan memungkinkan deployment menggunakan memori 2 GiB atau 1 CPU untuk menentukan maksimum 1.000 instance untuk satu layanan.

Kuota ini juga dihitung sebagai jumlah semua resource yang sedang digunakan di region di seluruh resource Cloud Run Anda. Anda mungkin mengalami kegagalan untuk meningkatkan skala atau memulai eksekusi tugas baru jika total penggunaan Anda mencapai salah satu batas ini.

Anda dapat melihat total batas CPU, Memori, dan GPU dasar per kuota region untuk region Anda di halaman kuota di konsol.

Cara meningkatkan kuota regional dasar

Jika Anda memerlukan jumlah total CPU, memori, atau GPU yang lebih besar untuk region tempat layanan Cloud Run Anda di-deploy, Anda dapat meminta penambahan kuota.

Praktik terbaik untuk menetapkan instance maksimum

Bagian berikut menjelaskan praktik terbaik untuk mengonfigurasi batas instance maksimum untuk layanan Anda.

Nilai instance maksimum yang optimal untuk layanan yang didorong peristiwa

Layanan berbasis peristiwa, seperti fungsi, dapat mengalami lonjakan traffic sporadis berdasarkan peristiwa yang masuk. Untuk menentukan nilai instance maksimum yang optimal untuk layanan ini, Anda perlu mempertimbangkan faktor-faktor seperti waktu pemanggilan layanan, pemanggilan rata-rata yang diharapkan, frekuensi pemanggilan puncak, dan toleransi kesalahan untuk kegagalan pemanggilan.

Aturan praktis yang baik adalah memulai dengan nilai instance maksimum 3, lalu memantau kegagalan pemanggilan dan menyesuaikan nilai instance maksimum ke atas sesuai kebutuhan.

Menangani permintaan saat semua instance sedang sibuk

Dalam keadaan normal, layanan Anda akan ditingkatkan skalanya dengan membuat instance baru untuk menangani beban traffic yang masuk. Namun, jika Anda telah menetapkan batas instance maksimum, Anda mungkin akan menghadapi skenario ketika tidak ada instance yang cukup untuk memenuhi beban traffic yang masuk.

Dalam skenario tersebut, Cloud Run akan mencoba melayani permintaan masuk baru hingga 30 detik:

  • Jika instance selesai memproses permintaannya selama jangka waktu ini, instance tersebut mungkin akan mulai memproses permintaan masuk baru.
  • Jika tidak ada instance yang tersedia, permintaan akan gagal.

Cloud Run otomatis menyimpan peristiwa yang ditujukan untuk layanan berbasis peristiwa hingga kapasitas tersedia.

Batas instance maksimum yang melebihi kemampuan penskalaan Cloud Run

Saat menentukan batas instance maksimum, Anda juga menentukan batas atas. Menetapkan batas besar tidak berarti bahwa layanan Anda akan meningkatkan skala hingga jumlah instance yang ditentukan. Hal ini hanya berarti bahwa jumlah instance yang berdampingan pada waktu tertentu tidak boleh melebihi batas.

Selain itu, menetapkan batas instance maksimum dapat memengaruhi strategi penskalaan yang digunakan Cloud Run untuk memenuhi permintaan traffic Anda. Secara umum, Cloud Run akan memprioritaskan kepatuhan terhadap batas yang Anda tentukan daripada meningkatkan skala dan berpotensi melampaui batas.

Menangani lonjakan traffic

Dalam beberapa kasus, seperti lonjakan traffic yang cepat, Cloud Run mungkin, dalam jangka waktu yang singkat, membuat lebih banyak instance daripada batas instance maksimum yang ditentukan. Jika layanan Anda tidak dapat menoleransi perilaku sementara ini, Anda mungkin perlu memperhitungkan margin keamanan dan menetapkan nilai instance maksimum yang lebih rendah daripada yang dapat ditoleransi oleh layanan Anda.

Deployment

Saat Anda men-deploy revisi baru, Cloud Run akan memigrasikan traffic dari revisi sebelumnya ke revisi baru. Karena batas instance maksimum ditetapkan untuk setiap revisi secara independen, Anda mungkin melampaui batas yang ditentukan untuk sementara selama periode setelah deployment.

Misalnya, layanan mungkin memiliki batas instance maksimum sebanyak 5. Dalam keadaan normal, layanan meningkatkan skala hingga 5 instance saat menangani permintaan. Saat Anda men-deploy revisi baru, revisi baru ini memiliki batas instance maksimumnya sendiri, yaitu 5.

Permintaan yang sudah ditangani oleh revisi sebelumnya tidak akan terganggu saat Anda men-deploy revisi baru. Sebaliknya, permintaan ini akan terus diproses. Permintaan masuk baru akan ditangani oleh revisi layanan yang baru di-deploy.

Dengan demikian, layanan dalam contoh sebelumnya mungkin memiliki hingga 10 instance total (5 untuk setiap revisi) selama periode setelah men-deploy revisi baru. Jumlah waktu yang diperlukan untuk menghentikan instance revisi sebelumnya bergantung pada waktu yang diperlukan bagi instance tersebut untuk menyelesaikan penanganan permintaan aktif apa pun. Ini adalah faktor tambahan yang perlu dipertimbangkan saat memilih batas instance maksimum yang sesuai.

Pertimbangan biaya

Setelan instance maksimum memungkinkan Anda menetapkan batas keamanan biaya untuk mengelola biaya. Menetapkan jumlah maksimum yang lebih tinggi memprioritaskan ketersediaan, tetapi menimbulkan potensi risiko penagihan dari lonjakan traffic yang tidak terduga atau kesalahan konfigurasi. Sebagai pengamanan biaya, konfigurasi setelan ini di tingkat layanan saat Anda men-deploy layanan untuk pertama kalinya. Sebaiknya mulai dengan nilai instance maksimum 3 untuk melindungi anggaran Anda dari lonjakan yang tidak terduga.

Tinjau harga Cloud Run atau perkirakan biaya dengan kalkulator harga untuk mengetahui informasi selengkapnya. Untuk alat kontrol biaya tambahan, lihat kuota alokasi resource atau anggaran dan pemberitahuan penagihan.