Membuat dan mengelola instance Cloud Run

Halaman ini menjelaskan cara membuat dan mengelola instance Cloud Run singleton yang dapat dialamatkan secara individual. Tidak seperti layanan Cloud Run yang menskalakan berdasarkan traffic masuk, instance adalah penampung komputasi khusus yang Anda kelola secara manual menggunakan transisi siklus proses (buat, hentikan, mulai, perbarui, hapus).

Region yang didukung

Instance Cloud Run dapat dibuat di salah satu region yang didukung, kecuali region berikut:

  • europe-west1
  • us-central1
  • us-east1

Sebelum memulai

  1. Siapkan project baru untuk Cloud Run, seperti yang dijelaskan di halaman penyiapan.

  2. Aktifkan Cloud Run Admin API:

    gcloud services enable run.googleapis.com
    
  3. Update komponen gcloud ke versi terbaru:

    gcloud components update
  4. Jika Anda dikenai kebijakan organisasi pembatasan domain yang membatasi pemanggilan yang tidak diautentikasi untuk project, Anda perlu mengakses layanan yang di-deploy seperti yang dijelaskan di bagian Menguji layanan pribadi.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi dan men-deploy instance Cloud Run, minta administrator Anda untuk memberi Anda peran IAM berikut:

Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika instance 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.

Membuat instance

Anda dapat men-deploy image container untuk membuat instance baru. Jika Anda tidak memberikan nama, nama akan dibuat secara otomatis.

gcloud

Untuk membuat instance Cloud Run baru menggunakan perintah gcloud beta run instances create:

gcloud beta run instances create INSTANCE_NAME \
    --image IMAGE_URL \
    --region REGION

Untuk membuat instance Cloud Run baru menggunakan perintah gcloud beta run instances deploy:

gcloud beta run instances deploy INSTANCE_NAME \
    --image IMAGE_URL \
    --region REGION

Ganti kode berikut:

  • INSTANCE_NAME: nama instance yang Anda buat. Nama instance harus unik dalam project dan region Anda. Anda tidak dapat membuat instance dengan nama yang sama seperti instance atau layanan Cloud Run yang ada.
  • IMAGE_URL: referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/instances:latest.
  • REGION: region Google Cloud tempat Anda menjalankan instance, misalnya europe-west1.

Library klien

Untuk membuat instance baru dari kode:

REST API

Untuk membuat instance Cloud Run baru, kirim permintaan HTTP POST ke endpoint instances.

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "containers": [{
      "image": "IMAGE_URL",
      "ports": [{"containerPort": PORT}]
    }],
    "ingress": "INGRESS_TRAFFIC_ALL",
    "invokerIamDisabled": true,
    "timeout": "3600s"
  }' \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances?instance_id=INSTANCE_NAME"

Ganti kode berikut:

  • IMAGE_URL: URL image container Anda.
  • PORT: port yang diproses oleh container Anda.
  • PROJECT_ID: Google Cloud Project ID Anda.
  • REGION: Google Cloud region deployment Anda.
  • INSTANCE_NAME: nama instance baru Anda.

Setelah Anda membuat instance, instance tersebut akan menerima URL Cloud Run yang memiliki format berikut:

https://INSTANCE_NAME-PROJECT_NUMBER.REGION.run.app

Memperbarui instance

Saat Anda mengupdate instance, seperti image container, port, atau variabel lingkungannya, instance akan dimulai ulang.

gcloud

Untuk mengupdate instance Cloud Run menggunakan perintah gcloud beta run instances update:

gcloud beta run instances update INSTANCE_NAME \
    --image NEW_IMAGE_URL \
    --region REGION

Untuk mengupdate instance Cloud Run menggunakan perintah gcloud beta run instances deploy:

gcloud beta run instances deploy INSTANCE_NAME \
    --image IMAGE_URL \
    --region REGION

REST API

Untuk mengupdate konfigurasi instance Cloud Run dari API, kirim permintaan HTTP PATCH ke endpoint URI instance.

curl -H "Content-Type: application/json" \
  -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -d '{template: {containers: [{image: "IMAGE_URL"}]}}' \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"

Menghentikan instance

Gunakan perintah atau metode stop untuk menghentikan instance Cloud Run yang sedang berjalan.

gcloud

Untuk menghentikan instance:

gcloud beta run instances stop INSTANCE_NAME \
    --region REGION

Library klien

Untuk menghentikan instance yang sedang berjalan dari kode:

REST API

Untuk menghentikan instance, kirim permintaan HTTP POST dengan dekorator :stop:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME:stop"

Memulai atau memulai ulang instance

Gunakan perintah atau metode start untuk memulai instance yang dihentikan, atau mulai ulang paksa instance yang ada.

gcloud

Untuk memulai atau memulai ulang instance:

gcloud beta run instances start INSTANCE_NAME \
    --region REGION

Library klien

Untuk memulai instance yang dihentikan dari kode:

REST API

Untuk memulai instance, kirim permintaan HTTP POST dengan dekorator :start:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME:start"

Melihat daftar instance di project Anda

Anda dapat melihat semua instance aktif dan tidak aktif dalam project Anda.

gcloud

Untuk mencantumkan instance di region tertentu:

gcloud beta run instances list \
    --region REGION

Ganti REGION dengan Google Cloud region tempat Anda menjalankan instance.

Library klien

Untuk mencantumkan instance aktif dan tidak aktif dari kode:

REST API

Untuk mengambil daftar instance, kirim permintaan HTTP GET:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances"

Melihat detail instance

Gunakan perintah atau metode describe untuk melihat detail konfigurasi dan status saat ini.

gcloud

Untuk mendeskripsikan instance:

gcloud beta run instances describe INSTANCE_NAME \
    --region REGION

Library klien

Untuk melihat detail dan status konfigurasi instance dari kode:

REST API

Untuk mendeskripsikan instance, kirim permintaan HTTP GET:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"

Menghapus instance

Hapus instance untuk menghapus konfigurasi, metadata, pemetaan URL langsung publik, dan peran identitasnya secara permanen dari project Anda.

gcloud

Untuk menghapus instance:

gcloud beta run instances delete INSTANCE_NAME \
    --region REGION

Library klien

Untuk menghapus instance dari kode:

REST API

Untuk menghapus instance, kirim permintaan HTTP DELETE:

curl -X DELETE \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"

Langkah berikutnya