Сайт чередуется между старыми и новыми версиями, несмотря на то что DNS произошёл более 48 часов назад.

Вопрос или проблема

Мы недавно выпустили новую версию нашего веб-сайта, и более 50 часов назад мы изменили DNS для домена. Трафик теперь идет на новый веб-сайт, однако случайным образом он все еще отправляет наших пользователей (и нас, мы это видим очень часто, примерно 50% времени) на старый веб-сайт.

Все размещено в AWS. Наш старый веб-сайт использует распределение CloudFront для перенаправления запросов через API Gateway. Наша новая настройка отправляет пользователей на Global Accelerator, который перенаправляет пользователя на ALB. Мы используем CloudFlare в качестве нашего DNS-провайдера, и все записи там указывают на новые IP-адреса от Accelerator. Мы проверили распространение по всему миру, и все указывает на IP-адреса, на которые мы ожидаем, что они указывают (и так было в течение нескольких дней), тем не менее, случайным образом мы все еще перенаправляемся на старое распределение CloudFront с API Gateway.

Мой вопрос: что может вызвать доставку запросов либо на AWS Global Accelerator, либо на распределение CloudFront на случайной основе, несмотря на то, что все a-записи указывают на Accelerator? Где теряется этот запрос? Как я могу увидеть путь запроса и где он отклоняется?

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

EDIT:

Прикрепил картинку, на которой мы пингуем один и тот же URL с интервалом в несколько секунд и получаем разные ответы. введите описание изображения здесь

Ответ или решение

Ситуация, когда веб-сайт случайным образом переключается между старой и новой версиями, несмотря на изменения DNS более 48 часов назад, может быть вызвана несколькими факторами. Рассмотрим этот вопрос подробно.

1. Проверка DNS-наличия

Несмотря на то, что вы проверили распространение DNS и убедились, что все A-записи корректно указывают на новый IP-адрес вашего AWS Global Accelerator, важно помнить, что изменения DNS могут проявляться с задержкой в зависимости от времени жизни (TTL) кэшированных значений. Если у вашего домена был установлен короткий TTL, изменения могут распространяться быстрее, но также могут существовать локальные кэши DNS на уровне провайдеров интернет-услуг или на устройствах пользователей. Рекомендуется:

  • Использовать команды типа dig или nslookup, чтобы определить, какие IP-адреса фактически разрешаются на разных узлах сети.
  • Проверить, нет ли дополнительных A-записей или CNAME-записей, которые могли бы указывать на старую версию.

2. Кэширование на уровне CloudFront

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

  • Очистить кэш CloudFront, чтобы удалить старые файлы, которые могли бы оставаться в системе.
  • Настроить правила кэширования, чтобы убедиться, что старый контент не возвращается к пользователям.

3. Система маршрутирования трафика

Ваша инфраструктура использует AWS Global Accelerator, который маршрутизирует трафик на ALB (Application Load Balancer). Важно убедиться, что правила маршрутизации настроены корректно:

  • Проверьте, что все необходимы группы назначения в медиаплане Global Accelerator активны и настроены правильно.
  • Убедитесь, что ALB обрабатывает входящий трафик и что он правильно настроен для обслуживания новых запросов.

4. Дублирование конфигурации

Не исключено, что в вашей конфигурации есть дублирующиеся старые записи или Rout53 (если вы его используете наряду с CloudFlare). Проверьте, нет ли старых записей в ваших настройках Route 53, которые могут захватывать трафик:

  • Обратите внимание на наличие любых старых записей, которые могут interfering с новыми настройками.

5. Логи и отладка

Для диагностики проблемы полезно проанализировать логи и вести отладку:

  • Включите детальные логи на CloudFront и глобальном альфа-ускорителе, а также на ALB. Это позволит вам видеть, откуда приходят запросы и куда они перенаправляются.
  • Используйте инструменты мониторинга, чтобы отслеживать поведение пользователей. Это может помочь установить общий паттерн, если проблема связана с определёнными запросами или временными периодами.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...