Utilizzo della piattaforma Go di Elastic Beanstalk - 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à.

Utilizzo della piattaforma Go di Elastic Beanstalk

È possibile utilizzare AWS Elastic Beanstalk per eseguire, creare e configurare le applicazioni basate su Go. Per applicazioni Go semplici, sono disponibili due modi per distribuire l'applicazione:

  • Fornisci un bundle di origine con un file sorgente nella radice chiamata application.go che contiene il pacchetto principale per la tua applicazione. Elastic Beanstalk crea il binario utilizzando il comando seguente:

    go build -o bin/application application.go

    Dopo che l'applicazione è stata creata, Elastic Beanstalk la avvia sulla porta 5000.

  • Fornire un bundle di origine con un file binario chiamato application. Il file binario può essere situato nella radice del bundle di origine o nella directory bin/ del bundle di origine. Se posizioni il file binario application in entrambi i percorsi, Elastic Beanstalk usa il file nella directory bin/.

    Elastic Beanstalk lancia questa applicazione sulla porta 5000.

In entrambi i casi, con Go 1.11 o versioni successive, è anche possibile fornire i requisiti del modulo in un file chiamato go.mod. Per ulteriori informazioni, consulta Migrazione a moduli Go nel blog Go.

Per applicazioni Go più complesse, sono disponibili due modi per distribuire l'applicazione:

  • Fornisci un bundle di origine che includa i file di origine della tua applicazione, insieme a un Buildfile e a un Procfile. Il Buildfile include un comando per creare l'applicazione, mentre il Procfile include istruzioni per l'esecuzione dell'applicazione.

  • Fornisci un bundle di origine che includa i file binari della tua applicazione, insieme a un Procfile. Il Procfile include istruzioni per l'esecuzione dell'applicazione.

La piattaforma Go include un server proxy che serve risorse statiche e inoltra il traffico all'applicazione. Puoi estendere o sostituire la configurazione proxy predefinita per scenari avanzati.

Per informazioni dettagliate sui vari modi in cui è possibile estendere una piattaforma Elastic Beanstalk basata su Linux, consulta Estensione delle piattaforme Elastic Beanstalk Linux.

Configurazione dell'ambiente Go

Le impostazioni della piattaforma Go consentono di ottimizzare il comportamento delle istanze Amazon EC2. Puoi modificare la configurazione dell'istanza Amazon EC2 dell'ambiente Elastic Beanstalk utilizzando la console Elastic Beanstalk.

Utilizza la console Elastic Beanstalk per attivare la rotazione dei log in Amazon S3 e configurare variabili che l'applicazione è in grado di leggere dall'ambiente.

Per configurare l'ambiente Go nella console Elastic Beanstalk
  1. Apri la console Elastic Beanstalk e nell'elenco Regions (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, seleziona Configuration (Configurazione).

  4. Nella categoria di configurazione Updates, monitoring, and logging (Aggiornamenti, monitoraggio e registrazione), scegli Edit (Modifica).

Opzioni di log

