概要
前回は Github Actions で Cloud Run をデプロイした。
今回は Cloud Run (未認証)を Cloud Scheduler でスケジュール実行する。
デプロイフローは2つ。
- Cloud Scheduler は Terraform でデプロイ
- Cloud Run は Github Actions でデプロイ
チュートリアル
Github Actions で CloudRun を作成(未認証アクセス可)
前回 Github Actions で作成した Cloud Run を流用。
作成された Cloud Run の URL 「https://test-cloudrun-vuoo7furta-uc.a.run.app」。

Cloud Scheduler 作成
Terraform の準備。
スケジューラ作成。
vi scheduler.tf
- 8分ごとに target url を GET する
resource "google_cloud_scheduler_job" "job" {
name = "test-job"
description = "test http job"
schedule = "*/8 * * * *"
time_zone = "America/New_York"
attempt_deadline = "320s"
retry_config {
retry_count = 1
}
http_target {
http_method = "GET"
uri = "https://test-cloudrun-vuoo7furta-uc.a.run.app"
#body = base64encode("{\"foo\":\"bar\"}")
}
}
デプロイ。
terraform init
terraform apply
GCP コンソール上で作成されたことを確認。

スケジュール実行
スケジューラの右端の「今すぐ実行」をクリックしたら即時実行される。

Cloud Run のコンソールより、 8 分毎に呼び出されていることが確認できた(9時00分と9時08分)。

ただ、呼び出し結果の Hello World は確認できないのね。
POST 系の方が実行結果わかりやすかった。
まとめ
Cloud Run 認証あり ver は次回。
デプロイフローが2つあるので、Terraform と Github Actions まとめていきたい。
参考
Terraform Registry
コメント