View a markdown version of this page

Esegui blue/green aggiornamenti per ambienti di elaborazione - AWS Batch

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 blue/green aggiornamenti per ambienti di elaborazione

Un blue/green aggiornamento è una strategia di aggiornamento che riduce i tempi di inattività e i rischi creando un nuovo ambiente di elaborazione (verde) insieme all'ambiente di elaborazione esistente (blu). Questo approccio consente di trasferire gradualmente i carichi di lavoro al nuovo ambiente mantenendo operativo l'ambiente esistente. Blue/green gli aggiornamenti forniscono il percorso di aggiornamento più sicuro e funzionano con qualsiasi tipo di ruolo di servizio o strategia di allocazione.

Panoramica di

Blue/green gli aggiornamenti offrono diversi vantaggi che li rendono ideali per gli ambienti di produzione. Non forniscono tempi di inattività mantenendo i carichi di lavoro in esecuzione continua durante il processo di aggiornamento. L'approccio consente di semplificare le funzionalità di rollback, consentendo di ripristinare rapidamente l'ambiente originale in caso di problemi. È possibile implementare una strategia di transizione graduale, verificando le prestazioni del nuovo ambiente prima di passare completamente ai carichi di lavoro di produzione. Questo metodo offre anche un'eccellente mitigazione del rischio poiché l'ambiente originale rimane invariato e operativo fino a quando non si sceglie di rimuoverlo.

Quando sono necessari blue/green aggiornamenti

È necessario utilizzare blue/green gli aggiornamenti nelle seguenti situazioni:

  • Quando l'ambiente di elaborazione utilizza una strategia di BEST_FIT allocazione (non supporta gli aggiornamenti dell'infrastruttura).

  • Quando l'ambiente di elaborazione non utilizza il ruolo collegato ai AWSServiceRoleForBatch servizi.

  • Quando è necessario effettuare la transizione tra diversi tipi di ruolo di servizio.

Consigliamo blue/green gli aggiornamenti per gli ambienti di produzione in cui l'assenza di tempi di inattività è fondamentale per i carichi di lavoro. Questo approccio funziona bene quando è necessario testare nuove configurazioni prima di passare ai carichi di lavoro di produzione, assicurando che le modifiche soddisfino i requisiti di prestazioni e affidabilità. Scegli blue/green gli aggiornamenti quando la funzionalità di rollback rapido è importante per le tue operazioni, soprattutto se stai aggiornando le AMI personalizzate con modifiche significative. Questo metodo è ideale anche quando desideri convalidare le caratteristiche e il comportamento delle prestazioni prima di apportare completamente le modifiche, garantendo sicurezza nel processo di aggiornamento.

Prerequisiti

Prima di eseguire un blue/green aggiornamento, assicurati di avere:

  • Autorizzazioni IAM appropriate per creare e gestire ambienti di elaborazione.

  • Accesso per visualizzare e modificare le impostazioni delle code di lavoro.

  • Strategie di riprova dei job configurate in base alle definizioni dei job per gestire potenziali errori durante la transizione. Per ulteriori informazioni, consulta Ritentativi automatici del lavoro.

  • L'ID AMI per il nuovo ambiente di elaborazione. Questo può essere:

    • Una versione recente e approvata dell'AMI ottimizzata per Amazon ECS (utilizzata per impostazione predefinita).

    • Un'AMI personalizzata che soddisfa le specifiche AMI dell'istanza del contenitore Amazon ECS. Quando usi un'AMI personalizzata, puoi specificarla in uno dei seguenti modi:

      • Utilizzo del campo di sostituzione dell'ID immagine nella configurazione EC2.

      • Specificandolo in un modello di avvio.

      Per ulteriori informazioni sulla creazione di AMI personalizzate, consulta. Tutorial: Creare una risorsa di calcolo AMI

Prima di creare il nuovo ambiente, è necessario registrare la configurazione dell'ambiente di elaborazione esistente. È possibile eseguire questa operazione utilizzando il Console di gestione AWS o il AWS CLI.

Nota

Le seguenti procedure descrivono in dettaglio come eseguire un blue/green aggiornamento che modifica solo l'AMI. È possibile aggiornare altre impostazioni per il nuovo ambiente.

Importante

Quando rimuovi il vecchio ambiente di calcolo (blu), tutti i processi attualmente in esecuzione su tali istanze falliranno perché le istanze verranno terminate. Configura le strategie di ripetizione dei job nelle definizioni dei job per gestire questi errori automaticamente. Per ulteriori informazioni, consulta Ritentativi automatici del lavoro.

Una volta acquisita fiducia nel nuovo ambiente:

  1. Modifica la coda dei lavori per rimuovere il vecchio ambiente di elaborazione.

  2. Attendi il completamento di tutti i lavori in esecuzione nel vecchio ambiente.

  3. Eliminare il vecchio ambiente di calcolo.

