cron ジョブをスケジュールして実行する前に、Cloud Scheduler 用に Google Cloudプロジェクトと環境を設定する必要があります。
Cloud Scheduler API を有効にします
次の手順に沿って、 Google Cloud プロジェクトを作成または選択し、Cloud Scheduler API を有効にします。
コンソール
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Scheduler API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
gcloud
-
Google Cloud CLI をインストールします。
-
フェデレーション ID(連携 ID)を使用するように gcloud CLI を構成します。
詳細については、 フェデレーション ID を使用して gcloud CLI にログインするをご覧ください。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Google Cloud プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者のロール(roles/resourcemanager.projectCreator)が必要です。詳しくは、ロールを付与する方法をご覧ください。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Google Cloud プロジェクトの名前に置き換えます。
Cloud Scheduler API が有効になっていない場合は、有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法を学習する。gcloud services enable cloudscheduler.googleapis.com
認証を設定する
Cloud Scheduler に対する認証方法は、API へのアクセスに使用するインターフェースと、コードが実行されている環境によって異なります。
詳細については、Cloud Scheduler に対する認証と HTTP ターゲットで認証を使用するをご覧ください。
App Engine アプリケーションを追加する
App Engine HTTP ターゲットを使用する場合は、プロジェクトに App Engine アプリケーションを追加する必要があります。このアプリは、Cloud Scheduler サービスの場所とジョブ ハンドラ自体の両方として機能します。ジョブ ハンドラは、Cloud Scheduler ジョブに関連付けられた処理を実行し、レスポンスで確認応答を返します。
プロジェクトにない App Engine ジョブハンドラを使用する場合は、代わりに HTTP ターゲットを選択する必要があります。この場合、プロジェクトに App Engine アプリは必要ありません。
コンソール
Google Cloud コンソールで、[App Engine] ページに移動します。
[App Engine へようこそ] ダイアログで、次のいずれかを行います。
App Engine アプリケーションをすでに作成していて、[App Engine アプリケーションが作成されました] というメッセージが表示されている場合は、このセクションの残りの手順をスキップできます。
または
App Engine アプリケーションをまだ作成していない場合は、[アプリケーションを作成] をクリックして、このセクションの残りの手順に進みます。
アプリケーションのリージョンを選択します。
europe-westとus-centralは、Cloud Scheduler コマンドではそれぞれeurope-west1とus-central1と呼ばれます。App Engine アプリのリージョンは、一度設定すると変更できません。
サービス アカウントを選択しないでください。デフォルトの App Engine サービス アカウントが使用されます。
[次へ] をクリックします。
アプリケーションが構成され、作成されます。これには数分かかることがあります。
Cloud SDK はダウンロードせずに、[後で行う] をクリックします。
[App Engine アプリケーションが作成されました] というメッセージが表示されます。
gcloud
App Engine アプリを作成するには、
gcloud app createコマンドを実行します。gcloud app create --region=REGIONREGIONは、アプリが実行されるロケーションに置き換えます。europe-westとus-centralは、Cloud Scheduler コマンドではそれぞれeurope-west1とus-central1と呼ばれます。App Engine アプリのリージョンは、一度設定すると変更できません。
次のコマンドで既存のアプリのリージョンを確認できます。
gcloud app describelocationIdはリージョンを示します。例:locationId: us-central。