Technical Blog テクニカルブログ
  1. HOME
  2. テクニカルブログ
  3. Google Cloudのコンピューティングにバッチ(Batch)が追加されていたのでさっくりと使ってみた

Google Cloudのコンピューティングにバッチ(Batch)が追加されていたのでさっくりと使ってみた

投稿者:ソリューション担当

Google Cloudのコンピューティングにバッチ(Batch)が追加されていたのでさっくりと使ってみた

Google Cloudは日々アプデが入っています。
利用する側は最新機能に追いつくのに精一杯であったり、「なんやこれ!?」といった機能もあったりします。

今回は7/14にたまたま画面上から見かけたコンピューティングの「バッチ」を使ってみます

batch_image_1.png

いつ追加された?

ソフトウェアやサービスが新しいバージョンで作成された際に提供されるリリースノートがあります。
Google Cloudではリリースノートに下記のような情報が記載されています。

  • 今後のアップデートや製品の修正
  • 製品サポートの扱いがGA(正式サポート)になったかどうか
  • 製品の脆弱性対応状況

バッチに関しても例に漏れずリリースノートが作成されていました。

Batch is now available in Preview! For more information about using Batch, see the documentation.

公式ドキュメントもあるので早速見てみましょう。

batch_image_2.png

製品としてはプレビュー扱い(Google Cloudの利用規約としてSLAサポートをしない製品)として出ているそうです。

実際に試してみる(準備パート)

ではドキュメントの「Before you begin」にそってやってみましょう。

1.In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

まずはGoogle Cloudのプロジェクト選択です。
ここは各々のプロジェクトを選択してください。
問題なければ次に進みます。

2.Make sure that billing is enabled for your Cloud project. Learn how to check if billing is enabled on a project.

続いてプロジェクトに対して課金設定が有効化になっているか確認します。有料サービスを利用する際には必須の設定となります。
ちなみに、Google Cloudでは新規利用の場合クレジットカード登録で$300分無料で利用できます。
詳細はこちらのリンクからご確認ください。

問題ないので次に進みます。

3.If you want to use the command-line examples in this guide, do the following:

こちらはGoogle Cloudが提供するSDKを導入していない場合はインストールしてくださいといった解説となります。
今回はインストールしていることを前提とするためスルーします。

4.Make sure Batch is enabled for your project. To start using Batch with a project, do the following:

どうやらBatch APIと呼ばれるAPIの有効化が必要なようです。
画面上からは左上のナビゲーションメニュー選択後、「コンピューティング→バッチ」を選択します。

batch_image_3.png

初回選択時はBatch APIの画面が出てくるので有効化します。

batch_image_4.png

有効化完了まで数分です。
有効化完了後画面が切り替わります。新しい画面ってのはなんでもいいですね

batch_image_5.png

公式ドキュメントとしては、Compute Engineのデフォルトサービスアカウントに下記権限がいるようです。

  • roles/batch.agentReporter
  • roles/storage.admin

IAMの画面で見るとこんなかんじです

batch_image_6.png

ユーザには下記権限が必要です

  • roles/batch.jobsAdmin
    • ジョブの作成削除実施。バッチ一覧や詳細も確認可能
  • roles/batch.jobsViewer
    • バッチ一覧や詳細確認

IAMの画面でみるとこんなかんじです

batch_image_7.png

実際に試してみる(作成パート)

権限とAPI有効化完了です。
バッチジョブを作成してみましょう。

作成内容は公式ドキュメントにある「Create a basic job」を参考にしています。サンプルスクリプトジョブの作成までを行います。

画面左上にある作成を選択します

batch_image_8.png

各種設定内容が出てきます。
それぞれ見てましょう(記載されている内容を翻訳したりしているので若干ニュアンス違ったりしているかもしれないです)

Details

batch_image_9.png

  • JobName
    • ジョブの名前。デフォルトは job-xxxxxx といった形で記載(xxxはランダムな文字列)
    • 今回は example-basic-job で定義
  • リージョン
    • ジョブ作成リージョン。現在は画像の通りasia-northeast1や2では利用できないっぽいです
    • batch_image_10.png
    • 今回はデフォルトリージョンである us-central1 を選択します
  • VM provisioning model
    • どうにもジョブはGCEを作成して実施するようです。GCEをプリエンプティブルインスタンスで作成するか聞かれています。選択肢はStandardとSpotです
    • 今回は Standard で試してみましょう。ちょっとリッチです
  • Task count
    • おそらくジョブの実行回数ですね。1から10000の間で記載します
    • 今回は 4 を指定。4タスクやっちゃいます
  • Parallelism
    • 同時実行タスク数を定義するようです。1から1000まで選択可能です。
    • 今回は 2 を指定。並列実行のテストですね

設定後の画像はこんな感じです

batch_image_11.png

Task details

batch_image_12.png

実行するジョブのコンテナイメージorスクリプトを記載するようです。
今回は手軽にスクリプトでやってみましょう。
Scriptを選択して、スクリプト記載欄に下記サンプルスクリプトを貼り付けます

echo Hello world! This is task ${BATCH_TASK_INDEX}. This job has a total of ${BATCH_TASK_COUNT} tasks.

設定後の画像はこんな感じです(スクリプト貼り付けただけですが…

batch_image_13.png

ちなみにですが、Container image URLを選択した場合は下記項目が表示されます。

  • Container image URL
    • コンテナイメージを指定します。パブリックで公開されているイメージもしくはArtifactRegistryにあるイメージを選択します
  • Entry point
    • コンテナのエントリポイントコマンドの代わりにジョブが実行するコマンドを指定するようです
    • ここでのコマンドはよくある /bin/bash とか /bin/sh とかのやつかと思います
  • Override container image’s CMD command
    • チェックボックスでのオプションです。コンテナイメージのCMDコマンドの代わりに実行するコマンドを指定するようです

Task resources

batch_image_14.png

バッチを動かすための設定のようです
メモリとコアを指定します

  • Cores
    • 動作するVMインスタンスリソースのコアを指定します。0.5 ~ 224 vCPUの間で選択可能なようですね
    • 今回はデフォルト値の 1 vCPU を指定します
  • Memory
    • 動作するVMインスタンスリソースのメモリを指定します。0.5 ~ 896 GBの間で選択可能なようです。メモリそんな使うバッチあるんか?って感じもありますが指定幅がでかいのはええことです。
    • 今回はデフォルト値の 0.5 GB を指定します

設定完了後作成を選択します。

実際に試してみる(動作確認パート)

作成で正常にできれば 【ジョブ名】 created と表示されます。一安心ですね

batch_image_15.png

実際のジョブの画面です。Machine typeとかの詳細はgcloudコマンドで対応できるとのことです。

batch_image_16.png

ジョブ名を選択すると詳細画面が表示されます

batch_image_17.png

作成後しばらくすると、ジョブ実行中にステータスが変更されます。
放置しているとステータスが「完了しました」となります

batch_image_18.png

詳細確認のため、Cloud Loggingを見てます。
Logs欄にあるCloud Loggingリンクを選択します
batch_image_19.png

タスクを4回実行とあったため、正常に4回実行された結果が出力されていますね
batch_image_20.png

まとめ

バッチジョブを画面ポチポチして手軽に作成できました。
アップデートが入り他サービス含めて色々と連携できるようになると利用用途が更に増えると思います。

皆様も是非試してみてください

ページのトップへ