Esegui script di configurazione host con privilegi di amministratore - Deadline Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esegui script di configurazione host con privilegi di amministratore

Gli script di configurazione dell'host consentono di eseguire attività amministrative, come l'installazione del software, sui dipendenti della flotta gestiti dal servizio. Questi script vengono eseguiti con privilegi elevati (sudoattivoLinux, amministratore attivoWindows), offrendoti la flessibilità necessaria per configurare i tuoi lavoratori per il tuo sistema.

Deadline Cloud esegue lo script dopo che il lavoratore è entrato nello STARTING stato e prima di eseguire qualsiasi attività.

Importante

Lo script viene eseguito con autorizzazioni elevate. È responsabilità dell'utente assicurarsi che lo script non presenti problemi di sicurezza.

Quando utilizzi uno script di configurazione dell'host, sei responsabile del monitoraggio dello stato della tua flotta.

Gli usi comuni degli script di configurazione dell'host includono:

Puoi creare e aggiornare uno script di configurazione dell'host utilizzando la console o utilizzando il. AWS CLI

Console
  1. Nella pagina dei dettagli della flotta, scegli la scheda Configurazioni.

  2. Nel campo Script, inserisci lo script da eseguire con autorizzazioni elevate. Puoi scegliere Importa per caricare uno script dalla tua workstation.

  3. Imposta un periodo di timeout in secondi per l'esecuzione dello script. Il valore predefinito è 300 secondi (5 minuti).

  4. Scegli Salva modifiche per salvare lo script.

Create with CLI

Usa il seguente AWS CLI comando per creare una flotta con uno script di configurazione dell'host. Sostituisci il placeholder testo con le tue informazioni.

aws deadline create-fleet \ --farm-id farm-12345 \ --display-name "fleet-name" \ --max-worker-count 1 \ --configuration '{ "serviceManagedEc2": { "instanceCapabilities": { "vCpuCount": {"min": 2}, "memoryMiB": {"min": 4096}, "osFamily": "linux", "cpuArchitectureType": "x86_64" }, "instanceMarketOptions": {"type":"spot"} } }' \ --role-arn arn:aws:iam::111122223333:role/role-name \ --host-configuration '{ "scriptBody": "script body", "scriptTimeoutSeconds": timeout value}'
Update with CLI

Usa il seguente AWS CLI comando per aggiornare lo script di configurazione dell'host di una flotta. Sostituisci il placeholder testo con le tue informazioni.

aws deadline update-fleet \ --farm-id farm-12345 \ --fleet-id fleet-455678 \ --host-configuration '{ "scriptBody": "script body", "scriptTimeoutSeconds": timeout value}'

I seguenti script dimostrano:

  • Le variabili di ambiente disponibili per lo script

  • Queste AWS credenziali funzionano nella shell

  • Che lo script sia in esecuzione in una shell con privilegi elevati

Linux

Utilizzate lo script seguente per dimostrare che uno script è in esecuzione con root privilegi:

# Print environment variables set # Check AWS Credentials aws sts get-caller-identity
Windows

Utilizzate lo PowerShell script seguente per dimostrare che uno script è in esecuzione con privilegi di amministratore:

Get-ChildItem env: | ForEach-Object { "$($_.Name)=$($_.Value)" } aws sts get-caller-identity function Test-AdminPrivileges { $currentUser = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()) $isAdmin = $currentUser.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) return $isAdmin } if (Test-AdminPrivileges) { Write-Host "The current PowerShell session is elevated (running as Administrator)." } else { Write-Host "The current PowerShell session is not elevated (not running as Administrator)." } exit 0

Risolvi i problemi relativi agli script di configurazione dell'host

Quando esegui lo script di configurazione dell'host:

  • In caso di successo: il lavoratore esegue il lavoro

  • In caso di errore (codice di uscita diverso da zero o arresto anomalo):

    • Il lavoratore si spegne

    La flotta avvia automaticamente un nuovo lavoratore utilizzando lo script di configurazione dell'host più recente

Per monitorare lo script:

  1. Apri la pagina della flotta nella console Deadline Cloud.

  2. Scegli Visualizza lavoratori per aprire il monitor Deadline Cloud.

  3. Visualizza lo stato del lavoratore nella pagina di monitoraggio.

Suggerimento

Quando testate gli script di configurazione dell'host, impostate il numero massimo di lavoratori del parco macchine su 1 per evitare di avviare più lavoratori durante l'iterazione dello script.

Note importanti:

  • I lavoratori che si fermano a causa di un errore non sono disponibili nell'elenco dei lavoratori nel monitor. Utilizzate CloudWatch Logs per visualizzare i registri dei lavoratori nel seguente gruppo di registri:

    /aws/deadline/farm-XXXXX/fleet-YYYYY

    All'interno di quel gruppo di log, cerca uno stream denominato. worker-ZZZZZ

  • CloudWatch Logs conserva i registri dei lavoratori in base al periodo di conservazione configurato.

