Erstellen und Verwalten von Nutzungsprofilen - AWS Glue

Erstellen und Verwalten von Nutzungsprofilen

Erstellen eines AWS Glue-Nutzungsprofils

Administratoren sollten Nutzungsprofile erstellen und diese dann den verschiedenen Benutzern zuweisen. Beim Erstellen eines Nutzungsprofils können Sie Standardwerte sowie eine Reihe zulässiger Werte für verschiedene Auftrags- und Sitzungsparameter angeben. Sie müssen mindestens einen Parameter für Aufträge oder interaktive Sitzungen konfigurieren. Sie können den Standardwert anpassen, der verwendet werden soll, wenn für den Auftrag kein Parameterwert bereitgestellt wird, und/oder eine Bereichsbeschränkung bzw. eine Reihe zulässiger Werte für die Validierung einrichten, wenn ein Benutzer bei Verwendung dieses Profils einen Parameterwert angibt.

Standardwerte werden als bewährte Methode vom Administrator festgelegt, um Auftragsautoren zu unterstützen. Wenn ein Benutzer einen neuen Auftrag erstellt und keinen Timeout-Wert festlegt, gilt das Standard-Timeout des Nutzungsprofils. Wenn der Autor kein Profil hat, gelten die Standardwerte für den AWS Glue-Service und werden in der Auftragsdefinition gespeichert. AWS Glue erzwingt zur Laufzeit die im Profil festgelegten Grenzwerte (Min., Max., zulässige Worker).

Sobald ein Parameter konfiguriert ist, sind alle anderen Parameter optional. Folgende Parameter können für Aufträge oder interaktive Sitzungen angepasst werden:

  • Anzahl der Mitarbeiter : Beschränken Sie die Anzahl der Arbeitskräfte, um eine übermäßige Nutzung der Rechenressourcen zu vermeiden. Sie können einen Standard-, Mindest- und Höchstwert festlegen. Der Mindestwert ist 1.

  • Art der Arbeitskraft: Schränken Sie die relevanten Arten von Arbeitskräften für Ihre Workloads ein. Sie können einen Standardtyp festlegen und die Art der Arbeitskraft für ein Benutzerprofil zulassen.

  • Timeout: Definiert die maximale Zeit, die ein Auftrag oder eine interaktive Sitzung ausgeführt wird und in der er Ressourcen verbraucht, bevor er beendet wird. Richten Sie Timeout-Werte ein, um lange laufende Aufträge zu vermeiden.

    Sie können einen Standard-, Mindest- und Höchstwert in Minuten festlegen. Die Mindestdauer ist 1 (Minute). Das AWS Glue-Standard-Timeout beträgt zwar 2.880 Minuten. Sie können jedoch einen beliebigen Standardwert im Nutzungsprofil festlegen.

    Es ist eine bewährte Methode, einen Wert für „Standard“ festzulegen. Dieser Wert wird für die Erstellung des Auftrags oder der Sitzung verwendet, wenn vom Benutzer kein Wert festgelegt wurde.

  • Timeout bei Leerlauf: Definiert die Anzahl der Minuten, die eine interaktive Sitzung inaktiv ist, bevor es nach der Ausführung einer Zelle zu einem Timeout kommt. Definieren Sie das Timeout bei Leerlauf für interaktive Sitzungen, das nach Abschluss der Arbeit beendet werden soll. Der Bereich für Timeout bei Leerlauf sollte innerhalb der Timeout-Grenze liegen.

    Sie können einen Standard-, Mindest- und Höchstwert in Minuten festlegen. Die Mindestdauer ist 1 (Minute). Das AWS Glue-Standard-Timeout beträgt zwar 2.880 Minuten. Sie können jedoch einen beliebigen Standardwert im Nutzungsprofil festlegen.

    Es ist eine bewährte Methode, einen Wert für „Standard“ festzulegen. Dieser Wert wird für die Erstellung der Sitzung verwendet, wenn vom Benutzer kein Wert festgelegt wurde.

So erstellen Sie ein AWS Glue-Nutzungsprofil als Administrator (Konsole)
  1. Wählen Sie im linken Navigationsmenü Kostenmanagement aus.

  2. Wählen Sie Nutzungsprofil erstellen aus.

  3. Geben Sie den Nutzungsprofilnamen für das Nutzungsprofil ein.

  4. Geben Sie optional eine Beschreibung ein, damit andere den Zweck des Nutzungsprofils erkennen können.

  5. Definieren Sie mindestens einen Parameter im Profil. Jedes Feld im Formular ist ein Parameter. Zum Beispiel das Mindest-Timeout für den Leerlauf der Sitzung.

  6. Definieren Sie alle optionalen Tags, die für das Nutzungsprofil gelten.

  7. Wählen Sie Speichern.

    Ein Beispiel für einen Administrator, der ein Nutzungsprofil in AWS Glue erstellt.
