View a markdown version of this page

Procedure consigliate per l'implementazione sicura degli aggiornamenti - Amazon Linux 2023

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à.

Procedure consigliate per l'implementazione sicura degli aggiornamenti

Amazon Linux 2023 (AL2023) ha diverse funzionalità progettate per facilitare la distribuzione sicura degli aggiornamenti del sistema operativo e per essere in grado di sapere cosa è cambiato tra un aggiornamento e, se necessario, ripristinare facilmente la versione precedente. Questa sezione esplora le lezioni apprese AWS da oltre un decennio di uso interno ed esterno di Amazon Linux.

avvertimento

dnf --releasever=latest updateL'esecuzione non è una best practice ed è probabile che comporti il primo test di un aggiornamento del sistema operativo in produzione.

Invece di utilizzarlalatest, utilizzate una versione specifica di AL2023. Ciò garantisce l'implementazione delle stesse modifiche tra le istanze di produzione testate in precedenza. Ad esempio, dnf --releasever=2023.12.20260817 update verrà sempre aggiornato alla versione 2023.12.20260817.

Per ulteriori informazioni, consulta la sezione Aggiornamento di AL2023 nella Guida per l'utente di AL2023. https://docs.aws.amazon.com/linux/al2023/ug/

Senza una pianificazione della sicurezza dell'implementazione degli aggiornamenti del sistema operativo, l'impatto di un'interazione negativa inaspettata tra l'utente application/service e un aggiornamento del sistema operativo può essere significativamente maggiore, fino a includere un'interruzione totale. Come per qualsiasi problema software, quanto prima viene rilevato, tanto minore è l'impatto che può avere sugli utenti finali.

È importante non cadere nella trappola di credere a due cose che fondamentalmente non sono vere:

  1. Il fornitore del sistema operativo non commetterà mai errori durante l'aggiornamento del sistema operativo.

  2. Il comportamento specifico o l'interfaccia del sistema operativo su cui si fa affidamento corrisponde al comportamento e alle interfacce su cui il fornitore del sistema operativo considererebbe affidabili.

    cioè sia il fornitore del sistema operativo che l'utente concorderebbero sul fatto che c'è stato un problema con l'aggiornamento.

Non affidatevi alle buone intenzioni, create sistemi per garantire che la sicurezza dell'implementazione includa qualsiasi aggiornamento del sistema operativo.

Non è consigliabile testare i nuovi aggiornamenti del sistema operativo implementandoli negli ambienti di produzione. È consigliabile considerare il sistema operativo come un'altra parte dell'implementazione e valutare l'applicazione degli stessi meccanismi di sicurezza dell'installazione che si ritengono idonei per qualsiasi altra modifica all'ambiente di produzione.

È consigliabile testare tutti gli aggiornamenti del sistema operativo prima di distribuirli nei sistemi di produzione. Durante l'implementazione, si consigliano implementazioni graduali combinate con un buon monitoraggio. Le implementazioni graduali possono garantire che se si verifica un problema, anche se non immediato, l'impatto sia limitato a un sottoinsieme del parco veicoli e che l'ulteriore distribuzione dell'aggiornamento possa essere interrotta mentre è possibile condurre ulteriori indagini e mitigazioni.

La mitigazione di qualsiasi impatto negativo derivante dall'aggiornamento del sistema operativo è spesso la prima priorità, seguita dalla risoluzione del problema, ovunque si trovi. Laddove l'introduzione di un aggiornamento del sistema operativo sia correlata all'impatto negativo, la possibilità di ripristinare la precedente versione valida del sistema operativo è uno strumento potente da utilizzare.

Amazon Linux 2023 introduce Aggiornamenti deterministici tramite repository con versioni una nuova potente funzionalità per garantire che qualsiasi modifica alla versione del sistema operativo (o ai singoli pacchetti) sia ripetibile. Pertanto, se si riscontra un problema durante il passaggio da una versione del sistema operativo a quella successiva, sono disponibili meccanismi semplici da usare per attenersi alla versione del sistema operativo funzionante nota e capire come risolvere il problema.

