Spring Boot: развертывание в облаке, Boxfuse и Amazon Web Services

Boxfuse работает, превращая исполняемый jar или war Spring Boot в минимальный образ виртуальной машины, который можно развернуть без изменений либо в VirtualBox, либо в AWS. Boxfuse поставляется с глубокой интеграцией для Spring Boot и использует информацию из вашего файла конфигурации Spring Boot для автоматической настройки портов и URL-адресов проверки работоспособности (health check). Boxfuse использует эту информацию как для образов, которые он создает, так и для всех ресурсов, которые он предоставляет (экземпляры, группы безопасности, эластичные балансировщики нагрузки и т. д.).

После того как вы создали учетную запись Boxfuse, подключили ее к своей учетной записи AWS, установили последнюю версию клиента Boxfuse и убедились, что приложение было создано Maven или Gradle (с помощью, например, mvn clean package), вы можете развернуть приложение Spring Boot в AWS с помощью команды, аналогичной следующей:

$ boxfuse run myapp-1.0.jar -env=prod

Если в текущем каталоге присутствует файл boxfuse.conf, он учитывается.

По умолчанию Boxfuse активирует профиль Spring с именем boxfuse при запуске. Если ваш исполняемый файл jar или war содержит файл application-boxfuse.properties, Boxfuse строит свою конфигурацию на основе свойств, которые он содержит.

На этом этапе boxfuse создает образ для вашего приложения, загружает его, а также настраивает и запускает необходимые ресурсы в AWS, что приводит к выводу, подобному следующему примеру:

Fusing Image for myapp-1.0.jar ...
Image fused in 00:06.838s (53937 K) -> axelfontaine/myapp:1.0
Creating axelfontaine/myapp ...
Pushing axelfontaine/myapp:1.0 ...
Verifying axelfontaine/myapp:1.0 ...
Creating Elastic IP ...
Mapping myapp-axelfontaine.boxfuse.io to 52.28.233.167 ...
Waiting for AWS to create an AMI for axelfontaine/myapp:1.0 in eu-central-1 (this may take up to 50 seconds) ...
AMI created in 00:23.557s -> ami-d23f38cf
Creating security group boxfuse-sg_axelfontaine/myapp:1.0 ...
Launching t2.micro instance of axelfontaine/myapp:1.0 (ami-d23f38cf) in eu-central-1 ...
Instance launched in 00:30.306s -> i-92ef9f53
Waiting for AWS to boot Instance i-92ef9f53 and Payload to start at https://52.28.235.61/ ...
Payload started in 00:29.266s -> https://52.28.235.61/
Remapping Elastic IP 52.28.233.167 to i-92ef9f53 ...
Waiting 15s for AWS to complete Elastic IP Zero Downtime transition ...
Deployment completed successfully. axelfontaine/myapp:1.0 is up and running at https://myapp-axelfontaine.boxfuse.io/

После этого ваше приложение должно быть запущено на AWS.


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки