[JAVA] Déployer l'application Spring Boot sur Elastic Beanstalk

Jetons un coup d'œil aux étapes de déploiement d'une application Java à l'aide de Spring Boot sur Elastic Beanstalk (AWS PaaS). Puisqu'il s'agit du premier article, je pense que certaines zones ne peuvent pas être atteintes, mais veuillez comprendre.

Vous pouvez déployer sur Beanstalk à partir de la console AWS, mais cette fois, je veux le faire également à partir de l'outil CI, donc j'utiliserai CLI (EB CLI).

supposition

Cette fois, je vais vous expliquer la procédure de paramétrage de Beanstalk. Je vais omettre la création de l'application Spring Boot. L'outil de construction est gradle.

environnement

Mac OSX10.14.3

Installation de l'interface de ligne de commande EB

Installez la CLI Beanstalk avec homebrew.

$ brew install awsebcli

Installation de l'AWS CLI

Il installe également l'AWS CLI pour stocker les paramètres de clé d'accès et de clé d'accès secrète.

$ brew install awscli

Paramètres de clé d'accès

$ aws configure
AWS Access Key ID [None]: {Entrez la clé d'accès}
AWS Secret Access Key [None]: {Entrez la clé d'accès secrète}

Paramètres du projet

Déployez dans le répertoire du projet.

Exemple


$ cd workspace/ebdemo/demo

Tout d'abord, les paramètres du projet.

$ eb init

Nous allons le définir de manière interactive.

Région


Select a default region
1) us-east-1 : US East (N. Virginia)
2) us-west-1 : US West (N. California)
3) us-west-2 : US West (Oregon)
4) eu-west-1 : EU (Ireland)
5) eu-central-1 : EU (Frankfurt)
6) ap-south-1 : Asia Pacific (Mumbai)
7) ap-southeast-1 : Asia Pacific (Singapore)
8) ap-southeast-2 : Asia Pacific (Sydney)
9) ap-northeast-1 : Asia Pacific (Tokyo)
10) ap-northeast-2 : Asia Pacific (Seoul)
11) sa-east-1 : South America (Sao Paulo)
12) cn-north-1 : China (Beijing)
13) cn-northwest-1 : China (Ningxia)
14) us-east-2 : US East (Ohio)
15) ca-central-1 : Canada (Central)
16) eu-west-2 : EU (London)
17) eu-west-3 : EU (Paris)
18) eu-north-1 : EU (Stockholm)
(default is 3): 9

application


Select an application to use
1) [ Create new Application ]
(default is 1):

Enter Application Name
(default is "demo"):
Application demo has been created.

Plateforme → Java pour Spring Boot


Select a platform.
1) Node.js
2) PHP
3) Python
4) Ruby
5) Tomcat
6) IIS
7) Docker
8) Multi-container Docker
9) GlassFish
10) Go
11) Java
12) Packer
(default is 1): 11

Select a platform version.
1) Java 8
2) Java 7
(default is 1):

SSH


Cannot setup CodeCommit because there is no Source Control setup, continuing with initialization
Do you want to set up SSH for your instances?
(Y/n): Y

Select a keypair.
1) key
2) [ Create new KeyPair ]
(default is 2): 2

Déployer

Copiez le fichier jar de l'application à la racine du projet avant le déploiement.

$ cp build/libs/demo-0.0.1-SNAPSHOT.jar .

Déployer.

$ eb create
Enter Environment Name
(default is demo-dev):
Enter DNS CNAME prefix
(default is demo-dev):

Select a load balancer type
1) classic
2) application
3) network
(default is 2):

Cela prendra quelques minutes.

Contrôle de fonctionnement

Ça marche.

$ curl http://demo-dev.ap-northeast-1.elasticbeanstalk.com
Hello, World!

Déploiements secondaires et suivants

À partir de la deuxième fois, vous pouvez déployer uniquement avec la commande suivante. Si vous définissez SSH, la clé d'accès, etc., vous pouvez déployer automatiquement à partir des outils CI.