So erstellen Sie ein Benutzerprofil (AWS CLI)
  1. Geben Sie den folgenden Befehl ein.

    aws glue create-usage-profile --name profile-name --configuration file://config.json --tags list-of-tags

    config.json kann dabei Parameterwerte für interaktive Sitzungen (SessionConfiguration) und Aufträge (JobConfiguration) definieren:

    //config.json (There is a separate blob for session/job configuration { "SessionConfiguration": { "timeout": { "DefaultValue": "2880", "MinValue": "100", "MaxValue": "4000" }, "idleTimeout": { "DefaultValue": "30", "MinValue": "10", "MaxValue": "4000" }, "workerType": { "DefaultValue": "G.2X", "AllowedValues": [ "G.1X", "G.2X", "G.4X", "G.8X", "G.12X", "G.16X", "R.1X", "R.2X", "R.4X", "R.8X" ] }, "numberOfWorkers": { "DefaultValue": "10", "MinValue": "1", "MaxValue": "10" } }, "JobConfiguration": { "timeout": { "DefaultValue": "2880", "MinValue": "100", "MaxValue": "4000" }, "workerType": { "DefaultValue": "G.2X", "AllowedValues": [ "G.1X", "G.2X", "G.4X", "G.8X", "G.12X", "G.16X", "R.1X", "R.2X", "R.4X", "R.8X" ] }, "numberOfWorkers": { "DefaultValue": "10", "MinValue": "1", "MaxValue": "10" } } }
  2. Geben Sie den folgenden Befehl ein, um das erstellte Nutzungsprofil zu sehen:

    aws glue get-usage-profile --name profile-name

    Die Antwort:

    { "ProfileName": "foo", "Configuration": { "SessionConfiguration": { "numberOfWorkers": { "DefaultValue": "10", "MinValue": "1", "MaxValue": "10" }, "workerType": { "DefaultValue": "G.2X", "AllowedValues": [ "G.1X", "G.2X", "G.4X", "G.8X", "G.12X", "G.16X", "R.1X", "R.2X", "R.4X", "R.8X" ] }, "timeout": { "DefaultValue": "2880", "MinValue": "100", "MaxValue": "4000" }, "idleTimeout": { "DefaultValue": "30", "MinValue": "10", "MaxValue": "4000" } }, "JobConfiguration": { "numberOfWorkers": { "DefaultValue": "10", "MinValue": "1", "MaxValue": "10" }, "workerType": { "DefaultValue": "G.2X", "AllowedValues": [ "G.1X", "G.2X", "G.4X", "G.8X", "G.12X", "G.16X", "R.1X", "R.2X", "R.4X", "R.8X" ] }, "timeout": { "DefaultValue": "2880", "MinValue": "100", "MaxValue": "4000" } } }, "CreatedOn": "2024-01-19T23:15:24.542000+00:00" }

Zusätzliche CLI-Befehle zur Verwaltung von Nutzungsprofilen:

  • aws glue list-usage-profiles

  • aws glue update-usage-profile --name profile-name --configuration file://config.json

  • aws glue delete-usage-profile --name profile-name

Bearbeiten eines Nutzungsprofils

Administratoren können von ihnen erstellte Nutzungsprofile bearbeiten, um die Profilparameterwerte für Aufträge und interaktive Sitzungen zu ändern.

So bearbeiten Sie ein Nutzungsprofil:

So bearbeiten Sie ein AWS Glue-Nutzungsprofil als Administrator (Konsole)
  1. Wählen Sie im linken Navigationsmenü Kostenmanagement aus.

  2. Wählen Sie ein Nutzungsprofil aus, zu dessen Bearbeitung Sie berechtigt sind, und wählen Sie Bearbeiten aus.

  3. Nehmen Sie bei Bedarf Änderungen am Profil vor. Standardmäßig werden die Parameter erweitert, die bereits Werte haben.

  4. Wählen Sie Bearbeitungen speichern aus.

    Ein Beispiel für einen Benutzer, der ein Nutzungsprofil in AWS Glue bearbeitet.
