Halaman ini menjelaskan cara menjalankan tugas Cloud Run sesuai jadwal menggunakan Cloud Scheduler.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk operasi yang dijelaskan di halaman ini, minta administrator Anda untuk memberi Anda peran IAM pada tugas Cloud Run Anda:
- Admin Cloud Scheduler
(
roles/cloudscheduler.admin), atau peran kustom dengan izincloudscheduler.jobs.create. - Cloud Run Invoker (
roles/run.invoker) untuk menjalankan tugas menggunakan Google Cloud CLI, atau Cloud Run Developer (roles/run.developer) untuk menjalankan tugas menggunakan konsol Google Cloud .
Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika tugas 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.
Sebelum memulai
- Buat tugas Cloud Run jika Anda belum membuatnya.
Aktifkan Cloud Scheduler API untuk project Anda:
gcloud services enable cloudscheduler.googleapis.com
Mengonfigurasi tugas Cloud Run untuk dijalankan sesuai jadwal
Anda dapat mengonfigurasi tugas Cloud Run agar dijalankan sesuai jadwal menggunakan konsolGoogle Cloud , gcloud CLI, atau Terraform:
Konsol
Di konsol Google Cloud , buka halaman tugas Cloud Run:
Klik tugas yang ingin Anda jalankan sesuai jadwal.
Klik tab Trigger.
Klik Add Scheduler Trigger.
Di formulir tugas Cloud Scheduler, ikuti langkah-langkah berikut:
Untuk Name, masukkan nama untuk tugas Cloud Scheduler Anda.
Untuk Region, pilih region untuk tugas Cloud Scheduler Anda. Region tidak perlu sama dengan region yang digunakan untuk tugas Cloud Run.
Tentukan frekuensi untuk menjalankan tugas menggunakan format unix-cron, misalnya
0 12 * * *Pilih Zona waktu Anda.
Klik Lanjutkan.
Di bagian Configure the execution, pilih akun layanan yang memiliki izin untuk memanggil layanan Cloud Run saat ini.
Klik Buat untuk membuat tugas Cloud Scheduler yang akan menjalankan tugas Cloud Run pada frekuensi yang ditentukan.
gcloud
Jalankan perintah berikut:
gcloud scheduler jobs create http SCHEDULER_JOB_NAME \
--location SCHEDULER_REGION \
--schedule="SCHEDULE" \
--uri="https://run.googleapis.com/v2/projects/PROJECT_ID/locations/CLOUD_RUN_REGION/jobs/JOB:run" \
--http-method POST \
--oauth-service-account-email PROJECT_NUMBER-compute@developer.gserviceaccount.com
Ganti kode berikut:
SCHEDULER_JOB_NAME: nama yang ingin Anda berikan pada tugas penjadwal.SCHEDULER_REGION: region yang didukung oleh Cloud Scheduler—misalnya,europe-west2.SCHEDULE: frekuensi yang diperlukan, misalnya0 12 * * *.PROJECT_ID: project ID Anda.CLOUD_RUN_REGION: region untuk tugas Cloud Run Anda. Contoh,europe-west1.JOB: nama tugas Cloud Run Anda.PROJECT_NUMBER: nomor project Anda.
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Tambahkan kode berikut ke resourcegoogle_cloud_run_v2_job
di konfigurasi Terraform Anda:Cloud Scheduler akan menjalankan tugas Cloud Run pada frekuensi yang ditentukan.
Menjadwalkan tugas di dalam perimeter Kontrol Layanan VPC
Jika project Google Cloud Anda berada di dalam perimeter Kontrol Layanan VPC dalam jaringan Virtual Private Cloud, integrasi Cloud Scheduler dengan Kontrol Layanan VPC mendukung tugas Cloud Run sebagai target menggunakan format URI berikut:
https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB:run
Ganti kode berikut:
PROJECT_ID: Google Cloud Project IDREGION: Google Cloud region tugas.JOB: nama tugas Cloud Run Anda.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi Kontrol Layanan VPC untuk Cloud Run, lihat Menggunakan Kontrol Layanan VPC (VPC SC). Untuk mengetahui informasi selengkapnya tentang penggunaan Cloud Scheduler dengan Kontrol Layanan VPC, lihat Mengamankan tugas cron dengan Kontrol Layanan VPC.
Langkah berikutnya
Setelah menggunakan fitur ini, Anda dapat melakukan hal berikut: