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 AMI Amazon Linux (AL1) a AL2 o AL2023
Se l'applicazione Elastic Beanstalk è basata su una ramificazione della piattaforma AMI Amazon Linux, consulta questa sezione per informazioni su come migrare gli ambienti dell'applicazione ad Amazon Linux 2 o Amazon Linux 2023. Le ramificazioni della piattaforma della generazione precedente, basati su AMI Amazon Linux
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. Tuttavia, alcune aree presentano delle differenze, come l'opzione predefinita relativa al servizio di metadati dell’istanza versione 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à
Le ramificazioni della piattaforma basate su AL2023/AL2 non sono garantite come 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 AMI Amazon Linux e AL2023/AL2 condividano lo stesso kernel Linux, differiscono negli aspetti seguenti: sistema di inizializzazione, versioni libc
, catena di strumenti del compilatore e vari pacchetti. Per ulteriori informazioni, consulta Domande frequenti su Amazon Linux 2
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 una ramificazione della piattaforma AL2 o AL2023. Ti consigliamo di eseguire la migrazione a una ramificazione della piattaforma AL2023.
-
Implementa l'applicazione nell'ambiente AL2023/AL2 di destinazione.
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 l'ambiente AL2023/AL2 di destinazione è pronto per entrare in produzione, scambia i CNAME dei due ambienti per reindirizzare il traffico verso il nuovo ambiente.
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 Piattaforme AWS Elastic Beanstalk
Considerazioni per tutte le piattaforme Linux
Nella tabella seguente vengono illustrate le considerazioni da tenere presenti quando si pianifica una migrazione di un'applicazione ad AL2023/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 piattaforme AL2023/AL2, è possibile utilizzare i file di configurazione come prima e tutte le sezioni funzionano allo stesso modo. Tuttavia, le impostazioni specifiche potrebbero non funzionare allo stesso modo delle piattaforme AMI Amazon Linux precedenti. Ad 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 |
Hook della piattaforma |
Le piattaforme AL2 hanno introdotto un nuovo modo per estendere la piattaforma dell'ambiente aggiungendo file eseguibili per collegare le directory alle 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 della piattaforma AL2023/AL2, gli hook della piattaforma personalizzati non funzionano. È necessario eseguire la migrazione di eventuali hook ai nuovi hook della piattaforma. Per i dettagli, espandere la sezione Hook della piattaforma in Estensione delle piattaforme Elastic Beanstalk Linux. |
Server proxy supportati |
Le versioni della piattaforma AL2023/AL2 supportano gli stessi server proxy inversi come ogni piattaforma supportata nelle relative versioni della piattaforma AMI Amazon Linux. Tutte le versioni della piattaforma AL2023/AL2 utilizzano nginx come server proxy inverso predefinito, ad eccezione delle piattaforme ECS e Docker. Le piattaforme Tomcat, Node.js, PHP e Python supportano anche HTTPD di 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 da quella presente nella AMI Amazon Linux. 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 piattaforme AL2023/AL2, espandi la sezione Configurazione del proxy inverso in Estensione delle piattaforme Elastic Beanstalk Linux. |
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 |
Le piattaforme AL2023/AL2 richiedono la configurazione di un profilo dell'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, consulta Gestione dei profili dell'istanza Elastic Beanstalk. |
Integrità migliorata |
Le versioni della piattaforma AL2023/AL2 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, consulta Monitoraggio e reporting dello stato avanzato. |
AMI personalizzata |
Se l'ambiente utilizza una AMI personalizzata, crea una nuova AMI basata su AL2023/AL2 per il nuovo ambiente utilizzando una piattaforma Elastic Beanstalk AL2023/AL2. |
Piattaforme personalizzate |
Le AMI gestite delle versioni della piattaforma AL2023/AL2 non supportano le 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 della piattaforma. Per ognuno di essi consigliamo un percorso di migrazione diverso.
Ramo della piattaforma AL1 | Percorso di migrazione verso AL2023/AL2 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Docker multi-container gestito da Amazon ECS in esecuzione su Amazon Linux AMI (AL1) |
Ramificazioni della piattaforma Docker AL2023/AL2 basato su ECSLe ramificazioni della piattaforma Docker AL2023/AL2 basato su ECS offrono un percorso di migrazione semplice per gli ambienti in esecuzione nella ramificazione della piattaforma Docker AL1 multi-container.
Per ulteriori informazioni sulla migrazione delle applicazioni in esecuzione sulla ramificazione della piattaforma Docker multi-container Amazon Linux verso la ramificazione della piattaforma Amazon ECS in esecuzione su AL2023/AL2, consulta Migrazione di Docker multi-container in esecuzione su Amazon Linux a ECS su Amazon Linux 2023. |
||||||||
Docker in esecuzione su Amazon Linux AMI (AL1) Docker preconfigurato (Glassfish 5.0) in esecuzione su Amazon AMI (AL1) |
Docker in esecuzione sulla ramificazione della piattaforma AL2023/AL2È consigliabile eseguire la migrazione delle applicazioni in esecuzione su ambienti basati su Docker preconfigurato (Glassfish 5.0) o Docker in esecuzione su AMI Amazon Linux (AL1) agli ambienti che si basano sulle ramificazioni della piattaforma Docker in esecuzione su Amazon Linux 2 o Docker in esecuzione su AL2023. 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 di migrazione specifiche per la ramificazione della piattaforma Docker in esecuzione su AL2023/AL2.
|
La tabella seguente elenca le informazioni di migrazione per le versioni della piattaforma AL2023/AL2 nella piattaforma Go.
Area | Modifiche e informazioni |
---|---|
Passaggio della porta |
Sulle piattaforme AL2023/AL2, Elastic Beanstalk non passa un valore di porta al processo dell'applicazione attraverso 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 e OpenJDK a confronto |
Per implementare la piattaforma Java, Standard Edition (Java SE), le ramificazioni della piattaforma AL2023/AL2 utilizzano Amazon Corretto |
Strumenti di compilazione |
Le piattaforme AL2023/AL2 dispongono di versioni più recenti degli strumenti di compilazione: |
Gestione file JAR |
Sulle piattaforme AL2023/AL2, se il bundle sorgente (file ZIP) contiene un singolo file JAR e nessun altro file, Elastic Beanstalk non rinomina più il file JAR in |
Passaggio della porta |
Sulle piattaforme AL2023/AL2, Elastic Beanstalk non passa un valore di porta al processo dell'applicazione attraverso la variabile di ambiente |
Java 7 |
Elastic Beanstalk non supporta una ramificazione della piattaforma AL2023/AL2 Java 7. Se si dispone di un'applicazione Java 7, eseguire la migrazione a Corretto 8 o Corretto 11. |
La tabella seguente elenca le informazioni di migrazione per le versioni della piattaforma AL2023/AL2 nella piattaforma Tomcat.
Area | Modifiche e informazioni | ||||||
---|---|---|---|---|---|---|---|
Opzioni di configurazione |
Nelle versioni della piattaforma AL2023/AL2, Elastic Beanstalk supporta solo un sottoinsieme di opzioni di configurazione e valori di opzioni nello spazio dei nomi
L'opzione |
||||||
Percorso dell'applicazione |
Sulle piattaforme AL2023/AL2, il percorso della directory dell'applicazione sulle istanze Amazon EC2 dell'ambiente è |
La tabella seguente elenca le informazioni di migrazione per le versioni della piattaforma AL2023/AL2 nella piattaforma Node.js.
Area | Modifiche e informazioni | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Versioni Node.js installate |
Sulle piattaforme AL2023/AL2, Elastic Beanstalk supporta diverse ramificazioni della piattaforma Node.js e installa solo l'ultima versione della versione principale Node.js corrispondente alla ramificazione 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 piattaforma AMI Amazon Linux, abbiamo installato le versioni multiple di Node.js su ciascuna versione della piattaforma e mantenuto solo un singolo ramo di 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 log HTTPD di Apache |
Sulle piattaforme AL2023/AL2, se si utilizza il server proxy HTTPD di Apache, i nomi dei file di log HTTPD sono Per informazioni dettagliate sui nomi dei file di log e sui percorsi di tutte le piattaforme, consulta Come Elastic Beanstalk imposta CloudWatch Logs. |
||||||||||
Opzioni di configurazione |
Sulle piattaforme AL2023/AL2, Elastic Beanstalk non supporta le opzioni di configurazione nello spazio dei nomi
|
La tabella seguente elenca le informazioni di migrazione per le versioni della piattaforma AL2023/AL2 nella piattaforma PHP.
Area | Modifiche e informazioni |
---|---|
Elaborazione di file PHP |
Sulle piattaforme AL2023/AL2, i file PHP vengono elaborati utilizzando PHP-FPM (un gestore di processi CGI). Sulle piattaforme AMI Amazon Linux è stato usato mod_php (un modulo Apache). |
Server proxy |
Le versioni della piattaforma PHP AL2023/AL2 supportano sia i server proxy nginx che i server proxy HTTPD di Apache. Il valore predefinito è nginx. Le versioni della piattaforma PHP AMI Amazon Linux supportano solo HTTPD di Apache. Se sono stati aggiunti file di configurazione Apache personalizzati, è possibile impostare l'opzione |
La tabella seguente elenca le informazioni di migrazione per le versioni della piattaforma AL2023/AL2 nella piattaforma Python.
Area | Modifiche e informazioni |
---|---|
Server WSGI |
Nelle piattaforme AL2023/AL2, Gunicorn In alternativa, puoi utilizzare |
Percorso dell'applicazione |
Sulle piattaforme AL2023/AL2, il percorso della directory dell'applicazione sulle istanze Amazon EC2 dell'ambiente è |
Server proxy |
Le versioni della piattaforma Python AL2023/AL2 supportano sia i server proxy nginx che i server proxy HTTPD di Apache. Il valore predefinito è nginx. Le versioni della piattaforma Python AMI Amazon Linux supportano solo HTTPD di Apache. Se sono stati aggiunti file di configurazione Apache personalizzati, è possibile impostare l'opzione |
La tabella seguente elenca le informazioni di migrazione per le versioni della piattaforma AL2023/AL2 nella piattaforma Ruby.
Area | Modifiche e informazioni |
---|---|
Versioni di Ruby installate |
Sulle piattaforme AL2023/AL2, Elastic Beanstalk installa solo l'ultima versione di una singola versione di Ruby, corrispondente alla ramificazione 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 piattaforma AMI Amazon Linux, vengono installate 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 piattaforme AL2023/AL2, Elastic Beanstalk installa solo il server delle applicazioni Puma su tutte le versioni della piattaforma Ruby. È possibile utilizzare un Sulla piattaforma AMI Amazon Linux, sono supportate due versioni di rami di piattaforma per ogni versione di Ruby: uno con il server delle applicazioni Puma e l'altro 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. |