Gat*_*tos 5 security amazon-web-services amazon-elastic-beanstalk
我有两个 Elastic Beanstalk 应用程序“a”和“b”。任何人都应该能够通过 http 与 (a) 交谈,但只有 (a) 应该能够与 (b) 交谈。IE
internet -> a -> b
Run Code Online (Sandbox Code Playgroud)
现在,如果这两个应用程序都对互联网完全开放,一切都会正常。但是,一旦我尝试限制 (b) 的 ELB 的安全组,(a) 似乎就无法再连接了。
即,如果我允许 (b) 的负载均衡器安全组允许 http:0.0.0.0/0,则一切正常。但是,如果我将同一安全组设置为仅允许 http:[(a) 的安全组],则 (a) 将无法再与 (b) 通信。
两个应用程序都在同一个 VPC 中。我错过了什么?
- 编辑 -
明确地说:
在职的:
App A 的 ELB 安全组设置,允许任何人访问 HTTP/S
应用程序 A 的 EC2 安全组,只允许从 A 的 ELB 访问(是的,我在这里缺少 https,但现在可以了)
App B 的 ELB 安全组,允许任何人访问
App B 的 EC2 安全组,只允许从 B 的 ELB 访问
不工作:
一切都与上面相同,但将 B 的 ELB 安全组更改为仅允许来自 A 的 EC2 组的访问。哎呀,为了确定,我们将添加 A 的 EC2 和 ELB。
App B 的 ELB 安全组,只允许从 App A 访问
如果有人能做到这一点(正如一些人声称的那样),我会对细节非常感兴趣。我注册了一个支持帐户并向 AWS 开了一张票,他们正式说这是不可能的:
经过更多研究后,您尝试实现的设置不受支持。在安全组规则部分中,它指出,当在 SG 规则中引用安全组时,它允许从与源组关联的实例的本地 IP 地址进行访问,而不是其公共或弹性 IP。以下是文档页面,其中包含有关该主题的更多信息。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#security-group-rules
要完成您想做的事情将需要更多的设置,但这是可能的。
下面我提供了一个教程链接,该教程介绍了将 EB 环境部署到具有私有子网中的实例的 VPC 中的过程,以及在 AWS 上设置 NAT 实例的过程。使用此功能,您可以仅从公共 EB 应用程序访问您的私有 EB 应用程序实例。
我建议您在考虑此架构的情况下设置一个新的 VPC,而不是尝试修改现有的 VPC。
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo-vpc-basic.html http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html#NATInstance
即,两个 EB 实例之间的流量来自 A 的公共 IP 地址,但安全组仅针对私有 IP 地址起作用。我还没有读完,但看起来解决方案是创建一个新的 VPC 并将两者一起进行 NAT,因此所有请求看起来都来自私有 IP 地址。
这有点恶心,尤其是创建所有新的 VPC 将是一件非常痛苦的事情。非常好奇其他人是否可以在没有这个的情况下工作。
归档时间: |
|
查看次数: |
987 次 |
最近记录: |