Снижение расходов на выставление счетов за несуществующие имена хостов на Route 53

Снижение расходов на выставление счетов за несуществующие имена хостов на Route 53

5 дней этого платежного цикла, и моя зона Route 53 получила более 33 миллионов запросов на конкретный хост, который я недавно удалил. И связанные с ним записи DNS тоже были удалены.

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

Если вам интересно, этот хост работал как открытый публичный сервер для протокола STUN для загрузки вызовов WebRTC и VOIP. Расходы на биллинг для работы этого публичного сервера выходили из-под контроля. Поэтому я переместил его на новый IP-адрес и новое имя хоста. Недавно я узнал о некоторых других известных публичных сервисах, которые жестко закодировали адрес DNS в своем коде и в документации примеров.

Сегодня вечером я добавил обратно фиктивную запись A и AAAA, которая разрешается в 127.0.0.1 (или ::1) с 4-дневным TTL. Это может заставить любой код, который повторяет запрос, прекратить спрашивать (так много) и кэшировать запись на нижестоящих DNS-серверах. Но чрезмерные и избыточные DNS-запросы всегда были дорогостоящей проблемой, с которой я никогда не мог справиться. Я справлялся с DDOS-атаками на хост-сервис и смягчал их последствия в течение многих лет, но я никогда не понимал, как заблокировать клиенты Route 53, отправляющие избыточные запросы.

Идеальным решением было бы, если бы Route 53 просто игнорировал запросы на удаленное имя хоста (и не выставлял мне за это счет).

Какие у меня есть варианты?

решение1

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

(Текущая) официальная документация от Amazon Route 53заявляет и предлагаетальтернативный подход

Когда Route 53 отвечает наЗа DNS-запросы с ответом NXDOMAIN или NODATA (отрицательный ответ) взимается плата по тарифу за стандартные запросы.(См. «Запросы» в разделе «Цены на Amazon Route 53»). Если вас беспокоит стоимость отрицательных ответов:

  • Увеличьте значение TTL записи SOA (которое по умолчанию установлено на 900 секунд)

  • Увеличьте значение минимального времени жизни (TTL) (по умолчанию 86400 секунд (= 24 часа)) в записи SOA

Это должно увеличить количество времени, в течение которого ответ DNS от Route 53 о том, что определенная запись DNS не существует, ответ NXDOMAIN и/или NODATA будет кэшироваться (в соответствующих резолверах, которые поддерживают отрицательное кэширование). Это должно уменьшить количество запросов, за которые вам выставляются счета.


Запись SOA включает в себя следующие элементы:

Минимальное время жизни (TTL). Это значение помогает определить период времени, в течение которого рекурсивные резолверы должны кэшировать следующие ответы от Route 53:

  • NXДОМЕН Нет записи любого типа с именем, указанным в DNS-запросе, например example.com. Также нет записей, которые являются дочерними для имени, указанного в DNS-запросе, например zenith.example.com.

  • НЕТ ДАННЫХСуществует по крайней мере одна запись с именем, указанным в DNS-запросе, но ни одна из этих записей не имеет типа (например, A), указанного в DNS-запросе.

Когда DNS-резолвер кэширует ответ NXDOMAIN или NODATA, это называется отрицательным кэшированием.

Длительность отрицательного кэширования — это меньшее из следующих значений:

  • Это значение — минимальный TTL в записи SOA. В примере значение равно 86400 (один день).
  • Значение TTL для записи SOA.

Когда Route 53 отвечает наЗа DNS-запросы с ответом NXDOMAIN или NODATA (отрицательный ответ) взимается плата по тарифу за стандартные запросы.(См. «Запросы» в Amazon Route 53 Pricing). Если вас беспокоит стоимость отрицательных ответов, один из вариантов — изменить TTL для записи SOA, минимальный TTL в записи SOA (это значение) или и то, и другое. Обратите внимание, что увеличение этих TTL, которые применяются к отрицательным ответам для всей размещенной зоны, может иметь как положительные, так и отрицательные последствия:

...

Связанный контент