ラベルのワークフロー

ラベルは、関連するワークフローを特定してグループ化し、ワークフローに関するメタデータを保存する場合に使用できる Key-Value ペアです。ワークフローに複数のラベルを指定できます。

このページでは、ワークフローでラベルを使用する方法について説明します。また、ワークフローのラベルを追加、更新、削除する方法についても説明します。

Google Cloud 組織のレポート、監査、アクセス制御のために Google Cloud 全体のワークフローやその他のリソースをグループ化するには、タグを使用します。タグとラベルは互いに独立して機能するため、両方を同じワークフローに適用できます。

ラベルとは

ラベルは、 Google Cloud ワークフローに割り当てることができる Key-Value ペアです。ラベルはこれらのリソースを整理し、必要な粒度に基づいてコストを大規模に管理する場合に役立ちます。各リソースにラベルを設定し、そのラベルに基づいてリソースをフィルタできます。ラベルに関する情報は課金システムに転送され、請求料金をラベル別に分類できます。組み込みの請求レポートにより、リソースラベルで費用をフィルタしてグループ化できます。また、ラベルを使用して請求データ エクスポートをクエリすることもできます。

ラベルの要件

リソースに適用するラベルは、次の要件を満たす必要があります。

  • 各リソースには、最大 64 個のラベルを設定できます。
  • ラベルは、Key-Value ペアでなければなりません。
  • キーは 1 文字以上、63 文字までにする必要があります。空にすることはできません。値は 63 文字以下にします。空にすることもできます。
  • キーと値には、小文字、数字、アンダースコア、ダッシュのみを使用できます。すべての文字は UTF-8 でエンコードする必要があります。国際文字も使用できます。キーは、小文字または国際文字で始める必要があります。
  • ラベルのキー部分は、単一のリソース内では一意である必要があります。ただし、複数のリソースで同じキーを使用できます

これらの上限は、各ラベルのキーと値だけでなく、ラベルのある個々の Google Cloud リソースにも適用されます。1 つのプロジェクト内のすべてのリソースに適用できるラベルの数に上限はありません。

ラベルの一般的な用途

次に、ラベルの一般的な使用例を示します。

  • チームまたはコストセンターのラベル: チームやコストセンターに基づいてラベルを追加し、各チームが所有するワークフローを区別します(例: team:researchteam:analytics)。この種類のラベルは、費用計算または予算作成に使用できます。

  • コンポーネント ラベル: component:rediscomponent:frontendcomponent:ingestcomponent:dashboard など。

  • 環境ラベルまたはステージのラベル: environment:productionenvironment:test など。

  • 状態のラベル: state:activestate:readytodeletestate:archive など。

  • オーナー権限ラベル: 運用担当チームの識別に使用されます(例: team:shopping-cart)。

すべての API 呼び出しにタイムスタンプや個別の値を設定するなど、一意のラベルを多数作成することはおすすめしません。このアプローチの問題は、値が頻繁に変更される場合やカタログを混乱させるキーを使用している場合に、リソースを効果的にフィルタして報告することが困難になることです。

ラベルとタグ

ラベルは、リソースに対するクエリ可能なアノテーションとして使用できますが、ポリシーの条件の設定には使用できません。タグを使用すると、ポリシーをきめ細かく制御することによって、リソースに特定のタグが付加されているかどうかに基づいて、条件付きでポリシーを許可または拒否することが可能になります。詳細については、タグの概要をご覧ください。

ラベルを追加または更新する

ワークフローに 1 つ以上のラベルを追加するには、ワークフローを作成します。ワークフローを更新するときにラベルを追加または編集することもできます。

既存のラベルを更新したり、新しいラベルを追加したりした場合、新しいラベルが有効になるまでに最大 10 分かかることがあります。

ワークフローをラベルでフィルタする

ラベルでフィルタすることで、特定のワークフローを検索して一覧表示できます。

コンソール

  1. Google Cloud コンソールの [ワークフロー] ページに移動します。

    [ワークフロー] に移動

  2. [フィルタ] フィールドで、フィルタ条件として [ラベル] を選択し、[] リストで Key-Value ペアを選択します。

gcloud

gcloud workflows list コマンドに --filter フラグを指定します。

gcloud workflows list \
    --filter labels.KEY=VALUE

KEYVALUE は、ラベルの Key-Value ペアに置き換えます。

Google Cloud CLI のフィルタ構文の詳細については、gcloud topic filters をご覧ください。

ワークフロー ラベルは、ワークフローの実行によって継承されます。実行ラベルを表示するには、workflows.executions.list メソッドを使用して、ワークフローの実行を一覧表示してフィルタします。

ラベルを削除する

特定のラベルを削除するには、Google Cloud コンソールを使用します。また、gcloud CLI を使用してワークフローのすべてのラベルを削除することもできます。

コンソール

  1. Google Cloud コンソールの [ワークフロー] ページに移動します。

    [ワークフロー] に移動

  2. 更新するワークフローの名前をクリックします。

    [Workflow の詳細] ページが表示されます。

  3. [ 編集] をクリックします。

    [ワークフローを編集] ページが表示されます。

  4. 削除するラベルの横にある [アイテムを削除] をクリックします。

  5. [次へ] をクリックします。

  6. ワークフローを再デプロイするには、[Deploy] をクリックします。

gcloud

空の値を指定して --labels フラグを使用し、gcloud workflows deploy コマンドを使用します。

gcloud workflows deploy WORKFLOW_NAME \
    --labels="" \
    --source=YAML_OR_JSON_SOURCE_FILE

次のように置き換えます。

  • WORKFLOW_NAME: ワークフローの名前。

  • YAML_OR_JSON_SOURCE_FILE: ワークフローのソースファイル(YAML 形式または JSON 形式)。例: myFirstWorkflow.yaml