Monitora l'esecuzione dello script di configurazione dell'host

Con gli script di configurazione dell'host, puoi assumere il pieno controllo di un operatore di Deadline Cloud. Puoi installare qualsiasi pacchetto software, riconfigurare i parametri del sistema operativo o montare file system condivisi. Con questa funzionalità avanzata e la capacità di Deadline Cloud di scalare fino a migliaia di lavoratori, puoi monitorare se gli script di configurazione vengono eseguiti correttamente o se hanno avuto esito negativo.

Consigliamo le seguenti soluzioni per monitorare l'esecuzione degli script di configurazione dell'host.

CloudWatch Monitoraggio dei log

Tutti i log di configurazione del fleet host vengono trasmessi in streaming al gruppo di CloudWatch log della flotta e in particolare al flusso di log di un lavoratore. CloudWatch Ad esempio, /aws/deadline/farm-123456789012/fleet-777788889999 è il gruppo di log per l'azienda agricola123456789012, la flotta. 777788889999

Ad esempio, ogni lavoratore fornisce un flusso di log dedicatoworker-123456789012. I log di configurazione dell'host includono banner di log come Running Host Configuration Script e Finished running Host Configuration Script, codice di uscita: 0. Il codice di uscita dello script è incluso nel banner finito e può essere interrogato utilizzando gli strumenti. CloudWatch

CloudWatch Logs Insights

CloudWatch Logs Insights offre funzionalità avanzate per analizzare le informazioni di registro. Ad esempio, la seguente query di Log Insights analizza il codice di uscita della configurazione host, ordinato per ora:

fields @timestamp, @message, @logStream, @log | filter @message like /Finished running Host Configuration Script/ | parse @message /exit code: (?<exit_code>\d+)/ | display @timestamp, exit_code | sort @timestamp desc

Per ulteriori informazioni su CloudWatch Logs Insights, consulta Analyzing log data with CloudWatch Logs Insights nella Amazon CloudWatch Logs User Guide.

Registrazione strutturata degli agenti di lavoro

Il worker agent di Deadline Cloud pubblica log JSON strutturati su. CloudWatch L'agente di lavoro offre un'ampia gamma di log strutturati per l'analisi dello stato di salute dei lavoratori. Per ulteriori informazioni, consulta Accesso dell'agente di lavoro di Deadline Cloud. GitHub

Gli attributi dei log strutturati vengono decompressi nei campi di Log Insights. È possibile utilizzare questa CloudWatch funzionalità per contare e analizzare gli errori di avvio della configurazione dell'host. Ad esempio, è possibile utilizzare una query count and bin per determinare la frequenza con cui si verificano gli errori:

fields @timestamp, @message, @logStream, @log | sort @timestamp desc | filter message like /Worker Agent host configuration failed with exit code/ | stats count(*) by exit_code, bin(1h)

CloudWatch filtri metrici per metriche e allarmi

Puoi configurare filtri metrici per CloudWatch generare metriche dai log. CloudWatch I filtri metrici consentono di creare allarmi e dashboard per monitorare l'esecuzione degli script di configurazione dell'host.

Per creare un filtro parametrico
  1. Apri la console. CloudWatch

  2. Nel riquadro di navigazione, scegli Registri, quindi Gruppi di log.

  3. Seleziona il gruppo di log del tuo parco veicoli.

  4. Scegli Crea filtro parametri.

  5. Definite lo schema di filtro utilizzando uno dei seguenti metodi:

    • Per le metriche di successo:

      {$.message = "*Worker Agent host configuration succeeded.*"}
    • Per le metriche degli errori:

      {$.exit_code != 0 && $.message = "*Worker Agent host configuration failed with exit code*"}
  6. Scegli Avanti per creare una metrica con i seguenti valori:

    • Spazio dei nomi metrico: lo spazio dei nomi delle metriche (ad esempio,) MyDeadlineFarm

    • Nome della metrica: il nome della metrica richiesto (ad esempio,) host_config_failure

    • Valore della metrica: 1 (ogni istanza corrisponde a 1)

    • Valore predefinito: lascia vuoto

    • Unità: Count

Dopo aver creato i filtri metrici, puoi configurare gli CloudWatch allarmi standard per intervenire in caso di elevati tassi di errore della configurazione host o aggiungere le metriche a una CloudWatch dashboard per day-to-day le operazioni e il monitoraggio.

Per ulteriori dettagli, consulta Filter and pattern syntax nella Amazon CloudWatch Logs User Guide.