Отнимающий много времени процесс настройки необходимых ресурсов один за другим больше не требуется для развертывания веб-приложений и серверов.
Продукты «платформа как услуга» (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или сервис мониторинга в cloudwatch. Elastic Beanstalk обрабатывает все процессы настройки ресурсов и позволяет развертывать различные виды приложений, включая Node.js, Golang, PHP, Docker и так далее.Создание простого веб-сервера Golang
Для целей этого руководства вам необходимо иметь работающее приложение Golang для развертывания на AWS Elastic Beanstalk, поэтому в этом разделе создается простой веб-сервер Go.
Вам нужна среда разработки Golang, настроенная на вашем компьютере, чтобы следовать этому разделу.
Первый шаг — инициализировать новый проект Golang, что можно сделать из терминала, выполнив следующие команды:
После этого вы можете открыть каталог проекта в предпочитаемой вами среде IDE. В корневом каталоге проекта создайте папку с именем статический и создать index.html файл в нем. Скопируйте и вставьте следующий код в файл HTML и сохраните его.
HTML>
<HTMLязык="ан">
<голова>
<метакодировка="УТФ-8">
<заголовок>Привет, мир!заголовок>
голова>
<тело>
<h1>Hello World от Elastic Beanstalkh1>
тело>
HTML>
Вернитесь в корневой каталог вашего проекта и создайте приложение.go файл. Скопируйте и вставьте код ниже в свой приложение.go файл и сохраните его. Вы должны назвать основной файл приложение.go потому что это файл, который Elastic Beanstalk будет искать для сборки вашего приложения в процессе развертывания.
упаковка основной
Импортировать (
"бревно"
"сеть/http"
)функцияосновной() {
статический := http. Файловый сервер (http. Директор("./статический"))
http. Ручка("/", статический)
бревно. Фатальный (http. слушать и обслуживать(":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, интерфейс командной строки Elastic Beanstalk (EB CLI) и из веб-консоли, но в этом руководстве вы узнаете, как выполнить развертывание в Elastic Beanstalk из терминала с помощью EB CLI. инструмент.
Вы можете ознакомиться с Руководство по установке AWS EB CLI подробное руководство по установке и настройке интерфейса командной строки EB, чтобы следовать инструкциям в этом разделе. После того, как вы закончите установку и настройку EB CLI, вы можете продолжить и выполнить следующие шаги, чтобы развернуть свое приложение Golang.
- Откройте новое окно терминала и перейдите в папку проекта приложения Go, которое нужно развернуть, с помощью CD команда.
- Бегать Эб инициализация для инициализации нового репозитория CLI Elastic Beanstalk. Когда вы впервые запускаете эту команду после установки, EB CLI предложит вам параметры начальной настройки, как показано в следующих шагах.
- После выбора предпочтительного региона вы должны настроить свои учетные данные безопасности (идентификатор ключа доступа и секретный ключ). Существует исчерпывающее руководство, предоставленное AWS при создании учетных данных безопасности в консоли АВС.
- Далее вы должны определить имя приложения, которое вы развертываете. По умолчанию используется имя папки вашего текущего проекта.
- Следующим шагом является выбор платформы приложения, которое вы собираетесь развернуть, в этом случае вам следует выбрать 4-й вариант, поскольку вы развертываете приложение Golang.
- В следующем запросе вас спросят, хотите ли вы включить SSH-соединение для вашего развернутого приложения. Это рекомендуется, поскольку это обеспечивает легкий удаленный доступ и отладку вашего приложения, но в этом руководстве Нет выбран, так как это простое приложение.
Строка, указывающая, что CodeCommit не может быть настроена, не о чем беспокоиться, так как это связано с тем, что в этом примере в проекте не используется Git или любая другая система управления версиями.
- После выполнения описанных выше шагов будет создан новый репозиторий Elastic Beanstalk CLI, и теперь вы можете создать среду Elastic Beanstalk для развертывания своего приложения на следующих шагах.
- Бегать eb создать «имя среды» для создания новой среды, называемой указанной имя среды. Среда создается со всеми необходимыми ресурсами, включая экземпляр EC2, группу автоматического масштабирования, корзину S3, балансировщик нагрузки и т. д. Этот процесс занимает около 5-10 минут в зависимости от скорости сети.
Так же, как когда вы развернуть статический веб-сайт на AWS, вашему приложению EB также назначается URL-адрес (отмечен красным прямоугольником на снимке экрана выше), который вы можете использовать для доступа к своему веб-приложению.
- После успешного выполнения приложение готово к предварительному просмотру, и вы можете запустить открыть чтобы открыть развернутое приложение в браузере. Теперь вы должны увидеть Привет, мир отображается в вашем веб-браузере с использованием URL-адреса, назначенного ему Elastic Beanstalk.
Всякий раз, когда вы вносите изменения в свое приложение, вы можете запустить eb развернуть чтобы отправить последние обновления Elastic Beanstalk. И чтобы закрыть ваше приложение и все его ресурсы, вы можете запустить еб прекратить.
Вы успешно развернули веб-приложение 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.