Присвоить несколько эластичных IP-адресов экземпляру EC2

10

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

Нужно ли использовать VPC?

Ян Уорбертон
источник
Это действительно хорошее пошаговое руководство по EIP и сетевым интерфейсам. От создания и добавления сетевого интерфейса до связывания его со вторым EIP и создания постоянных IP-маршрутов. lisenet.com/2014/…
Марко Бенко

Ответы:

9

Классические экземпляры EC2 могут иметь только один эластичный IP-адрес, связанный с ними. Чтобы получить несколько IP-адресов, вы должны использовать VPC и настроить несколько сетевых интерфейсов на вашем экземпляре.

ПРИМЕЧАНИЕ: где-то между 2012 и 2014 годами AWS изменился, так что одному ENI может быть назначено несколько EIP. Этот ответ и вопрос больше не актуальны в результате.

Мэтт Хаузер
источник
Могу ли я сохранить текущий Elastic IP, который в данный момент назначен моему экземпляру EC2, при использовании нового VPC?
Ян Варбертон,
1
Классические эластичные IP-адреса не могут быть назначены экземпляру VPC.
Мэтт Хаузер
Обратите внимание: вам может не потребоваться несколько сетевых интерфейсов; если у вас еще есть место в существующих сетевых интерфейсах, вы можете просто добавить новые частные IP-адреса в них, а затем назначить новые Elastic IP-адреса этим новым частным адресам. Затем, когда сетевые интерфейсы заполнены, вам нужно добавить новые интерфейсы.
Гийом Будро
Стоит отметить, что на момент написания вопроса AWS EC2 допускал только один EIP на каждый ENI, что требовало нескольких ENI для нескольких EIP. В настоящее время один ENI может поддерживать несколько EIP. Таким образом, некоторые советы, которые вы найдете на сервере по этому вопросу, устарели, как и в случае с этим ответом.
Шон Уилсон
Приведенный выше комментарий @MattHouser неверен сегодня. ВЫ МОЖЕТЕ ПЕРЕМЕЩАТЬ IP-АДРЕС между ec2CLASSIC и VPC, они позволяют это сейчас
jitbit
3

Чтобы получить 2 эластичных IP-адреса, связанных с одним экземпляром ec2, вам нужно указать другой маршрут для второго IP-адреса. Это предполагает установку нового правила ip, которое определяет, какой маршрут следует использовать.

Например, есть экземпляр с двумя сетевыми интерфейсами (пусть именуются eth0и eth1), каждый из которых имеет один внутренний ip ( 172.31.4.255и 172.48.55.23), которые переводятся в его связанные эластичные ip.

Вам нужно указать для ip из eth1 (172.48.55.23) другой маршрут:

 ip rule add from 172.48.55.23 table default

Затем свяжите его маршрут по умолчанию с этим правилом:

 ip route add default via 172.48.0.1 dev eth1 table default

И очистить кеш:

ip route flush cache

Вы можете найти «формальное» объяснение из этой статьи.

dvdvck
источник
Спасибо! Запустил Plesk на EC2 и нужен второй IP-адрес - просто так? ха! Я занимался этим часами, и эти 3 команды наконец решили мои проблемы с маршрутизацией.
dtbaker
Что делать, если на одном интерфейсе есть 2 IP-адреса?
Петах