Serverlose Rechenressourcen verwalten

Diese Seite erklärt, wie man den Zugriff auf serverlose Rechenleistungen verwaltet und wie serverlose Rate-Limits implementiert werden. Workspace-Administratoren steuern serverlose Rechenleistungen mithilfe integrierter serverloser Rechenobjekte. Ein serverloses Computeobjekt ist ein Ressourcentyp, der die Berechtigungsgrenze für serverlose Workloads definiert. Ihr Arbeitsbereich erhält automatisch zwei standardmäßige Compute-Objekte:

  • Interaktive Standardberechnung: Steuert den Zugriff auf Notizbücher und Databricks Connect.
  • Automatische Standardberechnung: Steuert den Zugriff auf Aufträge und Spark Declarative Pipelines auf Lakeflow.

Standardmäßig haben alle Arbeitsbereichsbenutzer für beide Objekte die Berechtigung Can Use, sodass vorhandene Workloads ohne Änderungen weiter ausgeführt werden. Ein Arbeitsbereichsadministrator kann Benutzer oder Gruppen aus einem objekt entfernen, um den Zugriff einzuschränken. Ein Benutzer, der den Zugriff verliert, sieht die Serverless Compute-Option als nicht verfügbar in seinen Produktoberflächen.

Zugriff auf serverlose Rechenressourcen verwalten

Um zu steuern, wer Zugriff auf serverlose Compute hat, können Arbeitsbereichsadministratoren die Berechtigungen für die Objekte "Default Interactive Compute " und "Default Automated Compute " bearbeiten. Arbeitsbereichsadministratoren verfügen standardmäßig über die Berechtigung "Kann verwalten ", aber sie können jedem Benutzer die Berechtigung erteilen. Diese Standard-Rechenobjekte können nicht umbenannt oder gelöscht werden.

Auf der Registerkarte

Jedes serverlose Computeobjekt unterstützt zwei Berechtigungsstufen:

Erlaubnis Zweck:
Kann verwendet werden Ausführen von Workloads auf diesem Compute
Kann verwalten Ausführen von Workloads auf diesem Compute und Bearbeiten der Berechtigungen des Computes

Sie können außerdem programmatisch Berechtigungen für serverlose Rechenobjekte über die Account Access Control API verwalten.

Zugriff auf serverlose interaktive Sitzungen beschränken

So legen Sie fest, wer Serverless für Notebooks und Databricks Connect verwenden darf:

  1. Klicken Sie auf " Berechnen" in der Arbeitsbereich-Randleiste.
  2. Klicken Sie auf der Registerkarte „Serverless“ auf das Kebab-Menü Kebab-Menüsymbol. neben „Default Interactive Compute“ und dann auf „Berechtigungen bearbeiten“.
  3. Entfernen Sie die Gruppe "Alle Benutzer" oder die Gruppe, die alle Arbeitsbereichsbenutzer enthält.
  4. Fügen Sie nur die spezifischen Benutzer, Gruppen oder Dienstprinzipale hinzu, die Sie autorisieren möchten.

Wenn Sie die Berechtigungen eines Benutzers für interaktives Serverless-Computing widerrufen, können Notebooks, die bereits mit Serverless verbunden sind, keine Verbindung mehr herstellen, wenn der Benutzer eine Zelle ausführt, und der Benutzer sieht die Option Serverless in der Compute-Auswahl des Notebooks nicht mehr als verfügbar. Wenn Benutzer versuchen, Databricks Connect zu verwenden, schlägt die Verbindungsanfrage fehl, und es wird ein Fehler angezeigt, dass der Benutzer keinen Zugriff auf Serverless hat.

Einschränken des Zugriffs auf serverlose Aufträge und Pipelines

So beschränken Sie, wer Serverless in Jobs und Pipelines verwenden darf:

  1. Klicken Sie auf " Berechnen" in der Arbeitsbereich-Randleiste.
  2. Klicken Sie auf der Registerkarte Serverless auf das Kebab-Menü Symbol für das Kebab-Menü. neben Standard für automatisierte Rechenleistung und dann auf Berechtigungen bearbeiten.
  3. Entfernen Sie die Gruppe "Alle Benutzer" oder die Gruppe, die alle Arbeitsbereichsbenutzer enthält.
  4. Fügen Sie nur die spezifischen Benutzer, Gruppen oder Dienstprinzipale hinzu, die Sie autorisieren möchten.

