Closed7

Cloud Batchを使う

shosho

コンテナイメージの作成

コンテナ化したいモジュール用のDockerfileを用意して、以下のコマンドを実行する。これによりCloud Buildが実行され、Container Registryにイメージが格納される。

$ gcloud builds submit --region=<region> --tag gcr.io/<project-id>/<tag-name>
# example below
$ gcloud builds submit --region=asia-northeast1 --tag gcr.io/myproject/my-tag

ジョブの作成

バッチの画面より、「作成」ボタンを押下する。
ジョブの定義画面で、先ほど作成したイメージのURLでタスクを作成することを選択し、イメージのURLを入力する。

ジョブの作成画面の最下部の「作成」ボタンを押下すると、ジョブ一覧画面に自動的に遷移し、作成したジョブがキューに格納されていることを確認できる。

shosho

今回、Cloud Batch上からCloud Runのコンテナを実行する必要があったため、ジョブを起動するサービスアカウントに「Cloud Run起動元」のロールを付与します。
プロジェクトでBatchを有効にするによれば、

各ジョブでデフォルトで使用されるサービス アカウントは Compute Engine のデフォルトのサービス アカウントですが、ジョブで使用されるサービス アカウントをカスタマイズすることもできます。

とのことなので、該当のサービスアカウントを編集し必要な権限を付与します。

shosho

今回、Cloud Batch上からCloud Runのコンテナを実行する必要があったため、ジョブを起動するサービスアカウントに「Cloud Run起動元」のロールを付与します。
プロジェクトでBatchを有効にするによれば、

各ジョブでデフォルトで使用されるサービス アカウントは Compute Engine のデフォルトのサービス アカウントですが、ジョブで使用されるサービス アカウントをカスタマイズすることもできます。

とのことなので、該当のサービスアカウントを編集し必要な権限を付与します。

この状態でCloud Batchを動かしたところ、401エラーとなってしまいました。わからん。

このスクラップは2023/11/01にクローズされました