Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen. Lees verder.

Het tijdrovende proces van het één voor één configureren van vereiste resources is niet langer nodig om webapplicaties en servers te implementeren.

Platform-as-a-service (PaaS)-producten zoals AWS Elastic Beanstalk en Heroku zijn gemaakt om applicaties die kunnen worden geïmplementeerd en beschikbaar worden gemaakt voor gebruikers met weinig tot geen code en een paar knoppen klikken.

Wat is AWS Elastic Beanstalk en hoe kunt u uw Go-webapplicaties in de cloud implementeren met Elastic Beanstalk?

Wat is AWS elastische bonenstaak?

AWS Elastic Beanstalk (AWS EB) is een platform-as-a-service-product dat wordt aangeboden door Amazon Web Services en dat snelle en eenvoudige implementatie en beheer van applicaties en vereiste bronnen mogelijk maakt.

Met Elastic Beanstalk is het eenvoudig om een ​​applicatie te implementeren zonder alle vereiste bronnen in te stellen, zoals een

Linux-server op EC2, of een monitoringservice in cloudwatch. Elastic Beanstalk behandelt alle processen van het instellen van de bronnen en stelt u in staat om verschillende soorten applicaties te implementeren, waaronder Node.js, Golang, PHP, Docker, enzovoort.

Een eenvoudige Golang-webserver maken

Voor het doel van deze zelfstudie moet u een werkende Golang-applicatie hebben om op AWS Elastic Beanstalk te implementeren, dus in deze sectie wordt een eenvoudige Go-webserver gemaakt.

U hebt een Golang-ontwikkelomgeving nodig die op uw machine is ingesteld om mee te gaan in deze sectie.

De eerste stap is het initialiseren van een nieuw Golang-project, wat kan worden gedaan vanaf de terminal door de volgende opdrachten uit te voeren:

Als u klaar bent, kunt u de projectdirectory openen in uw favoriete IDE. Maak in uw hoofdmap van het project een map met de naam statisch en maak een index.html bestand erin. Kopieer en plak de volgende code in het HTML-bestand en sla het op.

html>
<htmllang="en">
<hoofd>
<metatekenset="UTF-8">
<titel>Hallo Wereld!titel>
hoofd>
<lichaam>
<h1>Hallo wereld van elastische bonenstaakh1>
lichaam>
html>

Keer terug naar de hoofdmap van uw project en maak een applicatie.go bestand. Kopieer en plak de onderstaande code in uw applicatie.go bestand en sla het op. U moet het hoofdbestand een naam geven applicatie.go omdat dit het bestand is waarnaar Elastic Beanstalk zal zoeken om uw applicatie te bouwen tijdens het implementatieproces.

pakket voornaamst

importeren (
"logboek"
"net/http"
)

funcvoornaamst() {
statisch := http. Fileserver (http. Dir("./statisch"))
http. Hendel("/", statisch)

loggen. Fataal (http. LuisterEnServe(":5000", nihil))
}

Elastic Beanstalk gebruikt standaard een NGINX-configuratie die verzoeken alleen doorstuurt naar uw toepassing op poort 5000. Behalve dat u de standaard NGINX-configuraties overschrijft, moet uw Golang-toepassing altijd luisteren op poort 5000 voor verzoeken.

Als u het bestand opslaat en het programma in de terminal uitvoert met ga applicatie.go uitvoeren, kunt u een voorbeeld van de statische webpagina bekijken door het adres te openen lokale host: 5000 in uw browser.

U hebt nu uw voorbeeldtoepassing gebouwd en klaar voor implementatie. In het volgende gedeelte implementeert u de applicatie op AWS Elastic Beanstalk.

Een Go-applicatie implementeren op AWS Elastic Beanstalk

Om een ​​applicatie te implementeren op een AWS-service, zoals Elastic Beanstalk, hebt u een AWS-cloudaccount nodig. Als u momenteel geen AWS-account hebt, gaat u naar De aanmeldingspagina van AWS om gratis een nieuwe aan te maken.

Er zijn meerdere manieren om applicaties te implementeren in Elastic Beanstalk, waaronder de AWS CLI, Elastic Beanstalk Command Line Interface (EB CLI), en vanaf de webconsole, maar in deze zelfstudie leert u hoe u vanaf de terminal implementeert in Elastic Beanstalk met behulp van de EB CLI hulpmiddel.

