如何在另一个 EC2 实例的防火墙/iptables 中指定 EC2 实例的私有/公共(非弹性)IP 地址?

如何在另一个 EC2 实例的防火墙/iptables 中指定 EC2 实例的私有/公共(非弹性)IP 地址?

我在同一地区有两个 EC2 实例。我们把它们称为instance-1instance-2instance-1有一个弹性 IP地址附加到它但instance-2没有。

我希望我的instance-1允许来自 的入站流量instance-2iptables我可以分配一个弹性 IPinstance-2并将以下内容添加到INPUT链中。

ACCEPT     tcp  --  xx.xx.xx.xx         anywhere             tcp dpt:yyyy
ACCEPT     tcp  --  xx.xx.xx.xx         anywhere             tcp dpt:zzzz

其中 的xx.xx.xx.xx弹性 IP 是 ,instance-2并且yyyyzzzz是目标端口。

但由于亚马逊限制分配给帐户的弹性 IP 地址数量(五个),因此我不希望此实例具有弹性 IP 地址。

我的问题是,我可以使用亚马逊提供的内部 IP 地址(格式为 10.xx.xx.xx )instance-2吗?iptablesinstance-1

一种解决方案可能是停止使用实例级 iptables 并使用 EC2 提供的安全组。但我对此有点担心。我觉得最好在实例级以及安全组(EC2 应用程序)级保护系统免受未知入站流量的影响。

答案1

解决方案是使用 Amazon Web Services 虚拟私有云:http://aws.amazon.com/vpc/

您将能够在自己的云中分配自己的私有 IP 地址,并控制云内外的所有连接,从而绕过弹性 IP 地址数量的限制。

需要阅读一点儿内容才能完全理解,但从长远来看是值得的。

即使不使用 VPC,您也应该能够在 iptables 中使用内部 IP 地址,但是如果您停止并重新启动实例(或者如果 Amazon 为您执行此操作 ;-),您的内部 IP 地址将被重新分配,因此您必须在每次实例停止时重建 iptables。在 VPC 中,您可以分配内部 IP 地址。

相关内容