Czasochłonny proces konfigurowania wymaganych zasobów jeden po drugim nie jest już konieczny do wdrażania aplikacji internetowych i serwerów.
Produkty platformy jako usługi (PaaS), takie jak AWS Elastic Beanstalk i Heroku, zostały stworzone, aby umożliwić aplikacje, które mają być wdrażane i udostępniane użytkownikom z niewielkim lub żadnym kodem i kilkoma przyciskami kliknięcia.
Czym więc jest AWS Elastic Beanstalk i jak możesz wdrożyć swoje aplikacje internetowe Go w chmurze za pomocą Elastic Beanstalk?
Co to jest elastyczna łodyga fasoli AWS?
AWS Elastic Beanstalk (AWS EB) to produkt typu platforma jako usługa oferowany przez Amazon Web Services, który umożliwia szybkie i łatwe wdrażanie oraz zarządzanie aplikacjami i wymaganymi zasobami.
Dzięki Elastic Beanstalk łatwo jest wdrożyć aplikację bez konieczności konfigurowania wszystkich wymaganych zasobów, takich jak
serwer Linux na EC2lub usługę monitorowania w chmurze. Elastic Beanstalk obsługuje wszystkie procesy konfigurowania zasobów i umożliwia wdrażanie różnego rodzaju aplikacji, w tym Node.js, Golang, PHP, Docker i tak dalej.Tworzenie prostego serwera WWW Golang
Na potrzeby tego samouczka musisz mieć działającą aplikację Golang do wdrożenia na AWS Elastic Beanstalk, więc w tej sekcji tworzony jest prosty serwer WWW Go.
Potrzebujesz środowiska programistycznego Golang skonfigurowanego na twoim komputerze, aby postępować zgodnie z tą sekcją.
Pierwszym krokiem jest zainicjowanie nowego projektu Golang, co można zrobić z terminala, uruchamiając następujące polecenia:
Po zakończeniu możesz otworzyć katalog projektu w preferowanym IDE. W głównym katalogu projektu utwórz folder o nazwie statyczny i utwórz indeks.html plik w nim. Skopiuj i wklej następujący kod do pliku HTML i zapisz go.
HTML>
<HTMLlang="pl">
<głowa>
<metazestaw znaków=„UTF-8”>
<tytuł>Witaj świecie!tytuł>
głowa>
<ciało>
<h1>Hello World od Elastic Beanstalkh1>
ciało>
HTML>
Wróć do katalogu głównego projektu i utwórz plik aplikacja.go plik. Skopiuj i wklej poniższy kod do swojego aplikacja.go plik i zapisz go. Musisz nazwać główny plik aplikacja.go ponieważ jest to plik, którego Elastic Beanstalk będzie szukać do zbudowania aplikacji podczas procesu wdrażania.
pakiet główny
import (
"dziennik"
„sieć/http”
)funkcjagłówny() {
statyczny := http. Serwer plików (http. reż.("./statyczny"))
http. Uchwyt("/", statyczny)
dziennik. fatalny (https://www. słuchaj i służ(":5000", zero))
}
Elastic Beanstalk domyślnie używa konfiguracji NGINX, która przekazuje żądania do Twojej aplikacji tylko na porcie 5000. Poza tym, że będziesz zastępować domyślne konfiguracje NGINX, Twoja aplikacja Golang powinna zawsze nasłuchiwać żądań na porcie 5000.
Jeśli zapiszesz plik i uruchomisz program w terminalu za pomocą idź uruchom application.go, można wyświetlić podgląd statycznej strony internetowej, otwierając adres lokalny host: 5000 w Twojej przeglądarce.
Twoja przykładowa aplikacja jest teraz zbudowana i gotowa do wdrożenia. W następnej sekcji będziesz wdrażać aplikację w AWS Elastic Beanstalk.
Wdrażanie aplikacji Go w AWS Elastic Beanstalk
Aby wdrożyć aplikację w dowolnej usłudze AWS, takiej jak Elastic Beanstalk, potrzebujesz konta w chmurze AWS. Jeśli obecnie nie masz konta AWS, przejdź do Strona rejestracji AWS aby utworzyć nowy za darmo.
Istnieje wiele sposobów wdrażania aplikacji w Elastic Beanstalk, w tym AWS CLI, Elastic Beanstalk Command Line Interface (EB CLI) i z konsoli internetowej, ale w tym samouczku dowiesz się, jak wdrażać w Elastic Beanstalk z terminala przy użyciu EB CLI narzędzie.
Możesz sprawdzić tzw Instrukcja instalacji AWS EB CLI aby uzyskać szczegółowy przewodnik dotyczący instalacji i konfiguracji EB CLI, aby postępować zgodnie z tą sekcją. Po zakończeniu instalacji i konfiguracji EB CLI możesz teraz przejść dalej i wykonać poniższe kroki, aby wdrożyć aplikację Golang.
- Otwórz nowe okno terminala i przejdź do folderu projektu aplikacji Go, która ma zostać wdrożona przy użyciu płyta CD Komenda.
- Uruchomić eb inicj aby zainicjować nowe repozytorium Elastic Beanstalk CLI. Ponieważ po raz pierwszy uruchamiasz to polecenie po instalacji, EB CLI wyświetli monit z opcjami wstępnej konfiguracji, jak pokazano w poniższych krokach.
- Po wybraniu preferowanego regionu należy skonfigurować poświadczenia tożsamości zabezpieczeń (identyfikator klucza dostępu i tajny klucz). Jest obszerny przewodnik dostarczony przez AWS podczas generowania poświadczeń bezpieczeństwa w konsoli AWS.
- Następnie należy zdefiniować nazwę wdrażanej aplikacji. Domyślnie używa to nazwy bieżącego folderu projektu.
- Następnym krokiem jest wybranie platformy aplikacji, którą zamierzasz wdrożyć, w tym przypadku powinieneś wybrać czwartą opcję, ponieważ wdrażasz aplikację Golang.
- Następny monit zapyta, czy chcesz włączyć połączenie SSH dla wdrożonej aplikacji. Jest to zalecane, ponieważ umożliwia łatwy zdalny dostęp i debugowanie aplikacji, ale w tym samouczku NIE jest wybrana, ponieważ jest to po prostu prosta aplikacja.
Wiersz, który wskazuje, że nie można skonfigurować CodeCommit, nie jest powodem do zmartwień, ponieważ wynika z faktu, że Git ani żadna inna kontrola źródła nie jest używana w projekcie w tym przykładzie.
- Po wykonaniu powyższych kroków zostanie utworzone nowe repozytorium Elastic Beanstalk CLI i możesz teraz utworzyć środowisko Elastic Beanstalk, aby wdrożyć swoją aplikację w kolejnych krokach.
- Uruchomić eb utwórz „nazwę środowiska” aby utworzyć nowe środowisko o nazwie określone nazwa środowiska. Środowisko jest tworzone ze wszystkimi wymaganymi zasobami, w tym instancją EC2, grupą automatycznego skalowania, zasobnikiem S3, modułem równoważenia obciążenia itp. Ten proces trwa około 5-10 minut w zależności od szybkości sieci.
Tak jak kiedy ty wdrożyć statyczną stronę internetową do AWS, Twojej aplikacji EB jest również przypisany adres URL (zaznaczony w czerwonym polu na powyższym zrzucie ekranu), którego możesz użyć, aby uzyskać dostęp do swojej aplikacji internetowej.
- Po pomyślnym zakończeniu aplikacja jest gotowa do podglądu i można ją uruchomić ee otwarte aby otworzyć wdrożoną aplikację w przeglądarce. Powinieneś teraz zobaczyć Witaj świecie wyświetlane w Twojej przeglądarce internetowej przy użyciu adresu URL przypisanego do niej przez Elastic Beanstalk.
Za każdym razem, gdy wprowadzasz zmiany w swojej aplikacji, możesz uruchomić wdrożenie eb aby przesyłać najnowsze aktualizacje do Elastic Beanstalk. Aby zamknąć aplikację i wszystkie jej zasoby, możesz uruchomić eb zakończyć.
Pomyślnie wdrożyłeś aplikację internetową Golang w AWS Elastic Beanstalk za pomocą narzędzia Elastic Beanstalk CLI. Proces ten jest bardzo łatwy i można go śledzić, aby wdrożyć dowolną formę aplikacji internetowej Golang w Elastic Beanstalk.
Możesz sprawdzić pulpit nawigacyjny Elastic Beanstalk w konsoli AWS, aby zobaczyć status lub inne informacje o swoim środowisku i aplikacji.
Wdrażanie aplikacji internetowych w Elastic Beanstalk
Elastic Beanstalk to niezawodny sposób na przeniesienie twoich aplikacji z lokalnego do życia w bardzo łatwych krokach. Możesz łatwo wdrażać i zarządzać swoimi małymi i dużymi aplikacjami przy użyciu dowolnych środków udostępnionych przez AWS, w tym konsoli internetowej, AWS CLI, EB CLI, AWS API lub AWS SDK.
W celu dalszego przećwiczenia wiedzy zdobytej w tym artykule możesz rozważyć zbudowanie interfejsu API CRUD w Go i wdrożenie go w Elastic Beanstalk.