$ gradle clean build test
$ cp build/libs/demo-0.0.1-SNAPSHOT.jar .
$ eb deploy

Postscript

Il semble que les paramètres suivants soient requis dans application.properties.

server.port=5000

Recommended Posts

Déployer l'application Spring Boot sur Elastic Beanstalk
Elastic Beanstalk (Java) + Spring Boot + https
Déployer sur Ruby on Rails Elastic beanstalk (déploiement EB)
Créez une application Spring Boot à l'aide d'IntelliJ IDEA
Déployer automatiquement des applications Web développées en Java à l'aide de Jenkins [Spring Boot App Edition]
Disponibilité de l'application Spring Boot 2.3
Connectez-vous aux applications Web Spring Boot sur la plate-forme Microsoft ID
Déployer sur Ruby on Rails Elastic beanstalk (Construction de l'environnement)
Déployer le projet Spring Boot sur Tomcat dans XAMPP
Spring Boot sur Microsoft Azure
[Spring Boot] Création d'applications Web
Application Java CICS-Run - (4) Application Spring Boot
Essayez Spring Boot sur Mac
Déployer sur Ruby on Rails Elastic beanstalk (changement d'autorisation IAM)
[Java] Déployer l'application Spring Boot sur Azure App Service
Déployez l'application créée par Spring Boot sur Heroku (public) ②
Déployez l'application créée par Spring Boot sur Heroku (public) ①
Comment déployer l'application Rails sur AWS (résumé de l'article)
Développement d'applications Spring Boot dans Eclipse
Points de révision du code de l'application Spring Boot
gRPC sur Spring Boot avec grpc-spring-boot-starter
Déploiement à chaud avec le développement Spring Boot
Créer une application d'enquête avec Spring Boot
Déployez le fichier de guerre sur Heroku
Implémenter l'application Spring Boot dans Gradle
Essayez d'exécuter Spring Boot sur Kubernetes
Un mémo qui a touché Spring Boot
Créons une application Web de gestion de livres avec Spring Boot part1
Configuration minimale pour exécuter l'application Spring Boot sur Azure Web Apps
Créons une application Web de gestion de livres avec Spring Boot part3
Créons une application Web de gestion de livres avec Spring Boot part2
Traitement lors du démarrage d'une application avec Spring Boot
Création d'un environnement de développement Spring Boot dans Vagrant
Qu'est-ce qu'un fichier .original Spring Boot?
Mémo de construction de l'environnement Spring Boot sur Mac
[Spring Boot] Précautions lors du développement d'une application Web avec Spring Boot et du placement d'une guerre sur un serveur Tomcat indépendant
Un débutant Java a essayé de créer une application Web simple à l'aide de Spring Boot
Démarrez le développement d'applications Web avec Spring Boot
Déployer des applications Web Java sur Heroku
[Java] Déployer une application Web créée avec Eclipse + Maven + Ontology avec Heroku
Déployer un projet Eclipse basé sur Tomcat sur Heroku
Exécutez l'application WEB avec Spring Boot + Thymeleaf
J'ai essayé de cloner une application Web pleine de bugs avec Spring Boot
De la création d'un projet Spring Boot à l'exécution d'une application avec VS Code
Créez un site Web avec Spring Boot + Gradle (jdk1.8.x)
Configurer l'application Spring Boot avec le module multiple maven
Créez une application de recherche simple avec Spring Boot
Exécuter un projet Spring Boot avec VS Code
Comment ajouter un chemin de classe dans Spring Boot
Créer un serveur API Web avec Spring Boot
Créer un environnement de développement Spring Boot avec docker
Ce à quoi j'étais accro lors du développement d'une application Spring Boot avec VS Code
Défi Spring Boot
Forme de botte de printemps
Spring Boot Rappelez-vous
gae + botte à ressort
Intégration Tomcat, Apache et WebSocket intégrée à l'application Spring Boot
[Introduction] Créer une application Ruby on Rails