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à.
Gestione delle revisioni nelle definizioni delle mansioni AWS Batch
Questo esempio presuppone che tu stia distribuendo lavori in batch utilizzando il AWS Batch servizio e utilizzando Terraform come strumento IaC.
Challenge
AWS Batch crea una nuova revisione di una definizione di lavoro con ogni aggiornamento, il che porta a un accumulo di revisioni nel tempo. Ciò può complicare la gestione delle risorse e creare confusione sulle revisioni correnti, specialmente negli ambienti aziendali in cui le definizioni delle mansioni vengono aggiornate frequentemente e le risorse a valle richiedono riferimenti accurati alle versioni più recenti.
Soluzione
Il seguente codice Terraform utilizza diversi componenti chiave per affrontare la gestione delle revisioni. AWS Batch
resource "terraform_data" "batch_job_definition_cleanup" { triggers_replace = { always_run = timestamp() } provisioner "local-exec" { command = "..." # AWS CLI commands to list and de-register older revisions } }
In questo codice:
-
terraform_dataè combinato con unlocal-execprovisioner per eseguire i comandi AWS Command Line Interface (AWS CLI) durante le operazioni Terraform. -
I trigger Timestamp assicurano che ogni
terraform applycomando esegua lo script di pulizia. -
AWS CLI interroga l'integrazione AWS Batch per tutte le revisioni attive delle definizioni dei processi e annulla la registrazione delle revisioni precedenti.
-
È possibile aggiungere una configurazione di conservazione personalizzata alla sezione dei comandi per specificare quante revisioni recenti conservare.
Vantaggi
-
Gestione semplificata: impedisce l'accumulo di revisioni obsolete delle definizioni delle mansioni.
-
Riferimenti chiari: mantiene indicazioni accurate sulle versioni correnti delle definizioni delle mansioni.
-
Ottimizzazione delle risorse: riduce il disordine nell' AWS Batch ambiente.
-
Automazione: si integra perfettamente con i flussi di lavoro Terraform esistenti.
Questo approccio dimostra come le funzionalità di estensibilità di Terraform possano superare i limiti dei provider mantenendo le migliori pratiche IaC. È possibile utilizzare questa soluzione come modello per scenari simili in cui sono necessarie la scoperta e la gestione dinamiche delle risorse.