Con AL2023, ogni volta che rilasciamo nuovi aggiornamenti dei pacchetti, c'è una nuova versione a cui collegarsi e nuove AMI che si bloccano a quella versione. Le note di rilascio di AL2023 riguardano le modifiche apportate a ciascuna versione e Avvisi di sicurezza di Amazon Linux per AL2023 coprono i problemi di sicurezza risolti negli aggiornamenti dei pacchetti.

Ad esempio, se sei stato interessato dal problema presente nella versione 2023.6.20241028, puoi tornare immediatamente a utilizzare le AMI e le immagini dei contenitori della versione precedente, 2023.6.20241010. https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html In questo caso, c'era un bug in un pacchetto che è stato corretto nella successiva release 2023.6.20241031, ma per chiunque fosse interessato è possibile adottare immediatamente una semplice azione per mitigarlo: basta utilizzare le immagini precedenti. Aggiornamenti deterministici tramite repository con versioni

Aggiornamenti deterministici tramite repository con versionigarantisce inoltre che qualsiasi implementazione in corso di un aggiornamento del sistema operativo, in corso o mediante il lancio di nuove AMI o immagini dei contenitori, non sia influenzata dagli aggiornamenti del sistema operativo rilasciati successivamente.

Per il nostro primo esempio, la flotta A è una flotta di grandi dimensioni che è a metà della distribuzione dell'aggiornamento dalla versione 2023.5.20241001 alla versione 2023.6.20241010 quando uscirà la versione 2023.6.20241028. https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241028.html Aggiornamenti deterministici tramite repository con versionisignifica che l'implementazione della flotta A continua senza alcuna modifica agli aggiornamenti che sta applicando.

Lo scopo delle strategie di distribuzione basate su ondate o fasi, ad esempio l'introduzione prima all'1% di una flotta, poi al 5%, 10%, 20%, 40%, fino a raggiungere il 100%, è quello di poter testare una modifica in modo limitato prima di estenderla su larga scala. Questo tipo di strategia di implementazione è comunemente considerata la migliore pratica per implementare qualsiasi modifica della produzione.

Con una strategia di distribuzione basata su ondate e sulla flotta Un aggiornamento alla versione 2023.6.20241010 è in una fase in cui viene distribuito su molti host contemporaneamente, il fatto che sia stato rilasciato il https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241028.html 2023.6.20241028 non ha alcun impatto sull'implementazione in corso grazie all'utilizzo. Aggiornamenti deterministici tramite repository con versioni

Se la flotta B utilizzasse una versione precedente, ad esempio 2023.5.20240708, e avesse iniziato a distribuire l'aggiornamento alla 2023.6.20241028 e la flotta B fosse affetta dal problema in quella versione, ciò verrebbe notato all'inizio della distribuzione. A quel punto, è possibile decidere se sospendere l'implementazione fino a quando non sarà disponibile una soluzione per il problema o se nel frattempo avviare una distribuzione della stessa versione della flotta A in esecuzione, 2023.6.20241010, in modo che la flotta B riceva tutti gli aggiornamenti tra il 2023.5.20240708 e il 2023.6.20241010.

È importante notare che la mancata ricezione tempestiva degli aggiornamenti del sistema operativo può causare problemi. I nuovi aggiornamenti probabilmente contengono correzioni di bug e sicurezza che potrebbero essere rilevanti per l'ambiente in uso. Per ulteriori informazioni, consulta Sicurezza e conformità in Amazon Linux 2023 e Gestisci gli aggiornamenti dei pacchetti e del sistema operativo in AL2023.

È importante configurare i sistemi di distribuzione per poter ricevere facilmente nuovi aggiornamenti del sistema operativo, testarli prima della distribuzione in produzione e utilizzare meccanismi come le implementazioni basate su onde per ridurre al minimo qualsiasi impatto negativo. Per mitigare l'impatto negativo di un aggiornamento del sistema operativo, è importante sapere come fare in modo che i sistemi di distribuzione puntino a una precedente versione valida e nota del sistema operativo e, una volta risolto il problema, non essere più vincolati alla vecchia versione valida ma piuttosto passare a una nuova versione nota e valida.

