Назначить несколько экземпляров EC2 одному Elastic IP - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть 2 экземпляра EC2, и они отправляют запросы на внешний сервер.Для этого сервера требуется статический IP, поэтому я использовал Elastic IP для подключения к нему одного из EC2.

Проблема в том, что мне разрешено иметь только один статический IP, связанный с моей учетной записью на этом сервере.Есть ли способ поместить 2 EC2 позади одного EIP с помощью сетевого интерфейса или ELB?Я пытался прочитать об этом, но документация AWS немного перегружена.

1 Ответ

0 голосов
/ 18 февраля 2019

Самый простой способ:

  • Создать NAT Gateway в общедоступной подсети
  • Поместить экземпляры EC2 в частную подсеть
  • Настройка маршрутизации для частной подсети для отправки интернет-трафика на шлюз NAT

Таким образом, весь трафик будет поступать от шлюза NAT, который может иметь один эластичный IPaddress.

Альтернативным методом было бы использовать один из экземпляров (Instance-A) в качестве экземпляра NAT , который использует параметр маскарада в iptables для пересылки трафика.Затем настройте второй экземпляр (Instance-B) для отправки интернет-трафика в Instance-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
...