Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

Den tidskrævende proces med at konfigurere nødvendige ressourcer én efter én er ikke længere nødvendig for at implementere webapplikationer og servere.

Platform-as-a-service (PaaS) produkter såsom AWS Elastic Beanstalk og Heroku blev skabt for at tillade applikationer, der skal implementeres og gøres tilgængelige for brugere med lidt eller ingen kode og et par knapper klik.

Så hvad er AWS Elastic Beanstalk, og hvordan kan du implementere dine Go-webapplikationer i skyen med Elastic Beanstalk?

Hvad er AWS Elastic Beanstalk?

AWS Elastic Beanstalk (AWS EB) er et platform-som-en-service-produkt, der tilbydes af Amazon Web Services, der giver mulighed for hurtig og nem implementering og administration af applikationer og nødvendige ressourcer.

Med Elastic Beanstalk er det nemt at implementere en applikation uden at skulle konfigurere alle dens nødvendige ressourcer som f.

instagram viewer
linux server på EC2, eller en overvågningstjeneste i cloudwatch. Elastic Beanstalk håndterer alle processer med at opsætte ressourcerne, og det giver dig mulighed for at implementere forskellige slags applikationer, herunder Node.js, Golang, PHP, Docker og så videre.

Oprettelse af en simpel Golang-webserver

Til formålet med denne vejledning skal du have en fungerende Golang-applikation til at implementere på AWS Elastic Beanstalk, så i dette afsnit oprettes en simpel Go-webserver.

Du skal have et Golang-udviklingsmiljø opsat på din maskine for at følge med i dette afsnit.

Det første trin er at initialisere et nyt Golang-projekt, som kan udføres fra terminalen ved at køre følgende kommandoer:

Når du er færdig, kan du åbne projektmappen i din foretrukne IDE. I dit rodprojektbibliotek skal du oprette en mappe med navnet statisk og skabe en index.html fil i den. Kopier og indsæt følgende kode i HTML-filen og gem den.

html>
<htmllang="da">
<hoved>
<metategnsæt="UTF-8">
<titel>Hej Verden!titel>
hoved>
<legeme>
<h1>Hello World fra Elastic Beanstalkh1>
legeme>
html>

Vend tilbage til dit projekts rodbibliotek og opret en application.go fil. Kopiér og indsæt koden nedenfor i din application.go fil og gem den. Du skal navngive hovedfilen application.go fordi dette er filen, som Elastic Beanstalk vil lede efter for at bygge din applikation under implementeringsprocessen.

pakke vigtigste

importere (
"log"
"net/http"
)

funcvigtigste() {
statisk := http. FileServer (http. Dir("./statisk"))
http. Håndtere("/", statisk)

log. Fatal (http. LytOgServe(":5000", nul))
}

Elastic Beanstalk bruger som standard en NGINX-konfiguration, der kun videresender anmodninger til din applikation på port 5000. Bortset fra at du tilsidesætter standard NGINX-konfigurationerne, skal din Golang-applikation altid lytte på port 5000 efter anmodninger.

Hvis du gemmer filen og kører programmet i terminalen med kør application.go, ville du være i stand til at få vist den statiske webside ved at åbne adressen lokale vært: 5000 i din browser.

Du har nu din prøveapplikation bygget og klar til implementering. I næste afsnit vil du implementere applikationen til AWS Elastic Beanstalk.

Implementering af en Go-applikation til AWS Elastic Beanstalk

For at implementere en applikation til enhver AWS-tjeneste, såsom Elastic Beanstalk, skal du have en AWS-skykonto. Hvis du i øjeblikket ikke har en AWS-konto, skal du gå til AWS's tilmeldingsside at oprette en ny gratis.

Der er flere måder at implementere applikationer på Elastic Beanstalk, herunder AWS CLI, Elastic Beanstalk Command Line Interface (EB CLI), og fra webkonsollen, men i denne tutorial vil du lære, hvordan du implementerer til Elastic Beanstalk fra terminalen ved hjælp af EB CLI værktøj.