La sezione Log Options (Opzioni di log) ha due impostazioni:

  • Instance profile (Profilo dell'istanza): specifica il profilo dell'istanza che dispone dell'autorizzazione ad accedere al bucket Amazon S3 associato all'applicazione.

  • Enable log file rotation to Amazon S3 (Abilita rotazione file di log in Amazon S3): specifica se i file di log per le istanze Amazon EC2 dell'applicazione debbano essere copiati nel bucket Amazon S3 associato all'applicazione.

File statici

Per migliorare le prestazioni, la sezione Static files (File statici) consente di configurare il server proxy affinché fornisca file statici (ad esempio, HTML o immagini) da un set di directory all'interno dell'applicazione Web. Per ogni directory, è possibile impostare il percorso virtuale per la mappatura delle directory. Quando il server proxy riceve una richiesta da un file nel percorso specificato, questo serve il file direttamente anziché instradare la richiesta all'applicazione.

Per informazioni dettagliate sulla configurazione di file statici utilizzando file di configurazione o la console Elastic Beanstalk, consulta Fornire i file statici.

Proprietà dell'ambiente

La sezione Environment Properties (Proprietà ambiente) consente di specificare le impostazioni di configurazione dell'ambiente nelle istanze Amazon EC2 che eseguono l'applicazione. Le proprietà di ambiente sono passate come coppie chiave-valore all'applicazione.

All'interno dell'ambiente Go in esecuzione in Elastic Beanstalk, le variabili di ambiente sono accessibili tramite la funzione os.Getenv. Ad esempio, è possibile leggere una proprietà denominata API_ENDPOINT su una variabile con il codice seguente:

endpoint := os.Getenv("API_ENDPOINT")

Per ulteriori informazioni, consulta Proprietà dell'ambiente e altre impostazioni software.

Spazi dei nomi per la configurazione di Go

È possibile utilizzare un file di configurazione per impostare le opzioni di configurazione ed eseguire alte attività di configurazione delle istanze durante le distribuzioni. Le opzioni di configurazione, che possono essere definite dal servizio Elastic Beanstalk o dalla piattaforma utilizzata, sono organizzate in spazi dei nomi.

La piattaforma Go non definisce spazi dei nomi specifici della piattaforma. È possibile configurare il proxy per servire file statici utilizzando lo spazio dei nomi aws:elasticbeanstalk:environment:proxy:staticfiles. Per informazioni dettagliate e un esempio, consulta Fornire i file statici.

In Elastic Beanstalk sono disponibili varie opzioni di configurazione per la personalizzazione dell'ambiente. Oltre ai file di configurazione, puoi impostare le opzioni di configurazione tramite la console, le configurazioni salvate, la CLI EB o AWS CLI. Per ulteriori informazioni, consultare Opzioni di configurazione.

Se l'ambiente Go di Elastic Beanstalk utilizza una versione della piattaforma AMI Amazon Linux (precedente ad Amazon Linux 2), leggi le informazioni aggiuntive presenti in questa sezione.

Note
  • Le informazioni contenute in questo argomento si applicano solo ai rami della piattaforma basati su Amazon Linux AMI (AL1). Le ramificazioni della piattaforma AL2023/AL2 non sono compatibili con le precedenti versioni della piattaforma AMI Amazon Linux (AL1) e richiedono diverse impostazioni di configurazione.

  • Il 18 luglio 2022 Elastic Beanstalk ha impostato lo stato di tutte le ramificazioni della piattaforma sull'AMI Amazon Linux (AL1) su retired (ritirato). Per ulteriori informazioni sulla migrazione a una ramificazione della piattaforma Amazon Linux 2023 attuale e completamente supportata, consulta Migrazione dell'applicazione Elastic Beanstalk Linux ad Amazon Linux 2023 o Amazon Linux 2.

È possibile utilizzare un file di configurazione per impostare le opzioni di configurazione ed eseguire alte attività di configurazione delle istanze durante le distribuzioni. Le opzioni di configurazione, che possono essere definite dal servizio Elastic Beanstalk o dalla piattaforma utilizzata, sono organizzate in spazi dei nomi.

Nota

Le informazioni contenute in questo argomento si applicano solo ai rami della piattaforma basati su Amazon Linux AMI (AL1). Le ramificazioni della piattaforma AL2023/AL2 non sono compatibili con le precedenti versioni della piattaforma AMI Amazon Linux (AL1) e richiedono diverse impostazioni di configurazione.

Oltre agli spazi dei nomi supportati da tutte le piattaforme, la piattaforma Go di AMI Amazon Linux supporta uno spazio dei nomi di configurazione specifico della piattaforma. Lo spazio dei nomi aws:elasticbeanstalk:container:golang:staticfiles consente di definire le opzioni che mappano i percorsi nell'applicazione Web alle cartelle del bundle di origine dell'applicazione con contenuti statici.

Ad esempio, questo file di configurazione indica al server proxy di servire i file nella cartella staticimages al percorso /images:

Esempio .ebextensions/go-settings.config
option_settings: aws:elasticbeanstalk:container:golang:staticfiles: /html: statichtml /images: staticimages

In Elastic Beanstalk sono disponibili varie opzioni di configurazione per la personalizzazione dell'ambiente. Oltre ai file di configurazione, puoi impostare le opzioni di configurazione tramite la console, le configurazioni salvate, la CLI EB o AWS CLI. Per ulteriori informazioni, consultare Opzioni di configurazione.