Назад | Перейти на главную страницу

Amazon EC2 - необходимо изменить IP-адрес без простоя

Я поддерживаю довольно известный сайт, который размещен на Amazon EC2, и предыдущий разработчик указал A-запись на «общедоступный IP-адрес» вместо использования «эластичного IP-адреса». Насколько я могу судить, «общедоступный IP-адрес» не является постоянным, поэтому, если мне когда-либо понадобится остановить экземпляр, он получит новый. Кроме того, если я назначаю эластичный IP-адрес, он удаляет общедоступный IP-адрес, поэтому, если я его изменю, сайт будет недоступен до тех пор, пока не распространится изменение записи A.

Очевидно, это нехорошо.

Есть ли способ назначить эластичный (или иной постоянный) IP-адрес без удаления текущего «общедоступного IP-адреса»? Или есть какое-то другое решение, о котором я не думал, чтобы вытащить меня из этого беспорядка?

Да, есть! Воспользуйтесь мощью окончательной согласованности DNS.

  1. Настройте ELB, наведите его на свой экземпляр.
  2. Обновите запись A для вашего общедоступного экземпляра с помощью CNAME для ELB.
  3. Подождите неделю.
  4. Свяжите Elastic-IP с экземпляром.
  5. Обновите запись CNAME для вашего приложения, добавив новую запись A для EIP.
  6. Подождите неделю.
  7. Выключите ELB.

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

Другой вариант - создать ENI и присоединить к нему EIP. Затем прикрепите ENI к своему экземпляру и измените запись DNS.