Come posso personalizzare l'ambiente di Elastic Beanstalk utilizzando gli hook della piattaforma?

3 minuti di lettura
0

Desidero personalizzare l'ambiente AWS Elastic Beanstalk utilizzando gli hook della piattaforma per creare script personalizzati o altri file eseguibili. Desidero implementarli sulle mie istanze Amazon Elastic Compute Cloud (Amazon EC2) in esecuzione nell'ambiente.

Breve descrizione

È possibile utilizzare gli hook della piattaforma per estendere le funzionalità dell'ambiente Elastic Beanstalk ed eseguire script personalizzati e file eseguibili. Elastic Beanstalk può anche eseguire questi hook durante varie fasi di provisioning delle istanze.

Nota: gli hook della piattaforma non sono supportati nelle versioni della piattaforma Amazon Linux AMI (precedenti ad Amazon Linux 2).

Esistono due tipi di hook della piattaforma:

  • Gli hook della piattaforma di implementazione delle applicazioni vengono eseguiti durante l'implementazione di un'applicazione quando si fornisce un nuovo pacchetto sorgente per la sua implementazione. Vengono eseguiti anche quando si apporta una modifica alla configurazione che richiede la chiusura e la nuova creazione di tutte le istanze dell'ambiente.
  • Gli hook della piattaforma di implementazione della configurazione vengono eseguiti durante l'implementazione di una configurazione quando si apportano modifiche alla configurazione che aggiornano solo le istanze dell'ambiente, senza crearle nuovamente.

Risoluzione

Configura la directory .platform

1.    Nella root principale del pacchetto dell'applicazione, crea una directory nascosta denominata '.platform/hooks'o '.platform/confighooks' rispettivamenteper gli hook della piattaforma di implementazione e di configurazione dell'applicazione.

2.    A seconda della fase di provisioning delle istanze nella quale vengono eseguiti, è necessario inserire i file hook in una delle seguenti sottodirectory:

  • 'prebuild'
  • 'predeploy'
  • 'postdeploy'

Per identificare le sottodirectory necessarie per il tuo caso d'uso, consulta Estensione delle piattaforme Elastic Beanstalk Linux.

3.    Il pacchetto sorgente dell'applicazione deve avere un aspetto simile al seguente:

~/workspace/my-application/
|-- .platform
    |--hooks
       |--prebuild
          |-- custom-prebuild-script.sh
       |--predeploy
          |-- custom-predeploy-script.sh
       |--postdeploy
          |-- custom-postdeploy-script.sh
|-- .ebextensions
|-- index.php
         `-- styles.css

Specifica i file hook

Quando crei i file hook, tieni a mente le seguenti informazioni:

  • I file hook possono essere file binari o file di script che iniziano con una riga '#!' e contengono il percorso dell'interprete, ad esempio '#!/bin/bash'. Per avere un esempio dei contenuti all'interno di un file di script, come ad esempio 'custom-postdeploy-script.sh, consulta il seguente file:
#!/bin/bash
sudo su
cd /var/app/current
echo "Hello from AWS hook" >> 'test.txt'
  • Usa "chmod +x" sul computer locale per impostare le autorizzazioni di esecuzione sui file hook. In alternativa, è possibile usare '.ebextensions' per fornire le autorizzazioni. Vedi il seguente file di esempio:
container_commands:
  01_chmod1:
    command: "chmod +x .platform/hooks/postdeploy/custom-postdeploy-script.sh"

Per ulteriori informazioni, consulta How do I customize my Elastic Beanstalk environment using .ebextensions? (Come posso personalizzare l'ambiente di Elastic Beanstalk utilizzando .ebextensions?)

Applica gli hook della piattaforma sulla tua applicazione

1.    Crea un pacchetto sorgente dell'applicazione che includa gli hook della piattaforma e i file di configurazione precedenti.

Nota: i browser di file possono nascondere cartelle che iniziano con un punto, ad esempio .platforme .ebextensions. Per mantenere queste cartelle visibili, includile nella cartella principale del pacchetto dell'applicazione quando crei il pacchetto sorgente.

2.    Implementa la tua applicazione Elastic Beanstalk aggiornata.


AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa