Salta al contenuto

Come posso usare .ebextensions per personalizzare il mio ambiente Elastic Beanstalk?

4 minuti di lettura
0

Voglio usare .ebextensions per personalizzare il mio ambiente AWS Elastic Beanstalk.

Risoluzione

Nota: Se ricevi errori quando esegui i comandi dell’Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Configura la directory .ebextensions

Completa i seguenti passaggi:

  1. Nella directory principale del bundle dell’applicazione, crea una directory nascosta denominata .ebextensions.
  2. Memorizza i file di configurazione in questa directory. Il bundle di origine dell’applicazione è simile all’esempio seguente:
    ~/workspace/my-application/
    |-- .ebextensions
    |   |-- 01-server-configuration.config
    |   `-- 02-asg-healthcheck.config
    |-- index.php
    `-- styles.css
    Nota: Elastic Beanstalk elabora i file di configurazione nella directory .ebextensions in ordine alfabetico. Usa prefissi numerati nei nomi dei file per controllare l’ordine delle configurazioni.

Personalizza l’ambiente Elastic Beanstalk

Per modificare la configurazione dell’ambiente, utilizza la chiave option_settings.

Se crei o aggiorni un ambiente con la console Elastic Beanstalk o l’interfaccia a riga di comando di Elastic Beanstalk (EB CLI), questi client applicano i valori consigliati. I valori consigliati sono impostati a livello di API e hanno la massima precedenza. Non puoi utilizzare option_settings per modificare le impostazioni di configurazione.

Le regole di precedenza possono impedire l’applicazione delle modifiche di option_settings alla configurazione dell’ambiente. Per rimuovere le impostazioni che Elastic Beanstalk ha applicato direttamente all’ambiente durante la creazione dell’ambiente, usa l’operazione API UpdateEnvironment di Elastic Beanstalk. In alternativa, puoi utilizzare il seguente comando AWS CLI update-environment:

aws elasticbeanstalk update-environment --application-name applicationname --environment-name environmentnamename --options-to-remove Namespace=aws:elasticbeanstalk:application:environment,OptionName==yourpropertyname

Nota: Sostituisci applicationname con il nome dell’applicazione, environmentname con il nome dell’ambiente e yourpropertyname con il nome della proprietà.

Se non puoi usare option_settings per modificare la configurazione, usa la chiave Resources per personalizzare le risorse nell’ambiente Elastic Beanstalk.

Elastic Beanstalk aggiunge le risorse definite nei file di configurazione al modello AWS CloudFormation utilizzato per avviare l’ambiente. Il modello CloudFormation supporta tutti i tipi di risorse CloudFormation. Per ulteriori informazioni sui nomi logici delle risorse, consulta Modifica delle risorse create da Elastic Beanstalk per l’ambiente.

I file di configurazione devono avere l’estensione .config e devono utilizzare il formato YAML o JSON.

Se il file di configurazione utilizza il formato YAML, assicurati che il file utilizzi spazi coerenti per l’indentazione. L’indentazione errata può causare errori di distribuzione.

Usa le chiavi per personalizzare il software su server Linux o Windows. Usa ogni chiave solo una volta in ogni file di configurazione.

Per le piattaforme basate su Amazon Linux 2 e Amazon Linux 2023, è consigliabile utilizzare Buildfile, Procfile e gli hook di piattaforma per eseguire codice personalizzato durante il provisioning delle istanze. Puoi comunque utilizzare commands e container_commands nei file di configurazione. Per ulteriori informazioni, consulta Come posso utilizzare gli hook di piattaforma per personalizzare il mio ambiente Elastic Beanstalk?

Quando distribuisci l’applicazione su Elastic Beanstalk, utilizza i file di configurazione .ebextensions per personalizzare le istanze Amazon Elastic Compute Cloud (Amazon EC2). Per esempi di file di configurazione, consulta elastic-beanstalk-samples sul sito web di GitHub.

Per utilizzare .ebextensions per configurare HTTPS per l’ambiente, consulta Configurazione di HTTPS per l’ambiente Elastic Beanstalk.

Applica le impostazioni personalizzate all’applicazione

Crea un bundle di origine dell’applicazione che includa i file di configurazione, quindi distribuisci l’applicazione aggiornata.

Nota: Gli strumenti di archiviazione dei file potrebbero non includere directory nascoste quando crei un file ZIP. I browser di file potrebbero nascondere le cartelle che iniziano con un punto, come .ebextensions. Includi la cartella .ebextensions nella directory principale del bundle dell’applicazione quando crei il bundle di origine dell’applicazione.

Risolvi i problemi di configurazione di .ebextensions

Se Elastic Beanstalk non applica la configurazione .ebextensions dopo la distribuzione, intraprendi le seguenti azioni:

Controlla la posizione della directory e l’estensione del file

Esamina gli eventi recenti dell’ambiente nella console Elastic Beanstalk. I messaggi di distribuzione e configurazione di Elastic Beanstalk vengono visualizzati nella pagina Eventi. Verifica di aver configurato la directory .ebextensions nella directory principale del bundle di origine e che i file di configurazione utilizzino l’estensione .config.

Esamina i log di distribuzione

Connettiti all’istanza Amazon EC2 e controlla /var/log/eb-engine.log per eventuali errori, errori di avvio o problemi di distribuzione relativi ai file di configurazione. Controlla anche /var/log/cfn-init.log e /var/log/cfn-init-cmd.log per i risultati della distribuzione.

Per visualizzare i log di distribuzione, consulta Visualizzazione dei log di distribuzione nella console.

Per recuperare i log, consulta Per recuperare i log delle istanze in Visualizzazione dei log dalle istanze Amazon EC2 nell’ambiente Elastic Beanstalk.

Annulla le modifiche recenti alla configurazione

Se la modifica alla configurazione .ebextensions ha causato un errore di distribuzione, ridistribuisci la versione dell’applicazione.

Informazioni correlate

Risoluzione dei problemi relativi all’ambiente Elastic Beanstalk