我有两个弹性豆柄应用程序"a“和"b”。任何人都应该能够通过http与(a)交谈,但只有(a)应该能够与(b)交谈。也就是说。
internet -> a -> b
现在,如果这两个应用程序都对互联网完全开放的话,一切都能正常工作。但是,一旦我试图限制(B)的安全组的ELB,(a)似乎不能再连接。
也就是说,如果允许(b)的负载均衡器安全组允许http:0.0.0.0/0,则一切都可以工作。但是,如果我将同一个安全组设置为只允许http:(a)的安全组,(A)不能再与(B)通信。
这两个应用程序都在同一个VPC上。我遗漏了什么?
-编辑--
明确地:
工作:
App A的ELB安全组设置,允许任何人访问HTTP/S
App A的EC2安全组,只允许从A的ELB访问(是的,我这里缺少https,但现在还可以)
应用程序B的ELB安全小组,允许任何人访问
应用程序B的EC2安全组,只允许从B的ELB访问
不起作用:
一切与上述相同,但更改B的ELB安全组只允许从A的EC2组访问。见鬼,为了确定,我们会加上A的EC2和ELB。
应用程序B的ELB安全组,只允许从应用程序A访问
发布于 2015-06-12 19:27:00
如果有人有这样的工作(正如一些人声称的那样),我会非常感兴趣的细节。我注册了一个支持账户,并在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 Instance.html#NATInstance
也就是说,两个EB实例之间的通信量来自A的公共IP地址,但是安全组只对私有IP地址工作。我还没有读完,但看起来解决方案是创建一个新的VPC和NAT,所以所有的请求看起来都是来自私有IP地址。
这有点恶心,其中最不重要的是,创造所有新的VPCs将是一个巨大的痛苦。所以很好奇,如果外面的其他人没有这方面的工作。
https://stackoverflow.com/questions/30628944
复制相似问题