我在亚马逊ec2上有一个盒子b1,它分配了一个弹性ip。对于这个盒子b1,我有一个安全组s1。我有另一个分配给box b2的安全组s2,它需要访问box b1的公共ip地址上的端口。我给s1安全组添加了一条规则,允许来自s2安全组的端口访问。
即使使用上面的配置,我也不能从安全组为s2的机器访问公共ip地址端口。
请告诉我如何才能解决这个问题
发布于 2015-01-28 23:29:55
首先要做的是确保连接到正确的IP地址和端口。意外地连接到错误的计算机并不少见。
接下来,尝试确定问题出在源实例还是目标实例上。我会临时更改安全组s1,以允许所有出站和入站TCP和UDP进出0.0.0.0/0,然后重新测试。如果您现在可以正常连接,则表明您的s1设置不正确,因此您需要修复它。
确保所有本地防火墙都允许相关流量。如果是VPC,请确保s2允许相关的出站流量,尤其是编号较高的临时端口。允许ICMP通过s1和s2,然后测试从i2到i1的ping。确保i2上的iptables和/或网络ACL正确。从i1到i2使用traceroute。
这里有一篇关于诊断EC2 connectivity issues的更详细的文章。
发布于 2015-01-29 23:16:29
您应该使用公共DNS记录引用您的实例。
例如,如果您的实例具有公网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。这将使您的安全组能够按预期工作。
这将使您能够使用弹性IP,因为您只需使用弹性IP的公共DNS条目。此外,将DNS解析为内部IP意味着您不会为实例之间的数据产生带宽费用。
https://stackoverflow.com/questions/28194957
复制相似问题