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

Итак, я не понимаю, что здесь происходит... У меня есть (3) экземпляры Micro EC2, которые запускаются (без эластичного IP)

Я тогда иду в Network Security->Elastic IPs и нажмите ассоциированный IP-адрес. Я выбрал работающий экземпляр EC2, который затем использует эластичный IP.

Если я stopтогда start этот тот же самый экземпляр ec2, он не имеет того же предыдущего эластичного IP-адреса и вместо этого является совершенно новым IP-адресом. Это портит скрипты, которые затем зависят от ранее связанного эластичного ip с этим экземпляром EC2.

Почему это происходит и почему я не могу заставить какой-либо из (3) экземпляров принять и сохранить этот назначенный эластичный ip?

3 ответа

Решение

Эластичные IP-адреса становятся не связанными с экземплярами EC2 (в EC2-Classic), когда вы их останавливаете. Вам нужно будет повторно связать их снова при запуске, что можно сделать через API (через AssociateAddress), CLI (через ec2-associate-address) или через консоль AWS.

Вот что говорит по этому поводу документация Elastic IP:

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

Мы решаем это на работе, помечая наши экземпляры dev (которые отключаются на ночь) желаемым эластичным IP-адресом и запускаем скрипт утром, чтобы сначала включить их, а затем заново связать эластичный IP-адрес.

Если вы создадите VPC, а затем повторно предоставите 3 микроэкземпляра в рамках VPC, связанные с ними EIP останутся связанными во время циклов остановки / запуска. Вы не сможете повторно использовать существующие экземпляры EC2 или EIP; вам придется воссоздать их под новым VPC.

Если вы готовы платить за NAT-шлюз (плата за час + за обработанный трафик ГБ), вы можете создать NAT-шлюз для подключения Elastic IP к вашей частной подсети VPC (вам нужно создать маршрут для подсети, указать на nat-gateway и измените точку маршрута по умолчанию на igw-id).

После этого любой перезапуск экземпляра EC2 будет влиять на Elastic IP.

Другие вопросы по тегам