このドキュメントでは、Ops エージェントを自動的にインストールする Batch ジョブを作成して実行する方法について説明します。Ops エージェントをインストールすると、ジョブリソースのパフォーマンスに関する追加の指標が Cloud Monitoring に提供されます。ジョブのリソース パフォーマンス指標の使用方法の詳細については、 指標を表示してジョブリソースをモニタリングして最適化するをご覧ください。
始める前に
- Batch を以前に使用したことがない場合は、 Batch を使ってみる を確認し、 プロジェクトとユーザーの前提条件を完了して Batch を有効にします。
- プロジェクトで Cloud Monitoring API と Cloud Logging API がまだ有効になっていない場合は、有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。 -
ジョブの作成に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
ジョブを作成するには:
- Batch ジョブ編集者 (
roles/batch.jobsEditor) プロジェクトに対する - サービス アカウント ユーザー (
roles/iam.serviceAccountUser) ジョブのサービス アカウントの。デフォルトではCompute Engine のデフォルトのサービス アカウントです。
- Batch ジョブ編集者 (
-
ログを表示するには:
ログビューア (
roles/logging.viewer) プロジェクトに対する
ロールの付与の詳細については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
-
ジョブを作成するには:
ジョブのサービス アカウントに デフォルト構成を使用していない場合は、 必要な権限が付与されていることを確認してください。
ジョブのサービス アカウントに Ops エージェントの指標を Monitoring に書き込むために必要な 権限があることを確認するには、ジョブのサービス アカウントに次の IAM ロールを付与するよう管理者に依頼してください。
- Monitoring 指標の書き込み (
roles/monitoring.metricWriter) プロジェクトに対する - プロジェクトに対するログ書き込み (
roles/logging.logWriter)
- Monitoring 指標の書き込み (
- 計画されたジョブ構成が Ops エージェントの要件を満たしていることを確認します。
Ops エージェントの要件
Ops エージェントを使用するジョブを作成して実行するには、ジョブが次のすべての要件を満たしている必要があります。
ジョブの VM が Ops エージェントがサポートするオペレーティング システム(OS)を使用していることを確認します。 ジョブの VM OS イメージの詳細については、 ジョブの VM OS 環境の概要をご覧ください。
ジョブでデフォルト以外のネットワーク構成を使用している場合や、 VPC Service Controls を使用している場合は、ジョブが Ops エージェントのアクセス要件 を満たしていることを確認してください。詳細については、Google Cloud Observability ドキュメントの リモート パッケージ アクセス権のない VM をご覧ください。
カスタム イメージやインスタンス テンプレートなどを介して、ジョブに以前の Cloud Logging エージェントまたは Cloud Monitoring エージェントがインストールされていないことを確認します。
Ops エージェントの機能と要件の詳細については、 Google Cloud Observability ドキュメントのOps エージェントの概要 をご覧ください。
Ops エージェントを自動的にインストールするジョブを作成する
Google Cloud CLI または REST API を使用して
ジョブを作成し、JSON ファイルの本文の allocationPolicy.instances フィールドに
installOpsAgent フィールド
を含め、true を設定します。
"allocationPolicy": {
"instances": [
{
"installOpsAgent": true
}
]
}
たとえば、Ops エージェントを自動的にインストールするジョブには、次のような JSON 構成ファイルを含めることができます。
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello World! This is task $BATCH_TASK_INDEX."
}
}
]
},
"taskCount": 3,
}
],
"allocationPolicy": {
"instances": [
{
"installOpsAgent": true
}
]
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
ジョブの VM の実行が開始されると、他のリソース指標と同じように Ops エージェントの指標を確認できます。詳細については、 指標を表示してジョブリソースをモニタリングして最適化するをご覧ください。
次のステップ
- ジョブの作成または実行で問題が発生した場合は、 トラブルシューティングをご覧ください。
- ジョブとタスクを表示する。
- 別のジョブ作成オプションについて学習する。