Anda dapat menyediakan layanan Cloud Run dengan jumlah memori yang berbeda. Halaman ini menjelaskan cara menentukan jumlah memori yang tersedia untuk layanan Anda.
Memahami penggunaan memori
Instance Cloud Run yang melebihi batas memori yang diizinkan akan dihentikan.
Berikut hal-hal yang termasuk dalam memori yang tersedia untuk instance Anda:
- Menjalankan file yang dapat dieksekusi layanan, karena file yang dapat dieksekusi harus dimuat ke memori
- Mengalokasikan memori dalam proses layanan Anda
- Menulis file ke sistem file
Ukuran image container yang di-deploy tidak termasuk dalam memori yang tersedia.
Menetapkan dan memperbarui batas memori
Anda dapat menetapkan batas memori pada layanan Cloud Run. Secara default, memori yang dialokasikan ke setiap instance revisi adalah 512 MiB, dan memori yang dialokasikan untuk fungsi adalah 256 MiB.
CPU minimum yang diperlukan
Jumlah memori yang dialokasikan yang Anda pilih sesuai dengan jumlah CPU yang dialokasikan untuk layanan Anda. Saat menetapkan batas memori, diperlukan batas CPU minimum sebagai berikut:
Memori | CPU minimum yang diperlukan |
---|---|
128 MiB | .083 vCPU |
256 MiB | .167 vCPU |
512 MiB | .333 vCPU |
1 GiB | .583 vCPU |
2 GiB | 1 vCPU |
Lebih dari 4 GiB | 2 vCPU |
Lebih dari 8 GiB | 4 vCPU |
Lebih dari 16 GiB | 6 vCPU |
Lebih dari 24 GiB | 8 vCPU |
Jumlah memori maksimum
Jumlah maksimum memori yang dapat Anda konfigurasi adalah
32 gibibyte (32 Gi
).
Memori minimum
Setelan memori minimum bervariasi tergantung apakah Anda menggunakan lingkungan eksekusigenerasi pertama atau generasi kedua:
- 128 MiB untuk generasi pertama
- 512 MiB untuk generasi kedua
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna mengonfigurasi dan men-deploy layanan Cloud Run, minta administrator untuk memberi Anda peran IAM berikut:
-
Cloud Run Developer (
roles/run.developer
) di layanan Cloud Run -
Service Account User (
roles/iam.serviceAccountUser
) di identitas layanan
Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat peran IAM Cloud Run dan izin IAM Cloud Run. Jika layanan Cloud Run Anda berinteraksi dengan Google Cloud API, seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.
Mengonfigurasi batas memori
Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.
Untuk layanan Cloud Run, Anda dapat menetapkan batas memori menggunakan Google Cloud Console, command line gcloud, atau file YAML saat Anda membuat layanan baru atau men-deploy revisi baru:
Konsol
Di konsol Google Cloud, buka Cloud Run:
Klik Deploy container dan pilih Service untuk mengonfigurasi layanan baru. Jika Anda mengonfigurasi layanan yang sudah ada, klik layanan, lalu klik Edit dan deploy revisi baru.
Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal, lalu klik Container, volume, networking, security untuk memperluas halaman konfigurasi layanan.
Klik tab Container.
- Pilih ukuran memori yang diinginkan dari daftar dropdownMemori.
Klik Buat atau Deploy.
gcloud
Anda dapat memperbarui alokasi memori untuk layanan tertentu menggunakan perintah berikut:
gcloud run services update SERVICE --memory SIZE
Ubah SERVICE dengan nama layanan Anda dan SIZE dengan ukuran memori
yang diinginkan. Format untuk ukuran adalah angka tetap atau floating point yang
diikuti dengan satuan: G
atau M
yang sesuai dengan gigabyte atau megabyte,
atau menggunakan pangkat dua yang setara Gi
atau Mi
yang sesuai dengan gibibyte atau mebibyte.
Anda juga dapat menetapkan batas memori selama deployment menggunakan perintah:
gcloud run deploy --image IMAGE_URL --memory SIZE
Ganti:
- IMAGE_URL dengan referensi ke image container,
misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest
. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - SIZE dengan nilai yang sudah dijelaskan di atas.
YAML
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Perbarui atribut
memory
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE resources: limits: memory: SIZE
Ganti
- SERVICE dengan nama layanan Cloud Run Anda
- IMAGE_URL dengan referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest
. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
- SIZE dengan ukuran memori yang diinginkan.
Formatnya yaitu bilangan tetap atau floating point yang diikuti dengan satuan:
G
atauM
yang sesuai dengan gigabyte atau megabyte, atau gunakan pangkat dua yang setara:Gi
atauMi
yang sesuai dengan gibibyte atau mebibyte. - REVISION dengan nama revisi baru atau hapus (jika ada). Jika Anda memberikan nama revisi baru, nama tersebut harus memenuhi kriteria berikut:
- Dimulai dengan
SERVICE-
- Hanya berisi huruf kecil, angka, dan
-
- Tidak diakhiri dengan
-
- Tidak melebihi 63 karakter
- Dimulai dengan
Buat atau perbarui layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Tambahkan kode berikut ke resource google_cloud_run_v2_service
di konfigurasi Terraform
Anda, di bawah template.containers.resources.limits
. Ganti 512Mi
dengan batas memori
yang diinginkan layanan Anda.
Mengoptimalkan memori untuk layanan
Untuk layanan Cloud Run, Anda dapat menentukan kebutuhan memori tertinggi untuk layanan dengan mengikuti: (Standing Memory) + (Memory per Request) * (Service Concurrency)
Oleh karena itu,
Jika Anda meningkatkan konkurensi layanan, Anda juga harus meningkatkan batas memori untuk memperkirakan penggunaan tertinggi.
Jika Anda menurunkan konkurensi layanan, pertimbangkan juga untuk mengurangi batas memori guna menghemat biaya penggunaan memori.
Untuk panduan lebih lanjut tentang meminimalkan penggunaan memori per permintaan, baca Tips Pengembangan Variabel Global.
Lihat setelan batas memori
Untuk melihat setelan batas memori saat ini pada layanan Cloud Run Anda:
Konsol
Di konsol Google Cloud, buka Cloud Run:
Klik layanan yang Anda minati untuk membuka halaman Detail layanan.
Klik tab Revisi.
Pada panel detail di sebelah kanan, setelan batas memori dicantumkan di bagian tabContainer.
gcloud
Gunakan perintah berikut:
gcloud run services describe SERVICE
Temukan setelan batas memori dalam konfigurasi yang ditampilkan.