Привет друзья,
В этом руководстве мы увидим, как мы можем развернуть приложение Spring Boot поверх экземпляра AWS EC2.

Вот шаги, которые мы собираемся выполнить.
1. Создайте проект Spring Boot с помощью Spring Boot Initializer.
2. Создайте конечную точку отдыха, к которой мы можем получить доступ после развертывания.
3. Запустите инстанс EC2
4. Скопируйте наш проект Spring Boot с нашего локального компьютера в экземпляр EC2.
5. Подключитесь к экземпляру EC2, используя SSH
6. Удалите JDK 7 и установите JDK 8 поверх экземпляра EC2
7. Выполните опарник пружины на экземпляре EC2
8. Убедитесь, что ваша группа безопасности разрешает входящий трафик из Интернета через порт 8080 и по протоколу TCP
9. Протестируйте приложение, нажав URL-адрес конечной точки в браузере .
Итак, давайте посмотрим шаг за шагом ….
1. Создайте проект Spring Boot с инициализатором Spring Boot
Вы можете следовать одному из моих предыдущих руководств, где я объяснил шаг за шагом, как вы можете создать весенний загрузочный проект, используя Spring Initialiser. Здесь ссылка.
Как создать проект Spring Boot с помощью Spring Initialiser
В этом примере я дал проекту «springbootproject», чтобы вы могли присвоить то же имя, которое будет использоваться в дальнейших действиях.
2. Создайте конечную точку отдыха, к которой мы можем получить доступ после развертывания.
Добавьте следующую конечную точку Rest в проект. Мы добавляем эту очень базовую конечную точку, чтобы мы могли позже протестировать приложение, нажав эту конечную точку после развертывания.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
|
package com.blogspot.javasolutionsguide.springbootproject;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * @author JavaSolutionsGuide * */@RestController@RequestMapping(value = "/api")public class Hello {@GetMapping(value = "/v1/data")public String sayHelloWorld() { return "Hello JavaSolutionsGuide Readers";}} |
3. Запустите экземпляр EC2
Я написал подробное пошаговое руководство, которое объясняет, как запустить экземпляр EC2 в AWS.
Вот ссылка. Как запустить экземпляр EC2 на AWS
4. Скопируйте наш проект Spring Boot с нашего локального компьютера в экземпляр EC2.
Поскольку мы хотим развернуть наш весенний загрузочный проект на EC2, код должен перейти на экземпляр EC2.
скопируйте код с вашего локального компьютера в экземпляр EC2, выполнив следующую команду из каталога, где лежит ваш код.
scp -i / Пользователи / Aakarsh / загрузки /
EC2Keypair.pem /Users/Aakarsh/Downloads/springbootproject/target/springbootproject-0.0.1-SNAPSHOT.jar ec2-user@ec2-54-242-53-241.compute-1.amazonaws.com: ~
Синтаксис scp выглядит следующим образом
scp -i <путь к файлу pem на локальном компьютере> <путь к проекту начальной загрузки или ваши результаты> user @ имя удаленного хоста: ~
УПП
Вы можете прочитать больше о SCP по следующей ссылке Secure Copy Protocol
Файл .pem
Когда вы запускаете экземпляр EC2 в AWS, вы указываете пару ключей. Вы можете указать существующую пару ключей или новую пару ключей, которые вы создаете при запуске. Во время загрузки EC2 содержимое открытого ключа помещается в экземпляр в запись в ~ / .ssh / авторизованные ключи. Чтобы войти в свой экземпляр, вы должны указать закрытый ключ (файл .pem) при подключении к экземпляру.
ec2 пользователь
обратите внимание, что каждый экземпляр Linux запускается с учетной записью пользователя системы Linux по умолчанию. Имя пользователя по умолчанию определяется API, который пользователь указал при запуске экземпляра. Для Amazon Linux 2 или Amazon Linux API имя пользователя — ec2-user.
Знак тильды (~)
~ представляет домашний каталог удаленной системы EC2.
5. Подключитесь к экземпляру EC2, используя SSH
Для подключения к экземпляру EC2 необходимо выполнить следующие инструкции.

Эти инструкции вы получите, как только вы нажмете на экземпляры, а затем нажмите кнопку Подключиться на следующем экране

Вот как это выглядит, когда вы выполняете команды со своего терминала и подключаетесь к экземпляру ec2.

6. Удалите JDK 7 и установите JDK 8 поверх экземпляра EC2
Экземпляр EC2, который я получил от AMI, по умолчанию открывает jdk 7.
Мы также можем продолжить работу с JDK 7, но так как я сейчас использую JDK большую часть времени и скомпилировал свой проект только с jdk 8, я удалил JDK 7 и установил JDK 8.
Команда для удаления JDK 7
sudo yum удалить java-1.7.0-openjdk

Команда для установки JDK 8
sudo yum установить Java-1.8.0


7. Выполните опарник пружины на экземпляре EC2
Выполнить следующую команду
java -jar springbootproject-0.0.1-SNAPSHOT.jar

8. Убедитесь, что ваша группа безопасности разрешает входящий трафик из Интернета через порт 8080 и по протоколу TCP
Нажмите на экземпляр в консоли AWS и проверьте группу безопасности, связанную с вашим экземпляром.

Как мы можем видеть на скриншоте выше, группа безопасности, связанная с этим экземпляром EC2, является launch-wizard-1
Теперь, когда мы открываем эту группу безопасности, у меня есть следующая запись, которая, как вы можете видеть, разрешает трафик из Интернета через порт 22 только с использованием SSH. В результате именно поэтому мы смогли подключиться с помощью SSH с нашего компьютера к этому экземпляру EC2. Если мы удалим это правило отсюда, SSh не будет работать

Но теперь, когда мы хотим протестировать нашу конечную точку из браузера (интернета), используя протокол http, и наше приложение должно быть доступно через порт 8080. поэтому должно быть правило, соответствующее этому в группе безопасности.
Итак, давайте продолжим и добавим правило входящей группы безопасности
Нажмите «Сохранить», и ваше новое правило будет сохранено. Также вам не нужно перезапускать свой экземпляр, чтобы применить этот эффект правила группы безопасности. Он вступит в силу немедленно, как только вы сохраните правило.
9. Протестируйте приложение, нажав URL-адрес конечной точки из браузера.
Нажмите следующий URL в вашем браузере
http://ec2-3-19-64-196.us-east-2.compute.amazonaws.com:8080/api/v1/data
Здесь ec2-3-19-64-196.us-east-2.compute.amazonaws.com является общедоступным DNS экземпляра EC2.

Итак, как вы можете видеть, мы можем видеть ответ от нашей конечной точки успешно, что означает, что springbootproject успешно развернут и работает как ожидалось.
Вот и все для этого урока. Спасибо за чтение. Также я собираюсь написать больше такого урока на AWS в ближайшие дни. Если вы найдете этот урок полезным, не забудьте подписаться на блог, чтобы не пропустить обновление последних блогов.
|
Опубликовано на Java Code Geeks с разрешения Гаурава Бхардваджа, партнера нашей программы JCG . См. Оригинальную статью здесь: Как развернуть приложение Spring Boot на экземпляре AWS EC2 Мнения, высказанные участниками Java Code Geeks, являются их собственными. |