このページでは、Cloud Scheduler を使用して、スケジュールに従って Cloud Run ジョブを実行する方法について説明します。
必要なロール
このページで説明するオペレーションに必要な権限を取得するには、Cloud Run ジョブに対する次の IAM ロールを付与するよう、管理者に依頼してください。
- Cloud Scheduler 管理者(
roles/cloudscheduler.admin
)またはcloudscheduler.jobs.create
権限を持つカスタムロール - Cloud Run 起動元(
roles/run.invoker
): Google Cloud CLI を使用してジョブを実行する場合。Cloud Run デベロッパー(roles/run.developer
): Google Cloud コンソールを使用してジョブを実行する場合。
Cloud Run に関連付けられている IAM ロールと権限のリストについては、Cloud Run IAM ロールと Cloud Run IAM 権限をご覧ください。Cloud Run ジョブが Google Cloud APIs(Cloud クライアント ライブラリなど)と連携している場合は、サービス ID の構成ガイドをご覧ください。ロールの付与の詳細については、デプロイ権限とアクセスの管理をご覧ください。
始める前に
スケジュールに従って実行するように Cloud Run ジョブを構成する
スケジュールに従って Cloud Run ジョブを実行するには:
コンソール
スケジュールに従って実行するジョブをクリックします。
[トリガー] タブをクリックします。
[スケジューラ トリガーを追加] をクリックします。
プロジェクトで Cloud Scheduler API をまだ有効にしていない場合は、右端のパネルにある [API を有効にする] をクリックします。
Cloud Scheduler ジョブフォームに入力します。
[スケジュールを定義する] で、次の操作を行います。
Cloud Scheduler ジョブに名前を付けます。
Cloud Scheduler ジョブのリージョンを選択します。Cloud Run ジョブに使用されるリージョンと一致している必要はありません。
ジョブ実行の頻度を unix-cron 形式で指定します(例:
0 12 * * *
)。タイムゾーンを選択します。
[続行] をクリックします。
[サービス アカウント] プルダウン メニューで、現在の Cloud Run サービスを呼び出す権限を持つサービス アカウントを選択します。
[作成] をクリックして、指定した頻度で Cloud Run ジョブを実行する Cloud Scheduler ジョブを作成します。
コマンドライン
次のコマンドを実行します。
gcloud scheduler jobs create http SCHEDULER_JOB_NAME \ --location SCHEDULER_REGION \ --schedule="SCHEDULE" \ --uri="https://CLOUD_RUN_REGION-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/PROJECT-ID/jobs/JOB-NAME:run" \ --http-method POST \ --oauth-service-account-email PROJECT-NUMBER-compute@developer.gserviceaccount.com
次のように置き換えます。
- SCHEDULER_JOB_NAME: スケジューラ ジョブに付ける名前。
- SCHEDULER_REGION: Cloud Scheduler でサポートされているリージョン(
europe-west2
など)。 - CLOUD_RUN_REGION: Cloud Run ジョブのリージョン。プレビューするには、
europe-west9
を使用します。 - SCHEDULE: 目的の頻度(
0 12 * * *
など)。 - PROJECT-ID: プロジェクト ID。
- PROJECT-NUMBER: プロジェクト番号。
- JOB-NAME: Cloud Run ジョブ。
Terraform
Cloud Run ジョブを実行する Cloud Scheduler ジョブを作成するには:
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
Cloud Scheduler は、指定された頻度で Cloud Run ジョブを実行します。
次のステップ
この機能の使用後に、次の操作を行うことができます。