我有2个AWS实例,i-1
和i-2
。它们分别位于不同的安全组:sg-1
和sg-2
。两台机器都有弹性IP。
sg-2
配置为允许来自sg-1
的所有流量,无论端口,源IP或协议如何。
当i-1
尝试与i-2
对话时,其流量被阻止。似乎AWS没有说明i-1
的流量实际来自其弹性IP的事实。
这是预期的吗?除了手动将i-1
的弹性IP添加到sg-2
之外,我还能做些什么来处理它吗?
答案 0 :(得分:10)
sg-2配置为允许来自sg-1
的所有流量
执行此操作时,仅允许来自专用IP地址的流量。但是,与使用EIP一样,您明确需要允许来自该IP地址的流量。
阅读本文:https://forums.aws.amazon.com/thread.jspa?messageID=414060
从上面的链接引用:
出于好奇,您是否可以使用公共IP地址进行连接?使用具有安全组的规则作为源时,它仅在通过内部网络连接时匹配。私有IP地址可以改变。如果您具有与实例关联的弹性IP,则公共DNS名称恰好是静态的,并且在从同一EC2区域内使用时将始终解析为当前的专用IP地址。这使您可以轻松地在内部进行连接,而无需担心任何地址更改。
答案 1 :(得分:1)
您还没有提供足够的信息来诊断问题,但有几件事需要检查:
如果对其中任何一个问题的回答是“是”,那么您的问题的答案可能会在其中一个问题的解决方案中找到。
答案 2 :(得分:-1)
如 slayedbylucifer 之前所述,您需要明确允许来自 EIP 的流量。
以下是 official AWS documentation about Security Groups 的推理:
<块引用>当您将安全组指定为规则的源时,将允许来自与指定协议和端口的源安全组关联的网络接口的流量。 允许传入流量基于与源安全组关联的网络接口的私有 IP 地址(而不是公共 IP 或弹性 IP 地址)。