

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

# Piattaforme Elastic Beanstalk
<a name="concepts-all-platforms"></a>

AWS Elastic Beanstalk offre una varietà di piattaforme su cui è possibile creare le proprie applicazioni. Tu progetti l'applicazione Web per una di queste piattaforme ed Elastic Beanstalk distribuisce il codice sulla versione della piattaforma che hai selezionato per creare un ambiente applicativo attivo.

Elastic Beanstalk fornisce piattaforme per diversi linguaggi di programmazione, server applicazioni e container Docker. Alcune piattaforme dispongono di più versioni supportate contemporaneamente.

**Topics**
+ [Glossario delle piattaforme Elastic Beanstalk](platforms-glossary.md)
+ [Modello di responsabilità condivisa per la manutenzione della piattaforma Elastic Beanstalk](platforms-shared-responsibility.md)
+ [Policy di supporto per la piattaforma Elastic Beanstalk](platforms-support-policy.md)
+ [Pianificazione del rilascio della piattaforma Elastic Beanstalk](platforms-schedule.md)
+ [Piattaforme supportate da Elastic Beanstalk](concepts.platforms.md)
+ [Piattaforme Elastic Beanstalk Linux](platforms-linux.md)
+ [Estensione delle piattaforme Elastic Beanstalk Linux](platforms-linux-extend.md)

# Glossario delle piattaforme Elastic Beanstalk
<a name="platforms-glossary"></a>

Di seguito sono riportati i termini chiave relativi alle AWS Elastic Beanstalk piattaforme e al loro ciclo di vita.

**Runtime**  
Il software di runtime specifico del linguaggio di programmazione (framework, librerie, interprete, vm e così via) richiesto per eseguire il codice dell'applicazione.

**Componenti Elastic Beanstalk**  
Componenti software aggiunti da Elastic Beanstalk a una piattaforma per abilitare la funzionalità Elastic Beanstalk. Ad esempio, l'agente di stato migliorato è necessario per raccogliere e segnalare informazioni sullo stato.

**Platform (Piattaforma)**  
Una combinazione di sistema operativo, runtime, server Web, server di applicazioni e componenti Elastic Beanstalk. Le piattaforme forniscono componenti disponibili per eseguire l'applicazione.

**Versione piattaforma**  
Una combinazione di versioni specifiche di sistema operativo, runtime, server Web, server di applicazioni e componenti Elastic Beanstalk. Crea un ambiente Elastic Beanstalk basato su una versione della piattaforma e distribuisci qui l'applicazione.  
Una versione della piattaforma dispone di un numero di versione semantico di formato *X.Y.Z*, in cui *X* è la versione principale, *Y* è la versione secondaria e *Z* è la versione della patch.  
Una versione della piattaforma può trovarsi in uno dei seguenti stati:  
+ *Consigliata*: la versione più recente della piattaforma disponibile in un ramo della piattaforma supportata. Questa versione contiene la maggior parte dei up-to-date componenti ed è consigliata per l'uso in ambienti di produzione. Quando Elastic Beanstalk rilascia una nuova versione della piattaforma, la nuova versione sostituisce la versione precedente e diventa la versione della piattaforma consigliata per il ramo della piattaforma corrispondente.
+ *Non consigliata*: qualsiasi versione della piattaforma che non sia la versione più recente nel ramo della piattaforma. Sebbene queste versioni possano rimanere funzionali, consigliamo vivamente di eseguire l'aggiornamento alla versione più recente della piattaforma. Puoi utilizzare [gli aggiornamenti gestiti della piattaforma](environment-platform-update-managed.md) per aiutarti a rimanere up-to-date automaticamente.
Puoi verificare se è consigliata una versione della piattaforma utilizzando il comando AWS CLI **[describe-platform-version](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-platform-version.html)** e controllando il `PlatformLifecycleState` campo.

**Ramo della piattaforma**  
Una linea di versioni di piattaforma che condividono versioni specifiche (in genere principali) di alcuni dei loro componenti, come il sistema operativo (OS), il runtime o i componenti Elastic Beanstalk. Ad esempio: *Python 3.13 in esecuzione su Amazon Linux 2023 a 64 bit*; *IIS 10.0 in esecuzione su* Windows Server 2025 a 64 bit. Le filiali della piattaforma ricevono aggiornamenti sotto forma di nuove versioni della piattaforma. Ogni versione successiva della piattaforma in una filiale è un aggiornamento della precedente.  
La versione consigliata in ogni ramo della piattaforma supportata è disponibile incondizionatamente per la creazione dell'ambiente. Le versioni precedenti della piattaforma rimangono accessibili agli account con ambienti attivi o terminati che le utilizzano nel momento in cui sono state sostituite da una nuova versione. Le versioni precedenti della piattaforma non dispongono della maggior parte dei up-to-date componenti e non ne è consigliato l'uso.  
Se hai bisogno di accedere a versioni precedenti della piattaforma oltre alla disponibilità standard sopra descritta, puoi contattare il [AWS Support Center](https://console.aws.amazon.com/support/home#/) per ricevere assistenza.
Un ramo di piattaforma può trovarsi in uno dei seguenti stati:  
+ *Supported (Supportato)*: un ramo della piattaforma corrente. Consiste interamente di *componenti supportati*. I componenti supportati non hanno raggiunto la fine del ciclo di vita (EOL), come indicato dai rispettivi fornitori. Riceve aggiornamenti della piattaforma in corso ed è consigliato per l'uso in ambienti di produzione. Per un elenco dei rami di piattaforma supportati, consulta le [piattaforme supportate da Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html) nella guida *Platforms (Piattaforme)AWS Elastic Beanstalk *.
+ *Beta*: un'anteprima del ramo della piattaforma pre-release. È di natura sperimentale. Potrebbe ricevere aggiornamenti della piattaforma in corso per un periodo, ma non ha supporto a lungo termine. Un ramo della piattaforma beta non è raccomandato per l'uso in ambienti di produzione. Usalo solo per la valutazione. Per un elenco dei rami della piattaforma beta, consulta [Versioni della piattaforma Elastic Beanstalk in versione beta pubblica](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-beta.html) nella guida *Platforms (Piattaforme)AWS Elastic Beanstalk *.
+ *Obsoleto: ramo della piattaforma in cui uno o più componenti (come il runtime o il sistema operativo) si stanno avvicinando alla fine del ciclo di vita (EOL) o hanno raggiunto la fine del ciclo di vita, come indicato dai* rispettivi fornitori. Sebbene un ramo della piattaforma obsoleto continui a ricevere nuove versioni della piattaforma fino alla data di ritiro, i componenti che hanno raggiunto l'EOL non ricevono aggiornamenti. Ad esempio, se una versione di runtime raggiunge l'EOL, il ramo della piattaforma verrà contrassegnato come obsoleto ma continuerà a ricevere gli aggiornamenti del sistema operativo fino alla data di pensionamento del ramo della piattaforma. Il ramo della piattaforma non continuerà a ricevere aggiornamenti alla versione runtime EOL. Si sconsiglia l'uso di un ramo della piattaforma obsoleto.
+ *Ritirato*: un ramo della piattaforma che non riceve più aggiornamenti. Le filiali della piattaforma ritirate non sono disponibili per creare nuovi ambienti Elastic Beanstalk utilizzando la console Elastic Beanstalk. Se il tuo ambiente utilizza un ramo di piattaforma ritirato, devi eseguire l'aggiornamento a un ramo della piattaforma supportato per continuare a ricevere gli aggiornamenti. Non è consigliabile utilizzare un ramo della piattaforma ritirato. Per ulteriori dettagli sulle filiali della piattaforma ritirate, consulta. [Policy di supporto per la piattaforma Elastic Beanstalk](platforms-support-policy.md) Per un elenco delle filiali della piattaforma previste per il pensionamento, consulta Pianificazione delle filiali della [piattaforma in pensione](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-schedule.html#platforms-support-policy.depracation). Per visualizzare le filiali della piattaforma ritirate in passato, consulta Cronologia delle filiali della piattaforma [ritirate](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-schedule.html#platforms-support-policy.retired).
Se l'ambiente utilizza un ramo di piattaforma obsoleto o ritirato, si consiglia di aggiornarlo a una versione di piattaforma in un ramo di piattaforma supportato. Per informazioni dettagliate, vedi [Aggiornamento della versione della piattaforma dell'ambiente Elastic Beanstalk](using-features.platform.upgrade.md).  
Puoi verificare lo stato di un ramo della piattaforma utilizzando il comando AWS CLI **[describe-platform-version](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-platform-version.html)** e controllando il `PlatformBranchLifecycleState` campo.

**Aggiornamento della piattaforma**  
Una versione di una nuova versione della piattaforma che contiene aggiornamenti ad alcuni componenti della piattaforma: sistema operativo, runtime, server web, server applicazioni e componenti Elastic Beanstalk. Quando Elastic Beanstalk rilascia una nuova versione della piattaforma, la nuova versione sostituisce la versione precedente e diventa la versione della piattaforma consigliata per il ramo della piattaforma corrispondente. Gli aggiornamenti della piattaforma seguono la tassonomia delle versioni semantiche e possono avere tre livelli:  
+ *Aggiornamento principale*: un aggiornamento che contiene modifiche non compatibili con le versioni della piattaforma esistenti. Potrebbe essere necessario modificare l'applicazione per farla funzionare correttamente su una nuova versione principale. Un aggiornamento principale dispone di un nuovo numero di versione della piattaforma principale.
+ *Aggiornamento minore*: aggiornamento che presenta modifiche retrocompatibili con le versioni precedenti della piattaforma nella maggior parte dei casi. A seconda dell'applicazione, potrebbe essere necessario modificarla per farla funzionare correttamente su una nuova versione secondaria. Un aggiornamento secondario dispone di un nuovo numero di versione della piattaforma secondario.
+ *Aggiornamento delle patch*: un aggiornamento costituito da release di manutenzione (correzioni di bug, aggiornamenti di sicurezza e miglioramenti delle prestazioni) che sono compatibili con le versioni precedenti della piattaforma esistente. Un aggiornamento delle patch dispone di un nuovo numero di versione della piattaforma patch.

**Managed Updates (Aggiornamenti gestiti)**  
Una caratteristica di Elastic Beanstalk che applica automaticamente aggiornamenti delle patch e secondari al sistema operativo (OS), runtime, server Web, server applicazioni e componenti Elastic Beanstalk per una versione della piattaforma supportata da Elastic Beanstalk. Un aggiornamento gestito applica una versione della piattaforma più recente nello stesso ramo della piattaforma all'ambiente. Puoi configurare gli aggiornamenti gestiti per applicare solo aggiornamenti delle patch o aggiornamenti delle patch secondari. Puoi anche disabilitare completamente gli aggiornamenti gestiti.  
Per ulteriori informazioni, consulta [Aggiornamenti gestiti della piattaforma](environment-platform-update-managed.md).

# Modello di responsabilità condivisa per la manutenzione della piattaforma Elastic Beanstalk
<a name="platforms-shared-responsibility"></a>

AWS e i nostri clienti condividono la responsabilità di raggiungere un elevato livello di sicurezza e conformità dei componenti software. Questo modello condiviso riduce gli oneri operativi.

Per i dettagli, consulta il [modello di responsabilità AWS condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/).

AWS Elastic Beanstalk ti aiuta a svolgere la tua parte del modello di responsabilità condivisa fornendo una funzionalità di *aggiornamento gestito*. Questa caratteristica applica automaticamente aggiornamenti secondari e patch per una versione della piattaforma supportata da Elastic Beanstalk. Se un aggiornamento gestito non riesce, Elastic Beanstalk ti segnala l'errore in modo che potrai agire immediatamente.

Per ulteriori informazioni, consulta [Aggiornamenti gestiti della piattaforma](environment-platform-update-managed.md).

Inoltre, Elastic Beanstalk effettua le seguenti operazioni:
+ Pubblica la sua [policy di supporto piattaforma](platforms-support-policy.md) e pianificazione di ritiro per i prossimi 12 mesi.
+ Rilascia patch, aggiornamenti secondari e principali dei componenti del sistema operativo (OS), runtime, server applicazioni e server Web di solito entro 30 giorni dalla loro disponibilità. Elastic Beanstalk è responsabile della creazione di aggiornamenti per i componenti Elastic Beanstalk presenti nelle versioni della piattaforma supportate. Tutti gli altri aggiornamenti vengono forniti direttamente da loro fornitori (proprietari o community).

