说明
本文记录笔者在AWS创建Elastic Beanstalk应用的详细实现。
包括内容:
- Tomcat应用的创建
- MySQL数据库的创建,MySQL Work Bench数据库业务库scheme创建,表创建, 填充数据,查询数据
- Spring Boot应用操作数据库
- 同一套代码配置生产环境,开发环境,
- 部署到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