コンソールを使用して cron ジョブをスケジュールして実行する Google Cloud

このクイックスタートでは、 Google Cloud コンソールを使用して Cloud Scheduler で 基本的なオペレーションを行う方法について説明します。

このクイックスタートでは、以下の操作を行います。

  1. Cloud Scheduler ジョブのターゲットとして設定する Pub/Sub トピックを作成します。
  2. Cloud Scheduler を使用して cron ジョブを作成し、ジョブの定期的なスケジュールを構成します。
  3. Job を実行します。
  4. ジョブが正常に実行されていることを確認します。

Cloud Scheduler には無料枠があるため、このクイックスタートを実行しても費用は発生しません。詳細については、料金をご覧ください。


このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、「ガイドを表示」をクリックしてください。

ガイドを表示


始める前に

  1. アカウントにログインします Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Cloud Scheduler and Pub/Sub APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Cloud Scheduler and Pub/Sub APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

必要なロール

このクイックスタートを完了するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。

Pub/Sub トピックとサブスクリプションを作成する

Pub/Sub トピックは、パブリッシャーがメッセージを送信できるリソースです。 トピックにパブリッシュされたメッセージを受信するには、そのトピックへのサブスクリプションを作成する必要があります。

  1. コンソールで、[Pub/Sub] ページに移動します。 Google Cloud

    [Pub/Sub] に移動

  2. [トピックを作成] をクリックします。

  3. [トピック ID] フィールドに、トピックの ID として「cron-topic 」を入力します。

  4. [デフォルトのサブスクリプションを追加] オプションなど、デフォルトの設定はそのままにします。

  5. 他のオプションは選択しないでください。

  6. [作成] をクリックします。

これにより、cron-topic という Pub/Sub トピックと、そのトピックのサブスクリプション cron-topic-sub が作成されます。

Cloud Scheduler を使用して cron ジョブを作成する

定期的なスケジュールでターゲットに送信される、cron ジョブと呼ばれる定期的な作業単位を設定します。

  1. コンソールで [Cloud Scheduler] ページに移動します。 Google Cloud

    Cloud Scheduler に移動

  2. [ジョブを作成] をクリックします。

  3. ジョブに名前を付けます。

  4. [リージョン] リストで、ジョブのリージョンを選択します。

  5. ジョブの [頻度] を、unix-cron に基づく形式で指定します。次に例を示します。

    30 16 * * 7
    

    詳細については、cron ジョブ スケジュールの構成をご覧ください。

  6. [タイムゾーン] リストで、タイムゾーンを選択します。

    一部のタイムゾーンでは、夏時間が原因で、ジョブが予期せず実行されるか、実行されない可能性があります。詳細については、タイムゾーンをご覧ください。

  7. [続行] をクリックします。

  8. [ターゲット タイプ] リストで、Pub/Sub を選択します。

  9. 先ほど作成した、cron-topic のトピックを選択します。

  10. [メッセージ本文] フィールドに、Pub/Sub ターゲット トピックに送信する文字列を入力します。例: 「Hello world!」

  11. [作成] をクリックします。

日曜日の 16:30 に Pub/Sub トピックにメッセージを送信するジョブを作成しました。このジョブを実行できるようになりました。

ジョブを実行する

指定したスケジュールに沿ってジョブを実行するだけでなく、即時実行を強制的に行うこともできます。

  1. コンソールで [Cloud Scheduler] ページに移動します。 Google Cloud

    Cloud Scheduler に移動

    ジョブが一覧表示されます。

  2. ジョブの行で、 [アクション] [>] [強制実行] をクリックします。

    初期構成によっては、プロジェクトで作成された最初のジョブの実行に数分かかることがあります。

  3. [最後の実行のステータス] 列の Success ステータスに、cron ジョブが正常に実行されたことが表示されます。

次に、Pub/Sub がメッセージを受信したことを確認します。

Pub/Sub で結果を確認する

サブスクリプションから Pub/Sub メッセージを pull して、Pub/Sub トピックがジョブからメッセージを受信していることを確認します。

  1. コンソールで、Pub/Sub の [サブスクリプション] ページに移動します。 Google Cloud

    [Pub/Sub] に移動

  2. Pub/Sub トピックのサブスクリプションをクリックします。

  3. [メッセージ] タブをクリックします。

  4. [PULL] をクリックします。

パブリッシュしたメッセージが表示されます。メッセージ本文は Hello world で、メッセージの公開時刻も表示されます。

クリーンアップ

このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、 次の手順を実施します。

  1. 作成した cron ジョブを削除します。

    1. コンソールで [Cloud Scheduler] ページに移動します。 Google Cloud

      Cloud Scheduler に移動

    2. ジョブのチェックボックスを選択します。

    3. [削除] をクリックして、削除を確定します。

  2. Pub/Sub トピックを削除します。

    1. コンソールで、[Pub/Sub] ページに移動します。 Google Cloud

      [Pub/Sub] に移動

    2. トピックのチェックボックスを選択します。

    3. [削除] をクリックして、削除を確定します。

  3. Pub/Sub サブスクリプションを削除します

    1. コンソールで、[Pub/Sub] ページに移動します。 Google Cloud

      [Pub/Sub] に移動

    2. サブスクリプションのチェックボックスを選択します。

    3. [削除] をクリックして、削除を確定します。

  4. また、Cloud Scheduler の学習用に新しいプロジェクトを作成し、そのプロジェクトが不要になった場合は、プロジェクトを削除します。

    1. コンソールで [**リソースの管理**] ページに移動します。 Google Cloud

      [リソースの管理] に移動

    2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
    3. ダイアログでプロジェクト ID を入力し、 [Shut down] をクリックしてプロジェクトを削除します。

次のステップ