Annunciamo tutti gli aggiornamenti alle nostre piattaforme supportate nelle [note di rilascio](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/relnotes.html) nella guida delle *note di rilascio di AWS Elastic Beanstalk *. Nella guida *Piattaforme AWS Elastic Beanstalk * è inoltre disponibile un elenco di tutte le piattaforme supportate e dei relativi componenti, insieme a una cronologia delle piattaforme. Per ulteriori informazioni, consulta [Piattaforme supportate e cronologia dei componenti](concepts.platforms.md#concepts.platforms.list).

È responsabilità dell'utente:
+ Aggiorna tutti i componenti che controlli (identificati come **Cliente** nel [modello di responsabilità AWS condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/)). Questo include garantire la sicurezza dell'applicazione, dei dati e dei componenti richiesti dall'applicazione e che sono stati scaricati.
+ Assicurarsi che gli ambienti Elastic Beanstalk siano in esecuzione su una versione della piattaforma supportata e migra l'eventuale ambiente in esecuzione su una versione della piattaforma ritirata in una versione supportata.
+ Se utilizzi un'immagine macchina Amazon (AMI) personalizzata per il tuo ambiente Elastic Beanstalk, applica patch, gestisci e testa l'AMI personalizzata in modo che rimanga aggiornata e compatibile con una versione della piattaforma Elastic Beanstalk supportata. Per ulteriori informazioni sulla gestione degli ambienti con un'AMI personalizzata, vedere[Utilizzo di un'immagine Amazon Machine Image (AMI) personalizzata nell'ambiente Elastic Beanstalk](using-features.customenv.md).
+ Risolvere tutti i problemi che si verificano nei tentativi di aggiornamento gestiti non riusciti e riprovare a eseguire l'aggiornamento.
+ Applicare manualmente patch a sistema operativo, runtime, server applicazioni e server Web se sono stati esclusi gli aggiornamenti gestiti di Elastic Beanstalk. Ciò è possibile [applicando manualmente gli aggiornamenti della piattaforma](using-features.platform.upgrade.md) o applicando direttamente le patch ai componenti su tutte le risorse dell'ambiente pertinenti.
+ [Gestisci la sicurezza e la conformità di tutti AWS i servizi che utilizzi al di fuori di Elastic Beanstalk secondo AWS il modello di responsabilità condivisa.](https://aws.amazon.com/compliance/shared-responsibility-model/)

# Policy di supporto per la piattaforma Elastic Beanstalk
<a name="platforms-support-policy"></a>

Elastic Beanstalk supporta i rami della piattaforma che ancora ricevono aggiornamenti secondari e patch dai provider (proprietari o community). Per una definizione completa dei termini correlati, consulta [Glossario delle piattaforme Elastic Beanstalk](platforms-glossary.md).

## Rami della piattaforma ritirati
<a name="platforms-support-policy.retired-platforms"></a>

Quando un componente di un ramo della piattaforma supportato viene contrassegnato come End of Life (EOL) dal fornitore, Elastic Beanstalk contrassegna il ramo della piattaforma come ritirato. I componenti di un ramo della piattaforma includono: sistema operativo (OS), versione del linguaggio di runtime, server delle applicazioni o server Web.

Una volta che un ramo della piattaforma viene contrassegnato come ritirato, si applicano le seguenti politiche:
+ Elastic Beanstalk smette di fornire aggiornamenti di manutenzione, inclusi gli aggiornamenti di sicurezza.
+ Elastic Beanstalk non fornisce più supporto tecnico per le filiali della piattaforma dismesse.
+ Elastic Beanstalk non rende più il ramo della piattaforma disponibile ai nuovi clienti Elastic Beanstalk per le implementazioni in nuovi ambienti. Esiste un periodo di tolleranza di 90 giorni dalla data di ritiro pubblicata per i clienti esistenti con ambienti attivi in esecuzione su rami di piattaforma ritirata.

**Nota**  
Un ramo della piattaforma ritirato non sarà disponibile nella console Elastic Beanstalk. Tuttavia, sarà disponibile tramite EB CLI AWS CLI e EB API per i clienti che dispongono di ambienti esistenti basati sulla filiale della piattaforma ritirata. I clienti esistenti possono anche utilizzare le console dell'[ambiente Clone](using-features.managing.clone.md) e [Rebuild](environment-management-rebuild.md).

Per un elenco delle filiali della piattaforma il cui ritiro è previsto, consulta l'argomento sulla [Ritiro della pianificazione dei rami della piattaforma](platforms-schedule.md#platforms-support-policy.depracation) pianificazione della piattaforma *Elastic Beanstalk* che segue.

Per ulteriori informazioni su cosa aspettarsi quando il ramo della piattaforma del tuo ambiente verrà ritirato, consulta. [Domande frequenti sul ritiro della piattaforma](using-features.migration-al.FAQ.md)

## Oltre il periodo di tolleranza di 90 giorni
<a name="platforms-support-policy.beyond-grace"></a>

La nostra politica per le filiali della piattaforma ritirate non rimuove l'accesso agli ambienti né elimina le risorse. Tuttavia, i clienti esistenti che utilizzano un ambiente Elastic Beanstalk su una filiale di piattaforma dismessa devono essere consapevoli dei rischi che ciò comporta. Tali ambienti possono finire in una situazione imprevedibile, perché Elastic Beanstalk non è in grado di fornire aggiornamenti di sicurezza, supporto tecnico o hotfix per le filiali della piattaforma dismesse a causa del fatto che il fornitore ha contrassegnato il termine EOL dei componenti. 

Ad esempio, una vulnerabilità di sicurezza dannosa e critica potrebbe emergere in un ambiente in esecuzione su un ramo di piattaforma ritirata. Oppure un'azione API EB potrebbe smettere di funzionare per l'ambiente se nel tempo diventa incompatibile con il servizio Elastic Beanstalk. La possibilità di incorrere in questi tipi di rischi aumenta più a lungo rimane attivo un ambiente su una piattaforma ritirato. Per continuare a beneficiare degli importanti miglioramenti di sicurezza, prestazioni e funzionalità offerti dai provider dei componenti nelle versioni più recenti, ti invitiamo ad aggiornare tutti gli ambienti Elastic Beanstalk a una versione della piattaforma supportata. 

Se la tua applicazione dovesse riscontrare problemi durante l'esecuzione su un ramo della piattaforma dismesso e non riesci a migrarla su una piattaforma supportata, dovrai prendere in considerazione altre alternative. Le soluzioni alternative includono l'incapsulamento dell'applicazione in un'immagine Docker per eseguirlo come container Docker. Ciò consentirebbe a un cliente di utilizzare una qualsiasi delle nostre soluzioni Docker, come le nostre piattaforme AL2 Elastic AL2 Beanstalk 023/Docker, o altri servizi basati su Docker come Amazon ECS o Amazon EKS. Le alternative non Docker includono il nostro AWS CodeDeploy servizio, che consente la personalizzazione completa dei runtime desiderati. 

# Pianificazione del rilascio della piattaforma Elastic Beanstalk
<a name="platforms-schedule"></a>

Oltre al rilascio mensile a cadenza periodica delle nuove versioni di Platform Branch, la nostra manutenzione delle release include anche i seguenti processi:
+  *Rilascio di nuovi rami della piattaforma*: in genere introducono una nuova versione principale di un linguaggio di runtime, un sistema operativo o un server di applicazioni.
+  *Ritiro delle filiali della piattaforma*: dobbiamo ritirare una filiale della piattaforma quando uno dei suoi componenti raggiunge la fine del ciclo di vita (EOL). Per ulteriori informazioni sulla nostra politica per le filiali in pensione, consulta [Policy di supporto per la piattaforma Elastic Beanstalk](platforms-support-policy.md)

**Topics**
+ [Risorse per la pianificazione](#platforms-support-policy.resources)
+ [Prossime versioni di Platform Branch](#platforms-support-policy.upcoming-releases)
+ [Ritiro della pianificazione dei rami della piattaforma](#platforms-support-policy.depracation)
+ [Cronologia dei rami di piattaforma ritirati](#platforms-support-policy.retired)
+ [Cronologia del server e del sistema operativo ritirati](#platforms-support-policy.retired.components)

## Risorse per la pianificazione
<a name="platforms-support-policy.resources"></a>

Le seguenti risorse possono aiutarti a pianificare la manutenzione e il supporto per la tua applicazione in esecuzione su una piattaforma Elastic Beanstalk.
+ [AWS Elastic Beanstalk Guida alle piattaforme](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/welcome.html): questa guida fornisce un elenco dettagliato dei componenti per ciascuna delle nostre filiali della piattaforma. Fornisce inoltre una cronologia della piattaforma per data di rilascio con gli stessi dettagli. Questa guida può informarvi quando sono cambiati componenti specifici del ramo della vostra piattaforma. Se l'applicazione inizia a comportarsi in modo diverso, puoi anche fare un riferimento incrociato alla data dell'evento nella guida alla piattaforma per vedere se ci sono state modifiche alla piattaforma che potrebbero aver influito sulla tua applicazione.
+ [AWS Elastic Beanstalk Note di rilascio](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/relnotes.html): le nostre note di rilascio annunciano tutte le versioni della nostra piattaforma, sia minori che principali. Ciò include gli aggiornamenti mensili della piattaforma, le versioni di sicurezza, gli hotfix e gli annunci di ritiro. È possibile abbonarsi ai nostri feed RSS dalla documentazione delle note di rilascio.

## Prossime versioni di Platform Branch
<a name="platforms-support-policy.upcoming-releases"></a>

La tabella seguente elenca le prossime filiali della piattaforma Elastic Beanstalk e la data di rilascio prevista. Queste date sono provvisorie e soggette a modifiche.


|  Versione runtime /ramo della piattaforma  |  Sistema operativo  |  Data di rilascio prevista  | 
| --- | --- | --- | 
|   Python 3.15   |  Amazon Linux 2023  |  Novembre 2026  | 
|   Node.js 26   |  Amazon Linux 2023  |  Novembre 2026  | 
|   .NET 11   |  Amazon Linux 2023  |  dicembre 2026  | 
|   PHP 8.6   |  Amazon Linux 2023  |  gennaio 2027  | 
|   Ruby 4.1   |  Amazon Linux 2023  |  febbraio 2027  | 

## Ritiro della pianificazione dei rami della piattaforma
<a name="platforms-support-policy.depracation"></a>

La tabella seguente elenca le filiali della piattaforma Elastic Beanstalk il cui ritiro è previsto, poiché alcuni componenti stanno raggiungendo la fine del ciclo di vita (EOL). Tutte le filiali AL2 basate sulle piattaforme hanno una data di pensionamento non oltre il 30 giugno 2026, quando Amazon Linux 2 raggiungerà l'EOL. Per ulteriori informazioni su Amazon Linux 2, consulta [Amazon Linux 2 FAQs](https://aws.amazon.com/amazon-linux-2/faqs/).

Per un elenco più dettagliato delle filiali di piattaforme che verranno ritirate e che include i relativi componenti specifici, consulta la sezione relativa al [ritiro *AWS Elastic Beanstalk delle* versioni della piattaforma](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-retiring.html) nella guida Piattaforme.


|  Versione runtime/ramo della piattaforma  |  Data prevista per il pensionamento  | 
| --- | --- | 
| PHP 8.1 AL2023 | 31 marzo 2026 | 
| PHP 8.1 AL2 | 31 marzo 2026 | 
| Docker AL2 | 30 giugno 2026 | 
| ECS AL2 | 30 giugno 2026 | 
| Go 1 AL2 | 30 giugno 2026 | 
| Corretto 8 AL2 | 30 giugno 2026 | 
| Corretto 11 AL2 | 30 giugno 2026 | 
| Corretto 17 AL2 | 30 giugno 2026 | 
| Corretto 8 with Tomcat 9 AL2 | 30 giugno 2026 | 
| Corretto 11 with Tomcat 9 AL2 | 30 giugno 2026 | 
| .NET Core AL2 | 30 giugno 2026 | 
| Python 3.9 AL2023 | 31 luglio 2026 | 
| Ruby 3.2 AL2023 | 31 luglio 2026 | 
| Node.js 20 AL2023 | 31 luglio 2026 | 
| IIS 10.0 on Windows Server 2016 (& Core) | 30 settembre 2026 | 
| PHP 8.2 AL2023 | 31 marzo 2027 | 
| .NET 9 AL2023 | 31 marzo 2027 | 
| .NET 8 AL2023 | 31 marzo 2027 | 

## Cronologia dei rami di piattaforma ritirati
<a name="platforms-support-policy.retired"></a>

Le tabelle seguenti elencano i rami della piattaforma Elastic Beanstalk che sono già in stato di ritiro. *Puoi vedere una cronologia dettagliata di questi rami della piattaforma e dei relativi componenti nella guida [Cronologia delle piattaforme](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history.html).AWS Elastic Beanstalk *


**Amazon Linux 2023 (AL2023)**  

|  Versione runtime /ramo della piattaforma  |  Data di ritiro  | 
| --- | --- | 
|   .NET 6 AL2023  |  8 aprile 2025  | 
|   Node.js 18 AL2023  |  11 agosto 2025  | 


**Amazon Linux (2AL2)**  

|  Versione runtime /ramo della piattaforma  |  Data di ritiro  | 
| --- | --- | 
|   Corretto 11 with Tomcat 8.5 AL2  |  10 ottobre 2024  | 
|   Corretto 8 with Tomcat 8.5 AL2   |  10 ottobre 2024  | 
|   Corretto 11 with Tomcat 7 AL2  |  29 giugno 2022  | 
|   Corretto 8 with Tomcat 7 AL2   |  29 giugno 2022  | 
|   Node.js 18 AL2   | 11 agosto 2025 | 
|   Node.js 16 AL2   | 10 ottobre 2024 | 
|   Node.js 14 AL2   |  10 ottobre 2024  | 
|   Node.js 12 AL2   |  23 dicembre 2022  | 
|   Node.js 10 AL2   |  29 giugno 2022  | 
|   PHP 8.0 AL2  |  10 ottobre 2024  | 
|   PHP 7.4 AL2  |  9 giugno 2023  | 
|   PHP 7.3 AL2  |  29 giugno 2022  | 
|   PHP 7.2 AL2  |  29 giugno 2022  | 
|   Python 3.8 AL2  |  8 aprile 2025  | 
|   Python 3.7 AL2  |  10 ottobre 2024  | 
|   Ruby 3.0 AL2  |  10 ottobre 2024  | 
|   Ruby 2.7 AL2  |  10 ottobre 2024  | 
|   Ruby 2.6 AL2  |  23 dicembre 2022  | 
|   Ruby 2.5 AL2  |  29 giugno 2022  | 


**AMI Amazon Linux (AL1)**  

|  Versione runtime /ramo della piattaforma  |  Data di ritiro  | 
| --- | --- | 
|   Single Container Docker   | 18 luglio 2022 | 
|   Multicontainer Docker   |  18 luglio 2022  | 
|   Preconfigured Docker - GlassFish 5.0 with Java 8   |  18 luglio 2022  | 
|   Go 1   |  18 luglio 2022  | 
|   Java 8   |  18 luglio 2022  | 
|   Java 7   |  18 luglio 2022  | 
|   Java 8 with Tomcat 8.5   |  18 luglio 2022  | 
|   Java 7 with Tomcat 7   |  18 luglio 2022  | 
|   Node.js   |  18 luglio 2022  | 
|   PHP 7.2 - 7.3   |  18 luglio 2022  | 
|   Python 3.6   |  18 luglio 2022  | 
|  Ruby 2,4, 2.5, 2.6 with Passenger   |  18 luglio 2022  | 
|   Ruby 2.4, 2.5, 2.6 with Puma  |  18 luglio 2022  | 
| Go 1.3-1.10 | 31 ottobre 2020 | 
| Java 6 | 31 ottobre 2020 | 
| Node.js 4.x-8.x | 31 ottobre 2020 | 
| PHP 5.4-5.6 | 31 ottobre 2020 | 
| PHP 7.0-7.1 | 31 ottobre 2020 | 
| Python 2.6, 2.7, 3.4 | 31 ottobre 2020 | 
| Ruby 1.9.3 | 31 ottobre 2020 | 
| Ruby 2.0-2.3 | 31 ottobre 2020 | 

**Nota**  
 [Il 18 luglio 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **Elastic Beanstalk ha impostato lo stato di tutte le filiali della piattaforma basate su Amazon Linux AMI AL1 () come ritirato.** Per ulteriori informazioni, consulta [Domande frequenti sul ritiro della piattaforma](using-features.migration-al.FAQ.md). 


**Windows Server**  

| Versione runtime /ramo della piattaforma |  Data di ritiro  | 
| --- | --- | 
| IIS 8.5 in esecuzione su Windows Server (& Core) 2012 R2 a 64 bit | 04 dicembre 2023 | 
| IIS 8.5 in esecuzione su Windows Server (& Core) (64 bit) 2012 R2 versione 0.1.0 |  29 giugno 2022  | 
| IIS 8.5 in esecuzione su Windows Server (& Core) (64 bit) 2012 R2 versione 1.2.0 |  29 giugno 2022 | 
| IIS 10.0 in esecuzione su Windows Server 2016 (& Core) (64 bit) versione 1.2.0 |  29 giugno 2022 | 
| IIS 8 in esecuzione su ramo di piattaforma di Windows Server 2012 R1 (64 bit) | 22 giugno 2022 | 
| IIS 8 in esecuzione su Windows Server 2012 R1 (64 bit) versione 0.1.0  | 22 giugno 2022 | 
| IIS 8 in esecuzione su Windows Server 2012 R1 (64 bit) versione 1.2.0 | 22 giugno 2022 | 

**Nota**  
*Per ulteriori informazioni sul ritiro delle ramificazioni della piattaforma *Windows 2012 R2*, consulta [Ramificazioni della piattaforma Windows Server 2012 R2 ritirate](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2023-12-04-windows-2012-retire.html) nelle Note di rilascio di AWS Elastic Beanstalk *.

## Cronologia del server e del sistema operativo ritirati
<a name="platforms-support-policy.retired.components"></a>

Le tabelle seguenti forniscono una cronologia dei sistemi operativi, dei server delle applicazioni e dei server Web che non sono più supportati dalle piattaforme Elastic Beanstalk. Tutti i rami della piattaforma che utilizzavano questi componenti sono ora ritirati. Le date riflettono la data di ritiro dell'ultimo ramo della piattaforma Elastic Beanstalk che includeva il componente.


**Sistemi operativi**  

|  Versione SO  |  Data di ritiro della piattaforma  | 
| --- | --- | 
|   Windows Server 2012 R2 running IIS 8.5  |  4 dicembre 2023  | 
|   Windows Server Core 2012 R2 running IIS 8.5  |  04 dicembre 2023  | 
|  AMI Amazon Linux (AL1)  |  18 luglio 2022  | 
| Windows Server 2012 R1 | 22 giugno 2022 | 
| Windows Server 2008 R2 | 28 ottobre 2019 | 


**Server di applicazioni**  

|  Versione del server applicazioni  |  Data di ritiro della piattaforma  | 
| --- | --- | 
| Tomcat 7 |  29 giugno 2022 per le piattaforme Amazon Linux 2 (AL2) 18 luglio 2022 per le piattaforme Amazon Linux AMI (AL1)  | 
| Tomcat 8 | 31 ottobre 2020 | 
| Tomcat 6 | 31 ottobre 2020 | 


**Server Web**  

|  Versione server Web  |  Data di ritiro della piattaforma  | 
| --- | --- | 
| IIS 8 in esecuzione su Windows Server (64 bit) | 22 giugno 2022 | 
| Apache HTTP Server 2.2 | 31 ottobre 2020 | 
| Nginx 1.12.2 | 31 ottobre 2020 | 

# Piattaforme supportate da Elastic Beanstalk
<a name="concepts.platforms"></a>

AWS Elastic Beanstalk offre una varietà di piattaforme su cui è possibile creare le proprie applicazioni. Tu progetti l'applicazione Web per una di queste piattaforme ed Elastic Beanstalk distribuisce il codice sulla versione della piattaforma che hai selezionato per creare un ambiente applicativo attivo.

Elastic Beanstalk fornisce le risorse necessarie per eseguire l'applicazione, incluse una o più istanze Amazon. EC2 Lo stack software in esecuzione sulle EC2 istanze Amazon dipende dalla versione della piattaforma specifica che hai selezionato per il tuo ambiente.

**Il nome dello stack di soluzioni per un ramo della piattaforma**  
[È possibile utilizzare il *nome dello stack di soluzioni* per una determinata versione del ramo della piattaforma per avviare un ambiente con l'[EB CLI](eb-cli3.md), l'API [Elastic Beanstalk o](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/) la CLI.AWS](https://aws.amazon.com/cli/) [La guida alle *AWS Elastic Beanstalk piattaforme* elenca il *nome dello stack di soluzioni* sotto la versione del ramo della piattaforma nelle sezioni Piattaforme supportate da [Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html) e Cronologia della piattaforma.](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history.html)

Per recuperare tutti i nomi dello stack di soluzioni che puoi utilizzare per creare un ambiente, utilizza l'[ListAvailableSolutionStacks](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_ListAvailableSolutionStacks.html)API o la [https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/list-available-solution-stacks.html](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/list-available-solution-stacks.html) AWS CLI.

Puoi personalizzare e configurare il software da cui dipende la tua applicazione sulla piattaforma. Per ulteriori informazioni, consulta [Personalizzazione di software su server Linux](customize-containers-ec2.md) e [Personalizzazione di software su server Windows](customize-containers-windows-ec2.md). Le note di rilascio dettagliate sono disponibili per i rilasci recenti in [Note di rilascio di AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/). 

## Piattaforme supportate e cronologia dei componenti
<a name="concepts.platforms.list"></a>

La guida alle *AWS Elastic Beanstalk piattaforme* elenca tutte le versioni correnti dei rami della piattaforma nella sezione Piattaforme supportate da [Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html). La guida alle *piattaforme* elenca anche una *cronologia delle* piattaforme per ogni piattaforma, che include un elenco delle versioni precedenti della piattaforma Branch. Per visualizzare la *cronologia della piattaforma* per ogni piattaforma, seleziona uno dei seguenti link.
+ [Docker](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-docker.html)
+ [Go](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-go.html)
+ [Java SE](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-javase.html)
+ [Tomcat (che esegue Java SE)](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-java.html)
+ [.NET Core su Linux](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-dotnetlinux.html)
+ [.NET on Windows Server](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-dotnet.html)
+ [Node.js](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-nodejs.html)
+ [PHP](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-php.html)
+ [Python](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-python.html)
+ [Ruby](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-ruby.html)

# Piattaforme Elastic Beanstalk Linux
<a name="platforms-linux"></a>

Le piattaforme Linux Elastic Beanstalk offrono una vasta gamma di funzionalità pronte all'uso. Puoi estendere le piattaforme in diversi modi per supportare la tua applicazione. Per informazioni dettagliate, vedi [Estensione delle piattaforme Elastic Beanstalk Linux](platforms-linux-extend.md).

La maggior parte delle piattaforme supportate da Elastic Beanstalk sono basate sul sistema operativo Linux. In particolare, queste piattaforme sono basate su Amazon Linux, una distribuzione Linux fornita da AWS. Le piattaforme Linux Elastic Beanstalk utilizzano istanze Amazon Elastic Compute Cloud EC2 (Amazon) e queste istanze eseguono Amazon Linux.

**Topics**
+ [Versioni di Amazon Linux supportate](#platforms-linux.versions)
+ [Elenco delle piattaforme Elastic Beanstalk Linux](#platforms-linux.list)
+ [Flusso di lavoro di distribuzione dell'istanza](platforms-linux-extend.workflow.md)
+ [Flusso di lavoro di implementazione di istanze per ECS in esecuzione su Amazon Linux 2 e versioni successive](platforms-linux-extend.workflow.ecs-al2.md)
+ [Strumenti di script di piattaforma per i tuoi ambienti Elastic Beanstalk](custom-platforms-scripts.md)

## Versioni di Amazon Linux supportate
<a name="platforms-linux.versions"></a>

AWS Elastic Beanstalk supporta piattaforme basate su Amazon Linux 2 e Amazon Linux 2023.

Per ulteriori informazioni su Amazon Linux 2 e Amazon Linux 2023, consulta quanto segue:
+ **Amazon Linux 2** — [Amazon Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html) nella *Amazon EC2 User Guide*.
+ **Amazon Linux 2023**: [Cos'è Amazon Linux 2023?](https://docs.aws.amazon.com/linux/al2023/ug/what-is-amazon-linux.html) nella *Guida per l'utente di Amazon Linux 2023*.

Per dettagli sulle versioni della piattaforma supportate, consulta [Piattaforme supportate da Elastic Beanstalk](concepts.platforms.md).

**Nota**  
È possibile migrare l'applicazione da un ramo della piattaforma AL1 Elastic AL2 Beanstalk o della piattaforma al ramo della piattaforma 023 equivalente. AL2 Per ulteriori informazioni, consulta [Migrazione dell'applicazione Elastic Beanstalk Linux ad Amazon Linux 2023 o Amazon Linux 2](using-features.migration-al.md). 

### Amazon Linux 2023
<a name="platforms-linux.versions.al2023"></a>

AWS ha annunciato la [disponibilità generale](https://aws.amazon.com//blogs/aws/amazon-linux-2023-a-cloud-optimized-linux-distribution-with-long-term-support/) di Amazon Linux 2023 a marzo del 2023. La *Guida per l'utente di Amazon Linux 2023* riassume le principali differenze tra Amazon Linux 2 e Amazon Linux 2023. Per ulteriori informazioni, consulta la sezione [Confronto tra Amazon Linux 2 e Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html) nella Guida per l'utente.

Esiste un alto grado di compatibilità tra le piattaforme Elastic Beanstalk Amazon Linux 2 e Amazon Linux 2023. Sebbene ci siano alcune differenze da notare:
+ **Instance Metadata Service versione 1 (IMDSv1)**: l'impostazione predefinita dell'IMDSv1opzione [Disabilita](command-options-general.md#command-options-general-autoscalinglaunchconfiguration) è `true` sulle AL2 piattaforme 023. L'impostazione predefinita è sulle piattaforme. `false` AL2 
+ strumento di **istanza pkg-repo: lo [pkg-repo](custom-platforms-scripts.md#custom-platforms-scripts.pkg-repo) strumento** non è disponibile per gli ambienti che eseguono su AL2 piattaforme 023. Tuttavia, è comunque possibile applicare manualmente gli aggiornamenti del pacchetto e del sistema operativo a un'istanza 023. AL2 Per ulteriori informazioni, consulta [Gestione dei pacchetti e degli aggiornamenti del sistema operativo](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html) nella *Guida per l'utente di Amazon Linux 2023*
+ ** HTTPd Configurazione Apache**: il `httpd.conf` file Apache per le piattaforme AL2 023 presenta alcune impostazioni di configurazione diverse da quelle per: AL2 
  + Per impostazione predefinita, nega l'accesso all'intero file system del server. Queste impostazioni sono descritte in *Protezione dei file del server per impostazione predefinita* nella pagina [Suggerimenti per la sicurezza](https://httpd.apache.org/docs/2.4/misc/security_tips.html) del sito Web Apache.
  + Nega l'accesso alla configurazione `.htaccess` in tutte le directory, ad eccezione di quelle specificamente abilitate. Questa impostazione è descritta in *Protezione delle impostazioni di sistema* nella pagina [Suggerimenti per la sicurezza](https://httpd.apache.org/docs/2.4/misc/security_tips.html) del sito Web Apache. Nella pagina [Tutorial Apache HTTP Server: file .htaccess](https://httpd.apache.org/docs/2.4/howto/htaccess.html) è riportato che questa impostazione può aiutare a migliorare le prestazioni.
  + Nega l'accesso ai file con lo schema dei nomi `.ht*`. Questa impostazione impedisce ai client Web di visualizzare i file `.htaccess` e `.htpasswd`.

  È possibile modificare qualsiasi impostazione di configurazione precedente per l'ambiente. Per ulteriori informazioni, consulta [Configurare HTTPD di Apache](platforms-linux-extend.proxy.md#platforms-linux-extend.proxy.httpd).
+ **Supporto per variabili di ambiente multilinea**: le piattaforme AL2 023 supportano valori multilinea per variabili di ambiente e segreti nelle configurazioni dei servizi systemd. Le piattaforme Amazon Linux 2 non supportano valori di variabili di ambiente multilinea. Questo miglioramento consente di utilizzare segreti e valori di configurazione multilinea su piattaforme 023. AL2 Per ulteriori informazioni sull'utilizzo delle variabili e dei segreti di ambiente, vedere. [Valori multilinea nelle variabili di ambiente Amazon Linux 2](AWSHowTo.secrets.env-vars.md#AWSHowTo.secrets.multiline)
+ **CloudWatch inoltro di log personalizzato**: l'agente (`awslogs`pacchetto) obsoleto di CloudWatch Logs non è disponibile sulle piattaforme 023. AL2 Se disponi di configurazioni di inoltro dei log personalizzate che installano e utilizzano l'agente obsoleto, devi aggiornare i file di configurazione per utilizzare l'`awslogs` CloudWatch agente unificato durante la migrazione da Amazon Linux 2 a 023. AL2 Per ulteriori informazioni, consulta [Streaming di file di log personalizzati](AWSHowTo.cloudwatchlogs.md#AWSHowTo.cloudwatchlogs.streaming.custom).

**Differenze specifiche della piattaforma**

Oltre alle differenze del sistema operativo di base, esistono differenze specifiche della piattaforma tra le piattaforme di runtime Amazon Linux 2 e AL2 023:
+ **Ramificazione della piattaforma .NET**: la strategia di ramificazione della piattaforma .NET differisce tra Amazon Linux 2 e 023. AL2 Su Amazon Linux 2, la piattaforma .NET Core mantiene una finestra rotante delle versioni principali.NET all'interno di un unico ramo della piattaforma. Nella versione AL2 023, ogni ramo della piattaforma è associato a una versione principale.NET specifica (ad esempio, .NET 9, .NET 10).

  Se distribuisci applicazioni dipendenti dal framework (applicazioni che si basano sul runtime .NET installato sulla piattaforma), devi selezionare un ramo della piattaforma che corrisponda alla versione.NET di destinazione dell'applicazione. Se distribuisci applicazioni autonome (applicazioni che raggruppano il proprio runtime .NET), puoi utilizzare qualsiasi ramo della piattaforma AL2 023 .NET indipendentemente dalla versione.NET dell'applicazione, poiché l'applicazione non dipende dal runtime installato sulla piattaforma. Per ulteriori informazioni, consulta [Raggruppamento di applicazioni per.NET Core sulla piattaforma Linux Elastic Beanstalk](dotnet-linux-platform-bundle-app.md).
+ **Selezione della versione di Node.js**: la piattaforma Node.js su Amazon Linux 2 supporta la specificazione di una versione Node.js nel `package.json` file dell'applicazione. La piattaforma Node.js su AL2 023 non supporta questa funzionalità. È necessario utilizzare la versione Node.js predefinita fornita dal ramo della piattaforma. Per ulteriori informazioni sulla gestione delle versioni di Node.js, vedere[Configurazione delle dipendenze dell'applicazione su Elastic Beanstalk](nodejs-platform-dependencies.md).
+ **Versione del server Ruby Puma**: la piattaforma Ruby su Amazon Linux 2 ignora la versione di Puma specificata nel `Gemfile.lock` file dell'applicazione e utilizza la versione Puma predefinita della piattaforma. La piattaforma Ruby su AL2 023 rispetta la versione Puma specificata in, se presente. `Gemfile.lock` Se non viene specificata alcuna versione, la piattaforma installa la versione Puma predefinita della piattaforma.
+ **Disponibilità dei pacchetti PHP**: alcuni pacchetti disponibili sulle piattaforme PHP Amazon Linux 2 non sono disponibili sulle piattaforme PHP AL2 023:
  + Pacchetti client *MySQL: `mysql` i pacchetti client* `mysql-devel` e da riga di comando non sono installati su 023 piattaforme PHP. AL2 Se la tua applicazione richiede la connettività del database MySQL, usa `mysqli` PHP `pdo_mysql` o le estensioni, disponibili su entrambe le piattaforme.
  + *Strumenti Compass e Ruby*: i `rubygems` pacchetti `ruby-devel` e per il supporto del framework Compass CSS non sono installati sulle piattaforme PHP 023. AL2 Compass è obsoleto. Prendi in considerazione l'utilizzo di moderni strumenti di preelaborazione CSS come alternative.
+ **Strumenti di controllo della versione Go**: il sistema di controllo della versione di Bazaar (`bzr`) non è disponibile sulle piattaforme AL2 023 Go. Bazaar è obsoleto e non è incluso nel repository dei pacchetti 023. AL2 Usa invece Git, Mercurial o Subversion per il controllo della versione, tutti disponibili sulle piattaforme AL2 023 Go.

## Elenco delle piattaforme Elastic Beanstalk Linux
<a name="platforms-linux.list"></a>

L'elenco seguente fornisce le piattaforme Linux supportate da Elastic Beanstalk per diversi linguaggi di programmazione, così come per i container Docker. Elastic Beanstalk offre piattaforme basate su Amazon Linux 2 e Amazon Linux 2023 per tutti i linguaggi. Per ulteriori informazioni su una piattaforma, seleziona il link corrispondente.
+ [Docker (e Docker ECS)](create_deploy_docker.md) 
+ [Go](create_deploy_go.md)
+ [Tomcat (che esegue Java SE)](create_deploy_Java.md)
+ [Java SE](create_deploy_Java.md)
+ [.NET Core su Linux](create-deploy-dotnet-core-linux.md)
+ [Node.js](create_deploy_nodejs.md)
+ [PHP](create_deploy_PHP_eb.md)
+ [Python](create-deploy-python-apps.md)
+ [Ruby](create_deploy_Ruby.md)

# Flusso di lavoro di distribuzione dell'istanza
<a name="platforms-linux-extend.workflow"></a>

**Nota**  
Le informazioni contenute in questa sezione non si applicano alle ramificazioni della piattaforma *ECS in esecuzione su Amazon Linux 2 e Amazon Linux 2023*. Per ulteriori informazioni, consulta la sezione successiva, [Flusso di lavoro di implementazione di istanze per ECS in esecuzione su Amazon Linux 2 e versioni successiveFlusso di lavoro di distribuzione delle istanze per ECS e versioni successive AL2 ](platforms-linux-extend.workflow.ecs-al2.md) 

Grazie a molti modi per estendere la piattaforma dell'ambiente, è utile sapere cosa succede ogni volta che Elastic Beanstalk esegue il provisioning di un'istanza o esegue una distribuzione in un'istanza. Il diagramma seguente mostra l'intero flusso di lavoro di distribuzione. Descrive le diverse fasi di una distribuzione e i passaggi eseguiti da Elastic Beanstalk in ogni fase.

**Note**  
Il diagramma non rappresenta il set completo di passaggi eseguiti da Elastic Beanstalk sulle istanze di ambiente durante la distribuzione. Forniamo questo diagramma per illustrazione, per fornirvi l'ordine e il contesto per l'esecuzione delle vostre personalizzazioni.
Per semplicità, il diagramma menziona solo le sottodirectory hook `.platform/hooks/*` (per le distribuzioni di applicazioni) e non le sottodirectory hook `.platform/confighooks/*` (per le distribuzioni di configurazione). Gli hook in queste ultime sottodirectory vengono eseguiti esattamente durante le stesse fasi degli hook nelle corrispondenti sottodirectory mostrate nel diagramma.

![\[Flusso di lavoro per l'ordine di esecuzione delle estensioni su un'istanza di ambiente in esecuzione su una piattaforma basata su Amazon Linux.\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/images/platforms-linux-extend-order.png)


Nell'elenco seguente vengono descritti in dettaglio le fasi e i passaggi di distribuzione.

1. **Fasi iniziali**

   Elastic Beanstalk scarica ed estrae la tua applicazione. Dopo ognuna di queste fasi, Elastic Beanstalk esegue una fase di estensibilità.

   1. Esegue i comandi trovati nella sezione [comandi:](customize-containers-ec2.md#linux-commands) di qualsiasi file di configurazione.

   1. Esegue tutti i file eseguibili trovati nella directory `.platform/hooks/prebuild` del bundle di origine (`.platform/confighooks/prebuild` per una distribuzione di configurazione).

1. **Configura**

   Elastic Beanstalk configura l'applicazione e il server proxy.

   1. Esegue i comandi trovati in `Buildfile` nel bundle di origine.

   1. Copia i file di configurazione proxy personalizzati, se ne sono presenti nella directory `.platform/nginx` del bundle sorgente, nella loro posizione di runtime.

   1. Esegue i comandi trovati nella sezione [container\$1commands:](customize-containers-ec2.md#linux-container-commands) di qualsiasi file di configurazione.

   1. Esegue tutti i file eseguibili trovati nella directory `.platform/hooks/predeploy` del bundle di origine (`.platform/confighooks/predeploy` per una distribuzione di configurazione).

1. **Distribuzione**

   Elastic Beanstalk distribuisce ed esegue l'applicazione e il server proxy.

   1. Esegue il comando trovato nel file `Procfile` nel bundle di origine.

   1. Esegue o riavvia il server proxy con i file di configurazione proxy personalizzati, se ne dispone.

   1. Esegue tutti i file eseguibili trovati nella directory `.platform/hooks/postdeploy` del bundle di origine (`.platform/confighooks/postdeploy` per una distribuzione di configurazione).

# Flusso di lavoro di implementazione di istanze per ECS in esecuzione su Amazon Linux 2 e versioni successive
<a name="platforms-linux-extend.workflow.ecs-al2"></a>

La sezione precedente descrive le funzionalità di estendibilità supportate durante le fasi del flusso di lavoro di distribuzione dell'applicazione. Ci sono alcune differenze per le ramificazioni della piattaforma Docker [*ECS in esecuzione su Amazon Linux 2 e versioni successive*](create_deploy_docker_ecs.md). Questa sezione spiega come questi concetti si applicano a questo specifico ramo della piattaforma. 

Grazie a molti modi per estendere la piattaforma dell'ambiente, è utile sapere cosa succede ogni volta che Elastic Beanstalk esegue il provisioning di un'istanza o esegue una distribuzione in un'istanza. Il diagramma seguente mostra l'intero flusso di lavoro di implementazione per un ambiente basato sulle ramificazioni della piattaforma *ECS in esecuzione su Amazon Linux 2* ed *ECS in esecuzione su Amazon Linux 2023*. Descrive le diverse fasi di una distribuzione e i passaggi eseguiti da Elastic Beanstalk in ogni fase.

A differenza del flusso di lavoro descritto nella sezione precedente, la fase di configurazione della distribuzione non supporta le seguenti funzionalità di estensibilità: comandi `Buildfile`, comandi `Procfile`, configurazione proxy inversa. 

**Note**  
Il diagramma non rappresenta il set completo di passaggi eseguiti da Elastic Beanstalk sulle istanze di ambiente durante la distribuzione. Forniamo questo diagramma per illustrazione, per fornirvi l'ordine e il contesto per l'esecuzione delle vostre personalizzazioni.
Per semplicità, il diagramma menziona solo le sottodirectory hook `.platform/hooks/*` (per le distribuzioni di applicazioni) e non le sottodirectory hook `.platform/confighooks/*` (per le distribuzioni di configurazione). Gli hook in queste ultime sottodirectory vengono eseguiti esattamente durante le stesse fasi degli hook nelle corrispondenti sottodirectory mostrate nel diagramma.

![\[Ordine di esecuzione del flusso di lavoro per le estensioni su un'istanza di ambiente sulla piattaforma Docker basata su ECS.\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/images/platform-ecs-al2-extended-order.png)


Nell'elenco seguente vengono descritti in dettaglio le fasi e i passaggi di distribuzione.

1. Esegue tutti i file eseguibili trovati nella directory `appdeploy/pre` in `EBhooksDir`.

1. Esegue tutti i file eseguibili trovati nella directory `.platform/hooks/prebuild` del bundle di origine (`.platform/confighooks/prebuild` per una distribuzione di configurazione).

1. Esegue tutti i file eseguibili trovati nella directory `.platform/hooks/predeploy` del bundle di origine (`.platform/confighooks/predeploy` per una distribuzione di configurazione).

1. Esegue tutti i file eseguibili trovati nella directory `appdeploy/enact` in `EBhooksDir`.

1. Esegue tutti i file eseguibili trovati nella directory `appdeploy/post` in `EBhooksDir`.

1. Esegue tutti i file eseguibili trovati nella directory `.platform/hooks/postdeploy` del bundle di origine (`.platform/confighooks/postdeploy` per una distribuzione di configurazione).

Il riferimento a `EBhooksDir` rappresenta il percorso della directory degli hook della piattaforma. Per recuperare il nome del percorso della directory, utilizzare il [get-config](custom-platforms-scripts.md#custom-platforms-scripts.get-config) strumento di script sulla riga di comando dell'istanza dell'ambiente come mostrato: 

```
$ /opt/elasticbeanstalk/bin/get-config platformconfig -k EBhooksDir
```

# Strumenti di script di piattaforma per i tuoi ambienti Elastic Beanstalk
<a name="custom-platforms-scripts"></a>

Questo argomento descrive gli strumenti che AWS Elastic Beanstalk forniscono ambienti che utilizzano piattaforme Amazon Linux. Gli strumenti si trovano nelle EC2 istanze Amazon degli ambienti Elastic Beanstalk.

## get-config
<a name="custom-platforms-scripts.get-config"></a>

Utilizza `get-config` lo strumento per recuperare i valori delle variabili di ambiente in testo semplice e altre informazioni sulla piattaforma e sull'istanza. Questo strumento è disponibile in `/opt/elasticbeanstalk/bin/get-config`.

### comandi get-config
<a name="custom-platforms-scripts.get-config.commands"></a>

Ogni comando dello strumento `get-config` restituisce un tipo specifico di informazioni. Utilizza la sintassi seguente per eseguire i comandi di uno qualsiasi degli strumenti.

```
$ /opt/elasticbeanstalk/bin/get-config command [ options ]
```

L'esempio seguente esegue il comando `environment`:

```
$ /opt/elasticbeanstalk/bin/get-config environment -k PORT
```

A seconda del comando e delle opzioni scelte, lo strumento restituisce un oggetto (JSON o YAML) con coppie chiave-valore o un singolo valore.

Puoi eseguire il test `get-config` utilizzando SSH per connetterti a un' EC2 istanza nel tuo ambiente Elastic Beanstalk.

**Nota**  
Quando si esegue `get-config` per il test, alcuni comandi potrebbero richiedere privilegi utente root per accedere alle informazioni sottostanti. Se viene visualizzato un errore di autorizzazione di accesso, eseguire nuovamente il comando in `sudo`.  
Non è necessario aggiungere `sudo` quando si utilizza lo strumento negli script distribuiti nell'ambiente. Elastic Beanstalk esegue tutti gli script come utente root.

Le sezioni seguenti descrivono i comandi degli strumenti.

#### optionsettings: opzioni di configurazione
<a name="custom-platforms-scripts.get-config.commands.optionsettings"></a>

Il comando `get-config optionsettings` restituisce un oggetto che elenca le opzioni di configurazione impostate nell'ambiente e utilizzate dalla piattaforma sulle istanze di ambiente. Sonoorganizzati per spazio dei nomi.

```
$ /opt/elasticbeanstalk/bin/get-config optionsettings
{"aws:elasticbeanstalk:application:environment":{"JDBC_CONNECTION_STRING":""},"aws:elasticbeanstalk:container:tomcat:jvmoptions":{"JVM Options":"","Xms":"256m","Xmx":"256m"},"aws:elasticbeanstalk:environment:proxy":{"ProxyServer":"nginx","StaticFiles":[""]},"aws:elasticbeanstalk:healthreporting:system":{"SystemType":"enhanced"},"aws:elasticbeanstalk:hostmanager":{"LogPublicationControl":"false"}}
```

Per visualizzare un determinato valore dell'opzione di configurazione, utilizza l'opzione `--namespace` (`-n`) per specificare uno spazio dei nomi e l'opzione `--option-name` (`-o`) per specificare il nome di un'opzione.

```
$ /opt/elasticbeanstalk/bin/get-config optionsettings -n aws:elasticbeanstalk:container:php:phpini -o memory_limit
256M
```

#### environment: proprietà dell'ambiente
<a name="custom-platforms-scripts.get-config.commands.environment"></a>

Il `get-config environment` comando restituisce un oggetto contenente un elenco di proprietà dell'ambiente, incluse quelle configurate dall'utente e fornite da Elastic Beanstalk. Le proprietà configurate dall'utente sono definite nella [console](environments-cfg-softwaresettings.md#environments-cfg-softwaresettings-console) come *testo normale* o con l'opzione di configurazione namespace. [aws:elasticbeanstalk:application:environment](command-options-general.md#command-options-general-elasticbeanstalkapplicationenvironment)

```
$ /opt/elasticbeanstalk/bin/get-config environment
{"JDBC_CONNECTION_STRING":"","RDS_PORT":"3306","RDS_HOSTNAME":"anj9aw1b0tbj6b.cijbpanmxz5u.us-west-2.rds.amazonaws.com","RDS_USERNAME":"testusername","RDS_DB_NAME":"ebdb","RDS_PASSWORD":"testpassword1923851"}
```

Ad esempio, Elastic Beanstalk fornisce proprietà di ambiente per la connessione a un'istanza database di Amazon RDS integrata (ad esempio `RDS_HOSTNAME`). Queste proprietà di connessione RDS vengono visualizzate nell'output di `get-config environment`. Tuttavia, non vengono visualizzate nell'output di `get-config optionsettings`. Questo perché non sono state impostate nelle opzioni di configurazione.

Per visualizzare una proprietà dell'ambiente specifico, utilizza l'opzione `--key` (`-k`) per specificare una chiave di proprietà.

```
$ /opt/elasticbeanstalk/bin/get-config environment -k TESTPROPERTY
testvalue
```

**Nota**  
Lo `get-config` strumento non è in grado di recuperare [variabili di ambiente](AWSHowTo.secrets.env-vars.md) che memorizzano segreti. Per ulteriori informazioni su come recuperare a livello di codice i valori dagli archivi segreti o di parametri, vedere o. [Utilizzo di Secrets Manager](AWSHowTo.secrets.Secrets-Manager-and-Parameter-Store.md#AWSHowTo.secrets.Secrets-Manager) [Utilizzo dell'archivio parametri di Systems Manager](AWSHowTo.secrets.Secrets-Manager-and-Parameter-Store.md#AWSHowTo.secrets.SSM-parmameter-store)

#### container: valori di configurazione dell'istanza
<a name="custom-platforms-scripts.get-config.commands.container"></a>

Il comando `get-config container` restituisce un oggetto che elenca i valori di configurazione della piattaforma e dell'ambiente per le istanze di ambiente. 

L'esempio seguente mostra l'output del comando su un ambiente Tomcat di Amazon Linux 2.

```
$ /opt/elasticbeanstalk/bin/get-config container
{"common_log_list":["/var/log/eb-engine.log","/var/log/eb-hooks.log"],"default_log_list":["/var/log/nginx/access.log","/var/log/nginx/error.log"],"environment_name":"myenv-1da84946","instance_port":"80","log_group_name_prefix":"/aws/elasticbeanstalk","proxy_server":"nginx","static_files":[""],"xray_enabled":"false"}
```

Per restituire il valore di una chiave specifica, utilizzare l'opzione `--key` (`-k`) per specificare la chiave.

```
$ /opt/elasticbeanstalk/bin/get-config container -k environment_name
myenv-1da84946
```

#### addons: valori di configurazione del componente aggiuntivo
<a name="custom-platforms-scripts.get-config.commands.addons"></a>

Il comando `get-config addons` restituisce un oggetto contenente le informazioni di configurazione dei componenti aggiuntivi dell'ambiente. Utilizzalo per recuperare la configurazione di un database Amazon RDS associato all'ambiente.

```
$ /opt/elasticbeanstalk/bin/get-config addons
{"rds":{"Description":"RDS Environment variables","env":{"RDS_DB_NAME":"ebdb","RDS_HOSTNAME":"ea13k2wimu1dh8i.c18mnpu5rwvg.us-east-2.rds.amazonaws.com","RDS_PASSWORD":"password","RDS_PORT":"3306","RDS_USERNAME":"user"}}}
```

È possibile limitare il risultato in due modi. Per recuperare i valori per un componente aggiuntivo specifico, utilizzare l'opzione `--add-on` (`-a`) per specificare il nome del componente aggiuntivo.

```
$ /opt/elasticbeanstalk/bin/get-config addons -a rds
{"Description":"RDS Environment variables","env":{"RDS_DB_NAME":"ebdb","RDS_HOSTNAME":"ea13k2wimu1dh8i.c18mnpu5rwvg.us-east-2.rds.amazonaws.com","RDS_PASSWORD":"password","RDS_PORT":"3306","RDS_USERNAME":"user"}}
```

Per restituire il valore di una chiave specifica all'interno di un componente aggiuntivo, aggiungere l'opzione `--key` (`-k`) per specificare la chiave.

```
$ /opt/elasticbeanstalk/bin/get-config addons -a rds -k RDS_DB_NAME
ebdb
```

#### platformconfig: valori di configurazione costanti
<a name="custom-platforms-scripts.get-config.commands.platformconfig"></a>

Il comando `get-config platformconfig` restituisce un oggetto contenente informazioni di configurazione della piattaforma che sono costanti per la versione della piattaforma. L'output è lo stesso in tutti gli ambienti che eseguono la stessa versione della piattaforma. L'oggetto di output del comando ha due oggetti incorporati:
+ `GeneralConfig`: contiene informazioni che sono costanti per le versioni più recenti di tutte le ramificazioni della piattaforma Amazon Linux 2 e Amazon Linux 2023.
+ `PlatformSpecificConfig`: contiene informazioni che sono costanti e specifiche per la versione della piattaforma.

L'esempio seguente mostra l'output del comando in un ambiente che utilizza il ramo della piattaforma *Tomcat 8.5 che esegue Corretto 11*.

```
$ /opt/elasticbeanstalk/bin/get-config platformconfig
{"GeneralConfig":{"AppUser":"webapp","AppDeployDir":"/var/app/current/","AppStagingDir":"/var/app/staging/","ProxyServer":"nginx","DefaultInstancePort":"80"},"PlatformSpecificConfig":{"ApplicationPort":"8080","JavaVersion":"11","TomcatVersion":"8.5"}}
```

Per restituire il valore di una chiave specifica, utilizzare l'opzione `--key` (`-k`) per specificare la chiave. Queste chiavi sono univoche tra i due oggetti incorporati. Non è necessario specificare l'oggetto che contiene la chiave.

```
$ /opt/elasticbeanstalk/bin/get-config platformconfig -k AppStagingDir
/var/app/staging/
```

### opzioni di output get-config
<a name="custom-platforms-scripts.get-config.global"></a>

Utilizzare l'opzione `--output` per specificare il formato dell'oggetto di output. I valori validi sono `JSON` (default) e `YAML`. Questa è un'opzione globale. Devi specificarlo prima del nome del comando.

Nell'esempio seguente vengono restituiti i valori delle opzioni di configurazione in formato YAML.

```
$ /opt/elasticbeanstalk/bin/get-config --output YAML optionsettings
aws:elasticbeanstalk:application:environment:
  JDBC_CONNECTION_STRING: ""
aws:elasticbeanstalk:container:tomcat:jvmoptions:
  JVM Options: ""
  Xms: 256m
  Xmx: 256m
aws:elasticbeanstalk:environment:proxy:
  ProxyServer: nginx
  StaticFiles:
        - ""
aws:elasticbeanstalk:healthreporting:system:
  SystemType: enhanced
aws:elasticbeanstalk:hostmanager:
  LogPublicationControl: "false"
```

## pkg-repo
<a name="custom-platforms-scripts.pkg-repo"></a>

**Nota**  
Lo strumento `pkg-repo` non è disponibile per ambienti basati su piattaforme Amazon Linux 2023. Tuttavia, è possibile applicare manualmente gli aggiornamenti del pacchetto e del sistema operativo a un' AL2istanza 023. Per ulteriori informazioni, consulta [Gestione dei pacchetti e degli aggiornamenti del sistema operativo](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html) nella *Guida per l'utente di Amazon Linux 2023*

In alcune circostanze urgenti, potrebbe essere necessario aggiornare EC2 le istanze Amazon con una patch di sicurezza Amazon Linux 2 che non è ancora stata rilasciata con le versioni richieste della piattaforma Elastic Beanstalk. Non è possibile eseguire un aggiornamento manuale sugli ambienti Elastic Beanstalk per impostazione predefinita. Questo perché le versioni della piattaforma sono bloccate su una versione specifica del repository Amazon Linux 2. Questo blocco garantisce che le istanze eseguano versioni software supportate e coerenti. Per casi urgenti, lo strumento `pkg-repo` consente una soluzione alternativa per aggiornare manualmente i pacchetti yum su Amazon Linux 2 se è necessaria l'installazione in un ambiente prima del rilascio in una nuova versione della piattaforma Elastic Beanstalk.

La strumento `pkg-repo` su piattaforme Amazon Linux 2 offre la possibilità di sbloccare i repository di pacchetti `yum`. In questo modo è possibile eseguire manualmente un **yum update** per una patch di sicurezza. Viceversa, è possibile seguire l'aggiornamento utilizzando lo strumento per bloccare i repository di pacchetti yum per evitare ulteriori aggiornamenti. Lo `pkg-repo` strumento è disponibile nella `/opt/elasticbeanstalk/bin/pkg-repo` directory di tutte le EC2 istanze negli ambienti Elastic Beanstalk.

Le modifiche che utilizzano lo `pkg-repo` strumento vengono apportate solo sull' EC2 istanza in cui viene utilizzato lo strumento. Non influiscono su altre istanze o impediscono aggiornamenti futuri dell'ambiente. Gli esempi forniti più avanti in questo argomento spiegano come applicare le modifiche a tutte le istanze chiamando i comandi `pkg-repo` dagli script e dai file di configurazione.

**avvertimento**  
Questo strumento è sconsigliato per la maggior parte degli utenti. Eventuali modifiche manuali applicate a una versione della piattaforma sbloccata sono considerate fuori banda. Questa opzione è valida solo per gli utenti in circostanze urgenti che sono in grado di accettare i seguenti rischi:  
Non è possibile avere la certezza che i pacchetti siano coerenti in tutte le istanze degli ambienti.
Non è possibile avere la certezza che gli ambienti che vengono modificati utilizzando lo strumento `pkg-repo` funzionino correttamente. Non sono stati testati e verificati sulle piattaforme supportate da Elastic Beanstalk.
Consigliamo vivamente di applicare le best practice che includono piani di test e backout. Per facilitare le best practice, puoi utilizzare la console Elastic Beanstalk e l'EB CLI per clonare un ambiente e scambiare un ambiente. URLs Per ulteriori informazioni sull'utilizzo di queste operazioni, consulta [Implementazione blu/verde](using-features.CNAMESwap.md) nel capitolo *Gestione degli ambienti* di questa guida.

Se prevedi di modificare manualmente i file di configurazione del repository yum, esegui lo strumento `pkg-repo` prima. Lo strumento `pkg-repo` potrebbe non funzionare come previsto in un ambiente Amazon Linux 2 con file di configurazione del repository yum modificati manualmente. Questo perché lo strumento potrebbe non riconoscere le modifiche apportate alla configurazione.

Per ulteriori informazioni sull'archivio di pacchetti Amazon Linux, consulta l'argomento [Package repository](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html#package-repository) nella *Amazon EC2 User* Guide.

### comandi pkg-repo
<a name="custom-platforms-scripts.pkg-repo.commands"></a>

Utilizza la sintassi seguente per eseguire i comandi dello strumento `pkg-repo`.

```
$ /opt/elasticbeanstalk/bin/pkg-repo command [options]
```

I comandi `pkg-repo` da eseguire sono i seguenti:
+ **lock**: blocca il repository di pacchetti `yum` su una versione specifica
+ **unlock**: sblocca il repository di pacchetti `yum` su una versione specifica
+ **status**: elenca tutti i repository di pacchetti `yum` e il relativo stato di blocco corrente
+ **help**: mostra la guida generale o la guida per un comando

Le opzioni si applicano ai comandi come segue:
+ `lock`, `unlock` e `status `: opzioni: `-h`, `--help` o nessuna (predefinito).
+ `help`: opzioni: `lock`, `unlock`, `status` o nessuna (predefinito).



L'esempio seguente esegue il comando **unlock**:

```
$ sudo /opt/elasticbeanstalk/bin/pkg-repo unlock
Amazon Linux 2 core package repo successfully unlocked
Amazon Linux 2 extras package repo successfully unlocked
```

L'esempio seguente esegue il comando **lock**:

```
$ sudo /opt/elasticbeanstalk/bin/pkg-repo lock
Amazon Linux 2 core package repo successfully locked
Amazon Linux 2 extras package repo successfully locked
```

L'esempio seguente esegue il comando **status**:

```
$ sudo /opt/elasticbeanstalk/bin/pkg-repo status
Amazon Linux 2 core package repo is currently UNLOCKED
Amazon Linux 2 extras package repo is currently UNLOCKED
```

L'esempio seguente esegue il comando **help** per il comando **lock**.

```
$ sudo /opt/elasticbeanstalk/bin/pkg-repo help lock
```

L'esempio seguente esegue il comando **help** per lo strumento `pkg-repo`.

```
$ sudo /opt/elasticbeanstalk/bin/pkg-repo help
```

Puoi eseguire il test di `pkg-repo` utilizzando SSH per connetterti a un'istanza nell'ambiente Elastic Beanstalk. Un'opzione SSH è il comando della CLI di EB [**eb ssh**](eb3-ssh.md).

**Nota**  
Lo strumento `pkg-repo` richiede privilegi utente root per l'esecuzione. Se viene visualizzato un errore di autorizzazione di accesso, eseguire nuovamente il comando in `sudo`.  
Non è necessario aggiungere `sudo` quando si utilizza lo strumento negli script o nei file di configurazione distribuiti nell'ambiente. Elastic Beanstalk esegue tutti gli script come utente root.

### esempi pkg-repo
<a name="custom-platforms-scripts.pkg-repo.examples"></a>

La sezione precedente fornisce esempi da riga di comando per testare una singola EC2 istanza di un ambiente Elastic Beanstalk. Questo approccio può essere utile per i test. Tuttavia, aggiorna solo un'istanza alla volta, quindi non è pratico per applicare modifiche a tutte le istanze in un ambiente.

Un approccio più pragmatico è quello di utilizzare script di [hook della piattaforma](platforms-linux-extend.hooks.md) o un file di configurazione [`.ebextensions`](ebextensions.md) per applicare le modifiche a tutte le istanze in modo coerente.

L'esempio seguente chiama `pkg-repo` da un file di configurazione nella cartella [`.ebextensions`](ebextensions.md). Elastic Beanstalk esegue i comandi nel file `update_package.config` quando distribuisci il bundle di origine dell'applicazione.

```
.ebextensions
└── update_package.config
```

Per ricevere la versione più recente del pacchetto *docker*, questa configurazione specifica il pacchetto *docker* nel comando **yum update**.

```
### update_package.config ###

commands:
  update_package:
    command: |
      /opt/elasticbeanstalk/bin/pkg-repo unlock
      yum update docker -y
      /opt/elasticbeanstalk/bin/pkg-repo lock
      yum clean all -y
      rm -rf /var/cache/yum
```

Questa configurazione non specifica alcun pacchetto nel comando **yum update**. Di conseguenza, vengono applicati tutti gli aggiornamenti disponibili.

```
### update_package.config ###

commands:
  update_package:
    command: |
      /opt/elasticbeanstalk/bin/pkg-repo unlock
      yum update -y
      /opt/elasticbeanstalk/bin/pkg-repo lock
      yum clean all -y
      rm -rf /var/cache/yum
```

L'esempio seguente chiama `pkg-repo` da uno script bash come un [hook della piattaforma](platforms-linux-extend.hooks.md). Elastic Beanstalk esegue il file di script `update_package.sh` che si trova nella sottodirectory `prebuild`.

```
.platform
└── hooks
    └── prebuild
        └── update_package.sh
```

Per ricevere la versione più recente del pacchetto *docker*, questo script specifica il pacchetto *docker* nel comando **yum update**. Se il nome del pacchetto viene omesso, vengono applicati tutti gli aggiornamenti disponibili. L'esempio precedente del file di configurazione ne è la dimostrazione.

```
### update_package.sh ###

#!/bin/bash

/opt/elasticbeanstalk/bin/pkg-repo unlock
yum update docker -y
/opt/elasticbeanstalk/bin/pkg-repo lock
yum clean all -y
rm -rf /var/cache/yum
```

## download-source-bundle (solo AMI Amazon Linux)
<a name="custom-platforms-scripts.download"></a>

Per i rami della piattaforma AMI Amazon Linux (precedenti ad Amazon Linux 2), Elastic Beanstalk fornisce uno strumento aggiuntivo, `download-source-bundle`. Usalo per scaricare il codice sorgente dell'applicazione durante la distribuzione della piattaforma. Questo strumento è disponibile in `/opt/elasticbeanstalk/bin/download-source-bundle`.

Lo script di esempio `00-unzip.sh` si trova nella cartella `appdeploy/pre` nelle istanze di ambiente. Illustra come usare `download-source-bundle` per scaricare il codice sorgente dell'applicazione nella cartella `/opt/elasticbeanstalk/deploy/appsource` durante la distribuzione.

# Estensione delle piattaforme Elastic Beanstalk Linux
<a name="platforms-linux-extend"></a>

Questo argomento descrive come estendere le piattaforme Linux con comandi, script, software e configurazioni personalizzati. Potrebbe essere necessario estendere la piattaforma per modificare il server proxy e la configurazione predefiniti. In alternativa, potrebbe essere necessario personalizzare il modo in cui la piattaforma crea o avvia l'applicazione.

**Topics**
+ [Buildfile e Procfile](platforms-linux-extend.build-proc.md)
+ [Hook della piattaforma](platforms-linux-extend.hooks.md)
+ [File di configurazione](platforms-linux-extend.config-files.md)
+ [Configurazione del proxy inverso](platforms-linux-extend.proxy.md)
+ [Esempio di applicazione con estensioni](platforms-linux-extend.example.md)

# Buildfile e Procfile
<a name="platforms-linux-extend.build-proc"></a>

Alcune piattaforme consentono di personalizzare la modalità di compilazione o preparazione dell'applicazione e di specificare i processi che eseguono l'applicazione. Ogni singolo argomento della piattaforma menziona specificamente *Buildfile and/or *Profile** se la piattaforma li supporta. Cerca la tua piattaforma specifica sotto [Piattaforme Elastic Beanstalk](concepts-all-platforms.md).

Per tutte le piattaforme di supporto, la sintassi e la semantica sono identiche e sono come descritto in questa pagina. I singoli argomenti della piattaforma menzionano l'uso specifico di questi file per la creazione e l'esecuzione di applicazioni nelle rispettive lingue.

## Buildfile
<a name="platforms-linux-extend.build"></a>

Per specificare un comando di configurazione e compilazione personalizzato per l'applicazione, inserire un file denominato `Buildfile` nella directory principale dell'origine dell'applicazione. Per il nome del file è prevista la distinzione tra maiuscole e minuscole. Utilizzare la seguente sintassi per il tuo `Buildfile`.

```
<process_name>: <command>
```

Il comando nel `Buildfile` deve corrispondere alla seguente espressione regolare: `^[A-Za-z0-9_-]+:\s*[^\s].*$`.

Elastic Beanstalk non monitora l'applicazione eseguita con un `Buildfile`. Usa un `Buildfile` per comandi che vengono eseguiti per brevi periodi e terminano dopo aver completato le proprie attività. Per i processi di applicazioni a lungo termine da non terminare, utilizza il [Procfile](#platforms-linux-extend.proc).

Tutti i percorsi nel `Buildfile` sono relativi alla radice del bundle di origine. Nel seguente esempio di `Buildfile`, `build.sh` è uno script di shell che si trova nella radice del bundle di origine:

**Example Buildfile**  

```
make: ./build.sh
```

Se si desidera fornire passaggi di compilazione personalizzati, si consiglia di utilizzare gli hook della piattaforma `predeploy` per qualsiasi cosa tranne i comandi più semplici, invece di `Buildfile`. Gli hook della piattaforma consentono script più ricchi e una migliore gestione degli errori. Gli hook della piattaforma sono descritti nella sezione successiva.

## Procfile
<a name="platforms-linux-extend.proc"></a>

Per specificare comandi personalizzati per avviare ed eseguire l'applicazione, inserire un file denominato `Procfile` nella directory principale dell'origine dell'applicazione. Per il nome del file è prevista la distinzione tra maiuscole e minuscole. Utilizzare la seguente sintassi per il tuo `Procfile`. È possibile specificare uno o più comandi.

```
<process_name1>: <command1>
<process_name2>: <command2>
...
```

Ogni riga nel `Procfile` deve corrispondere alla seguente espressione regolare: `^[A-Za-z0-9_-]+:\s*[^\s].*$`

Utilizza un `Procfile` per i processi di applicazioni a lungo termine che non devono essere terminati. Elastic Beanstalk si aspetta che i processi del `Procfile` vengano eseguiti continuamente. Elastic Beanstalk monitora questi processi e riavvia qualsiasi processo che termina. Per i processi con esecuzione breve, utilizza un comando [Buildfile](#platforms-linux-extend.build).

Tutti i percorsi nel `Procfile` sono relativi alla radice del bundle di origine. Nell'esempio seguente `Procfile` definisce tre processi. Il primo, chiamato `web` nell'esempio, è l'*applicazione web principale*.

**Example Procfile**  

```
web: bin/myserver
cache: bin/mycache
foo: bin/fooapp
```

Elastic Beanstalk configura il server proxy per inoltrare le richieste all'applicazione Web principale sulla porta 5000 ed è possibile configurare questo numero di porta. Un uso comune per un `Procfile` è quello di passare questo numero di porta all'applicazione come argomento di comando. Per i dettagli sulla configurazione del proxy, vedere. [Configurazione del proxy inverso](platforms-linux-extend.proxy.md)

Elastic Beanstalk acquisisce flussi di output e errori standard dai processi `Procfile` nei file di log. Elastic Beanstalk assegna i nomi dei file di log dopo il processo e li archivia in `/var/log`. Ad esempio, il processo `web` dell'esempio precedente genera log chiamati `web-1.log` e `web-1.error.log` per, rispettivamente, `stdout` e `stderr`.

# Hook della piattaforma
<a name="platforms-linux-extend.hooks"></a>

Gli hook di piattaforma sono specificamente progettati per estendere la piattaforma del tuo ambiente. Si tratta di script personalizzati o di file eseguibili che vengono distribuiti come parte del codice sorgente dell'applicazione e che Elastic Beanstalk esegue durante varie fasi di provisioning delle istanze.

**Nota**  
Gli hook della piattaforma non sono supportati sulle versioni della piattaforma AMI Amazon Linux (precedenti ad Amazon Linux 2).

## Hook della piattaforma di distribuzione delle applicazioni
<a name="platforms-linux-extend.hooks.appdeploy"></a>

Una *distribuzione dell'applicazione* si verifica quando si fornisce un nuovo bundle di origine per la distribuzione o quando si apportano modifiche alla configurazione che richiedono la terminazione e la nuova creazione di tutte le istanze dell'ambiente.

Per fornire hook di piattaforma eseguiti durante la distribuzione di un'applicazione, posizionare i file nella directory `.platform/hooks` del bundle di origine, in una delle seguenti sottodirectory.
+ `prebuild`: i file vengono eseguiti dopo che il motore della piattaforma Elastic Beanstalk scarica ed estrae il bundle di origine dell'applicazione e prima che configuri l'applicazione e il server Web.

  I file `prebuild` vengono eseguiti dopo l'esecuzione di comandi trovati nella sezione [comandi](customize-containers-ec2.md#linux-commands) di qualsiasi file di configurazione e prima di eseguire i comandi `Buildfile`.
+ `predeploy`: i file vengono eseguiti dopo che il motore della piattaforma Elastic Beanstalk ha impostato e configurato l'applicazione e il server Web e prima che li distribuisca nel percorso di runtime finale.

  I file `predeploy` vengono eseguiti dopo l'esecuzione di comandi trovati nella sezione [container\$1commands](customize-containers-ec2.md#linux-container-commands) di qualsiasi file di configurazione e prima di eseguire i comandi `Procfile`.
+ `postdeploy`: i file vengono eseguiti dopo che il motore della piattaforma Elastic Beanstalk distribuisce l'applicazione e il server proxy.

  Questo è l'ultimo passaggio del flusso di lavoro di distribuzione.

## Hook della piattaforma di distribuzione della configurazione
<a name="platforms-linux-extend.hooks.configdeploy"></a>

Una *distribuzione di configurazione* si verifica quando si apportano modifiche alla configurazione che aggiornano solo le istanze dell'ambiente senza ricrearle. I seguenti aggiornamenti delle opzioni causano un aggiornamento della configurazione.
+ [Proprietà dell'ambiente e impostazioni specifiche della piattaforma](environments-cfg-softwaresettings.md)
+ [File statici](environment-cfg-staticfiles.md)
+ [AWS X-Ray demone](environment-configuration-debugging.md)
+ [Storage e streaming dei log](environments-cfg-logging.md)
+ Porta dell'applicazione (per i dettagli vedere) [Configurazione del proxy inverso](platforms-linux-extend.proxy.md)

Per fornire hook che vengono eseguiti durante una distribuzione di configurazione, posizionarli nella directory `.platform/confighooks` nel bundle di origine. Si applicano le stesse tre sottodirectory degli hook di distribuzione delle applicazioni.

## Ulteriori informazioni sugli hook della piattaforma
<a name="platforms-linux-extend.hooks.more"></a>

I file hook possono essere file binari o file di script che iniziano con una riga `#!` contenente il percorso dell'interprete, ad esempio `#!/bin/bash`. Tutti i file devono disporre del permesso di esecuzione. Utilizzare `chmod +x` per impostare l'autorizzazione di esecuzione sui file hook. Per tutte le versioni della piattaforma basate su Amazon Linux 2023 e Amazon Linux 2 rilasciate a partire dal 29 aprile 2022, Elastic Beanstalk concede automaticamente le autorizzazioni di esecuzione a tutti gli script di hook della piattaforma. In questo caso non è necessario concedere manualmente le autorizzazioni di esecuzione. Per un elenco di queste versioni della piattaforma, fai riferimento alle note di rilascio di Linux del [29 aprile 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-04-29-linux.html#release-2022-04-29-linux.platforms) nella guida *Note di rilascio di AWS Elastic Beanstalk *.

Elastic Beanstalk esegue i file in ciascuna di queste directory in ordine lessicografico dei nomi dei file. Tutti i file vengono eseguiti come utente `root`. La directory di lavoro corrente (cwd) per gli hook della piattaforma è la directory principale dell'applicazione. Per i file `prebuild` e `predeploy` è la directory di staging dell'applicazione e per i file `postdeploy` è la directory dell'applicazione corrente. Se uno dei file non ha esito positivo (esce con un codice di uscita diverso da zero), la distribuzione si interrompe e fallisce.

Uno script di testo degli hook di una piattaforma può fallire se contiene caratteri di interruzione di riga *Carriage Return/ Line Feed* (CRLF) di Windows. Se un file è stato salvato in un host Windows e poi trasferito su un server Linux, può contenere interruzioni di riga CRLF di Windows. Per le piattaforme rilasciate a partire dal [29 dicembre 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-12-29-linux.html) Elastic Beanstalk converte automaticamente i caratteri CRLF di Windows in caratteri di interruzione di riga *Line Feed* (LF) di Linux nei file di testo degli hook della piattaforma. Se l'applicazione viene eseguita su qualsiasi piattaforma Amazon Linux 2 rilasciata prima di questa data, dovrai convertire i caratteri CRLF di Windows in caratteri LF di Linux. Un modo per farlo è creare e salvare il file di script su un host Linux. Gli strumenti che convertono questi caratteri sono disponibili anche su Internet.

I file hook hanno accesso a tutte le proprietà di ambiente definite nelle opzioni dell'applicazione e alle variabili di ambiente di sistema `HOME`, `PATH` e `PORT`. 

Per ottenere valori di variabili di ambiente e altre opzioni di configurazione negli script di hook della piattaforma puoi utilizzare la utility `get-config` fornita da Elastic Beanstalk sulle istanze di ambiente. Per informazioni dettagliate, vedi [Strumenti di script di piattaforma per i tuoi ambienti Elastic Beanstalk](custom-platforms-scripts.md).

# File di configurazione
<a name="platforms-linux-extend.config-files"></a>

Puoi aggiungere i [file di configurazione](ebextensions.md) alla directory `.ebextensions` del codice sorgente dell'applicazione per configurare vari aspetti dell'ambiente Elastic Beanstalk. Tra le altre cose, i file di configurazione consentono di personalizzare software e altri file nelle istanze dell'ambiente ed eseguire comandi di inizializzazione sulle istanze. Per ulteriori informazioni, consulta [Personalizzazione di software su server Linux](customize-containers-ec2.md).

È inoltre possibile impostare [le opzioni di configurazione](command-options.md) utilizzando i file di configurazione. Molte delle opzioni controllano il comportamento della piattaforma e alcune di queste opzioni sono [specifiche della piattaforma](command-options-specific.md).

Per le piattaforme basate su Amazon Linux 2 e Amazon Linux 2023, ti consigliamo di utilizzare *Buildfile*, *Procfile* e *hook della piattaforma* per configurare ed eseguire codice personalizzato sulle istanze dell'ambiente durante il provisioning delle istanze. Questi meccanismi sono descritti nelle sezioni precedenti di questa pagina. È comunque possibile utilizzare comandi e comandi container nei file di configurazione `.ebextensions`, ma non sono così facili da usare. Ad esempio, scrivere script di comando all'interno di un file YAML può essere difficile dal punto di vista della sintassi. È comunque necessario utilizzare i file di `.ebextensions` configurazione per qualsiasi script che richieda un riferimento a una AWS CloudFormation risorsa.

# Configurazione del proxy inverso
<a name="platforms-linux-extend.proxy"></a>

Tutte le versioni della piattaforma Amazon Linux 2 e Amazon Linux 2023 usano nginx come server proxy inverso predefinito. Le piattaforme Tomcat, Node.js, PHP e Python supportano anche HTTPD di Apache come alternativa. Per selezionare Apache su queste piattaforme, impostare l'opzione `ProxyServer` nello spazio dei nomi `aws:elasticbeanstalk:environment:proxy` su `apache`. Tutte le piattaforme abilitano la configurazione del server proxy in modo uniforme, come descritto in questa sezione.

**Nota**  
Sulle versioni della piattaforma AMI Amazon Linux (precedenti ad Amazon Linux 2) potrebbe essere necessario configurare i server proxy in modo diverso. Puoi trovare questi dettagli legacy sotto i [rispettivi argomenti della piattaforma](concepts-all-platforms.md) in questa guida.

Elastic Beanstalk configura il server proxy nelle istanze dell'ambiente per inoltrare il traffico Web all'applicazione Web principale sull'URL root dell'ambiente, ad esempio `http://my-env.elasticbeanstalk.com`.

Per impostazione predefinita, Elastic Beanstalk configura il proxy per inoltrare le richieste in arrivo sulla porta 80 all'applicazione Web principale sulla porta 5000. È possibile configurare questo numero di porta impostando la proprietà ambiente `PORT` utilizzando lo psazio dei nomi [aws:elasticbeanstalk:application:environment](command-options-general.md#command-options-general-elasticbeanstalkapplicationenvironment) in un file di configurazione, come illustrato nell'esempio seguente.

```
option_settings:
  - namespace:  aws:elasticbeanstalk:application:environment
    option_name:  PORT
    value:  <main_port_number>
```

Per ulteriori informazioni sull'impostazione delle variabili di ambiente per la tua applicazione, vedi [Impostazioni opzioni](ebextensions-optionsettings.md).

L'applicazione deve essere in ascolto sulla porta configurata per essa nel proxy. Se si modifica la porta predefinita utilizzando la proprietà dell'ambiente `PORT`, il codice può accedervi leggendo il valore della variabile di ambiente `PORT`. Ad esempio, si chiama `os.Getenv("PORT")` in Go o `System.getenv("PORT")` in Java. Se si configura il proxy per inviare traffico a più processi dell'applicazione, è possibile configurare diverse proprietà dell'ambiente e utilizzare i relativi valori sia nella configurazione del proxy che nel codice dell'applicazione. Un'altra opzione è quella di passare il valore della porta al processo come argomento di comando nel `Procfile`. Per ulteriori informazioni, consulta [Buildfile e Procfile](platforms-linux-extend.build-proc.md).

## Configurazione di nginx
<a name="platforms-linux-extend.proxy.nginx"></a>

Elastic Beanstalk usa nginx come proxy inverso predefinito per mappare l'applicazione al sistema di bilanciamento del carico Elastic Load Balancing. Elastic Beanstalk fornisce una configurazione nginx predefinita che puoi estendere o sostituire completamente a favore di quella personalizzata.

**Nota**  
Quando aggiungi o modifichi un file di configurazione nginx `.conf`, assicurati di codificarlo come UTF-8.

Per estendere la configurazione nginx predefinita di Elastic Beanstalk, aggiungi i file di configurazione `.conf`a una cartella denominata `.platform/nginx/conf.d/` nel bundle di origine dell'applicazione. La configurazione nginx di Elastic Beanstalk include automaticamente i file `.conf` in questa cartella.

```
~/workspace/my-app/
|-- .platform
|   `-- nginx
|       `-- conf.d
|           `-- myconf.conf
`-- other source files
```

I file di configurazione in `.platform/nginx/conf.d/` sono inclusi nel `http` blocco della configurazione di nginx. Usa questa posizione per le configurazioni che si applicano a livello globale.

Per estendere la configurazione predefinita del blocco `server` nginx, `.conf` aggiungi i file di configurazione a una cartella `.platform/nginx/conf.d/elasticbeanstalk/` denominata nel pacchetto sorgente dell'applicazione. La configurazione di Elastic Beanstalk nginx include i file in questa cartella all'interno del blocco`.conf`. `server`

```
~/workspace/my-app/
|-- .platform
|   `-- nginx
|       `-- conf.d
|           `-- elasticbeanstalk
|               `-- server.conf
`-- other source files
```

Utilizza questa posizione per aggiungere configurazioni specifiche del server, come blocchi di posizione aggiuntivi, pagine di errore personalizzate o direttive a livello di server. L'esempio seguente aggiunge un blocco di posizione personalizzato.

**Example . platform/nginx/conf.d/elasticbeanstalk/server.conf**  

```
location /test {
    return 200 "Hello World!";
    add_header Content-Type text/plain;
}
```

Per sostituire completamente la configurazione nginx predefinita di Elastic Beanstalk, includi una configurazione nel bundle di origine in `.platform/nginx/nginx.conf`:

```
~/workspace/my-app/
|-- .platform
|   `-- nginx
|       `-- nginx.conf
`-- other source files
```

Se sostituisci la configurazione nginx predefinita di Elastic Beanstalk, aggiungi al file `nginx.conf` la riga seguente per inserire le configurazioni di Elastic Beanstalk per [Reportistica e monitoraggio dello stato di salute migliorati in Elastic Beanstalk](health-enhanced.md), le mappature automatiche delle applicazioni e i file statici.

```
 include conf.d/elasticbeanstalk/*.conf;
```

## Configurare HTTPD di Apache
<a name="platforms-linux-extend.proxy.httpd"></a>

Le piattaforme Tomcat, Node.js, PHP e Python consentono di scegliere il server proxy HTTDP di Apache come alternativa a nginx. Questo non è l'impostazione predefinita. L'esempio seguente configura Elastic Beanstalk per l'uso di Apache HTTPD.

**Example .ebextensions/httpd-proxy.config**  

```
option_settings:
  aws:elasticbeanstalk:environment:proxy:
    ProxyServer: apache
```
Puoi estendere la configurazione Apache predefinita di Elastic Beanstalk con file di configurazione personalizzati aggiuntivi. In alternativa, puoi sostituire completamente la configurazione Apache predefinita di Elastic Beanstalk.  
Per estendere la configurazione Apache predefinita di Elastic Beanstalk, aggiungi i file di configurazione `.conf` a una cartella denominata `.platform/httpd/conf.d` nel bundle di origine dell'applicazione. La configurazione Apache di Elastic Beanstalk include automaticamente i file `.conf` in questa cartella.  

```
~/workspace/my-app/
|-- .ebextensions
|   -- httpd-proxy.config
|-- .platform
|   -- httpd
|      -- conf.d
|         -- port5000.conf
|         -- ssl.conf
-- index.jsp
```
Ad esempio, la configurazione Apache 2.4 seguente aggiunge un listener sulla porta 5000.  

**Example . platform/httpd/conf.d/port5000. conf**  

```
listen 5000
<VirtualHost *:5000>
  <Proxy *>
    Require all granted
  </Proxy>
  ProxyPass / http://localhost:8080/ retry=0
  ProxyPassReverse / http://localhost:8080/
  ProxyPreserveHost on

  ErrorLog /var/log/httpd/elasticbeanstalk-error_log
</VirtualHost>
```
Per sostituire completamente la configurazione Apache predefinita di Elastic Beanstalk, includi una configurazione nel bundle di origine in `.platform/httpd/conf/httpd.conf`.  

```
~/workspace/my-app/
|-- .ebextensions
|   -- httpd-proxy.config
|-- .platform
|   `-- httpd
|       `-- conf
|           `-- httpd.conf
`-- index.jsp
```
Se sostituisci la configurazione Apache predefinita di Elastic Beanstalk, aggiungi al file `httpd.conf` la riga seguente per inserire le configurazioni di Elastic Beanstalk per [Reportistica e monitoraggio dello stato di salute migliorati in Elastic Beanstalk](health-enhanced.md), le mappature automatiche delle applicazioni e i file statici.  

```
IncludeOptional conf.d/elasticbeanstalk/*.conf
```

# Esempio di applicazione con estensioni
<a name="platforms-linux-extend.example"></a>

Nell'esempio seguente viene illustrato un bundle di origine applicazione con diverse caratteristiche di estensibilità supportate dalle piattaforme Elastic Beanstalk Amazon Linux 2 e Amazon Linux 2023: `Procfile`, file di configurazione `.ebextensions`, hook personalizzati e file di configurazione proxy.

```
~/my-app/
|-- web.jar
|-- Procfile
|-- readme.md
|-- .ebextensions/
|   |-- options.config        # Option settings
|   `-- cloudwatch.config     # Other .ebextensions sections, for example files and container commands
`-- .platform/
    |-- nginx/                # Proxy configuration
    |   |-- nginx.conf
    |   `-- conf.d/
    |       |-- custom.conf
    |       `-- elasticbeanstalk/
    |           `-- server.conf
    |-- hooks/                # Application deployment hooks
    |   |-- prebuild/
    |   |   |-- 01_set_secrets.sh
    |   |   `-- 12_update_permissions.sh
    |   |-- predeploy/
    |   |   `-- 01_some_service_stop.sh
    |   `-- postdeploy/
    |       |-- 01_set_tmp_file_permissions.sh
    |       |-- 50_run_something_after_app_deployment.sh
    |       `-- 99_some_service_start.sh
    `-- confighooks/          # Configuration deployment hooks
        |-- prebuild/
        |   `-- 01_set_secrets.sh
        |-- predeploy/
        |   `-- 01_some_service_stop.sh
        `-- postdeploy/
            |-- 01_run_something_after_config_deployment.sh
            `-- 99_some_service_start.sh
```

**Nota**  
Alcune di queste estensioni non sono supportate sulle versioni della piattaforma AMI Amazon Linux (precedenti ad Amazon Linux 2).