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à.
Migrazione da Amazon Linux AMI (AL1) a AL2 o AL2 023
Se la tua applicazione Elastic Beanstalk è basata su un ramo della piattaforma AMI Amazon Linux, usa questa sezione per scoprire come migrare gli ambienti dell'applicazione su Amazon Linux 2 o Amazon Linux 2023. Le filiali di piattaforme di generazione precedente basate su Amazon Linux AMI
Ti consigliamo di eseguire la migrazione ad Amazon Linux 2023, poiché è più recente di Amazon Linux 2. Il sistema operativo Amazon Linux 2 raggiungerà la fine del supporto prima di Amazon Linux 2023, quindi la migrazione ad Amazon Linux 2023 ti consente di beneficiare di un periodo di supporto più lungo.
È importante tenere presente che esiste un alto grado di compatibilità tra le piattaforme Elastic Beanstalk Amazon Linux 2 e Amazon Linux 2023. Sebbene alcune aree presentino delle differenze: l'opzione predefinita di Instance Metadata Service Version 1 (IMDSv1), il supporto per lo strumento di istanza pkg-repo e alcune configurazioni di Apache. HTTPd Per ulteriori informazioni, consulta Amazon Linux 2023
Differenze e compatibilità
Non è garantito che i rami AL2 della piattaforma basata su AL2 023/ siano retrocompatibili con l'applicazione esistente. È inoltre importante tenere presente che, anche se il codice dell'applicazione viene implementato correttamente nella nuova versione della piattaforma, potrebbe comportarsi o funzionare in modo diverso a causa delle differenze del sistema operativo e del tempo di esecuzione.
Sebbene Amazon Linux AMI e AL2 023/ AL2 condividano lo stesso kernel Linux, differiscono nei seguenti aspetti: il sistema di inizializzazione, libc
le versioni, la catena di strumenti del compilatore e vari pacchetti. Per ulteriori informazioni, consulta Amazon Linux 2 FAQs
Il servizio Elastic Beanstalk ha anche aggiornato versioni specifiche della piattaforma di runtime, strumenti di compilazione e altre dipendenze.
Si consiglia pertanto di dedicare il tempo necessario, testare accuratamente l'applicazione in un ambiente di sviluppo e apportare le modifiche necessarie.
Processo di migrazione generale
Quando si è pronti per la produzione, Elastic Beanstalk richiede una distribuzione blu/verde per eseguire l'aggiornamento. Di seguito sono riportate le best practice generali per eseguire la migrazione con una procedura di implementazione blu/verde.
Preparazione al test per la migrazione
Prima di implementare l'applicazione e iniziare il test, consulta le informazioni contenute nella sezione Considerazioni per tutte le piattaforme Linux seguente. Consulta inoltre le informazioni relative alla piattaforma in uso nella sezione Considerazioni specifiche della piattaforma seguente. Prendi nota delle informazioni specifiche di tale sezione che si applicano o possono applicarsi all'applicazione e alla configurazione.
Panoramica delle fasi di migrazione
-
Crea un nuovo ambiente basato su un ramo della piattaforma AL2 o AL2 023. Ti consigliamo di migrare a un ramo della piattaforma AL2 023.
-
Distribuisci l'applicazione nell'ambiente 023/ di destinazioneAL2. AL2
L'ambiente di produzione esistente rimarrà attivo e inalterato, mentre si esegue l'iterazione attraverso i test e le modifiche apportate al nuovo ambiente.
-
Testa accuratamente l'applicazione nel nuovo ambiente.
-
Quando AL2 l'ambiente AL2 023/ di destinazione è pronto per essere avviato alla produzione, sostituisci i due ambienti per reindirizzare il traffico verso il nuovo ambiente. CNAMEs
Fasi di migrazione dettagliate e best practice
Per una procedura di implementazione blu/verde più dettagliata, consulta Distribuzioni blu/verde con Elastic Beanstalk.
Per indicazioni più specifiche e best practice dettagliate, consulta il metodo blu/verde.
Altri riferimenti per pianificare la migrazione
I seguenti riferimenti possono offrire informazioni aggiuntive per pianificare la migrazione.
-
Confronto tra Amazon Linux 2 e Amazon Linux 2023 Guida per l'utente di Amazon Linux 2023.
-
Cos'è Amazon Linux 2023? nella Guida per l'utente di Amazon Linux 2023
-
Piattaforme supportate da Elastic Beanstalk in AWS Elastic Beanstalk Piattaforme
Considerazioni per tutte le piattaforme Linux
La tabella seguente illustra le considerazioni di cui è necessario tenere conto quando si pianifica la migrazione di un'applicazione alla AL2 versione 023/. AL2 Queste considerazioni si applicano a qualsiasi piattaforma Elastic Beanstalk Linux, indipendentemente da specifici linguaggi di programmazione o server applicativi.
Area | Modifiche e informazioni |
---|---|
File di configurazione |
Sulle AL2 piattaforme AL2 023/, è possibile utilizzare i file di configurazione come in precedenza e tutte le sezioni funzionano allo stesso modo. Tuttavia, impostazioni specifiche potrebbero non funzionare allo stesso modo delle precedenti AMI piattaforme Amazon Linux. Per esempio:
Si consiglia di utilizzare gli hook della piattaforma per eseguire codice personalizzato sulle istanze dell'ambiente. È comunque possibile utilizzare comandi e comandi container nei file di configurazione È comunque necessario utilizzare i file di |
Hook della piattaforma |
AL2platforms ha introdotto un nuovo modo per estendere la piattaforma dell'ambiente aggiungendo file eseguibili alle directory di hook sulle istanze dell'ambiente. Con le versioni precedenti della piattaforma Linux, potresti aver usato gli hook della piattaforma personalizzati. Questi hook non erano progettati per piattaforme gestite e non erano supportati, ma potrebbero funzionare in modi utili in alcuni casi. Con le versioni AL2 02/3 AL2 della piattaforma, gli hook di piattaforma personalizzati non funzionano. È necessario eseguire la migrazione di eventuali hook ai nuovi hook della piattaforma. Per dettagli, consulta Hook della piattaforma. |
Server proxy supportati |
AL2Le versioni della AL2 piattaforma 023/ supportano gli stessi server proxy inversi di ogni piattaforma supportata nelle versioni della AMI piattaforma Amazon Linux. Tutte le versioni della piattaforma AL2 023/AL2; utilizzano nginx come server proxy inverso predefinito, ad eccezione delle piattaforme e Docker. ECS Le piattaforme TomcatPHP, Node.js e Python supportano anche HTTPD Apache come alternativa. Tutte le piattaforme abilitano la configurazione del server proxy in modo uniforme, come descritto in questa sezione. Tuttavia, la configurazione del server proxy è leggermente diversa rispetto a Amazon LinuxAMI. Queste sono le differenze per tutte le piattaforme:
Per le modifiche alla configurazione del proxy specifiche della piattaforma, consulta Considerazioni specifiche della piattaforma. Per informazioni sulla configurazione del proxy sulle AL2 piattaforme AL2 023/, consulta. Configurazione del proxy inverso |
Modifiche alla configurazione del proxy |
Esistono modifiche alla configurazione del proxy che si applicano uniformemente a tutte le piattaforme oltre alle modifiche alla configurazione del proxy specifiche per ciascuna piattaforma. È importante fare riferimento a entrambi per configurare con precisione gli ambienti.
|
Profilo dell'istanza |
AL2023/ AL2 Le piattaforme richiedono la configurazione di un profilo di istanza. La creazione dell'ambiente potrebbe temporaneamente avere esito positivo senza profilo, ma l'ambiente potrebbe mostrare errori subito dopo la creazione quando le azioni che richiedono un profilo di istanza iniziano a fallire. Per informazioni dettagliate, consultare Gestione dei profili dell'istanza Elastic Beanstalk. |
Integrità migliorata |
AL2Le versioni della AL2 piattaforma 023/ abilitano l'integrità avanzata per impostazione predefinita. Questa è una modifica se non si utilizza la console Elastic Beanstalk per creare gli ambienti. La console abilita l'integrità avanzata per impostazione predefinita quando possibile, indipendentemente dalla versione della piattaforma. Per informazioni dettagliate, consultare Elastic Beanstalk ha migliorato la reportistica e il monitoraggio dello stato. |
Personalizzato AMI |
Se il tuo ambiente utilizza un ambiente personalizzato AMI, creane uno nuovo AMI basato su AL2 023/ AL2 per il nuovo ambiente utilizzando una piattaforma Elastic Beanstalk 023/. AL2 AL2 |
Piattaforme personalizzate |
Le versioni gestite AMIs della piattaforma AL2 AL2 023/ non supportano piattaforme personalizzate. |
Considerazioni specifiche della piattaforma
In questa sezione vengono illustrate le considerazioni relative alla migrazione per specifiche piattaforme Elastic Beanstalk Linux.
La famiglia di rami della piattaforma Docker basata su Amazon Linux AMI (AL1) include tre rami di piattaforma. Per ognuno di essi consigliamo un percorso di migrazione diverso.
AL1Filiale della piattaforma | Percorso di migrazione verso lo AL2 023/ AL2 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Docker multi-container gestito da Amazon ECS in esecuzione su Amazon Linux AMI () AL1 |
ECSfiliali basate sulla piattaforma Docker 02/3 AL2 AL2I rami della AL2 piattaforma Docker AL2 023/ ECS basati su Docker offrono un percorso di migrazione semplice per gli ambienti in esecuzione sul ramo della piattaforma Docker multi-container. AL1
Per ulteriori informazioni sulla migrazione delle applicazioni in esecuzione sul ramo della piattaforma Amazon Linux Docker multi-container verso un ramo Amazon in esecuzione AL2 sul ramo della piattaforma AL2 023/, consulta. ECS Migrazione dell'ECSapplicazione Elastic Beanstalk da Docker multi-container gestito su Amazon Linux 2023 AL1 ECS |
||||||||
Docker in esecuzione su Amazon Linux AMI () AL1 Docker preconfigurato (Glassfish 5.0) con Amazon Linux () AMI AL1 |
Docker in esecuzione su un ramo della piattaforma 02/3 AL2 AL2Ti consigliamo di migrare le applicazioni in esecuzione su ambienti basati su Docker preconfigurato (Glassfish 5.0) o Docker in esecuzione su Amazon Linux AMI (AL1) verso ambienti basati su Docker Running on Amazon Linux 2 o Docker Running su 023 rami della piattaforma. AL2 Se l'ambiente è basato sul ramo di piattaforma Docker preconfigurato (Glassfish 5.0), consulta Distribuzione di un' GlassFish applicazione sulla piattaforma Docker: un percorso di migrazione verso Amazon Linux 2023. La tabella seguente elenca le informazioni sulla migrazione specifiche per il ramo della piattaforma Docker Running su 023/. AL2 AL2
|
Area | Modifiche e informazioni |
---|---|
Passaggio della porta |
Sulle AL2 piattaforme AL2 023/, Elastic Beanstalk non trasmette un valore di porta al processo applicativo tramite la variabile di ambiente. |
La tabella seguente elenca le informazioni di migrazione per le versioni della piattaforma Corretto nella piattaforma Java SE.
Area | Modifiche e informazioni |
---|---|
Corretto vs. aperto JDK |
Per implementare la piattaforma Java, Standard Edition (Java SE), le filiali della AL2 piattaforma AL2 023/ utilizzano Amazon Corretto |
Strumenti di compilazione |
AL2AL2Le piattaforme 023/ dispongono di versioni più recenti degli strumenti di compilazione:,, e. |
JARgestione dei file |
Sulle AL2 piattaforme AL2 023/, se il pacchetto sorgente (ZIPfile) contiene un solo file e nessun altro JAR file, Elastic Beanstalk non rinomina più il file in. JAR |
Passaggio della porta |
Sulle AL2 piattaforme AL2 023/, Elastic Beanstalk non trasmette un valore di porta al processo applicativo tramite la variabile di ambiente. |
Java 7 |
Elastic Beanstalk non AL2 supporta AL2 un ramo della piattaforma 023/Java 7. Se si dispone di un'applicazione Java 7, eseguire la migrazione a Corretto 8 o Corretto 11. |
Area | Modifiche e informazioni | ||||||
---|---|---|---|---|---|---|---|
Opzioni di configurazione |
Nelle versioni della AL2 piattaforma AL2 023/, Elastic Beanstalk supporta solo un sottoinsieme delle opzioni di configurazione e dei valori delle opzioni nel namespace.
L' |
||||||
Percorso dell'applicazione |
Sulle AL2 piattaforme AL2 023/, il percorso della directory dell'applicazione sulle EC2 istanze Amazon del tuo ambiente è. |
La tabella seguente elenca le informazioni sulla migrazione per le versioni della AL2 piattaforma AL2 023/ nella piattaforma Node.js.
Area | Modifiche e informazioni | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Versioni Node.js installate |
Sulle AL2 piattaforme AL2 023/, Elastic Beanstalk gestisce diversi rami della piattaforma Node.js e installa solo l'ultima versione della versione principale di Node.js corrispondente al ramo della piattaforma su ciascuna versione della piattaforma. Ad esempio, ogni versione della piattaforma nel ramo della piattaforma Node.js 12 ha solo Node.js 12.x.y installato per impostazione predefinita. Nelle versioni della AMI piattaforma Amazon Linux, abbiamo installato le diverse versioni di più versioni di Node.js su ciascuna versione della piattaforma e abbiamo mantenuto un solo ramo della piattaforma. Scegliere il ramo della piattaforma Node.js che corrisponde alla versione principale Node.js di cui ha bisogno l'applicazione. |
||||||||||
Nomi dei file di HTTPD registro di Apache |
Sulle AL2 piattaforme AL2 023/, se si utilizza il server HTTPD proxy Apache, i nomi dei file di HTTPD registro sono Per informazioni dettagliate sui nomi dei file di log e sui percorsi di tutte le piattaforme, consulta Come Elastic Beanstalk configura i log CloudWatch . |
||||||||||
Opzioni di configurazione |
Sulle AL2 piattaforme AL2 023/, Elastic Beanstalk non supporta le opzioni di configurazione nel namespace.
|
Area | Modifiche e informazioni |
---|---|
PHPelaborazione dei file |
Sulle AL2 piattaforme AL2 023/, PHP i file vengono elaborati utilizzando PHP - FPM (un gestore di CGI processi). Sulle AMI piattaforme Amazon Linux abbiamo usato mod_php (un modulo Apache). |
Server proxy |
AL2Le versioni della AL2 PHP piattaforma 023/ supportano sia i server proxy nginx che Apache. HTTPD Il valore predefinito è nginx. Le versioni AMI PHP della piattaforma Amazon Linux supportavano solo ApacheHTTPD. Se sono stati aggiunti file di configurazione Apache personalizzati, è possibile impostare l'opzione |
Area | Modifiche e informazioni |
---|---|
WSGIserver |
Sulle AL2 piattaforme AL2 023/, Gunicorn In alternativa, puoi usare |
Percorso dell'applicazione |
Sulle AL2 piattaforme AL2 023/, il percorso della directory dell'applicazione sulle EC2 istanze Amazon del tuo ambiente è. |
Server proxy |
AL2023/ Le versioni della piattaforma AL2 Python supportano sia i server proxy nginx che Apache. HTTPD Il valore predefinito è nginx. Le versioni della piattaforma Amazon Linux AMI Python supportavano solo Apache. HTTPD Se sono stati aggiunti file di configurazione Apache personalizzati, è possibile impostare l'opzione |
Area | Modifiche e informazioni |
---|---|
Versioni di Ruby installate |
Sulle AL2 piattaforme AL2 023/, Elastic Beanstalk installa solo l'ultima versione di una singola versione di Ruby, corrispondente al ramo della piattaforma, su ciascuna versione della piattaforma. Ad esempio, ogni versione della piattaforma nel ramo della piattaforma Ruby 2.6 ha solo Ruby 2.6.x installato. Nelle versioni della AMI piattaforma Amazon Linux, abbiamo installato le versioni più recenti di più versioni di Ruby, ad esempio 2.4.x, 2.5.x e 2.6.x. Se l'applicazione utilizza una versione di Ruby che non corrisponde al ramo della piattaforma in uso, ti consigliamo di passare a un ramo della piattaforma con la versione di Ruby corretta per l'applicazione. |
Server applicazioni |
Sulle AL2 piattaforme AL2 023/, Elastic Beanstalk installa il server delle applicazioni Puma solo su tutte le versioni della piattaforma Ruby. È possibile utilizzare un Sulla AMI piattaforma Amazon Linux, supportavamo due versioni di rami della piattaforma per ogni versione di Ruby, una con il server delle applicazioni Puma e l'altra con il server delle applicazioni Passenger. Se l'applicazione utilizza Passenger, è possibile configurare l'ambiente Ruby per installare e utilizzare Passenger. Per maggiori informazioni ed esempi, consulta Utilizzo della piattaforma Ruby di Elastic Beanstalk. |