Du kan tjekke ud AWS EB CLI installationsvejledning for en detaljeret guide til, hvordan du installerer og konfigurerer EB CLI for at følge med i dette afsnit. Når du er færdig med at installere og konfigurere EB CLI, kan du nu gå videre og følge nedenstående trin for at implementere din Golang-applikation.

  1. Åbn et nyt terminalvindue, og naviger til projektmappen for Go-applikationen, der skal implementeres ved hjælp af cd kommando.
  2. Løb eb init at initialisere et nyt Elastic Beanstalk CLI-lager. Da det er første gang, du kører denne kommando efter installationen, vil EB CLI bede dig om indledende opsætningsmuligheder som vist i de følgende trin.
  3. Når du har valgt en foretrukken region, skal du konfigurere dine sikkerhedsidentitetsoplysninger (adgangsnøgle-id og hemmelig nøgle). Der er en omfattende vejledning leveret af AWS om generering af sikkerhedsoplysningerne i AWS-konsollen.
  4. Dernæst skal du definere navnet på den applikation, du implementerer. Som standard bruger dette navnet på din nuværende projektmappe.
  5. Det næste trin er at vælge platformen for den applikation, du er ved at implementere, i dette tilfælde skal du vælge den 4. mulighed, da du implementerer en Golang-applikation.
  6. Den næste prompt spørger, om du vil aktivere en SSH-forbindelse for din installerede applikation. Dette anbefales, da det giver mulighed for nem fjernadgang og fejlfinding for din applikation, men i denne vejledning, Ingen er valgt, da det kun er en simpel applikation.

    Linjen, der indikerer, at CodeCommit ikke kunne konfigureres, er ikke noget at bekymre sig om, da det skyldes, at Git eller anden kildekontrol ikke bliver brugt i projektet i dette eksempel.

  7. Efter at have gennemført ovenstående trin, vil et nyt Elastic Beanstalk CLI-lager blive oprettet, og du kan nu oprette et Elastic Beanstalk-miljø for at implementere din applikation i de næste trin.
  8. Løb eb oprette "miljønavn" at skabe et nyt miljø kaldet det specificerede miljønavn. Miljøet er skabt med alle nødvendige ressourcer, inklusive en EC2-instans, automatisk skaleringsgruppe, S3-spand, belastningsbalancer osv. Denne proces tager omkring 5-10 minutter afhængigt af netværkshastigheden.

    Ligesom når du implementere et statisk websted til AWS, tildeles din EB-applikation også en URL (markeret i det røde felt i skærmbilledet ovenfor), som du kan bruge til at få adgang til din webapp.

  9. Når det er gjort med succes, er applikationen klar til at blive vist, og du kan køre eb åben for at åbne det installerede program i din browser. Du skulle nu se Hej Verden vises i din webbrowser ved hjælp af den URL, der er tildelt den af ​​Elastic Beanstalk.

Når du foretager en ændring af din applikation, kan du køre eb deploy for at skubbe de seneste opdateringer til Elastic Beanstalk. Og for at lukke din applikation og alle dens ressourcer ned, kan du køre eb opsige.

Du har nu implementeret en Golang-webapplikation til AWS Elastic Beanstalk ved hjælp af Elastic Beanstalk CLI-værktøjet. Processen er meget nem og kan følges for at implementere enhver form for Golang-webapplikation i Elastic Beanstalk.

Du kan tjekke dit Elastic Beanstalk-dashboard i AWS-konsollen for at se status eller andre oplysninger om dit miljø og din applikation.

Implementering af webapplikationer til Elastic Beanstalk

Elastic Beanstalk er en pålidelig måde at tage dine applikationer fra lokal til live i meget nemme trin. Du kan nemt implementere og administrere dine små og store applikationer ved hjælp af en hvilken som helst af de midler, der stilles til rådighed af AWS, herunder webkonsollen, AWS CLI, EB CLI, AWS API'er eller AWS SDK.

For yderligere øvelse med viden opnået fra denne artikel, kan du overveje at bygge en CRUD API med Go og implementere den til Elastic Beanstalk.