Amazon AWS创建Elastic Beanstalk,部署Tomcat,配置MySQL,发布Spring Boot应用

说明

本文记录笔者在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
在这里插入图片描述
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. 实操起来遇到很多坑,所以记录下来。

发布了167 篇原创文章 · 获赞 17 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/zgpeace/article/details/104724777
今日推荐