2014-05-06 163 views
1

我刚刚开始使用AWS EC2实例,并且我想将EC2上的MySQL数据库迁移到RDS实例。了解aws和rds连接

我的问题是关于安全性,当我连接到我的EC2实例时,我使用安全密钥(.pem)文件来加密从笔记本电脑到EC2的连接。但是当EC2连接到RDS时,我相信它将在RDS上使用端口3306并且是未加密的?这是我的Web应用程序的安全风险吗?

如果这是安全风险将EC2安全连接到RDS的最佳做法是什么?

谢谢!

回答

0

https://aws.amazon.com/rds/faqs/

我可以加密我的申请,我的数据库实例使用SSL之间的连接?

是的,但是,该选项目前仅支持MySQL,SQL Server和PostgreSQL引擎。

Amazon RDS为每个数据库实例生成一个SSL证书。一旦建立了加密连接,数据库实例与您的应用程序之间传输的数据将在传输过程中加密。如果您需要在数据库中“静止时”对数据进行加密,则应用程序必须管理数据的加密和解密。另请注意,Amazon RDS中的SSL支持用于加密应用程序与数据库实例之间的连接;不应该依赖它来验证数据库实例本身。

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.SSLSupport

+0

好吧,这看起来像正确的路径,所以我会在今天晚些时候尝试。他们提到,加密数据会减慢连接速度,这似乎很明显,但是您是否有任何想法知道减速会有多明显?谢谢! – Pabs

0

您可以在安全组中设置规则,只允许从ec2 ip的预定义列表(如果需要的话)(或任何ips)连接到您的rds实例。 AWS将拒绝任何试图访问不在列表中的RDS的流量。

+0

有趣的想法,怎么会跟我ELB工作?我试图将其设置为可扩展的,如果我使用多个EC2来处理高需求流量,EC2 IP将会有所动态。 – Pabs

+1

@Pabs您可以在规则中使用安全组,而不是在特定IP中使用安全组。 – ceejayoz

+0

这将只允许我的EC2与数据库交谈......但是传输的信息又如何呢?它仍然是纯文本的,所以足够精明的人可以在传输数据时读取数据吗? – Pabs