如何从安全组内的框中访问公共IP地址

时间:2015-01-28 14:39:09

标签: security amazon-web-services amazon-ec2

我在亚马逊ec2上有一个盒子b1,它有一个弹性ip分配给它。这个盒子b1有一个安全组s1。我有另一个安全组s2,它被分配给一个方框b2,它需要访问方框b1的公共IP地址上的端口。我已经向s1安全组添加了一条规则,说明允许从s2安全组访问端口。

即使使用上述配置,我也无法从安全组为s2的框中访问公共IP地址端口。

请让我知道如何解决这个问题

2 个答案:

答案 0 :(得分:0)

要做的第一件事是确保您实际连接到正确的IP地址和端口。发现你不小心连接错误的机器并不罕见。

接下来,尝试确定问题是源是源实例还是目标实例。我会暂时更改安全组s1以允许所有出站和入站TCP和UDP到/从0.0.0.0/0,然后重新测试。如果你现在可以连接OK那么这表明你已经错误地设置了s1,所以你需要修复它。

确保任何本地防火墙都允许相关流量。如果这是VPC,则确保s2允许相关的出站流量,尤其是高编号的短暂端口。允许ICMP通过s1和s2,然后测试从i2到i1的ping。确保i2上的iptables和/或网络ACL正确。使用从i1到i2的traceroute。

以下是有关诊断EC2 connectivity issues的详细文章。

答案 1 :(得分:0)

您应该使用公共DNS记录引用您的实例。

e.g。如果您的实例具有公共IP 203.0.114.185和私有IP 10.1.234.13,则会为您提供公共DNS名称,如ec2-203-0-114-185.eu-west-1.compute.amazonaws.com

如果在外部查询,

ec2-203-0-114-185.eu-west-1.compute.amazonaws.com将解析为203.0.114.185,如果在内部查询,则10.1.234.13将解析为{{1}}。这将使您的安全组能够按预期工作。

这样您就可以使用弹性IP,因为您只需使用弹性IP的公共DNS条目。此外,将DNS解析为内部IP意味着您不会在实例之间为数据带来带宽费用。