Wenn Sie die automatisierten serverlosen Berechtigungen eines Benutzers widerrufen, werden alle bestehenden Jobs oder Pipelines des Benutzers, die auf serverless laufen, nicht mehr ausgeführt. Der Benutzer wird eine Fehlermeldung angezeigt, wenn er versucht, einen Auftrag ohne Server auszuführen.

Bevor Sie den Zugriff eines Benutzers auf die automatische Standardberechnung widerrufen, überwachen Sie, welche Aufträge und Pipelines die betroffenen Benutzer besitzen. Die folgende Abfrage identifiziert aktuelle serverlose Workloads für einen bestimmten Benutzer:

SELECT *
FROM system.billing.usage
WHERE usage_date >= date_add(now(), -30)
  AND billing_origin_product IN ('JOBS', 'DLT')
  AND identity_metadata.run_as = '<user_email>';

Überprüfen Sie die usage_metadata Spalte, um die betroffenen Ressourcen anzuzeigen, z. B. Auftrags-IDs und Pipeline-IDs.

Serverlose Verwendung überwachen

Serverlose Abrechnungsdaten enthalten ein serverless_compute_id Feld in usage_metadata. Verwenden Sie sie, um nachzuverfolgen, auf welchem Computeobjekt eine Workload ausgeführt wurde:

SELECT
  usage_metadata.serverless_compute_id,
  identity_metadata.run_as,
  SUM(usage_quantity) AS total_dbus
FROM system.billing.usage
WHERE billing_origin_product IN ('JOBS', 'DLT', 'INTERACTIVE')
  AND usage_metadata.serverless_compute_id IS NOT NULL
  AND usage_date >= date_add(now(), -30)
GROUP BY 1, 2
ORDER BY 3 DESC;

Unterstützte serverlose Compute-Zugriffskontrollfunktionen

Die folgenden Funktionen sind in serverlose Rechenzugangskontrollen integriert.

Interaktiv (Standard-interaktive Berechnung)

  • Notebooks und serverlose GPU-Notebooks
  • Databricks Connect

Automatisiert (Standardmäßige automatisierte Rechenleistung)

  • Jobs und serverlose GPU-Jobs
  • Spark Declarative Pipelines auf Lakeflow

Nicht unterstützte serverlose Compute-Zugriffskontrollfunktionen

Die folgenden Funktionen sind nicht in serverlose Rechenzugriffskontrollen integriert:

  • Databricks SQL (DBSQL)
  • Batch-Ableitung (ai_query())
  • Bereitstellung von Modellen
  • Bereitgestellte Durchsatzendpunkte der Foundation-Modell-API
  • Lakebase
  • Databricks-Apps
  • Bewertung von Agenten und synthetische Daten
  • Vektorsuchindizierung
  • Prädiktive Optimierung
  • Lakehouse-Überwachung
  • Feingranulare Zugriffskontrolle auf dedizierter Rechenkapazität. Der Zugriff auf die dedizierte Berechnung bestimmt, ob ein Benutzer eine feingranulare Zugriffskontrolle nutzen kann.

Wenden Sie sich für alle features, die hier nicht aufgeführt sind, an Ihr Azure Databricks Kontoteam, um den Status zu fragen.

Einschränkungen der serverlosen Zugriffskontrolle

Important