Performing blue/green updates using the Console di gestione AWS
  1. Clona il tuo attuale ambiente di elaborazione

    1. Apri la AWS Batch console all'indirizzo. https://console.aws.amazon.com/batch/

    2. Seleziona l'opzione accanto all'ambiente di elaborazione esistente. È necessario selezionare un ambiente di elaborazione prima che le opzioni del menu Azioni diventino disponibili.

    3. Scegli Azioni e poi Clona.

    4. In Nome, inserisci un nome univoco per il tuo nuovo ambiente di elaborazione.

    5. Scegli Avanti.

    6. Nella sezione Configurazione dell'istanza, aggiorna le impostazioni AMI:

      1. Espandere Additional configuration (Configurazione aggiuntiva).

      2. Per la configurazione EC2, specifica il nuovo tipo di AMI in Tipo di immagine e ID AMI nel campo Sostituzione dell'ID immagine.

    7. Scegli Avanti.

    8. Per la configurazione di rete, scegli Avanti.

    9. Rivedi le altre impostazioni che vengono copiate automaticamente dall'ambiente esistente.

    10. Scegli Crea ambiente di elaborazione.

    11. Attendi che diventi il nuovo stato dell'ambiente di elaborazione. VALID

  2. Modificare l'ordine della coda dei lavori

    1. Nel riquadro di navigazione, scegli Code di lavoro.

    2. Seleziona la coda di lavoro associata all'ambiente di elaborazione esistente.

    3. Scegli Modifica.

    4. In Ambiente di calcolo connesso, aggiungi il nuovo ambiente di elaborazione:

      • Aggiungi il nuovo ambiente di elaborazione con un numero d'ordine più elevato rispetto all'ambiente esistente per trasferire il carico di lavoro.

      • Una volta verificato il corretto funzionamento del nuovo ambiente, puoi renderlo l'ambiente principale assegnandogli un numero d'ordine inferiore.

    5. Scegli Aggiorna la coda dei lavori.

  3. Eliminazione

    1. Monitora l'esecuzione dei lavori nel nuovo ambiente per assicurarti che tutto funzioni come previsto.

    2. Una volta acquisita fiducia nel nuovo ambiente:

      1. Modifica la coda dei lavori per rimuovere il vecchio ambiente di elaborazione.

      2. Attendi il completamento di tutti i lavori in esecuzione nel vecchio ambiente.

      3. Eliminare il vecchio ambiente di calcolo.

Performing blue/green updates using the AWS CLI
  1. Per ottenere la configurazione usando il AWS CLI, usa il seguente comando:

    aws batch describe-compute-environments \ --compute-environments your-compute-environment-name

    Salva l'output come riferimento durante la creazione del nuovo ambiente.

  2. Crea un nuovo ambiente di calcolo utilizzando la configurazione dell'ambiente esistente, ma con la nuova AMI. Ecco un esempio di struttura dei comandi:

    Sostituisci i valori di esempio con la configurazione effettiva del passaggio precedente:

    cat <<EOF > ./blue-green-compute-environment.json { "computeEnvironmentName": "your-new-compute-environment-name", "type": "MANAGED", "state": "ENABLED", "computeResources": { "instanceRole": "arn:aws:iam::012345678901:instance-profile/ecsInstanceRole", "type": "EC2", "minvCpus": 2, "desiredvCpus": 2, "maxvCpus": 256, "instanceTypes": [ "optimal" ], "allocationStrategy": "BEST_FIT_PROGRESSIVE", "ec2Configuration": [ { "imageType": "ECS_AL2023", "imageIdOverride": "ami-0abcdef1234567890" } ], "subnets": [, "subnet-0abcdef1234567890" ], "securityGroupIds": [ "sg-0abcdef1234567890" ] } } EOF
    $ aws batch create-compute-environment --cli-input-json file://./blue-green-compute-environment.json
  3. Attendi che il nuovo ambiente diventi disponibile:

    aws batch describe-compute-environments \ --compute-environments your-new-compute-environment-name \ --query 'computeEnvironments[].status'
  4. Aggiungi il nuovo ambiente di elaborazione alla tua coda di lavoro:

    aws batch update-job-queue \ --job-queue your-job-queue \ --compute-environment-order order=1,computeEnvironment=your-existing-environment \ order=2,computeEnvironment=your-new-compute-environment-name
  5. Una volta verificato, aggiorna nuovamente per rendere primario il nuovo ambiente:

    aws batch update-job-queue \ --job-queue your-job-queue \ --compute-environment-order order=1,computeEnvironment=your-new-compute-environment-name

    Dopo aver completato tutti i processi nel vecchio ambiente, disabilitalo e quindi eliminalo:

    aws batch update-compute-environment \ --compute-environment your-existing-environment \ --state DISABLED
    aws batch delete-compute-environment \ --compute-environment your-existing-environment