Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Отнемащият време процес на конфигуриране на необходимите ресурси един по един вече не е необходим за разполагане на уеб приложения и сървъри.

Платформа като услуга (PaaS) продукти като AWS Elastic Beanstalk и Heroku са създадени, за да позволят приложения, които да бъдат внедрени и предоставени на потребителите с малко или никакъв код и няколко бутона кликвания.

И така, какво е AWS Elastic Beanstalk и как можете да разположите своите Go уеб приложения в облака с Elastic Beanstalk?

Какво представлява AWS Elastic Beanstalk?

AWS Elastic Beanstalk (AWS EB) е продукт платформа като услуга, предлаган от Amazon Web Services, който позволява бързо и лесно внедряване и управление на приложения и необходими ресурси.

С Elastic Beanstalk е лесно да разгърнете приложение, без да се налага да настройвате всички необходими ресурси като linux сървър на EC2

instagram viewer
, или услуга за наблюдение в Cloudwatch. Elastic Beanstalk обработва всички процеси по настройка на ресурсите и ви позволява да внедрявате различни видове приложения, включително Node.js, Golang, PHP, Docker и т.н.

Създаване на прост уеб сървър на Golang

За целите на този урок се изисква да имате работещо приложение Golang за внедряване на AWS Elastic Beanstalk, така че в този раздел се създава прост Go уеб сървър.

Имате нужда от среда за разработка Golang, настроена на вашата машина, за да следвате този раздел.

Първата стъпка е да инициализирате нов проект на Golang, което може да се направи от терминала чрез изпълнение на следните команди:

След като сте готови, можете да отворите директорията на проекта в предпочитаната от вас IDE. В главната директория на вашия проект създайте папка с име статичен и създайте index.html файл в него. Копирайте и поставете следния код в HTML файла и го запазете.

html>
<htmlезик="bg">
<глава>
<метанабор от знаци="UTF-8">
<заглавие>Здравей свят!заглавие>
глава>
<тяло>
<h1>Здравей свят от Elastic Beanstalkh1>
тяло>
html>

Върнете се в основната директория на вашия проект и създайте application.go файл. Копирайте и поставете кода по-долу във вашия application.go файл и го запазете. Трябва да дадете име на основния файл application.go защото това е файлът, който Elastic Beanstalk ще търси, за да създаде вашето приложение по време на процеса на внедряване.

пакет основен

импортиране (
"дневник"
"net/http"
)

функосновен() {
статичен := http. Файлов сървър (http. Dir("./статичен"))
http. дръжка("/", статичен)

дневник. Фатално (http. ListenAndServe(":5000", нула))
}

Elastic Beanstalk по подразбиране използва конфигурация NGINX, която препраща заявки към вашето приложение само на порт 5000. Освен че ще замените конфигурациите на NGINX по подразбиране, вашето приложение Golang трябва винаги да слуша на порт 5000 за заявки.

Ако запишете файла и стартирате програмата в терминала с отидете стартирайте application.go, ще можете да прегледате статичната уеб страница, като отворите адреса локален хост: 5000 във вашия браузър.

Вече имате изграденото си примерно приложение и готово за внедряване. В следващия раздел ще внедрите приложението в AWS Elastic Beanstalk.

Внедряване на приложение Go в AWS Elastic Beanstalk

За да внедрите приложение към която и да е услуга на AWS, като например Elastic Beanstalk, ви е необходим облачен акаунт в AWS. Ако в момента нямате акаунт в AWS, отидете на Страницата за регистрация на AWS за създаване на нов безплатно.

Има множество начини за внедряване на приложения в Elastic Beanstalk, включително AWS CLI, интерфейс на командния ред на Elastic Beanstalk (EB CLI) и от уеб конзолата, но в този урок ще научите как да внедрявате в Elastic Beanstalk от терминала с помощта на EB CLI инструмент.

