暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Amazon Relational Database Service(Amazon RDS)的访问控制和常见问题

西云数据云计算 2021-12-07
2622
 







当我们在使用亚马逊云科技云上数据库时,生产库中存储了重要的业务数据,为了数据安全和合规要求,该如何进行访问控制?测试库放到公网中,可以让工程师做到随时随地地连接、开发,该何保证其安全性?

Amazon Relational Database Service (Amazon RDS) 让您能够在云中轻松设置、操作和扩展关系数据库。它提供经济高效且可调整大小的容量,同时还可管理耗时的数据库任务,使您能够专注于应用程序和业务。

Amazon RDS 的网络配置相比 EC2 要复杂一些,为了 RDS 的高可用,其实例创建在 RDS 子网组上。如果需要跨越 VPC 访问 RDS,可以对两个 VPC 设置对等连接。









概念介绍




 RDS 子网组:

每个数据库子网组应包含可用区域中至少两个可用区的子网。在 VPC 中创建数据库实例时,您必须选择一个数据库子网组。数据库子网组中的子网需要全部是公有子网,或者全部是是私有子网,它们不能是公有子网和私有子网的组合。



 VPC 对等连接

VPC 对等连接是两个 VPC之间的网络连接,通过此连接,您可以使用私有 IPv4 地址或 IPv6 地址在两个 VPC 之间路由流量。这两个 VPC 中的实例可以彼此通信,就像它们在同一网络中一样。您可以在自己的 VPC 之间创建 VPC 对等连接,或者在自己的 VPC 与其他亚马逊云科技账户中的 VPC 之间创建连接。VPC 可位于不同区域内。








Amazon RDS 访问方式


1、不开启公网访问
对于生产库,强烈建议 RDS 实例放置在内网中,不开启公网访问,仅由最外层的 ELB 对外提供服务。


2、开启公网访问
对于测试库,如果希望开启公网访问,要满足如下条件。
  • RDS实例开启“公开访问”选项,此时 RDS 会被分配一个公网 IP。

  • 子网组中的子网路由需要配置 IGW 网关。

  • 放开安全组,比如 3306 端口的 0.0.0.0/0。


请注意:RDS 推荐使用终端节点进行连接,当 RDS 实例开启了“公开访问”选项,在同一个 VPC 当中,RDS 终端节点会被解析出私有 IP;在 VPC 之外,RDS 终端节点会被解析出公网 IP。


3、跨 VPC 访问
对于一些场景,为了冗余或者管理,可能存在这样的情况:应用服务器和 RDS 实例在不同的 VPC 中,就会用到“跨 VPC 访问”。


▼当 RDS实例保持在内网中,假设其在 VPC-A 中,如果另一个 VPC-B 中的 EC2 访问此 RDS实例,需要对 VPC-A 和 VPC-B 做 VPC 对等连接,这样就可以访问了。

▼当 RDS 实例开启了“公开访问”,假设其在 VPC-A 中,那么另一个 VPC-B 中的 EC2 访问此 RDS 实例,有两种方法:

方法一:可以对 VPC-B 中的 EC2 配置公网 IP,那么 VPC-A 中的 RDS 实例和 VPC-B 中的 EC2 可以通过公网访问。


方法二:此时也可以对 VPC-A 和 VPC-B 做 VPC 对等连接,请注意,默认情况下 VPC-B 中的 EC2 访问 RDS 的终端节点时,还是会返回其公网 IP,如果希望通过对等连接的私网 IP 继续访问,需要打开如下对等连接的选项:

  • 允许接受方 VPC 将请求方 VPC 主机的 DNS 解析为私有 IP 地址;

  • 允许请求方 VPC 将接受方 VPC 主机的 DNS 解析为私有 IP 地址。









加强控制:密码策略、端口、安全组


01

密码策略:增强复杂程度,包含大小写、特殊字符、数字组合,并且定期更改密码。

02

端口:可以修改为非默认端口,比如 MySQL 默认 3306 端口、Oracle 默认 1521 端口,可以修改为其他端口。

03

安全组:制定最小访问策略,比如 192.168.1.5/32 才可以访问,避免不同的应用系统发生误连的情况。









常见问题


1、网络不通


