Creazione e gestione dei profili di utilizzo
Creazione di un profilo di utilizzo di AWS Glue
Gli amministratori devono creare profili di utilizzo e quindi assegnarli ai vari utenti. Durante la creazione di un profilo di utilizzo, si specificano valori predefiniti, nonché una gamma di valori consentiti per vari parametri di processo e sessione. È necessario configurare almeno un parametro per i processi o le sessioni interattive. È possibile personalizzare il valore predefinito da utilizzare quando non viene fornito un valore di parametro per il job e/o impostare un limite di intervallo o un set di valori consentiti per la convalida se un utente fornisce un valore di parametro quando si utilizza questo profilo.
I valori predefiniti sono una best practice impostata dall'amministratore per assistere gli autori dei processi. Quando un utente crea un nuovo processo e non imposta un valore di timeout, viene applicato il timeout predefinito del profilo di utilizzo. Se l'autore non dispone di un profilo, verranno applicate le impostazioni predefinite del servizio AWS Glue e verranno salvate nella definizione del processo. Al runtime, AWS Glue applica i limiti impostati nel profilo (min, max, worker consentiti).
Una volta configurato un parametro, tutti gli altri parametri sono opzionali. I parametri che possono essere personalizzati per processi o sessioni interattive sono:
-
Numero di lavoratori: limita il numero di lavoratori per evitare un uso eccessivo delle risorse di calcolo. È possibile impostare un valore predefinito, minimo e massimo. Il valore minimo è 1.
-
Tipo di lavoratore: limita i tipi di lavoratori pertinenti per i tuoi carichi di lavoro. È possibile impostare un tipo predefinito e consentire tipi di lavoratori per un profilo utente.
-
Timeout: definisce il tempo massimo in cui un processo o una sessione interattiva può essere eseguito/a e consumare risorse prima che venga terminato/a. Impostare i valori di timeout per evitare processi di lunga durata.
È possibile impostare un valore predefinito, minimo e massimo in minuti. Il minimo è di 1 (minuto). Sebbene il timeout predefinito di AWS Glue sia 2.880 minuti, è possibile impostare qualsiasi valore predefinito nel profilo di utilizzo.
È consigliabile impostare un valore per “default”. Questo valore verrà utilizzato per la creazione del processo o della sessione se l'utente non ha impostato alcun valore.
-
Timeout di inattività: definisce il numero di minuti in cui una sessione interattiva è inattiva prima del timeout dopo l'esecuzione di una cella. Definire il timeout di inattività per le sessioni interattive da terminare dopo il completamento del processo. L'intervallo di timeout di inattività deve rientrare nel limite del timeout.
È possibile impostare un valore predefinito, minimo e massimo in minuti. Il minimo è di 1 (minuto). Sebbene il timeout predefinito di AWS Glue sia 2.880 minuti, è possibile impostare qualsiasi valore predefinito nel profilo di utilizzo.
È consigliabile impostare un valore per “default”. Questo valore verrà utilizzato per la creazione della sessione se l'utente non ha impostato alcun valore.
Per creare un profilo di utilizzo di AWS Glue come amministratore (console)
-
Nel menu di navigazione a sinistra, scegliere Gestione dei costi.
-
Scegliere Crea profilo.
-
Immettere il Nome del profilo di utilizzo per il profilo di utilizzo.
-
Immettere una descrizione opzionale che aiuterà gli altri utenti a riconoscere lo scopo del profilo di utilizzo.
-
Definire almeno un parametro nel profilo. Qualsiasi campo del modulo è un parametro. Ad esempio, il timeout minimo di inattività della sessione.
-
Definire eventuali tag opzionali che si applicano al profilo di utilizzo.
-
Scegliere Salva.
Per creare un profilo di utilizzo (AWS CLI)
-
Inserire il seguente comando.
aws glue create-usage-profile --nameprofile-name--configurationfile://config.json--tagslist-of-tagsDove config.json può definire i valori dei parametri per le sessioni interattive (
SessionConfiguration) e i processi (JobConfiguration)://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" } } } -
Inserire il seguente comando per vedere il profilo di utilizzo creato:
aws glue get-usage-profile --nameprofile-nameLa risposta:
{ "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" }
Comandi CLI aggiuntivi utilizzati per gestire i profili di utilizzo:
aws glue list-usage-profiles
aws glue update-usage-profile --name
profile-name--configurationfile://config.jsonaws glue delete-usage-profile --name
profile-name
Modifica di un profilo di utilizzo
Gli amministratori possono modificare i profili di utilizzo che hanno creato, per cambiare i valori di parametro del profilo per i processi e le sessioni interattive.
Per modificare un profilo di utilizzo:
Per modificare un profilo di utilizzo di AWS Glue come amministratore (console)
-
Nel menu di navigazione a sinistra, scegliere Gestione dei costi.
-
Scegliere un profilo di utilizzo per il quale si dispone delle autorizzazioni necessarie per la modifica e scegliere Modifica.
-
Apportare le modifiche necessarie al profilo. Per impostazione predefinita, i parametri che hanno già dei valori vengono espansi.
-
Scegliere Salva modifiche.
Per modificare un profilo di utilizzo (AWS CLI)
-
Inserire il seguente comando. La stessa sintassi di file
--configurationviene utilizzata come illustrato sopra nel comando "Crea".aws glue update-usage-profile --nameprofile-name--configurationfile://config.jsonDove config.json definisce i valori dei parametri per le sessioni interattive (
SessionConfiguration) e i processi (JobConfiguration):
Assegnazione di un profilo di utilizzo
La colonna Stato di utilizzo nella pagina Profili di utilizzo mostra se un profilo di utilizzo è assegnato agli utenti. Il passaggio del mouse sullo stato mostra le entità IAM assegnate.
L'amministratore può assegnare un profilo di utilizzo di AWS Glue a utenti/ruoli che creano risorse AWS Glue. L'assegnazione di un profilo è una combinazione di due azioni:
Aggiornamento del tag di ruolo/utente IAM con la chiave
glue:UsageProfile, quindiAggiornamento della policy IAM dell'utente/ruolo.
Per gli utenti che utilizzano AWS Glue Studio per creare processi/sessioni interattive, l'amministratore assegna un tag ai seguenti ruoli:
Per le restrizioni sui processi, l'amministratore tagga il ruolo della console in cui è stato effettuato l'accesso
Per le restrizioni sulle sessioni interattive, l'amministratore tagga il ruolo assegnato dall'utente al momento della creazione del notebook
Di seguito è riportato un esempio di policy che l'amministratore deve aggiornare sugli utenti/ruoli IAM che creano risorse AWS Glue:
{ "Effect": "Allow", "Action": [ "glue:GetUsageProfile" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:usageProfile/foo" ] }
AWS Glue convalida le richieste di processi, esecuzione dei processi e sessioni in base ai valori specificati nel profilo di utilizzo di AWS Glue e innesca un'eccezione se la richiesta non è consentita. Per le API sincrone, all'utente verrà inviato un errore. Per i percorsi asincroni, viene creata un'esecuzione di processo non riuscita con il messaggio di errore che indica che il parametro di input non rientra nell'intervallo consentito per il profilo assegnato all'utente/ruolo.
Per assegnare un profilo di utilizzo a un utente/ruolo:
-
Aprire la console IAM (Identity and Access Management).
-
Nel pannello di navigazione, scegliere Ruoli o Utenti.
-
Scegliere un utente o un ruolo.
-
Selezionare la scheda Tag.
-
Scegliere Aggiungi nuovo tag.
-
Aggiungere un tag con la chiave di
glue:UsageProfilee il valore del nome del tuo profilo di utilizzo. -
Scegliere Salva modifiche.
Visualizzazione del profilo di utilizzo assegnato
Gli utenti possono visualizzare i profili di utilizzo assegnati e utilizzarli quando effettuano chiamate API per creare risorse di processo e sessione di AWS Glue o per avviare un processo.
Le autorizzazioni dei profili sono fornite nelle policy IAM. Finché la politica del chiamante dispone dell'autorizzazione glue:UsageProfile, un utente può vedere il profilo. Altrimenti, si otterrà un errore di accesso negato.
Per visualizzare un profilo di utilizzo assegnato:
-
Nel menu di navigazione a sinistra, scegliere Gestione dei costi.
-
Scegliere un profilo di utilizzo per il quale si dispone delle autorizzazioni necessarie per la visualizzazione.