Може да разгледате Ръководство за инсталиране на AWS EB CLI за подробно ръководство как да инсталирате и конфигурирате EB CLI, за да следвате този раздел. След като приключите с инсталирането и конфигурирането на EB CLI, сега можете да продължите и да следвате стъпките по-долу, за да разположите вашето приложение Golang.

  1. Отворете нов терминален прозорец и отидете до папката на проекта на приложението Go, което ще бъде разгърнато с помощта на cd команда.
  2. Бягай eb инициал за инициализиране на ново CLI хранилище на Elastic Beanstalk. Тъй като изпълнявате тази команда за първи път след инсталиране, EB CLI ще ви подкани с опции за първоначална настройка, както се вижда в стъпките, които следват.
  3. След като изберете предпочитан регион, трябва да настроите вашите идентификационни данни за сигурност (ID на ключ за достъп и секретен ключ). Има изчерпателно ръководство, предоставено от AWS при генериране на идентификационни данни за сигурност в конзолата на AWS.
  4. След това трябва да определите името на приложението, което внедрявате. По подразбиране това използва името на текущата ви папка на проекта.
  5. Следващата стъпка е да изберете платформата на приложението, което ще внедрите, в този случай трябва да изберете 4-та опция, тъй като внедрявате приложение на Golang.
  6. Следващата подкана пита дали искате да активирате SSH връзка за вашето внедрено приложение. Това се препоръчва, тъй като позволява лесен отдалечен достъп и отстраняване на грешки за вашето приложение, но в този урок, Не е избрано, тъй като това е просто приложение.

    Редът, който показва, че CodeCommit не може да бъде настроен, не е причина за безпокойство, тъй като се дължи на факта, че Git или друг контрол на източника не се използва в проекта в този пример.

  7. След като изпълните стъпките по-горе, ще бъде създадено ново CLI хранилище на Elastic Beanstalk и вече можете да създадете среда на Elastic Beanstalk, за да разгърнете приложението си в следващите стъпки.
  8. Бягай eb създайте „име на среда“ за създаване на нова среда, наречена указаната име на среда. Средата е създадена с всички необходими ресурси, включително екземпляр EC2, група за автоматично мащабиране, S3 контейнер, Load balancer и др. Този процес отнема около 5-10 минути в зависимост от скоростта на мрежата.

    Точно както когато ти разположете статичен уебсайт в AWS, вашето EB приложение също получава URL адрес (маркиран в червеното поле на екранната снимка по-горе), който можете да използвате за достъп до вашето уеб приложение.

  9. След като бъде направено успешно, приложението е готово за предварителен преглед и можете да стартирате eb отворен за да отворите внедреното приложение във вашия браузър. Сега трябва да видите Здравей свят се показва във вашия уеб браузър, използвайки URL адреса, зададен му от Elastic Beanstalk.

Всеки път, когато направите промяна в приложението си, можете да стартирате eb внедряване за да прокарате най-новите актуализации на Elastic Beanstalk. И за да затворите приложението си и всичките му ресурси, можете да стартирате eb прекратявам.

Вече успешно внедрихте уеб приложение на Golang в AWS Elastic Beanstalk с помощта на CLI инструмента Elastic Beanstalk. Процесът е много лесен и може да се следва за внедряване на всяка форма на уеб приложение Golang в Elastic Beanstalk.

Можете да проверите таблото за управление на Elastic Beanstalk в конзолата на AWS, за да видите състоянието или друга информация за вашата среда и приложение.

Разполагане на уеб приложения в Elastic Beanstalk

Elastic Beanstalk е надежден начин да пренесете вашите приложения от локално в реално състояние с много лесни стъпки. Можете лесно да внедрите и управлявате своите малки и големи приложения, като използвате всяко от средствата, предоставени от AWS, включително уеб конзолата, AWS CLI, EB CLI, AWS API или AWS SDK.

За по-нататъшна практика със знанията, получени от тази статия, можете да помислите за изграждане на CRUD API с Go и внедряването му в Elastic Beanstalk.