Uso di un'Amazon Machine Image (AMI) personalizzata - AWS Elastic Beanstalk

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

Uso di un'Amazon Machine Image (AMI) personalizzata

Quando crei un AWS Elastic Beanstalk ambiente, puoi specificare un'Amazon Machine Image (AMI) da utilizzare al posto dell'AMI Elastic Beanstalk standard inclusa nella versione della tua piattaforma. Un'AMI personalizzata può migliorare i tempi di provisioning quando le istanze vengono avviate nel tuo ambiente, se hai bisogno di installare una notevole quantità di software che non è incluso nelle AMI standard.

Utilizzare i file di configurazione è perfetto per la configurazione e la personalizzazione del tuo ambiente in modo rapido e coerente. L'applicazione delle configurazioni, tuttavia, può iniziare a richiedere molto tempo durante la creazione dell'ambiente e gli aggiornamenti. Se la configurazione del server occupa una posizione preminente nei file di configurazione, puoi ridurre tale tempo effettuando un'AMI personalizzata che include già il software e la configurazione di cui hai bisogno.

Un'AMI personalizzata, inoltre, consente di apportare modifiche ai componenti di basso livello, ad esempio il kernel Linux, difficili da implementare o che richiedono tempi lunghi di applicazione nei file di configurazione. Per creare un'AMI personalizzata, avvia un'AMI della piattaforma Elastic Beanstalk in Amazon EC2, personalizza il software e la configurazione in base alle tue esigenze, quindi arresta l'istanza e salva l'AMI.

Creazione di un'AMI personalizzata

Per identificare la AMI Elastic Beanstalk di base
  1. In una finestra di comando, eseguire un comando come il seguente. Per ulteriori informazioni, consulta la sezione Command describe-platform-versionReference AWS CLI .

    Specificate la AWS regione in cui desiderate utilizzare l'AMI personalizzata e sostituite l'ARN e il numero di versione della piattaforma con la piattaforma Elastic Beanstalk su cui è basata l'applicazione.

    Esempio - Mac OS/Linux
    $ aws elasticbeanstalk describe-platform-version --region us-east-2 \ --platform-arn "arn:aws:elasticbeanstalk:us-east-2::platform/Tomcat 8.5 with Java 8 running on 64bit Amazon Linux/3.1.6" \ --query PlatformDescription.CustomAmiList [ { "VirtualizationType": "pv", "ImageId": "" }, { "VirtualizationType": "hvm", "ImageId": "ami-020ae06fdda6a0f66" } ]
    Esempio - Sistema operativo Windows
    C:\> aws elasticbeanstalk describe-platform-version --region us-east-2 --platform-arn"arn:aws:elasticbeanstalk:us-east-2::platform/IIS 10.0 running on 64bit Windows Server 2019/2.6.4" --query PlatformDescription.CustomAmiList [ { "VirtualizationType": "pv", "ImageId": "" }, { "VirtualizationType": "hvm", "ImageId": "ami-020ae06fdda6a0f66" } ]
  2. Annotare il ImageId valore simile ami-020ae06fdda6a0f66 nel risultato.

Il valore è l'AMI Elastic Beanstalk di serie per la versione della piattaforma, l'architettura AWS dell'istanza EC2 e la regione pertinenti per l'applicazione. Se devi creare AMI per più piattaforme, architetture o AWS regioni, ripeti questo processo per identificare l'AMI di base corretta per ogni combinazione.

Note
  • Non creare un'AMI da un'istanza avviata in un ambiente Elastic Beanstalk. Durante il provisioning Elastic Beanstalk apporta modifiche alle istanze che possono causare problemi nell'AMI salvata. Il salvataggio di un'immagine da un'istanza in un ambiente Elastic Beanstalk consoliderà inoltre nell'immagine la versione dell'applicazione distribuita sull'istanza.

  • Si consiglia di utilizzare sempre la versione più recente della piattaforma. Quando si esegue l'aggiornamento a una nuova versione della piattaforma, si consiglia inoltre di eseguire un rebase dell'AMI personalizzata sull'AMI della nuova versione della piattaforma. In questo modo si riducono al minimo gli errori di distribuzione dovuti a versioni di pacchetti o librerie non compatibili.

Per Linux, è anche possibile creare un'AMI personalizzata da un'AMI della community che non è stata pubblicata da Elastic Beanstalk. Puoi usare l'AMI più recente di Amazon Linux come punto di partenza. Quando si avvia un ambiente con un'AMI Linux che non è ancora gestita da Elastic Beanstalk, Elastic Beanstalk tenta di installare i software della piattaforma (lingua, framework, server proxy, ecc.) e i componenti aggiuntivi per supportare le caratteristiche avanzate, come il reporting sullo stato migliorato.

Nota

Le AMI personalizzate basate su Windows Server richiedono l'AMI Elastic Beanstalk dello stock restituita da describe-platform-version, come mostrato in precedenza nel passaggio 1.

Sebbene Elastic Beanstalk possa utilizzare un'AMI non gestita da Elastic Beanstalk, l'aumento del tempo di provisioning risultante dall'installazione di componenti mancanti da parte di Elastic Beanstalk può ridurre o eliminare i vantaggi della creazione di un'AMI personalizzata. Altre distribuzioni Linux possono funzionare con alcune risoluzioni dei problemi, ma non sono ufficialmente supportate. Se l'applicazione richiede una distribuzione Linux specifica, un'alternativa è creare un'immagine Docker ed eseguirla sulla piattaforma Docker o sulla piattaforma multicontainer Docker di Elastic Beanstalk.

