Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 安全组链接EC2-负载均衡器-RDS_Amazon Web Services_Amazon Ec2_Rds_Aws Security Group - Fatal编程技术网

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

Amazon web services 安全组链接EC2-负载均衡器-RDS,amazon-web-services,amazon-ec2,rds,aws-security-group,Amazon Web Services,Amazon Ec2,Rds,Aws Security Group,虽然安全组的设置非常简单,但在关注应用程序安全性和管理EC2实例、负载平衡器和RDS之间的连接时,我很难使用正确的模板 我担心的是,我知道某些应用程序不应该具有公共访问权限,只能由使用它们的应用程序访问,但不确定实现链接的最佳方法 负载平衡器是否应该是安全组配置的源,然后连接的EC2实例只引用负载平衡器设置?RDS应该链接到EC2安全组还是负载平衡器?任何关于我应该在设计和当前设置方面思考的指导都将非常有用 负载平衡器: Type | Protocol | Port Range | Source

虽然安全组的设置非常简单,但在关注应用程序安全性和管理EC2实例、负载平衡器和RDS之间的连接时,我很难使用正确的模板

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

负载平衡器是否应该是安全组配置的源,然后连接的EC2实例只引用负载平衡器设置?RDS应该链接到EC2安全组还是负载平衡器?任何关于我应该在设计和当前设置方面思考的指导都将非常有用

负载平衡器:

Type | Protocol | Port Range | Source

HTTP | TCP | 80 | *Public*
SSH | TCP | 22 | *Private IP*
HTTPS | TCP | 443 | *Public*
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*
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*
EC2实例:

Type | Protocol | Port Range | Source

HTTP | TCP | 80 | *Public*
SSH | TCP | 22 | *Private IP*
HTTPS | TCP | 443 | *Public*
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*
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*
RDS:

Type | Protocol | Port Range | Source

HTTP | TCP | 80 | *Public*
SSH | TCP | 22 | *Private IP*
HTTPS | TCP | 443 | *Public*
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*
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*

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

ELB是否可以从互联网访问?如果是这样的话,您可以继续,但您应该从ELB中删除SSH规则,因为它永远不会被使用(您不能SSH到ELB,ELBs不平衡SSH连接)

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

删除(或更改)允许从ELB进行SSH访问的EC2 sec组规则,因为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)*
Type | Protocol | Port Range | Source

HTTP | TCP | 80 | *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*
最后,对于ELBs,您可以在ELB处终止SSL连接,然后通过端口80将连接转发到EC2后端实例。这使您能够在一个位置(ELB)管理SSL证书。您不应该在需要非常严格的遵从性的情况下执行此操作,因为这会在ELB->EC2之间的加密中留下空白。但你真的不需要担心这一点,除非你正在处理PCI或HIPAA合规性问题

然后,您的EC2 sec组将如下所示:

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)*
Type | Protocol | Port Range | Source

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

这太棒了。这正是我所寻求的帮助,我很欣赏其中的道理和细节。我已经从一个弹性Beanstalk实例启动了ELB和EC2,看起来它正在处理SSL部分,所以看起来删除HTTPS协议的修改后的EC2设置将是更安全的路由。