在特定VPC上创建AWS RDS

时间:2016-11-04 15:50:55

标签: python amazon-web-services deployment amazon-ec2 boto3

我有动态部署在EC2实例上的Web应用程序(可扩展)。我也有RDS mysql实例,它由python与boto3动态创建。现在RDS的端口3306是公共的,但我想仅允许来自特定VPC的EC2的连接。我可以在特定的VPC上创建RDS(与EC2实例相同)吗?创建此类EC2 + RDS的最佳做法是什么?

2 个答案:

答案 0 :(得分:2)

RDS显示端点FQDN并不意味着它是“公共”。您需要处理VPC子网,安全组才能启用连接。

创建RDS时,必须创建db_subnet并指向特定的VPC子网。这是RDS所在的逻辑网络。

接下来将访问:只需将RDS附加到允许EC2访问3306的安全组。

参考:Creating a MySQL DB Instance and Connecting to a Database on a MySQL DB Instance

答案 1 :(得分:1)

将Amazon EC2实例与Amazon RDS数据库放在同一个VPC中当然是最佳做法。建议的安全性是:

  • 为您的网络应用程序创建安全组 EC2实例(Web-SG
  • 在同一个VPC中的私有子网中启动您的Amazon RDS实例
  • 在RDS实例上配置安全组,以允许来自Web-SG安全组
  • 的传入MySQL(3306)流量

如果您的RDS实例当前位于不同的VPC中,您可以使用快照,然后从快照创建新数据库。

如果您使用的是 Elastic Load Balancer ,您甚至可以将您的Amazon EC2实例放在私有子网中,因为所有访问都将通过Load Balancer进行。