RDS 实例作为托管服务,是无法进行 ping 的,那么需要您对其进行 telnet 或者 nc 其端口来测试连通性,以 mysql 为例,比如:

telnet mysql.xxxxxxx.rds.cn-northwest-1.amazonaws.com.cn 3306

Trying 140.179.xx.xx...

Connected to mysql. xxxxxxx.rds.cn-northwest-1.amazonaws.com.cn.

Escape character is '^]'.

 

nc -zv mysql. xxxxxxx.rds.cn-northwest-1.amazonaws.com.cn 3306

Ncat: Connected to 140.179.xx.xx:3306.

Ncat: 0 bytes sent, 0 bytes received in 0.04 seconds.


如果这一步不通,请您检查 RDS 实例的安全组,可以对其端口临时打开,即把 3306 端口的源设置 0.0.0.0/0 。

如果 RDS 实例需要在公网环境下访问,并且打开了安全组,发现无法对其端口进行访问,请检查 RDS 所在子网组中的子网,是否挂载了 IGW 路由,只有路由中包含了 IGW,才能再访问公网。


2、忘记密码


如果主用户在登录 RDS 实例时,发现忘记密码导致密码错误,比如:

mysql -hmysql.xxxxxxx.rds.cn-northwest-1.amazonaws.com.cn -uroot -pPassword

mysql: [Warning] Using a password on the command line interface can be insecure.

ERROR 1045 (28000): Access denied for user 'root'@'xx.xx.xx.xx' (using password: YES)


那么可以在 RDS 控制台直接修改主用户密码,即可重置密码,然后用新密码再尝试登录。


3、 权限错误


如果主用户在登录 RDS 实例时,发现权限问题导致无法登录,比如意外修改了 user.mysql 表,那么同样的可以在 RDS 控制台直接修改主用户密码,除了重置密码,RDS 会同时重置主用户权限。


本次 Amazon RDS 连接的配置和访问控制先分析到这里,数据安全无小事,请大家做好 RDS 连接方式和安全配置!


作者介绍

姜江

西云数据云计算技术支持工程师

负责亚马逊云科技中国区 RDS 服务技术支持,协助客户解决 RDS 服务相关使用问题。



往期推荐

叮~请查收“亚马逊云科技支持”,助您在云之旅中取得成功!


END




长按识别左侧二维码

关注我们>>





关于西云数据(NWCD)]

宁夏西云数据科技有限公司(简称“西云数据”)是亚马逊云科技中国(宁夏)区域云服务的运营方和服务提供方,作为西云数据的战略技术合作伙伴,亚马逊云科技向西云数据提供技术、指导和专业知识。西云数据成立于 2015 年,是一家持有互联网数据中心服务和互联网资源协作服务牌照的云服务提供商。2017 年 12 月 12 日, 西云数据正式推出亚马逊云科技中国(宁夏)区域云服务,现已开通 3 个可用区。西云数据市场销售总部设立于北京,在全国多地设有分支机构以服务全国各地的企业客户。

西云数据致力于将世界先进的 Amazon Web Services 云计算技术带给中国客户,为客户提供优质、安全、稳定、可靠的云服务,全力支持中国企业和机构的创新发展。


关于亚马逊云科技]

15 年多以来,亚马逊云科技(Amazon Web Services)一直是世界上以服务丰富、应用广泛而著称的云平台。亚马逊云科技一直不断扩展其服务组合以支持几乎云上任意工作负载,目前提供了超过 200 项全功能的服务,涵盖计算、存储、数据库、联网、分析、机器人、机器学习与人工智能、物联网、移动、安全、混合云、虚拟现实与增强现实、媒体、以及应用开发、部署与管理等方面,遍及 25 个地理区域的 80 个可用区(AZ),并已公布计划在澳大利亚、印度、印度尼西亚、西班牙、瑞士和阿拉伯联合酋长国新建 6 个区域、18 个可用区。全球数百万客户,包括发展迅速的初创公司、大型企业和领先的政府机构都信赖亚马逊云科技,通过亚马逊云科技的服务强化其基础设施,提高敏捷性,降低成本。欲了解亚马逊云科技的更多信息,请访问:http://aws.amazon.com。

    发现“分享、赞、在看了吗,戳我看看吧~

文章转载自西云数据云计算,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论