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

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

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

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

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


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

ガイドを表示


始める前に

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Enable the Cloud Scheduler, Pub/Sub APIs.

    Enable the APIs

  5. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  6. Google Cloud プロジェクトで課金が有効になっていることを確認します

  7. Enable the Cloud Scheduler, Pub/Sub APIs.

    Enable the APIs

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

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

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

    [Pub/Sub] に移動

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

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

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

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

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

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

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

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

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

    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. Google Cloud コンソールで、[Cloud Scheduler] ページに移動します。

    Cloud Scheduler に移動

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

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

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

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

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

Pub/Sub で結果を確認する

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

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

    [Pub/Sub] に移動

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

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

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

公開したメッセージが、メッセージ本文、Hello world、公開時刻とともに表示されます。

クリーンアップ

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

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

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

      Cloud Scheduler に移動

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

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

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

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

      [Pub/Sub] に移動

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

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

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

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

      [Pub/Sub] に移動

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

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

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

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

次のステップ