Im Falle einer Serviceunterbrechung können Zugriffsprüfungen beim Öffnen scheitern, und Nutzer, denen sonst der Zugriff verweigert würde, könnten serverlose Workloads starten. Diese Funktion soll helfen, den Zugriff auf serverloses Rechnen zu steuern. Nutzen Sie diese Funktion nicht, um eine absolute Ausgabenobergrenze für die endgültig berechneten Beträge sicherzustellen. Azure Databricks ist nicht verantwortlich für Kosten, die durch Arbeitslasten entstehen, die während eines solchen Ereignisses laufen.

  • Standardmäßige Computeobjekte können nicht umbenannt oder gelöscht werden.
  • Ein Job oder eine Pipeline, die bereits für die Ausführung auf serverlosem Computing konfiguriert ist, schlägt bei jedem Benutzer fehl, der den Zugriff Can Use auf Default Automated Compute verliert. Überprüfen Sie aktive Workloads, bevor Sie den Zugriff eines Benutzers entfernen.
  • Die Hintergrundverarbeitung (systeminitiierte Jobs) ist von den Zugriffssteuerungen für serverlose Rechenressourcen ausgenommen.

Setze Rate-Limits für serverloses Rechnen

Important

Die Ratenbeschränkungen sind in der privaten Vorschau verfügbar. Wenden Sie sich an Ihr Azure Databricks-Kontoteam, um dieser Vorschau beizutreten. Nach dem Beitritt zur Vorschau können Arbeitsflächenadministratoren sie über die Vorschauseite über die Serverless Compute Rate Limit-Einstellung aktivieren.

Ein Ratenlimit begrenzt, wie viel ein automatisierter Workload ausgeben kann, indem es einschränkt, wie weit er automatisch hochskaliert werden kann. Workspace-Administratoren können benutzerdefinierte automatisierte Rechenobjekte erstellen und jedem ein Rate-Limit zuweisen. Wenn ein Workload auf einem Rechenobjekt mit einer Rate-Begrenzung ausgeführt wird, skaliert der serverlose Autoscaler die Spark-Ausführenden der Workload nicht über die Größe des Objekts hinaus.

Ratenbeschränkungen gelten nur für automatisierte Arbeitslasten (Jobs und Spark Declarative Pipelines auf Lakeflow). Interaktive Workloads (Notebooks und Databricks Connect) unterliegen keiner Ratenbegrenzung.

Eine Geschwindigkeitsbegrenzung wird als Größe angegeben. Jede Größe entspricht einer ungefähren Obergrenze für die Anzahl an DBUs, die eine Arbeitslast pro Stunde verbrauchen kann. Das Rate-Limit begrenzt nur die automatische Skalierung des Spark-Executors. Es begrenzt keine anderen Komponenten einer Arbeitslast, wie zum Beispiel den Treiber, REPL-VMs, GPUs oder materialisierte Ansichts- und Streaming-Tabellen-Aktualisierungen.

Die Obergrenze für die Ratenbegrenzung gilt pro Workload. Jeder Job und jede Pipeline, die ein Rechenobjekt verwendet, ist unabhängig davon begrenzt. Zwei Jobs, die dasselbe Compute-Objekt verwenden, erhalten jeweils die volle Obergrenze. Innerhalb eines einzelnen Jobs wird die Obergrenze auf alle Aufgaben des Jobs verteilt.

Anforderungen an das Tariflimit

  • Um serverlose Compute-Objekte zu erstellen und zu verwalten, musst du ein Workspace-Admin oder ein Benutzer mit uneingeschränkter Cluster-Erstellung sein.
  • Serverlose Ratenbegrenzungen erfordern Azure Databricks Runtime 17.3.1 oder höher. Jobs verwenden automatisch die neueste Laufzeit. Für Spark Declarative Pipelines auf Lakeflow melden Sie sich für die Laufzeit des Vorschaukanals ein.

Erstellen Sie eine serverlose Berechnung mit einer Ratenbegrenzung

  1. Klicken Sie auf " Berechnen" in der Arbeitsbereich-Randleiste.
  2. Klicken Sie auf der Registerkarte Serverless auf Serverlose Rechenressource erstellen.
  3. Geben Sie einen Namen ein.
  4. Für Größe wählen Sie die anzuwendende Ratenbegrenzung aus, von Klein bis 2X-Large. Lass es auf Standard eingestellt, um die Standardobergrenze deines Arbeitsbereichs zu verwenden.
  5. Klicke auf Erstellen.

Der Dialog „Neue serverlose automatisierte Recheneinheit erstellen“ mit eingegebenem Namen und auf Mittel festgelegter Größe