So bearbeiten Sie ein Nutzungsprofil (AWS CLI)
  • Geben Sie den folgenden Befehl ein. Es wird dieselbe --configuration-Dateisyntax verwendet wie oben im Befehl zum Erstellen angezeigt.

    aws glue update-usage-profile --name profile-name --configuration file://config.json

    config.json kann dabei Parameterwerte für interaktive Sitzungen (SessionConfiguration) und Aufträge (JobConfiguration) definieren:

Zuweisen eines Nutzungsprofils

In der Spalte Nutzungsstatus auf der Seite Nutzungsprofile wird angezeigt, ob Benutzern ein Nutzungsprofil zugewiesen ist. Wenn Sie den Mauszeiger über den Status bewegen, werden die zugewiesenen IAM-Entitäten angezeigt.

Der Administrator kann den Benutzern/Rollen, die AWS Glue-Ressourcen erstellen, ein AWS Glue-Nutzungsprofil zuweisen. Das Zuweisen eines Profils ist eine Kombination aus zwei Aktionen:

  • Aktualisierung des IAM-Benutzer-/Rollen-Tags mit dem glue:UsageProfile-Schlüssel und dann

  • Aktualisierung der IAM-Richtlinie des Benutzers/der Rolle.

Für Benutzer, die AWS Glue Studio verwenden, um Aufträge/interaktive Sitzungen zu erstellen, versieht der Administrator die folgenden Rollen mit Tags:

  • Gibt es Einschränkungen bei Aufträgen, versieht der Administrator die Konsolenrolle des angemeldeten Benutzers mit Tags.

  • Gibt es Einschränkungen bei interaktiven Sitzungen, versieht der Administrator die Rolle, die der Benutzer bei der Erstellung des Notebooks angibt, mit Tags.

Im Folgenden finden Sie ein Beispiel für eine Richtlinie, die der Administrator für die IAM-Benutzer/Rollen aktualisieren muss, die AWS Glue-Ressourcen erstellen:

{ "Effect": "Allow", "Action": [ "glue:GetUsageProfile" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:usageProfile/foo" ] }

AWS Glue validiert Anfragen für Aufträge, Auftragsausführungen und Sitzungen auf der Grundlage der im AWS Glue-Nutzungsprofil angegebenen Werte und löst eine Ausnahme aus, wenn die Anforderung nicht zulässig ist. Bei synchronen APIs wird dem Benutzer ein Fehler angezeigt. Bei asynchronen Pfaden wird eine fehlgeschlagene Auftragsausführung mit einer Fehlermeldung erstellt, die besagt, dass der Eingabeparameter außerhalb des zulässigen Bereichs für das zugewiesene Profil des Benutzers/der Rolle liegt.

So weisen Sie einem Benutzer/einer Rolle ein Nutzungsprofil zu:

  1. Öffnen Sie die IAM-Konsole (Identity and Access Management).

  2. Wählen Sie im Navigationsbereich Rollen oder Benutzer aus.

  3. Wählen Sie einen Benutzer oder eine Rolle aus.

  4. Wählen Sie die Registerkarte Tags aus.

  5. Wählen Sie Neues Tag hinzufügen aus.

  6. Fügen Sie ein Tag mit dem Schlüssel glue:UsageProfile und dem Wert des Nutzungsprofilnamens hinzu.

  7. Wählen Sie Save Changes (Änderungen speichern)

    Ein Beispiel für das Hinzufügen eines Tag zu einer IAM-Rolle.

Anzeigen Ihres zugewiesenen Nutzungsprofils

Benutzer können ihre zugewiesenen Nutzungsprofile einsehen und sie verwenden, wenn sie API-Aufrufe tätigen, um AWS Glue-Auftrags- und -Sitzungsressourcen zu erstellen oder einen Auftrag zu starten.

Profilberechtigungen werden in IAM-Richtlinien bereitgestellt. Solange die Anruferrichtlinie über die glue:UsageProfile-Berechtigung verfügt, kann ein Benutzer das Profil sehen. Andernfalls erhalten Sie eine Fehlermeldung, die besagt, dass der Zugriff verweigert wurde.

So zeigen Sie ein zugewiesenes Nutzungsprofil an:

  1. Wählen Sie im linken Navigationsmenü Kostenmanagement aus.

  2. Wählen Sie ein Nutzungsprofil aus, für das Sie eine Berechtigung zum Anzeigen besitzen.

Ein Beispiel für einen Benutzer, der sein zugewiesenes Nutzungsprofil in AWS Glue anzeigt.