新建可让外网连通的AWS-mysql实例

aws提供了可以直接使用的托管关系型数据库RDS,里面包含很多我们熟悉的关系型数据库实例比如mysql。

我们在新建托管的mysql实例时,默认是只能让VPC内网内的实例使用内网ip来访问。

在mysql的管理界面里看到一个 是否允许公网访问的的按钮。但是我们发现如果安全组和数据库VPC子网配置不对的话,点击打开允许公网访问之后还是远程连接不上mysql的。

所以本章我们来记录一下新建可让外网连通的aws-mysql实例,帮助我们跳过一些坑。

新建VPC网络

找到VPC服务,使用VPC向导进行VPC的新建,跟着步骤走即可。

一般选择带有公网和私有子网的VPC,如下图:

根据情况选择我们的可用区和弹性ip,和命名即可。

创建完成后我们有两个子网public和private。

这时候public子网并不能直接通外网,必须要新创建internet网关才能通到外网。
新建internet网关

输入名称创建即可

新建NAT网关
把public子网和弹性ip关联起来。

子网关联internet网关,找到pubilc子网,点击路由表,编辑

选中igw路由表即可。(public的子网全部要选择igw路由才能通外网)

private子网只要关联到nat路由表即可。

新建安全组

我们要注意vpc的public和private里的安全组规则如下:
private

public

这里一般不需要修改。

我们要新建一个mysql专用的 安全组,放开全部的端口。
如下:
vpc选择我们前面新建的vpc

注意入站规则要全放通

出战规则默认即可。

创建数据库子网组

在新建RDS的mysql实例之前,还需要新建一个数据库的子网组。

这个子网组很重要,决定了我们后续外网能不能连接到该数据库。

填写名称描述,两个地方需要注意,VPC选择我们上面创建的VPC。

添加子网时 只能添加public的子网,子网id需要自己去子网组那里看看,对应起来。

不能添加全部的子网组,如果里面有private的子网组,则外网可能连不通。

如果后续选中多可用区部署的话,需要再多新建一个public子网,并同样关联到igw路由表。

创建RDS实例

选择mysql,根据版本和配置选择参数,有几个需要注意的地方。

这里的高级设置步骤里有四个重要的点,每一个都决定着外网能不能连通这个数据库。
如下图:

vpc选择我们新建的那个。
子网组选择我们新建的数据库子网组
公开可用性 选择是
安全组 选择开通了全部入站的 安全组。

其他参数根据情况选择,启动即可。

注意 如果是已经启动的数据库实例再回来修改成正确的配置,也可能连接不上。

所以最好新建。

外网连接数据库

创建完成后我们能在实例信息这里看到连接信息和端口,已经出入站规则以及子网组。

需要尤其注意的就是数据库子网组里关联的子网,必须都是public的子网(有igw路由表)即可。

连接语句使用

mysql -h pipeline-test-db.amazonaws.com.cn -P 3306 -u root -p

猜你喜欢

转载自blog.csdn.net/q383965374/article/details/80285028