タグを使用して使用状況を監視する
コストを監視し、Databricks の使用状況を組織のビジネス ユニットやチームに正確に割り当てる (チャージバックなど) ために、ワークスペースとコンピュート リソースにカスタム タグを追加できます。 Databricks では、システムテーブル (パブリック プレビュー) を使用して使用状況データを表示することをお勧めします。 料金利用システムテーブルリファレンス を参照してください。
これらのタグは、コスト分析のために使用状況ログと AWS EC2 および AWS EBS インスタンスの両方に伝播されます。
タグ付けされたオブジェクトとリソース
Databricks によって管理される次のオブジェクトにカスタム タグを追加できます。
オブジェクト |
タグ付けインターフェイス (UI) |
タグ付けインターフェイス (API) |
---|---|---|
ワークスペース |
N/A |
|
プール |
Databricks ワークスペースのプール UI |
|
万能・ジョブコンピュート |
Databricks ワークスペースのコンピュート UI |
|
SQLウェアハウス |
Databricks ワークスペースの SQLwarehouse UI |
警告
キー Name
を持つカスタムタグをクラスターに割り当てないでください。 すべてのクラスターには、値が Databricks によって設定されるタグ Name
があります。 キー Name
に関連付けられている値を変更すると、クラスターは Databricks で追跡できなくなります。 その結果、アイドル状態になった後にクラスターが終了せず、引き続き使用コストが発生します。
デフォルトのタグ
Databricks は、次のデフォルト タグを汎用コンピュートに追加します。
タグキー |
値 |
---|---|
|
定数値: |
|
クラスターの内部 ID Databricks |
|
クラスターの名前 |
|
クラスターを作成したユーザーのユーザー名 (Eメール アドレス) |
ジョブ クラスターでは、Databricks は次の既定のタグも適用します。
タグキー |
値 |
---|---|
|
ジョブ名 |
|
ジョブ ID |
Databricks は、次のデフォルト タグをすべてのプールに追加します。
タグキー |
値 |
---|---|
|
定数値: |
|
プールを作成したユーザーの内部 ID Databricks |
|
プールの内部 ID Databricks |
レイクハウスモニタリングで使用されるコンピュートでは、Databricks は次のタグも適用します。
タグキー |
値 |
---|---|
|
真 |
|
監視対象テーブルの ID |
|
モニターが作成されたワークスペースの ID |
|
監視対象テーブルが存在するメタストアの 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) を参照してください。