U kunt de AWS EB CLI installatiehandleiding voor een gedetailleerde handleiding over het installeren en configureren van EB CLI om verder te gaan in deze sectie. Als u klaar bent met het installeren en configureren van EB CLI, kunt u nu doorgaan en de onderstaande stappen volgen om uw Golang-applicatie te implementeren.

  1. Open een nieuw terminalvenster en navigeer naar de projectmap van de Go-toepassing die moet worden geïmplementeerd met behulp van de CD commando.
  2. Loop eb begin om een ​​nieuwe Elastic Beanstalk CLI-repository te initialiseren. Omdat het de eerste keer is dat u deze opdracht uitvoert na de installatie, zal EB CLI u de initiële instellingsopties geven, zoals te zien is in de volgende stappen.
  3. Nadat u een voorkeursregio hebt gekozen, moet u uw beveiligingsidentiteitsreferenties instellen (Toegangssleutel-ID en Geheime sleutel). Er is een uitgebreide gids beschikbaar gesteld door AWS bij het genereren van de beveiligingsreferenties in de AWS-console.
  4. Vervolgens definieert u de naam van de toepassing die u implementeert. Standaard gebruikt dit de naam van uw huidige projectmap.
  5. De volgende stap is het selecteren van het platform van de applicatie die u gaat implementeren. In dit geval moet u de 4e optie selecteren aangezien u een Golang-applicatie implementeert.
  6. De volgende prompt vraagt ​​of u een SSH-verbinding wilt inschakelen voor uw geïmplementeerde toepassing. Dit wordt aanbevolen omdat het eenvoudige toegang op afstand en foutopsporing voor uw toepassing mogelijk maakt, maar in deze zelfstudie Nee is geselecteerd, aangezien het slechts een eenvoudige toepassing is.

    De regel die aangeeft dat CodeCommit niet kon worden ingesteld, is niet iets om je zorgen over te maken, omdat het komt doordat Git of een ander bronbeheer niet wordt gebruikt in het project in dit voorbeeld.

  7. Na het voltooien van de bovenstaande stappen, wordt er een nieuwe Elastic Beanstalk CLI-repository gemaakt en kunt u nu een Elastic Beanstalk-omgeving maken om uw toepassing in de volgende stappen te implementeren.
  8. Loop eb creëer "omgevingsnaam" om een ​​nieuwe omgeving te creëren, de gespecificeerde omgeving naam. De omgeving wordt gemaakt met alle vereiste bronnen, waaronder een EC2-instantie, groep voor automatisch schalen, S3-bucket, Load Balancer, enz. Dit proces duurt ongeveer 5-10 minuten, afhankelijk van de netwerksnelheid.

    Net als wanneer je implementeer een statische website op AWS, krijgt uw EB-applicatie ook een URL toegewezen (gemarkeerd in het rode vak in de schermafbeelding hierboven) die u kunt gebruiken om toegang te krijgen tot uw webapp.

  9. Als dit eenmaal is gelukt, is de toepassing klaar om te worden bekeken en kunt u deze uitvoeren eb open om de geïmplementeerde applicatie in uw browser te openen. Je zou het nu moeten zien Hallo Wereld weergegeven in uw webbrowser met behulp van de URL die eraan is toegewezen door Elastic Beanstalk.

Telkens wanneer u een wijziging in uw toepassing aanbrengt, kunt u uitvoeren eb inzetten om de nieuwste updates naar Elastic Beanstalk te pushen. En om uw applicatie en al zijn bronnen af ​​te sluiten, kunt u uitvoeren eb beëindigen.

U hebt nu met succes een Golang-webtoepassing geïmplementeerd in AWS Elastic Beanstalk met behulp van de Elastic Beanstalk CLI-tool. Het proces is heel eenvoudig en kan worden gevolgd om elke vorm van Golang-webapplicatie in Elastic Beanstalk te implementeren.

U kunt uw Elastic Beanstalk-dashboard in de AWS-console bekijken om de status of andere informatie over uw omgeving en applicatie te bekijken.

Webapplicaties implementeren in Elastic Beanstalk

Elastic Beanstalk is een betrouwbare manier om uw applicaties in zeer eenvoudige stappen van lokaal naar live te brengen. U kunt uw kleine en grootschalige applicaties eenvoudig implementeren en beheren met behulp van alle middelen die AWS beschikbaar stelt, waaronder de webconsole, AWS CLI, EB CLI, AWS API's of de AWS SDK.

Om verder te oefenen met de kennis die u in dit artikel hebt opgedaan, kunt u overwegen een CRUD-API te bouwen met Go en deze te implementeren in Elastic Beanstalk.