Cloud Scheduler クイックスタート

このクイックスタートでは、Cloud Scheduler を使用した以下の基本的な操作について説明します。

  • Cloud Scheduler ジョブを作成する。
  • ジョブの定期的なスケジュールを設定する。
  • ジョブターゲットとして Pub/Sub トピックを指定します。
  • ジョブを実行する。
  • 正常終了を確認する。

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

始める前に

次の手順に沿って、このクイックスタートの準備を行います。 以下のステップのいくつかはすでに完了している場合もあります。

gcloudコマンドラインツールをインストールして構成します。

  1. Cloud SDK をインストールし、初期化する

  2. すべてのコンポーネントを更新します。

     gcloud components update
    

App Engine アプリを含むプロジェクトを作成する

既存のプロジェクトがあれば、そのプロジェクトを使うこともできます。

  1. Cloud SDK をインストールしたマシンでターミナルを開き、Cloud プロジェクトを作成します。

     gcloud projects create [PROJECT_ID]
    

    PROJECT_ID は、作成するプロジェクトの ID です。プロジェクト ID は小文字で始まる必要があり、小文字の ASCII 文字、数字、ハイフンを使用できます。6〜30 文字でなければなりません。

  2. 選択したプロジェクトを使用するようにgcloudを構成します。

     gcloud config set project [PROJECT-ID]
    

    PROJECT_ID は前のステップで設定した ID です。

  3. 次にアプリを作成します。

     gcloud app create [--region=REGION]
    

    [REGION] はアプリが実行されるロケーションです。App Engine コマンドで europe-west および us-central と呼ばれる 2 つのロケーションは、Cloud Scheduler コマンドではそれぞれ europe-west1 および us-central1 と呼ばれます。

    次のコマンドで既存のアプリのリージョンを確認できます。

     gcloud app describe
    

    リージョンはlocationIdでリストされています。ロケーションはlocationId: us-centralのように表示されます。

    App Engine アプリのゾーンは、設定後には変更できません。

Google Cloud Console を使用して次の機能を有効にします。

  1. プロジェクトに対する課金を有効にします

  2. Cloud Scheduler API を有効にします

  3. Pub/Sub API を有効にします

gcloudを使用して Pub/Sub を設定します。

  1. cron ジョブのターゲットとして使用する Pub/Sub トピックを設定します。

    gcloud pubsub topics create cron-topic
    

    このコマンドは、「cron-topic」というトピックを作成します。クイックスタートの後半でこのトピックを使用するため、名前をメモしておきます。

  2. Pub/Sub サブスクリプションを作成します。これは、ジョブの結果を表示するために必要です。

    gcloud pubsub subscriptions create cron-sub --topic cron-topic
    

ジョブを作成する

  1. コンソールで [Cloud Scheduler] ページにアクセスします。

    Cloud Scheduler

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

  3. ジョブに名前を指定し、必要に応じて説明を追加します。

    画像

  4. ジョブの頻度unix-cron 形式で指定します。

    * * * * *
    

    詳細については、cron ジョブ スケジュールの構成をご覧ください。App Engine cron 形式に慣れているデベロッパーは、その形式も使用できます。

  5. タイムゾーンを選択します。

  6. [ターゲット] フィールドのプルダウン メニューから [Pub/Sub トピック] を選択し、前に作成したトピック(cron-topic)を入力します。

  7. Pub/Sub ターゲットに送信するペイロード文字列を追加します。

    画像

  8. [作成] をクリック

これで、1 分ごとに Pub/Sub トピックにメッセージを送信するジョブができました。次に、作成したジョブを実行してみましょう。

ジョブを実行する

  1. プロジェクトで開いた [Cloud Scheduler] コンソール ページで、[今すぐ実行] ボタンをクリックします。

    プロジェクトに作成された最初のジョブを初めて呼び出すときには、必要な構成があるため、実行までに数分間かかることがあります。このため、多少待つ必要がある可能性があります。

  2. [結果] 列で結果を確認します。

    画像

メッセージを Pub/Sub に送信する cron ジョブを実行するコンソールに結果が表示されました。次に、Pub/Sub が実際にメッセージを受け取ったことを確認する方法を学びます。

Pub/Sub で結果を確認する

Pub/Sub トピックがジョブからメッセージを受信していることを確認するには:

  1. 次のコマンドを実行します。

     gcloud pubsub subscriptions pull cron-sub --limit 5
    
  2. 結果を確認します。次のような出力が表示されます。

     +-------------+----------------+------------+-----------------------------+
     | DATA        | MESSAGE_ID     | ATTRIBUTES | ACK_ID                      |
     +-------------+----------------+------------+-----------------------------+
     | hello cron! | 56344662920621 |            | EkwnGERJUytDCypYEU4EISE-... |
     +-------------+----------------+------------+-----------------------------+
     | hello cron! | 56340561244339 |            | EkwnGERJUytDCypYEU4EISE-... |
     +-------------+----------------+------------+-----------------------------+
     | hello cron! | 56340388879975 |            | EkwnGERJUytDCypYEU4EISE-... |
     +-------------+----------------+------------+-----------------------------+
     | hello cron! | 56337745052761 |            | EkwnGERJUytDCypYEU4EISE...  |
     +-------------+----------------+------------+-----------------------------+
     | hello cron! | 56337890896134 |            | EkwnGERJUytDCypYEU4EISE-... |
     +-------------+----------------+------------+-----------------------------+
    

クリーンアップ

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

Cloud Scheduler ジョブの削除

  1. Cloud Console のCloud Schedulerページに移動します。

    [Scheduler] ページに移動

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

  3. ページの上部にある [削除] ボタンをクリックして、削除操作を確定します。

Pub/Sub トピックの削除

  1. Cloud Console のCloud Pub/Subページに移動します。

    [Pub/Sub] ページに移動

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

  3. ページの上部にある [削除] をクリックして、削除操作を確定します。

プロジェクトの削除

このクイックスタートのためだけにプロジェクトを作成した場合は、以下を実行します。

  1. Cloud Console で [リソースの管理] ページに移動します。

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

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

次のステップ