Когда я пытаюсь связать второй эластичный IP-адрес с небольшим экземпляром EC2, текущий назначенный эластичный IP-адрес отключается.
Мне нужно использовать VPC?
Классические экземпляры EC2 могут иметь только один связанный с ними эластичный IP-адрес. Чтобы получить несколько IP-адресов, вы должны использовать VPC и настроить несколько сетевых интерфейсов на своем экземпляре.
ПРИМЕЧАНИЕ: где-то между 2012 и 2014 годами AWS изменился так, что одному ENI можно назначить несколько EIP. В результате этот ответ и вопрос теряют актуальность.
Чтобы получить 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
Вы можете найти "формальное" объяснение из этого статья