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

Questo argomento descrive come configurare, creare ed eseguire le applicazioni Go su Elastic Beanstalk.

AWS Elastic Beanstalk supporta una serie di rami della piattaforma per diverse versioni del linguaggio di programmazione Go. Vedi Go nel documento AWS Elastic Beanstalk Platforms per un elenco completo.

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 le nostre filiali supportate della piattaforma Go, puoi anche fornire i requisiti del modulo in un file chiamatogo.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 ti consentono di ottimizzare il comportamento delle tue istanze AmazonEC2. Puoi modificare la configurazione dell'istanza Amazon dell'ambiente Elastic Beanstalk utilizzando EC2 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 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.

  • Abilita la rotazione dei file di registro su Amazon S3: specifica se i file di log per le EC2 istanze Amazon dell'applicazione vengono copiati nel bucket Amazon S3 associato all'applicazione.

File statici

Per migliorare le prestazioni, puoi utilizzare la sezione File statici per configurare il server proxy in modo che serva file statici (ad esempio HTML o immagini) da un set di directory all'interno della tua 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 consente di specificare le impostazioni di configurazione dell'ambiente sulle EC2 istanze Amazon su cui è in esecuzione 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 possono essere specifiche della piattaforma o essere applicate a tutte le piattaforme del servizio Elastic Beanstalk nel suo complesso. Le opzioni di configurazione sono organizzate in namespace.

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, è anche possibile impostare le opzioni di configurazione utilizzando la console, le configurazioni salvate, l'EB CLI o il. AWS CLI Per ulteriori informazioni, consulta Opzioni di configurazione.

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

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

  • Il 18 luglio 2022, Elastic Beanstalk ha impostato lo stato di tutte le filiali della piattaforma basate su Amazon Linux () come ritirato. AMI AL1 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 possono essere specifiche della piattaforma o essere applicate a tutte le piattaforme del servizio Elastic Beanstalk nel suo complesso. Le opzioni di configurazione sono organizzate in namespace.

Nota

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

La piattaforma Amazon Linux AMI Go supporta uno spazio dei nomi di configurazione specifico della piattaforma oltre ai namespace supportati da tutte le piattaforme. 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 anche impostare le opzioni di configurazione utilizzando la console, le configurazioni salvate, l'EB o il. CLI AWS CLI Per ulteriori informazioni, consulta Opzioni di configurazione.