安全组链接EC2-负载均衡器-RDS

时间:2018-08-31 15:49:47

标签: amazon-web-services amazon-ec2 rds aws-security-group

虽然安全组的设置是非常简单的做法,但是在关注应用程序安全性和管理EC2实例,Load Balancer和RDS之间的连接时,我很难使用正确的模板进行应用。

我担心的是,我知道某些应用程序不应具有公共访问权限,而只能由使用它们的应用程序访问,但不确定实现该链接的最佳方法。

是否应将负载均衡器作为安全组配置的来源,然后附加的EC2实例仅引用负载均衡器的设置? RDS应该链接到EC2安全组还是负载均衡器?任何有关设计和当前设置方面的思考的指导都将非常有帮助!

负载均衡器:

Type | Protocol | Port Range | Source

HTTP | TCP | 80 | *Public*
SSH | TCP | 22 | *Private IP*
HTTPS | TCP | 443 | *Public*

EC2实例:

Type | Protocol | Port Range | Source

HTTP | TCP | 80 | *Load Balancer Security Group*
SSH | TCP | 22 | *Load Balancer Security Group*
HTTPS | TCP | 443 | *Load Balancer Security Group*

RDS:

Type | Protocol | Port Range | Source

All TCP | TCP | 0 - 65535 | *EC2 Instance Security Group*
PostgreSQL | TCP | 5432 | *Public*
PostgreSQL | TCP | 5432 | *Public (IPv6)*
SSH | TCP | 22 | *Private IP*

1 个答案:

答案 0 :(得分:3)

您可以从RDS安全组中删除SSH和All,因为它们将永远不会使用。 RDS sec组应指定需要连接的EC2 sec组。这意味着您还应该删除可公开访问的引用。

是否可以从Internet访问ELB?如果这样的话,除了您应该从ELB删除SSH规则(因为它永远不会使用)(您不能SSH到ELB并且ELB不会负载均衡SSH连接)之外,您应该从SSH规则中删除。

EC2秒组应具有允许ELB访问的规则。换句话说,应该为端口80和443添加定义ELB秒组ID的规则,这基本上就是您拥有的端口。

删除(或更改)允许从ELB进行SSH访问的EC2秒组规则,因为ELB不支持负载平衡ssh连接。理想情况下,应将其锁定在您的管理位置(您的办公室)。

基本上,如下所示:

ELB

Type | Protocol | Port Range | Source

HTTP | TCP | 80 | *Public*
HTTPS | TCP | 443 | *Public*

EC2

Type | Protocol | Port Range | Source

HTTP | TCP | 80 | *Load Balancer Security Group*
HTTPS | TCP | 443 | *Load Balancer Security Group*
SSH | TCP | 22 | *Your office IP address (best practices)*

RDS

Type | Protocol | Port Range | Source

PostgreSQL | TCP | 5432 | *EC2 Instance Security Group*

最后,对于ELB,您可以在ELB处终止SSL连接,然后通过端口80将连接转发到EC2后端实例。这使您可以在一处管理SSL证书(ELB)。在需要非常严格的合规性的情况下,您不应执行此操作,因为这会在ELB-> EC2之间造成加密方面的空白。但是,除非您要处理PCI或HIPAA合规性问题,否则您实际上不必担心。

然后,您的EC2秒组将类似于以下内容:

EC2

Type | Protocol | Port Range | Source

HTTP | TCP | 80 | *Load Balancer Security Group*
SSH | TCP | 22 | *Your office IP address (best practices)*
相关问题