タグを使用して使用状況を監視する

コストを監視し、Databricks の使用状況を組織のビジネス ユニットやチームに正確に割り当てる (チャージバックなど) ために、ワークスペースとコンピュート リソースにカスタム タグを追加できます。 Databricks では、システムテーブル (パブリック プレビュー) を使用して使用状況データを表示することをお勧めします。 料金利用システムテーブルリファレンス を参照してください。

これらのタグは、コスト分析のために使用状況ログと AWS EC2 および AWS EBS インスタンスの両方に伝播されます。

タグ付けされたオブジェクトとリソース

Databricks によって管理される次のオブジェクトにカスタム タグを追加できます。

オブジェクト

タグ付けインターフェイス (UI)

タグ付けインターフェイス (API)

ワークスペース

N/A

アカウント API

プール

Databricks ワークスペースのプール UI

インスタンスプール API

万能・ジョブコンピュート

Databricks ワークスペースのコンピュート UI

クラスター API

SQLウェアハウス

Databricks ワークスペースの SQLwarehouse UI

ウェアハウスAPI

警告

キー Name を持つカスタムタグをクラスターに割り当てないでください。 すべてのクラスターには、値が Databricks によって設定されるタグ Name があります。 キー Nameに関連付けられている値を変更すると、クラスターは Databricks で追跡できなくなります。 その結果、アイドル状態になった後にクラスターが終了せず、引き続き使用コストが発生します。

デフォルトのタグ

Databricks は、次のデフォルト タグを汎用コンピュートに追加します。

タグキー

Vendor

定数値: Databricks

ClusterId

クラスターの内部 ID Databricks

ClusterName

クラスターの名前

Creator

クラスターを作成したユーザーのユーザー名 (Eメール アドレス)

ジョブ クラスターでは、Databricks は次の既定のタグも適用します。

タグキー

RunName

ジョブ名

JobId

ジョブ ID

Databricks は、次のデフォルト タグをすべてのプールに追加します。

タグキー

Vendor

定数値: Databricks

DatabricksInstancePoolCreatorId

プールを作成したユーザーの内部 ID Databricks

DatabricksInstancePoolId

プールの内部 ID Databricks

レイクハウスモニタリングで使用されるコンピュートでは、Databricks は次のタグも適用します。

タグキー

LakehouseMonitoring

LakehouseMonitoringTableId

監視対象テーブルの ID

LakehouseMonitoringWorkspaceId

モニターが作成されたワークスペースの ID

LakehouseMonitoringMetastoreId

監視対象テーブルが存在するメタストアの ID

タグの 伝播

タグは、クラスターがプールから作成されたかどうかに応じて、異なる方法で AWS EC2 インスタンスに伝播されます。

クラスターとプールのタグの伝播

クラスターがプールから作成された場合、その EC2 インスタンスはカスタムおよびデフォルトのワークスペースタグとプールタグのみを継承し、クラスタータグは継承しません。 したがって、プールからクラスターを作成する場合は、必要なすべてのカスタムクラスタータグをワークスペースまたはプールに割り当ててください。

クラスターがプールから作成されていない場合、そのタグは期待どおりに EC2 インスタンスに伝播されます。

クラスター タグとプール タグはどちらも、クラスターがプールから作成されたかどうかに関係なく、 DBU 使用状況レポートに伝達されます。

タグ名の競合がある場合、Databricks の既定のタグはカスタム タグよりも優先され、プール タグはクラスター タグよりも優先されます。

制限

  • タグのキーと値には、ISO 8859-1 (latin1) セットの文字のみを含めることができます。 他の文字を含むタグは無視されます。

  • タグキーの名前または値を変更した場合、これらの変更はクラスターの再起動またはプールの拡張後にのみ適用されます。

  • クラスターのカスタムタグがプールのカスタムタグと競合する場合、クラスターを作成できません。

  • 変更後、カスタムワークスペースタグが反映されるまでに最大 1 時間かかる場合があります。

  • ワークスペース リソースに割り当てることができるタグは 20 個までです。

ポリシーによるタグの適用

コンピュート ポリシーを使用して、クラスターにタグを適用できます。 詳細については、 「カスタム タグの適用」を参照してください。

IAMロールによるタグの適用

コンピュート リソースの作成時に特定のタグが常に設定されるようにするには、特定の IAM ポリシーをアカウントのプライマリ IAM ロール (アカウントのセットアップ中に作成されるもの。アクセスが必要な場合は AWS 管理者に問い合わせてください) に適用できます。 IAM ポリシーには、必須のタグ キーとオプションの値に対する明示的なDeny ステートメントを含める必要があります。 許可された値のいずれかを含む必要なタグが指定されていない場合、クラスターの作成は失敗します

たとえば、 Department タグと Project タグを適用し、前者には指定された値のみを許可し、後者には空でない自由形式の値を許可する場合は、次のような IAM ポリシーを適用できます。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "MandateLaunchWithTag1",
      "Effect": "Deny",
      "Action": [
        "ec2:RunInstances",
        "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:region:accountId:instance/*",
      "Condition": {
        "StringNotEqualsIgnoreCase": {
          "aws:RequestTag/Department": [
              "Deptt1", "Deptt2", "Deptt3"
          ]
        }
      }
    },
    {
      "Sid": "MandateLaunchWithTag2",
      "Effect": "Deny",
      "Action": [
        "ec2:RunInstances",
        "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:region:accountId:instance/*",
      "Condition": {
        "StringNotLike": {
          "aws:RequestTag/Project": "?*"
        }
      }
    }
  ]
}

オンデマンドインスタンスのみ、スポットインスタンスのみ、またはその両方を持つクラスターがあるシナリオを効果的にカバーするには、タグごとに ec2:RunInstances アクションと ec2:CreateTags アクションの両方が必要です。

ヒント

Databricks では、タグごとに個別のポリシー ステートメントを追加することをお勧めします。 全体的なポリシーは長くなる可能性がありますが、デバッグは簡単です。 ポリシーで使用できる演算子のリストについては、「 IAM ポリシー条件演算子リファレンス 」を参照してください。

IAM ポリシーによるクラスター作成エラーは、次で始まる encoded error messageを表示します。

Cloud Provider Launch Failure: A cloud provider error was encountered while setting up the cluster.

承認ステータスの詳細が、アクションを要求したユーザーには表示されない特権情報を構成する可能性があるため、メッセージがエンコードされます。 このようなメッセージをデコードする方法については、デ コード承認メッセージ API (または CLI) を参照してください。