Cloud Dataproc ユーザーラベル

Cloud Dataproc クラスタとジョブリソースにユーザーラベルを適用できます。これにより、リソースと関連オペレーションをグループ化し、後でフィルタリングとリスティングに使用できるようにすることができます。Google Cloud SDK の gcloud コマンドライン ツール、Google Cloud Platform ConsoleCloud Dataproc REST API を使用して(クラスタの作成時またはジョブの送信時に)リソースを作成する際に、ラベルをリソースに関連付けます。リソースがラベルに関連付けられると、ラベルはリソースで行われるオペレーション(クラスタの作成、更新、パッチ、削除や、ジョブの送信、更新、キャンセル、削除)に伝播され、ラベルを基準にクラスタ、ジョブ、オペレーションのフィルタリングとリスティングを実施できます。

ラベルのセマンティクスと要件

ラベルは文字列 key:value のペアです。Cloud Dataproc のラベルは、他の Google Cloud Platform リソースのラベルと同じ特性を持ちます(ただし例外* もあります)。

  • ラベルのキーと値は、63 文字以内でなければなりません。
  • ラベルのキーと値には、小文字の英字、数字、アンダースコア、ハイフン、国際文字のみを使用できます。
  • ラベルのキーと値は、128 バイト以内でなければなりません。
  • ラベルのキーは文字で始まる必要があります。
  • ラベルのキーはリソースタイプ(クラスタ、ジョブ、オペレーション)内で一意にする必要があります。
  • Cloud Dataproc リソースごとに最大 32 個のラベルを付けることができます(* 他の Google Cloud Platform リソースは最大 64 個のラベルに関連付けられます)。
  • Cloud Dataproc リソースには、デフォルトのラベルが付いていません。
  • Cloud Dataproc は、接頭辞 goog-dataproc- を使用する一部のシステムラベルを自動的に管理します。

自動的に適用されるラベル

クラスタを作成または更新する場合、Cloud Dataproc は自動的にいくつかのラベルをクラスタおよびクラスタ リソースに適用します。たとえば、Cloud Dataproc は仮想マシン、永続ディスク、アクセラレータにラベルを適用します。自動的に適用されるラベルには、特別な goog-dataproc 接頭辞があります。

これらのラベルは、次のようなさまざまな方法で使用できます。

次の goog-dataproc ラベルは、Cloud Dataproc リソースに自動的に適用されます。クラスタ作成時に予約済みの goog-dataproc ラベルに値を指定すると、その値で自動的に指定された値が上書きされます。このため、これらのラベルに独自の値を指定することはおすすめしません。

ラベル 説明
goog-dataproc-cluster-name ユーザー指定のクラスタ名。
goog-dataproc-cluster-uuid 一意のクラスタ ID。
goog-dataproc-location Cloud Dataproc リージョン クラスタ エンドポイント

Cloud Dataproc ラベルの作成と使用

gcloud コマンド

gcloud コマンドライン ツールを使用して Cloud Dataproc クラスタまたはジョブを作成または送信するときに、適用するラベルを 1 つ以上指定できます。

gcloud dataproc clusters create args --labels env=prod,customer=acme
gcloud dataproc jobs submit args --labels env=prod,customer=acme
Cloud Dataproc クラスタまたはジョブを作成した後は、そのリソースに関連付けられているラベルを、gcloud コマンドライン ツールを使用して更新できます。
gcloud dataproc clusters update args --update-labels env=prod,customer=acme
gcloud dataproc jobs update args --update-labels env=prod,customer=acme
同様に、gcloud コマンドライン ツールを使用して Cloud Dataproc リソースをラベルでフィルタリングできます。これには、labels.<key=value> という形式のフィルタ式を使用します。
gcloud dataproc clusters list --filter "status.state=ACTIVE AND labels.env=prod"
gcloud dataproc jobs list --filter "status.state=ACTIVE AND labels.customer=acme"
フィルタ式の作成方法については、Cloud Dataproc API のドキュメントで clusters.list および jobs.list をご覧ください。

REST API

Cloud Dataproc リソースへのラベルの適用は、Cloud Dataproc REST API でも行えます。clusters.create API や jobs.submit API を使用して、クラスタやジョブを作成または送信するときにラベルを付けることができます。リソースの作成後は、clusters.patch API や jobs.patch API を使用してラベルを編集できます。次に示すのは、key1:value ラベルをクラスタに付ける cluster.create リクエストの JSON 本文の例です。

{
"clusterName": "cluster-1",
"projectId": "my-project",
"config": {
"configBucket": "",
"gceClusterConfig": {
  "networkUri": ".../networks/default",
  "zoneUri": ".../zones/us-central1-f"
},
"masterConfig": {
  "numInstances": 1,
  "machineTypeUri": "..../machineTypes/n1-standard-4",
  "diskConfig": {
    "bootDiskSizeGb": 500,
    "numLocalSsds": 0
  }
},
"workerConfig": {
  "numInstances": 2,
  "machineTypeUri": "...machineTypes/n1-standard-4",
  "diskConfig": {
    "bootDiskSizeGb": 500,
    "numLocalSsds": 0
  }
}
},
"labels": {
"key1": "value1"
}
}
clusters.list API や jobs.list API を使用して、指定したフィルタと一致するリソースを一覧表示できます。これには、labels.<key=value> という形式を使用します。次に示すのは、Cloud Dataproc API の clusters.list HTTPS GET リクエストで key=value ラベルフィルタを指定する例です。呼び出し元は、projectregion、フィルタ label-keylabel-valueapi-key を挿入します。このサンプル リクエストは読みやすさのために 2 行に分けて記載されています。
GET https://dataproc.googleapis.com/v1/projects/project/regions/region/clusters?
filter=labels.label-key=label-value&key=api-key
フィルタ式の作成方法については、Cloud Dataproc API のドキュメントで clusters.list および jobs.list をご覧ください。

Console

GCP Console を使用して Cloud Dataproc リソースを作成または送信するときに、適用するラベルのセットを指定できます。下の図は、[Cloud Dataproc] → [クラスタの作成] ページから Cloud Dataproc クラスタに関連付けるラベルを作成する例です。

次に示すのは、[Cloud Dataproc] → [ジョブを送信] ページから Cloud Dataproc ジョブに関連付けるラベルを作成する例です。

Cloud Dataproc リソースを作成した後は、そのリソースに関連付けられているラベルを更新できます。ラベルを更新するには、ページの左上にある [SHOW INFO PANEL] を最初にクリックする必要があります。次に示すのは、[Cloud Dataproc] → [クラスタのリスト表示] ページの例です。

情報パネルが表示されたら、Cloud Dataproc リソースのラベルを更新できます。次に示すのは、Cloud Dataproc クラスタのラベル更新の例です。

また、1 回のオペレーションで複数のアイテムのラベルを更新することもできます。次の例では、複数の Cloud Dataproc ジョブのラベルを一度に更新しています。

ラベルを使用すると、[Cloud Dataproc] → [クラスタのリスト表示] ページと [Cloud Dataproc] → [ジョブのリスト表示] ページに表示される Cloud Dataproc リソースをフィルタできます。ページの先頭で、labels.<labelname>=<value> という検索パターンを使用して、ラベルでリソースをフィルタできます。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Dataproc ドキュメント
ご不明な点がありましたら、Google のサポートページをご覧ください。