Blog

So planen Sie serverlose Anwendungen auf Google Cloud Platform

Mark van Holsteijn

Aktualisiert Oktober 21, 2025
2 Minuten

Google Cloud Run ist eine einfache Möglichkeit, Ihre serverlosen containerisierten Anwendungen bereitzustellen. Wenn Sie Ihre Anwendung in regelmäßigen Abständen ausführen müssen, können Sie dazu Google Cloud Scheduler verwenden. In diesem Blog zeige ich Ihnen, wie Sie einen Zeitplan für eine serverlose Anwendung mit Terraform konfigurieren. Um serverlose Anwendungen nach einem Zeitplan aufzurufen, müssen Sie:

  1. ein Dienstkonto erstellen
  2. Ihre serverlose Anwendung bereitstellen
  3. dem Planer die Erlaubnis erteilen
  4. einen Zeitplan erstellen Da ich das Prinzip von Infrastruktur als Code vertrete, zeige ich Ihnen, wie Sie dies mit Hilfe von terraform Codeschnipseln tun können.

Erstellen Sie ein Dienstkonto

Sie können ein Dienstkonto für den Scheduler erstellen, mit dem Sie die Anwendung wie folgt aufrufen können:

resource "google_service_account" "scheduler" {
  display_name = "Google Cloud Scheduler"
  account_id   = "scheduler"
}

Bereitstellen mit Ihrer serverlosen Anwendung

Als nächstes können Sie Ihre serverlose Anwendung bereitstellen:

resource "google_cloud_run_service" "application" {
  name     = "application"
  location = "europe-west1"

  template {
    spec {
      containers {
        image = "gcr.io/binx-io-public/paas-monitor:latest"
      }
    }
  }
  timeouts {
    create = "10m"
  }
  depends_on [google_project_service.run]
}

In diesem Fall ist die eingesetzte Anwendung meine bewährte paas-monitor-Anwendung.

Erteilen Sie dem Planer die Erlaubnis

Nachdem die Anwendung bereitgestellt wurde, erteilen Sie dem Dienstkonto die Berechtigung, sie aufzurufen:

resource "google_cloud_run_service_iam_member" "scheduler-run-invoker" {
  role   = "roles/run.invoker"
  member = "serviceAccount:${google_service_account.scheduler.email}"

  service  = google_cloud_run_service.application.name
  location = google_cloud_run_service.application.location
}

Einen Zeitplan erstellen

Schließlich erstellen Sie einen Zeitplan, um den Dienst wie folgt aufzurufen:

resource "google_cloud_scheduler_job" "application" {
  name        = "application"
  description = "invoke every 5 minutes"
  schedule    = "*/5 * * * *" #<-- Cron expression

  http_target {
    http_method = "GET"
    uri         = "${google_cloud_run_service.application.status[0].url}/status"
    oidc_token {
      service_account_email = google_service_account.scheduler-invoker.email
    }
  }
  depends_on = [google_app_engine_application.app]
}

Der Zeitplan wird über einen Cron-Ausdruck definiert. Beachten Sie
, dass Google Cloud Scheduler eine App-Engine-Anwendung für die Bereitstellung erfordert:

resource "google_app_engine_application" "app" {
  project     = data.google_project.current.project_id
  location_id = "europe-west"
  depends_on  = [google_project_service.appengine]
}

Installation

Wenn Sie das komplette Beispiel einsetzen möchten, laden Sie main.tf herunter und geben Sie ein:

export TF_VAR_project=$(gcloud config get-value project)
terraform init
terraform apply

Fazit

Mit Google Cloud Run können Sie Ihre containerisierten Anwendungen ganz einfach serverlos bereitstellen und
den Google Cloud Scheduler verwenden, um den Aufruf der Anwendung auf sichere Weise zu planen.

Verfasst von

Mark van Holsteijn

Mark van Holsteijn is a senior software systems architect at Xebia Cloud-native solutions. He is passionate about removing waste in the software delivery process and keeping things clear and simple.

Contact

Let’s discuss how we can support your journey.