Можно ли связать Elastic IP с экземпляром без немедленной потери публичного IP?

У меня есть экземпляр Windows EC2, на котором запущен производственный веб-сайт, и DNS настроен так, чтобы мое доменное имя указывало на его общедоступный IP-адрес. В настоящее время нет эластичного IP (EIP), связанного с экземпляром. Я хотел бы начать использовать Elastic IP и сделать так, чтобы мое доменное имя указывало на него, а не на публичный IP (который может измениться, если мне когда-либо придется изменить экземпляр).

Читая документацию, я нахожу это заявление тревожным:

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

Мой страх такой:

  • Я назначаю EIP для экземпляра, и публичный IP освобождается.
  • Теперь мой веб-сайт больше не работает, потому что доменное имя указывает на публичный IP-адрес, который больше не связан с моим экземпляром EC2.
  • Затем я должен указать DNS-записи в EIP. Но это может занять до 48 часов для распространения (т.е. мой сайт может быть недоступен до 48 часов).

Как я могу сделать это без необходимости жить через распространение DNS?

4 ответа

Решение

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

инструкции

  1. Создайте новый сетевой интерфейс в той же подсети, что и ваш экземпляр EC2.
  2. Выделите новый Elastic IP для вашего VPC (если вы еще этого не сделали).
  3. Свяжите Elastic IP-адрес с вашим новым сетевым интерфейсом (eni).
  4. Присоедините новый сетевой интерфейс к вашему экземпляру EC2.

Не меняйте свой DNS еще.

Возможно, вам потребуется RDP/SSH в ваш экземпляр EC2, чтобы внести некоторые изменения в конфигурацию, чтобы убедиться, что ваш экземпляр EC2 правильно реагирует на новый IP-адрес.

Измените файл hosts на локальном компьютере, чтобы проверить подключение к вашему веб-сайту через новый IP-адрес.

Когда это сработает, переключите DNS и восстановите файл hosts.

За 48–72 часа до заданного времени переключения, уменьшите время жизни (TTL) для вашей записи DNS до 300 секунд (5 минут).

В указанное вами время переключения:

  1. Прикрепить эластичный IP-адрес
  2. Обновите запись DNS, указав свой эластичный IP-адрес.

При этом ваше эффективное время простоя сокращается до 5 минут.

Вы можете иметь два одинаковых экземпляра EC2. Один со старым общедоступным IP-адресом, на который указывает DNS-запись. Один с назначенным EIP. Запросы должны иметь доступ к любому из двух экземпляров, не замечая этого. Ваше приложение должно иметь возможность масштабирования по горизонтали. Затем вы изменяете запись DNS, чтобы указать на EIP. В конце концов, когда DNS обновляется, все запросы к вашему домену в конечном итоге будут передаваться в экземпляр EC2 с EIP. В этот момент вы можете остановить или прекратить работу старого экземпляра EC2.

Другая возможность, если ваше приложение не может масштабироваться горизонтально, и если это веб-приложение, веб-сервер в старом экземпляре EC2 может перенаправлять запросы в EIP. Это перенаправило бы на IP-адрес, но это возможно.

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

      aws ec2 associate-address --region us-east-1 --allocation-id eipalloc-xxxxxxxxxxx --allow-reassociation --network-interface-id eni-xxxxxxxxxx

где eipalloc-xxxxxxxxxxx — идентификатор эластичного IP-адреса, а eni-xxxxx — идентификатор целевого экземпляра EC2.

https://aws.amazon.com/premiumsupport/knowledge-center/ec2-recover-ip-address/

Эластичные IP-адреса

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

Если вы освободите эластичный IP-адрес, выделенный вашей учетной записи, возможно, вы сможете восстановить его. Дополнительные сведения см. в разделе Восстановление эластичного IP-адреса.

Все экземпляры, кроме экземпляров EC2-Classic, при остановке сохраняют связанные с ними эластичные IP-адреса. AWS продолжает выставлять счета за эластичные IP-адреса, связанные с остановленным экземпляром.

Примечание. Эластичные IP-адреса, связанные с экземплярами EC2-Classic, восстановлению не подлежат.

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