Preparazione per gli aggiornamenti minori

La preparazione per aggiornamenti minori del sistema operativo, ad esempio una nuova versione limitata di AL2023, è pensata per essere limitata a zero sforzi. Assicurati di leggere le note di rilascio di AL2023 per eventuali modifiche imminenti.

La scadenza del periodo di supporto di un pacchetto può comportare il passaggio a una versione più recente del runtime del linguaggio (ad esempio withPHP nel 2023 AL). È consigliabile prepararsi a tale situazione in anticipo passando alle nuove versioni in fase di esecuzione con sufficiente anticipo rispetto alla fine del periodo di supporto.

Per pacchetti come questopcre versione 1, c'è anche la possibilità di pianificare in anticipo e migrare qualsiasi codice verso la versione sostitutiva, che in questo caso è la pcre versione 2. È buona norma farlo il prima possibile, per lasciare il tempo necessario per eventuali contrattempi.

Se non esiste una sostituzione diretta, ad esempio conBerkeley DB (libdb), potrebbe essere necessario effettuare una scelta in base al caso d'uso.

Preparazione per gli aggiornamenti principali

L'aggiornamento a una nuova versione principale di un sistema operativo è considerato quasi universalmente come qualcosa che richiede pianificazione, lavoro per adattarsi a funzionalità modificate o obsolete e anche test prima della distribuzione. Non è raro essere in grado di prepararsi per la prossima versione principale di Amazon Linux 2023 in modo più incrementale, ad esempio risolvendo l'eventuale utilizzo di funzionalità obsolete o rimosse prima di procedere con il passaggio alla versione principale successiva.

Ad esempio, quando si passa da AL2 ad AL2023, la lettura della Funzionalità obsoleta e rimossa in AL2 AL2023 sezione può comportare una serie di piccoli e sicuri passaggi che possono essere eseguiti mentre si utilizza ancora AL2 per prepararsi ad AL2023. Ad esempio, qualsiasi Python 2.7 è stato sostituito con Python 3 utilizzo (al di fuori dell'uso del sistema operativo, come nel gestore di yum pacchetti) può essere migrato a Python 3 in preparazione all'uso. Python nel 2023 AL Se si utilizza PHP, sia AL2 (tramite PHP 8.2 AL2 Extra) che AL2023 forniscono PHP 8.2, e quindi sia la migrazione della versione PHP che la migrazione del sistema operativo non devono avvenire contemporaneamente.

Utilizzando AL2023, è anche possibile prepararsi per la prossima versione principale di Amazon Linux 2023 oggi stesso, utilizzando AL2023. La Deprecato in AL2023 sezione tratta le funzionalità e i pacchetti che sono obsoleti in AL2023 e che devono essere rimossi.

Ad esempio, la migrazione degli eventuali Inizializzazione del sistema V (sysvinit) utilizzi rimanenti, come init gli script a systemd quelli equivalenti, ti preparerà per il futuro e ti consentirà di utilizzare l'intero set di systemd funzionalità per monitorare il servizio, come e se riavviarlo, quali altri servizi sono necessari e se applicare vincoli di risorse o autorizzazioni.

Per funzionalità come il supporto a 32 bit, la deprecazione può riguardare più versioni principali del sistema operativo. Per i sistemi a 32 bit, Amazon Linux 1 (AL1) è obsoletox86 a 32 bit (i686) AMIs, Amazon Linux 2 è obsoleto e Amazon Linux 2023 è obsoleto. Pacchetti x86 (i686) a 32 bit Supporto per il runtime x86 (i686) a 32 bit La transizione da si estende IMDSv1 anche a diverse versioni principali del sistema operativo. Per questi tipi di modifiche, resta inteso che alcuni clienti richiedono più tempo per adattarsi ad esse, quindi c'è un ampio margine di manovra prima che la funzionalità non sia più disponibile in Amazon Linux 2023.

L'elenco delle funzionalità obsolete viene aggiornato per tutta la durata del sistema operativo ed è consigliabile tenersi aggiornati sulle modifiche apportate.