Ako nasadiť aplikáciu Golang pomocou AWS Elastic Beanstalk
AWS Elastic Beanstalk zefektívňuje proces nasadenia aplikácie a to tiež v niekoľkých jednoduchých krokoch.
Časovo náročný proces konfigurácie požadovaných prostriedkov jedného po druhom už nie je potrebný na nasadenie webových aplikácií a serverov.
Produkty Platform-as-a-service (PaaS), ako napríklad AWS Elastic Beanstalk a Heroku, boli vytvorené s cieľom umožniť nasadenie aplikácií a ich sprístupnenie používateľom s malým alebo žiadnym kódom a niekoľkými kliknutiami na tlačidlá.
Čo je teda AWS Elastic Beanstalk a ako môžete nasadiť svoje webové aplikácie Go v cloude pomocou Elastic Beanstalk?
Čo je AWS Elastic Beanstalk?
AWS Elastic Beanstalk (AWS EB) je produkt založený na platforme ako služba, ktorý ponúka Amazon Web Services a ktorý umožňuje rýchle a jednoduché nasadenie a správu aplikácií a požadovaných zdrojov.
S Elastic Beanstalk je ľahké nasadiť aplikáciu bez toho, aby ste museli nastavovať všetky jej požadované zdroje, ako je linuxový server na EC2 alebo monitorovacia služba v cloudwatch. Elastic Beanstalk sa stará o všetky procesy nastavenia zdrojov a umožňuje vám nasadiť rôzne druhy aplikácií, vrátane Node.js, Golang, PHP, Docker atď.
Vytvorenie jednoduchého webového servera Golang
Na účely tohto tutoriálu sa vyžaduje, aby ste mali funkčnú aplikáciu Golang na nasadenie na AWS Elastic Beanstalk, takže v tejto časti je vytvorený jednoduchý webový server Go.
Na to, aby ste mohli postupovať podľa tejto časti, musíte na svojom počítači nastaviť vývojové prostredie Golang.
Prvým krokom je inicializácia nového projektu Golang, ktorý je možné vykonať z terminálu spustením nasledujúcich príkazov:
Po dokončení môžete otvoriť adresár projektu vo vami preferovanom IDE. V koreňovom adresári projektu vytvorte priečinok s názvom static a vytvorte v ňom súbor index.html. Skopírujte a prilepte nasledujúci kód do súboru HTML a uložte ho.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello world!</title>
</head>
<body>
<h1>Hello World from Elastic Beanstalk</h1>
</body>
</html>
Vráťte sa do koreňového adresára projektu a vytvorte súbor application.go. Skopírujte a prilepte kód uvedený nižšie do súboru application.go a uložte ho. Hlavný súbor musíte pomenovať application.go, pretože toto je súbor, ktorý bude Elastic Beanstalk hľadať na zostavenie vašej aplikácie počas procesu nasadenia.
package main
import (
"log"
"net/http"
)
func main() {
static := http.FileServer(http.Dir("./static"))
http.Handle("/", static)
log.Fatal(http.ListenAndServe(":5000", nil))
}
Elastic Beanstalk štandardne používa konfiguráciu NGINX, ktorá preposiela požiadavky vašej aplikácii len na porte 5000. Okrem toho, že prepíšete predvolené konfigurácie NGINX, vaša aplikácia Golang by mala vždy počúvať požiadavky na porte 5000.
Ak uložíte súbor a spustíte program v termináli pomocou go run application.go, budete môcť zobraziť ukážku statickej webovej stránky otvorením adresy localhost:5000 vo vašom prehliadači.
Teraz máte svoju vzorovú aplikáciu zostavenú a pripravenú na nasadenie. V ďalšej časti nasadíte aplikáciu do AWS Elastic Beanstalk.
Nasadenie aplikácie Go do AWS Elastic Beanstalk
Na nasadenie aplikácie do akejkoľvek služby AWS, ako je napríklad Elastic Beanstalk, potrebujete cloudový účet AWS. Ak momentálne nemáte účet AWS, prejdite na stránku registrácie AWS a vytvorte si nový zadarmo.
Existuje viacero spôsobov, ako nasadiť aplikácie do Elastic Beanstalk, vrátane AWS CLI, Elastic Beanstalk Command Line Interface (EB CLI) a z webovej konzoly, ale v tomto návode sa dozviete, ako nasadiť do Elastic Beanstalk z terminálu pomocou nástroj EB CLI.
Môžete si pozrieť inštalačnú príručku AWS EB CLI, kde nájdete podrobný návod, ako nainštalovať a nakonfigurovať EB CLI, aby ste mohli postupovať podľa tejto časti. Po dokončení inštalácie a konfigurácie EB CLI môžete pokračovať a nasadiť aplikáciu Golang podľa nižšie uvedených krokov.
- Otvorte nové okno terminálu a pomocou príkazu cd prejdite do priečinka projektu aplikácie Go, ktorá sa má nasadiť.
Spustite eb init a inicializujte nový repozitár CLI Elastic Beanstalk. Pri prvom spustení tohto príkazu po inštalácii vás EB CLI vyzve na počiatočné nastavenia, ako je vidieť v nasledujúcich krokoch.
Po výbere preferovanej oblasti si musíte nastaviť poverenia bezpečnostnej identity (ID prístupového kľúča a tajný kľúč). AWS poskytuje komplexný návod na generovanie bezpečnostných poverení v konzole AWS.
Ďalej musíte definovať názov aplikácie, ktorú nasadzujete. V predvolenom nastavení sa používa názov aktuálneho priečinka projektu.
-
Ďalším krokom je výber platformy aplikácie, ktorú sa chystáte nasadiť, v tomto prípade by ste mali vybrať štvrtú možnosť, pretože nasadzujete aplikáciu Golang.
Ďalšia výzva sa spýta, či chcete povoliť pripojenie SSH pre vašu nasadenú aplikáciu. Toto sa odporúča, pretože umožňuje jednoduchý vzdialený prístup a ladenie vašej aplikácie, ale v tomto návode je vybratá možnosť Nie, pretože ide len o jednoduchú aplikáciu.
Riadok, ktorý naznačuje, že CodeCommit nebolo možné nastaviť, nie je dôvod na obavy, pretože je to spôsobené tým, že v tomto príklade sa v projekte nepoužíva Git alebo akýkoľvek iný ovládací prvok zdroja.
- Po dokončení vyššie uvedených krokov sa vytvorí nové úložisko CLI Elastic Beanstalk a teraz môžete vytvoriť prostredie Elastic Beanstalk na nasadenie vašej aplikácie v ďalších krokoch.
Spustite eb create “názov prostredia” a vytvorte nové prostredie s názvom zadaný názov prostredia. Prostredie je vytvorené so všetkými požadovanými zdrojmi vrátane inštancie EC2, skupiny automatického škálovania, segmentu S3, nástroja na vyrovnávanie zaťaženia atď. Tento proces trvá približne 5-10 minút v závislosti od rýchlosti siete.
Rovnako ako keď nasadíte statickú webovú stránku do AWS, aj vašej aplikácii EB je priradená adresa URL (označená v červenom poli na snímke obrazovky vyššie), ktorú môžete použiť na prístup k svojej webovej aplikácii.
Po úspešnom dokončení je aplikácia pripravená na zobrazenie ukážky a spustením eb open spustíte nasadenú aplikáciu vo svojom prehliadači. Teraz by ste mali vidieť Hello World vo vašom webovom prehliadači pomocou adresy URL, ktorú mu priradil Elastic Beanstalk.
Vždy, keď vo svojej aplikácii vykonáte zmenu, môžete spustiť eb deploy, aby ste posunuli najnovšie aktualizácie do Elastic Beanstalk. Ak chcete vypnúť aplikáciu a všetky jej prostriedky, môžete spustiť príkaz eb skončiť.
Teraz ste úspešne nasadili webovú aplikáciu Golang do AWS Elastic Beanstalk pomocou nástroja CLI Elastic Beanstalk. Tento proces je veľmi jednoduchý a možno ho sledovať pri nasadení akejkoľvek formy webovej aplikácie Golang v Elastic Beanstalk.
Môžete skontrolovať svoj ovládací panel Elastic Beanstalk v konzole AWS a zobraziť stav alebo akékoľvek iné informácie o vašom prostredí a aplikácii.
Nasadenie webových aplikácií do Elastic Beanstalk
Elastic Beanstalk je spoľahlivý spôsob, ako veľmi jednoduchými krokmi preniesť vaše aplikácie z miestnych do ich prevádzky. Svoje malé a veľké aplikácie môžete jednoducho nasadiť a spravovať pomocou ktoréhokoľvek z prostriedkov dostupných od AWS vrátane webovej konzoly, AWS CLI, EB CLI, AWS API alebo AWS SDK.
Pre ďalšiu prax s poznatkami získanými z tohto článku môžete zvážiť vytvorenie CRUD API s Go a jeho nasadenie do Elastic Beanstalk.









