AWS Beanstalk + Spring Boot
Огляд
Elastic Beanstalk (EB) — це сервіс AWS, який використовує Amazon EC2 та S3. Він також розгортає, управляє та масштабує додатки для вас.
AWS Elastic Beanstalk — це зручний сервіс для розгортання та масштабування веб-додатків і сервісів, розроблених на Java, .NET, PHP, Node.js, Python, Ruby, Go та Docker, на знайомих серверах, таких як Apache, Nginx, Passenger і IIS.
Існує кілька способів розгортати додатки за допомогою Elastic Beanstalk. Ви можете розгорнути їх через консоль керування, CLI або API. Вражаюче те, що Elastic Beanstalk після завантаження вашого додатка бере на себе такі завдання, як балансування навантаження, моніторинг стану, масштабування та інші. Детальніше можна дізнатися про Elastic Beanstalk.
У цьому блозі ми розглянемо наступні кроки, як розгорнути Docker образи на AWS Elastic Beanstalk:
- Створити дуже простий додаток на Spring Boot з одним простим контролером.
- Dockerize цей додаток Spring Boot і завантажити його в Docker Hub.
- Завантажити цей Docker образ додатка Spring Boot з Docker Hub і розгорнути його на Amazon Elastic Beanstalk.
Отже, є 3 частини цього підручника: Створення додатка, Dockerize додатка та Розгортання додатка за допомогою Elastic Beanstalk.
Примітка : Я пропускаю кроки 1 і 2, оскільки я вже виконував їх у моєму попередньому пості. Ви не обмежені використанням додатка Spring Boot, який я створив у своєму попередньому підручнику, не соромтеся пропустити частини 1 і 2, якщо у вас вже є Dockerized додаток.
Вимоги
- Створіть обліковий запис AWS. AWS пропонує безкоштовний тариф з доступом до багатьох корисних сервісів, таких як Amazon EC2 та S3.
- Ви також можете завантажити Docker.
- Любий зручний IDE. Я використовую Visual Studio Code.
Частина 1: Створення додатка
Зверніться до мого попереднього посту.
Частина 2: Dockerize додатка
Зверніться до мого попереднього посту.
Частина 3: Розгортання додатка на Elastic Beanstalk
Незалежно від того, який варіант ви виберете, ви завжди завантажуєте один файл до Elastic Beanstalk для розгортання. Це може бути:
- Простий Dockerfile.
- Простий Docker.aws.json файл.
- Zip файл, що містить або Dockerfile, або Dockerrun.aws.json разом з іншими активами додатка.
Ми виберемо другий варіант, тобто Dockerrun.aws.json файл, оскільки у нас вже є образ у Docker Hub.
Ім'я образу: Ім'я Docker образу, створеного в попередньому пості. Завантаження з Docker Hub. Просто оновіть ім'я образу та порти в наведеному файлі, якщо хочете запустити інші додатки.
- Увійдіть у AWS Management Console. Виберіть сервіс Elastic Beanstalk.
AWS Management Console
2.
Перший крок однаковий для всіх додатків Elastic Beanstalk — просто натискаєте "Створити додаток" (Create Application), заповнюєте ім’я та опис:
Створення додатка
- Виберіть платформу Docker, завантажте файл Dockerrun.aws.json і натисніть "Створити додаток" (Create Application).
Завантаження файлу Dockerrun.aws.json
- Це створить групи безпеки, цільові групи, балансувальник навантаження, групу авто масштабування та екземпляр EC2 у фоновому режимі для нашого додатка. Ви побачите логи, як показано нижче. Ми можемо почекати, поки все завершиться.
Запуск додатка та логи
- Як тільки розгортання завершиться, через деякий час ми побачимо створений додаток із активним станом здоров'я. Якщо натиснемо на URL, побачимо привітальний текст.
- За замовчуванням для нашого додатка створена середовище, яке містить деталі стану здоров'я, події, платформу та інші налаштування зліва, що дозволяють налаштувати поведінку додатка.
$ curl http://springbootsample-env.eba-m9amqwhu.ap-southeast-2.elasticbeanstalk.com/Welcome to Jib sample app
Підсумок
Це так просто. Лише кілька кліків, і ми розгорнули наш Dockerized додаток на AWS Elastic Beanstalk. Ті ж самі кроки можна виконати за допомогою команд AWS CLI.
Не потрібно хвилюватися про ручну настройку екземплярів EC2, їх provisioning або масштабування — все це зробить Elastic Beanstalk. Пам’ятайте, що за допомогою Elastic Beanstalk ви не обмежені лише Docker або CLI; Elastic Beanstalk дає вам можливість використовувати кілька мов програмування та платформ, а також різні способи розгортання додатків, які відповідають вашим вимогам.
Тепер, якщо ви помітили, URL, створений у Beanstalk, є HTTP URL. Оскільки HTTPS є більш безпечним способом зв'язку, ми розглянемо в моєму наступному пості, як створити HTTPS URL для нашого додатка в Beanstalk.
Щасливого кодування!
Посилання
[
Розгортання додатків Elastic Beanstalk з Docker контейнерів
Elastic Beanstalk підтримує розгортання веб-додатків з Docker контейнерів. За допомогою Docker контейнерів ви можете…
docs.aws.amazon.com
](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/createdeploydocker.html?source=post_page-----82a0c6871297--------------------------------)
Перекладено з: Deploy Docker Apps on AWS Elastic Beanstalk