Amazon web services 将多个EC2实例分配给一个弹性IP

Amazon web services 将多个EC2实例分配给一个弹性IP,amazon-web-services,amazon-ec2,elastic-ip,Amazon Web Services,Amazon Ec2,Elastic Ip,我有2个EC2实例,它们向外部服务器发送请求。该服务器需要一个静态IP,所以我使用弹性IP将一个EC2连接到它 问题是,我只允许在该服务器上有一个与我的帐户关联的静态IP。是否有办法使用网络接口或ELB将2个EC2置于同一EIP后面?我试着读了一下,但是AWS文档有点太多了。最简单的方法是: 在公用子网中创建NAT网关 将EC2实例放入专用子网 配置专用子网的路由以将绑定到internet的流量发送到NAT网关 通过这种方式,所有流量似乎都来自NAT网关,它可以有一个单一的弹性IP地址 另一

我有2个EC2实例,它们向外部服务器发送请求。该服务器需要一个静态IP,所以我使用弹性IP将一个EC2连接到它


问题是,我只允许在该服务器上有一个与我的帐户关联的静态IP。是否有办法使用网络接口或ELB将2个EC2置于同一EIP后面?我试着读了一下,但是AWS文档有点太多了。

最简单的方法是:

  • 在公用子网中创建NAT网关
  • 将EC2实例放入专用子网
  • 配置专用子网的路由以将绑定到internet的流量发送到NAT网关
通过这种方式,所有流量似乎都来自NAT网关,它可以有一个单一的弹性IP地址

另一种方法是使用其中一个实例(实例-A)作为NAT实例,该实例使用
iptables
中的伪装设置转发流量。然后,将第二个实例(实例B)配置为向实例A发送绑定到internet的流量。实例A将把流量转发到外部服务器,并将响应传递回实例B

这是将EC2实例配置为NAT实例的常规脚本:

#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 0.0.0.0/0 -j MASQUERADE
/sbin/iptables-save > /etc/sysconfig/iptables
mkdir -p /etc/sysctl.d/
cat <<EOF > /etc/sysctl.d/nat.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.eth0.send_redirects = 0
EOF
#/垃圾箱/垃圾箱
echo 1>/proc/sys/net/ipv4/ip\u转发
echo 0>/proc/sys/net/ipv4/conf/eth0/send\u重定向
/sbin/iptables-tnat-A后路由-oeth0-s0.0.0/0-j伪装
/sbin/iptables保存>/etc/sysconfig/iptables
mkdir-p/etc/sysctl.d/
猫