Google Cloud コンソールを使用して cron ジョブをスケジュールして実行する
このクイックスタートでは、 Google Cloud コンソールを使用して Cloud Scheduler で基本的なオペレーションを行う方法について説明します。
このクイックスタートでは、以下の操作を行います。
- Cloud Scheduler ジョブのターゲットとして設定する Pub/Sub トピックを作成します。
- Cloud Scheduler を使用して cron ジョブを作成し、ジョブの定期的なスケジュールを構成します。
- Job を実行します。
- ジョブが正常に実行されていることを確認します。
Cloud Scheduler には無料枠があるため、このクイックスタートを実行しても費用は発生しません。詳細については、料金をご覧ください。
このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、「ガイドを表示」をクリックしてください。
始める前に
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.
必要なロール
このクイックスタートを完了するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
Cloud Scheduler 管理者 (
roles/cloudscheduler.admin) -
Pub/Sub 編集者(
roles/pubsub.editor)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
Pub/Sub トピックとサブスクリプションを作成する
Pub/Sub トピックは、パブリッシャーがメッセージを送信できるリソースです。トピックにパブリッシュされたメッセージを受信するには、そのトピックへのサブスクリプションを作成する必要があります。
Google Cloud コンソールで、Pub/Sub ページに移動します。
[トピックを作成] をクリックします。
[トピック ID] フィールドに、トピックの ID として cron-topic を入力します。
[デフォルトのサブスクリプションを追加する] オプションを含むデフォルトは、そのまま保持します。
他のオプションは選択しないでください。
[作成] をクリックします。
これにより、cron-topic という Pub/Sub トピックと、そのトピックのサブスクリプション cron-topic-sub が作成されます。
Cloud Scheduler を使用して cron ジョブを作成する
定期的なスケジュールでターゲットに送信される、cron ジョブと呼ばれる定期的な作業単位を設定します。
Google Cloud コンソールで [Cloud Scheduler] ページに移動します。
[ジョブを作成] をクリックします。
ジョブに名前を付けます。
[リージョン] リストで、ジョブのリージョンを選択します。
ジョブの [頻度] を、unix-cron に基づく形式で指定します。次に例を示します。
30 16 * * 7詳細については、cron ジョブ スケジュールの構成をご覧ください。
[タイムゾーン] リストで、タイムゾーンを選択します。
一部のタイムゾーンでは、夏時間が原因で、ジョブが予期せず実行されるか、実行されない可能性があります。詳細については、タイムゾーンをご覧ください。
[続行] をクリックします。
[ターゲット タイプ] リストで、Pub/Sub を選択します。
先ほど作成した、
cron-topicのトピックを選択します。[メッセージ本文] フィールドに、Pub/Sub ターゲット トピックに送信する文字列を入力します。例: 「Hello world!」
[作成] をクリックします。
日曜日の 16:30 に Pub/Sub トピックにメッセージを送信するジョブを作成しました。このジョブを実行できるようになりました。
ジョブを実行する
指定したスケジュールに沿ってジョブを実行するだけでなく、即時実行を強制的に行うこともできます。
Google Cloud コンソールで [Cloud Scheduler] ページに移動します。
ジョブが一覧表示されます。
ジョブの行で、 [アクション] > [強制実行] をクリックします。
初期構成によっては、プロジェクトで作成された最初のジョブの実行に数分かかることがあります。
[最後の実行のステータス] 列の
Successステータスに、cron ジョブが正常に実行されたことが表示されます。
次に、Pub/Sub がメッセージを受信したことを確認します。
Pub/Sub で結果を確認する
サブスクリプションから Pub/Sub メッセージを pull して、Pub/Sub トピックがジョブからメッセージを受け取っていることを確認します。
Google Cloud コンソールで、Pub/Sub の [サブスクリプション] ページに移動します。
Pub/Sub トピックのサブスクリプションをクリックします。
[メッセージ] タブをクリックします。
[PULL] をクリックします。
パブリッシュしたメッセージが表示されます。メッセージ本文 Hello world と、メッセージがパブリッシュされた時刻が表示されます。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。
作成した cron ジョブを削除します。
Google Cloud コンソールで [Cloud Scheduler] ページに移動します。
ジョブのチェックボックスを選択します。
[削除] をクリックして、削除を確定します。
Pub/Sub トピックを削除します。
Google Cloud コンソールで、[Pub/Sub] ページに移動します。
トピックのチェックボックスを選択します。
[削除] をクリックして、削除を確定します。
Pub/Sub サブスクリプションを削除します
Google Cloud コンソールで、[Pub/Sub] ページに移動します。
サブスクリプションのチェックボックスをオンにします。
[削除] をクリックして、削除を確定します。
また、Cloud Scheduler の学習用に新しいプロジェクトを作成し、そのプロジェクトが不要になった場合は、プロジェクトを削除します。
- Google Cloud コンソールで [リソースの管理] ページに移動します。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
次のステップ
- Cloud Scheduler の詳細
- Cloud Scheduler のログを表示する方法を学ぶ