Das neue Compute-Objekt wird auf der Registerkarte Serverless mit dem Typ Automatisiert angezeigt. Damit Benutzer darauf Workloads ausführen können, gewähren Sie ihnen Can Use oder Can Manage, wie unter Manage access to serverless compute beschrieben. Du kannst die Größe eines Standard-Compute-Objekts nicht bearbeiten.

Geschwindigkeitsbegrenzungsgrößen

Jede Größe entspricht einer ungefähr stündlichen DBU-Obergrenze:

Größe Ungefähre Obergrenze
Klein ~60 DBUs pro Stunde
Medium ~120 DBU pro Stunde
Groß ~240 DBU pro Stunde
X-Large ~480 DBU pro Stunde
2X-Groß ~960 DBU pro Stunde

Diese Obergrenzen sind richtungsspezifische Schwellenwerte. Die tatsächliche Nutzung kann aufgrund der systembedingten Schwankungen der serverlosen Infrastruktur um sie herum variieren.

Die Wahl von Standard setzt die Standardobergrenze deines Arbeitsbereichs an: Mittel für Premium-Arbeitsbereiche oder Groß für Enterprise-Arbeitsbereiche. Diese entsprechen den bestehenden Standardmaximalen automatischen Skalierungsgrenzen für serverlose, automatisierte Arbeitslasten.

Führen Sie einen Workload auf ratenbegrenzter Rechenkapazität aus

Ein Benutzer mit Can Use auf einem Compute-Objekt kann es auswählen, wenn er einen Job oder eine Pipeline konfiguriert. Die Arbeitslast läuft dann unter dem Rate-Limit der Rechenleistung. Wenn eine Arbeitslast kein Computeobjekt angibt, greift sie auf die automatisierte Standardcompute Ihres Arbeitsbereichs zurück. Wenn der Benutzer keinen Zugriff auf diese Standardeinstellung hat, kann die Arbeitslast nicht ausgeführt werden.

  • Jobs: Wählen Sie für den Job die serverlose Rechenressource aus, entweder in den Compute-Einstellungen des Jobs in der Benutzeroberfläche oder indem Sie in der Jobs-API auf die ID der Rechenressource verweisen. Um die ID zu kopieren, öffnen Sie das Compute-Objekt im Serverless-Tab und klicken Sie auf Compute-ID kopieren.
  • Deklarative Spark-Pipelines auf Lakeflow: Wählen Sie das automatisierte Rechenobjekt als serverlose Rechenressource für eine Pipeline im Lakeflow-Editor aus.

Wenn eine Ratenbegrenzung die Ausführung eines Workloads drosselt, können Sie die Auswirkungen in der Abfragehistorie des Workloads bzw. bei Pipelines in der Lakeflow-Benutzeroberfläche anzeigen.

Ratenbegrenzungen

  • Die Ratenbegrenzungen begrenzen nur die automatische Skalierung des Spark-Executors. Andere Kostenbestandteile, wie der Treiber, REPL-VMs, GPUs und Aktualisierungen materialisierter Ansichten oder von Streaming-Tabellen, unterliegen keiner Obergrenze.
  • Die DBU-pro-Stunden-Obergrenze für jede Größe ist eine Schätzung. Die tatsächliche Nutzung kann das Ziel übersteigen, da es nur geringe Schwankungen im angelegten Limit und die inhärente Variabilität der serverlosen Infrastruktur gibt.
  • Eine Arbeitslast mit der 2x-Large Größe könnte unter den Erwartungen liegen, da die physische Clustergröße auf 256 Ausführende begrenzt ist. Wenn zwei oder mehr 2x-Large Workloads auf demselben Laufzeitcluster geplant sind, kann jeder weniger als die erwartete Leistung erzielen.
  • Aufgrund der Abrechnungsimplementierungsdetails kann dieselbe Arbeitslast unterschiedliche DBU-Nutzung bei unterschiedlichen Tarifbegrenzungsgrößen verursachen.
  • Man kann kein Ratenlimit für ein Standard-Rechenobjekt festlegen.