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

Лучшая практика для маршрутизации запросов к нужной версии сервера приложений на EC2

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

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

Есть ли лучшие практики для этого? Нужно ли мне создавать собственный сервер с собственным IP-адресом, на котором я могу настроить маршрутизацию (дорого)? Или я могу использовать для этого услуги своего хостинг-провайдера? Или есть решение для AWS?

Хорошо, это довольно старый вопрос, который я впервые вижу сейчас ...

Я обновляю A-запись DNS-записи, чтобы направить трафик на IP-адрес нового сервера.

Вы правы, это приведет к тому, что неизвестный процент ваших пользователей по-прежнему будет использовать старую версию приложения из-за кеширования DNS. Если вы последуете твердое предложение Феба, вероятно, будет очень мало пользователей, но все же на AWS есть способ получше.

Или есть решение для AWS?

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

Эластичные IP-адреса обычно переключаются за пару секунд, по моему опыту менее 10 секунд.

Существует множество различных способов беспрепятственного развертывания новой версии приложения.

Чтобы использовать существующий метод, вам просто нужно убедиться, что у вас понижены TTL для ваших записей DNS, прежде чем выполнять переход.

  • Измените TTL на 5 минут
  • Подождите, пока не закончится исходное значение TTL.
  • Сделайте изменение DNS
  • Изменения должны быть обновлены для большинства распознавателей по истечении 5-минутного TTL

Не совсем гладко, но довольно часто.