说明
本文记录笔者在AWS创建Elastic Beanstalk应用的详细实现。
包括内容:

  1. Tomcat应用的创建
  2. MySQL数据库的创建,MySQL Work Bench数据库业务库scheme创建,表创建, 填充数据,查询数据
  3. Spring Boot应用操作数据库
  4. 同一套代码配置生产环境,开发环境,
  5. 部署到AWS,验证访问数据库

1. 创建Tomcat应用
1.1. Elastic Beanstalk访问地址:
https://us-east-2.console.aws.amazon.com/elasticbeanstalk/home

1.2. 点击右上角 Create New Application

 

 


1.3. 填写应用的名字

 

 

 


1.4. 创建环境Environment

 

 

 


1.5 选择环境层,这里是运行Tomcat,所以是website的服务,选择第一个。


1.6 创建Web Server环境,Platform一定要选择Tomcat

 

 

 
1.7 创建成功以后,在首页就可以看到应用了。笔者这里改了名字Zelus_Dev


1.8 点击域名进去,就可以看到应用首页。

 

 


2. 创建数据库
2.1 点击1.7页面的应用链接,进入界面默认选择Dashboard, 选择Configuration > 选择Grid View (Table View视图显示太长) > Database > Modify

 

 

 
2.2 选择MySQL数据库, 填写登录Username, Password. Retention表示数据库删除后要不要留镜像,如果选择snapshot是需要收费的。慎重!!

 

 

 
2.3 点击Apply后,创建数据库需要一段时间(数分钟).

2.4 当数据库配置好后,在Configuration overview 的 Database,看到Endpoint信息。

 

 

 
2.5 接下来用MySQL Workbench 连接远程AWS

2.6 填写连接内容

 

 

 
2.7 点击TestConnection, 发现连接失败。真实原因是有AWS Database安全设置导致的。

 

 

 
2.7 在2.4的Database 点击Endpoint链接进去DB identifier 列表,点击对应的DB identifier

 

 

 
2.8 点击DB实例, Connectivity & Security 下点击 Security > VPC security groups下的链接

 

 

 
2.9 修改内部机器Inbound访问数据库的安全设置,Inbound > Edit (修改Inbound就可以连接,Outbound可以不用设置)

 

 

 
2.10 安全策略Source 修改为Anywhere

 

 

 
2.11 同理Outbound外部访问数据库,也把安全侧率Source修改为Anywhere

 

 

 
2.12 重试2.7的步骤,点击TestConnection, 数据库连接成功。

 

 

 
2.13 点击2.6步骤的OK按钮,数据库连接会多一个连接项。点击AWS Zelus Dev,开启数据库工作台。

 

 

 
2.14 AWS Zelus Dev默认生成的数据库有ebdb, innodb, sys.

 

 

 
2.15 新建一个数据库zelusdb

 

 

 
2.16 点击右下角的apply > 进入到Review页面 > 点击右下角的Apply

 

 

 
2.17 创建成功以后,在Scheme下面多了zelusdb数据库

 

 

 
2.18 选择数据库zelusdb, 创建表city,插入数据,查询数据。

use zelusdb;

CREATE TABLE city (
    id INT PRIMARY KEY auto_increment,
    name varchar(20),
    state varchar(20),
    country varchar(20)
);

INSERT INTO city (name, state, country) VALUES ('Szczecin', 'Pomerania', 'Poland');


select * from city;


3. Spring Boot 操作数据库
请参考文章:易筋SpringBoot 2.1 | 第八篇:Mybatis访问MySQL

4. 配置prod生产环境和dev开发环境。
4.1 一份代码,只是数据库连接不一样如何配置呢? 可以通过配置文件的形式。
application.yml 配置active的配置文件,比如下面就是启用了dev的开发环境。application-dev.yml里面配置数据的信息。

 

 

 
4.2 application-dev.yml 数据库配置举例

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://dbidentifier.cmefjunjlcgs.us-east-2.rds.amazonaws.com:3306/yourdb
    username: "name"
    password: "password"

4.3 本地运行成功


5. 发布war包到AWS Tomcat服务器
5.1 导出war包,请参考文章:易筋SpringBoot 2.1 | 第三十四篇:Spring Boot导出war包部署到外部Tomcat

Maven package打包成功如下:

 

 
5.2 到AWS > Zelus-Dev > Dashboard > 点击Upload and Delpoy

 

 
5.3 选择5.1步骤导出来的包 > 填写Version label > 点击Deploy。

 

 
5.4 发布成功

 

 
5.5 访问数据库内容

 


总结
部署到AWS的步骤都在官方文档里面,
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.html

talk is cheap, show me the code. 实操起来遇到很多坑,所以记录下来。
————————————————
版权声明:本文为CSDN博主「程序员易筋」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zgpeace/java/article/details/104724777