Per creare un'AMI personalizzata
  1. Aprire la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Scegliere Launch Instance (Avvia istanza).

  3. Scegli Community AMIs (AMI community).

  4. Se hai identificato un'AMI Elastic Beanstalk di base (utilizzando describe-platform-version) o un'AMI Amazon Linux, inserisci il suo ID AMI nella casella di ricerca. Quindi, premere Enter (Invio).

    È inoltre possibile eseguire una ricerca nell'elenco per un'altra AMI della community che meglio si adatta alle tue esigenze.

    Nota

    Consigliamo di scegliere un'AMI che utilizza la virtualizzazione HVM. Queste AMI presentano nella loro descrizione Virtualization type: hvm (Tipo di virtualizzazione: hvm).

    AMI con tipo di virtualizzazione HVM elencato nella console EC2

    Per dettagli sui tipi di virtualizzazione delle istanze, consulta i tipi di virtualizzazione dell'AMI Linux nella Guida per l'utente di Amazon EC2 o i tipi di virtualizzazione dell'AMI Windows nella Guida per l'utente di Amazon EC2.

  5. Scegli Select (Seleziona) per selezionare l'AMI.

  6. Seleziona un tipo di istanza, quindi scegli Next: Configure Instance Details (Successivo: configura dettagli dell'istanza).

  7. (Per piattaforme Linux) Espandere la sezione Dettagli avanzati e incollare il seguente testo nel campo Dati utente.

    #cloud-config repo_releasever: repository version number repo_upgrade: none

    Il numero di versione dell'archivio è l'anno e il mese della versione nel nome dell'AMI. Ad esempio, le AMI basate sulla versione di marzo 2015 di Amazon Linux hanno un numero di versione di repository 2015.03. Per un'immagine Elastic Beanstalk, questo valore corrisponde alla data indicata nel nome dello stack di soluzioni per la versione della piattaforma basata su AMI Amazon Linux (precedente ad Amazon Linux 2).

    Nota

    L'repo_releaseverimpostazione configura la lock-on-launch funzionalità per un'AMI Amazon Linux. Questo fa sì che l'AMI utilizzi una versione fissa e specifica del repository all'avvio. Questa funzionalità non è supportata su Amazon Linux 2. Non specificarla se l'ambiente utilizza un ramo di piattaforma Amazon Linux 2 corrente. L'impostazione è obbligatoria se usi una AMI personalizzata con Elastic Beanstalk solo sui rami della piattaforma AMI Amazon Linux (precedente ad Amazon Linux 2).

    L'impostazione repo_upgrade disattiva l'installazione automatica degli aggiornamenti di sicurezza. È richiesto l'uso di un'AMI personalizzata con Elastic Beanstalk.

  8. Prosegui con la procedura guidata fino ad avviare l'istanza EC2. Quando richiesto, seleziona una coppia di chiavi a cui hai accesso, in modo da connetterti all'istanza per le fasi successive.

  9. Connettiti all'istanza con SSH o RDP.

  10. Esegui eventuali personalizzazioni desiderate.

  11. (Piattaforme Windows) Esegui il Sysprep del servizio EC2Config. Per informazioni su EC2Config, consulta Configurazione di un'istanza di Windows tramite il Servizio EC2Config. Verifica che Sysprep sia configurato per generare una password casuale che può essere recuperata dalla AWS Management Console.

  12. Nella console Amazon EC2 arresta l'istanza EC2. Nel menu Instance Actions (Operazioni istanza) scegli quindi Create Image (EBS AMI) (Crea immagine – AMI EBS).

  13. Per evitare di incorrere in AWS costi aggiuntivi, interrompi l'istanza EC2.

Per utilizzare l'AMI personalizzata in un ambiente Elastic Beanstalk
  1. Apri la console Elastic Beanstalk e, nell'elenco Regioni, seleziona la tua. Regione AWS

  2. Nel pannello di navigazione selezionare Environments (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

    Nota

    Se si dispone di molti ambienti, utilizzare la barra di ricerca per filtrare l'elenco degli ambienti.

  3. Nel riquadro di navigazione, selezionare Configuration (Configurazione).

  4. Nella categoria di configurazione Capacity (Capacità), scegliere Edit (Modifica).

  5. Per AMI ID (ID AMI), inserisci il tuo ID AMI personalizzato.

  6. Per salvare le modifiche scegli Apply (Applica) nella parte inferiore della pagina.

Quando crei un nuovo ambiente con l'AMI personalizzata, è consigliabile utilizzare la stessa versione della piattaforma che hai utilizzato come base per creare l'AMI. Se successivamente applichi un aggiornamento della piattaforma a un ambiente utilizzando un'AMI personalizzata, Elastic Beanstalk tenta di applicare gli aggiornamenti della libreria e della configurazione durante il processo di bootstrap.

Pulizia di un'AMI personalizzata

Dopo aver usato un'AMI personalizzata e quando questa non è più necessaria per avviare ambienti Elastic Beanstalk, puoi scegliere di eliminarla per ridurre al minimo i costi di storage. L'eliminazione di un'AMI personalizzata comporta l'annullamento della registrazione da Amazon EC2 e l'eliminazione di altre risorse associate. Per informazioni dettagliate, consulta Annullamento della registrazione dell'AMI Linux o Annullamento della registrazione dell'AMI Windows.