Halo и GeoDNS в двадцать шестом году завязаны на EDNS Client Subnet: край выбирает не карта, а цепочка резолверов. Для CI между JP, KR, HK, SG и US West ошибка ECS раздувает p95 вытяжки артефактов. Ниже — матрица, ECS on/off, TTL-слои, пороги p95, dig. Связано: SVCB и TLS, GeoDNS и SSH, split-horizon.

Stub на раннере и корпоративный DNS часто ломают EDNS. Авторитет отвечает на то, что доехало; рекурсор с чужой подсетью или без ECS даёт левый PoP раньше, чем вы меняете веса у L4. На выделенных Mac mini M4 в vpshalo вы контролируете стек и маршрут, но имя всё равно резолвится там, где настроен CI; поэтому матрица Halo начинается с паспорта DNS, а не с sysctl.

1) ECS on с грубой маскойдрейф края. 2) ECS off у forwarderGeoDNS видит IP резолвера, все раннеры «из» одного метро. 3) Короткий TTL без drainшторм и ложный p95 при липком кэше. 4) Разные ответы у stub и у публичного зонда без смены записи почти всегда означают разный ECS или разный forwarder, а не «плохой» край артефактов.

Решение Когда Риск
ECS с узкой маской Публичные резолверы, политика на hop /20+: смена края без смены клиента
ECS off, имена по региону Закрытый forwarder Шаблоны CI и ручной выбор
Короткий TTL на CNAME артефактов Быстрый откат QPS к авторитету

ECS включён и выключен

ECS on: авторитет видит подсеть клиента; хорошо при согласованной маске, плохо при разном поведении публичных резолверов и частой смене egress. ECS off: география = DNS-кластер, не раннер; предсказуемо внутри периметра, плохо для авто-разведения JP/KR. Зафиксируйте в паспорте зоны, кто клиент GeoDNS в каждом сегменте.

Если авторитет отдаёт разные A для одного имени при одинаковом наборе весов, сначала исключите несогласованный ECS между двумя путями резолюции, затем смотрите липкость у провайдера и собственный views на split-horizon, как в статье про split-horizon. Только после этого имеет смысл трогать гео-таблицу или менять привязку Mac к региону в панели заказа.

Сигнал ECS on ECS off
Край vs метро раннера Высокая связь при узкой маске Низкая, привязка к рекурсору
Смена egress Ответ пляшет Стабильнее имя, риск смысла
Эксплуатация dig +subnet, версии Явные имена в CI

TTL: слои

SOA/NSдлинно. CNAME/SVCBумеренно, см. TLS чеклист. Артефактыкоротко только после drain и окна метрик. Слой SVCB добавляет ещё один кэш поведения клиента; при смене приоритетов не смешивайте измерение p95 TLS с измерением p95 HTTP на одном имени без тегов в метриках.

  • Не режьте TTL, пока health и веса не готовы к переключению.
  • Разведите SSH и толстые объекты по именам, см. CONNECT vs SSH.
  • Для SCP/SFTP держите отдельную матрицу RTT по узлам, см. SCP и SFTP, чтобы DNS-сдвиг не маскировался как дисковая деградация.

p95 артефактов по метро

Снимайте p95 TTFB и p95 полного 100 MiB отдельно по JP/KR/HK/SG/US West; сверяйте с выбранным A/AAAA после рестарта stub. Окно агрегации для p95 должно перекрывать как минимум два TTL самого короткого звена в цепочке, иначе вы увидите ступеньку при первом промахе кэша и спутаете её с проблемой края. Для сравнения регионов фиксируйте один и тот же объект и одинаковый параллелизм загрузки.

PoP p95 TTFB p95 100 MiB @1 Gbps Если красное
JP< 180 мс< 95 сECS, транзит HK
KR< 200 мс< 100 сsplit-horizon, forwarder
HK/SG< 215 мс< 103 слипкий кэш, QUIC
US West< 160 мс< 90 сотдельный SLO на trans-Pacific
Совет: p95 после только DNS при стабильном IP — ищите ECS/stub; при смене IP без DNSL4 и веса.

Пять шагов и dig

dig A artifacts.example.com @1.1.1.1 +ttlunits +norecurse
dig A artifacts.example.com @8.8.8.8 +subnet=203.0.113.0/24 +ttlunits
dig AAAA edge.example.com @resolver.internal +subnet=198.51.100.0/24 +tcp
  • Шаг 1. Снимки dig для JP, SG, US West с +subnet в репо.
  • Шаг 2. Те же имена через корпоративный путь без ECS; сравните A/AAAA.
  • Шаг 3. Вытяжка 100 MiB на каждом метро: короткий vs длинный TTL.
  • Шаг 4. Смена egress раннера: GeoDNS в границах ECS или запасной край по весам.
  • Шаг 5. Паспорт: ECS да/нет, маска, имена, резолвер, алерт QPS при смене TTL.

Тезисы для документа

  • GeoDNS отвечает резолверу, не инженеру, пока цепочки не разведены.
  • Короткий TTL не чинит край, он ускоряет уже принятое решение.
  • ECS без политики маскихаос p95 на артефактах.

FAQ

Почему dig +subnet молчит на внутреннем резолвере? Часто forwarder не прокидывает опцию; проверьте версию, ACL и флаг рекурсии, затем повторите через публичный резолвер как контрольный канал.

Нужен ли отдельный SLO для cross-Pacific? Да: US West к JP и обратно имеют другую дисперсию, чем JP↔KR; не смешивайте их в одной алерт-политике без тега маршрута.

Оговорка: порогиориентиры под 1 Gbps и типовой контур; уточняйте SLA и размер объектов.

Итог. Сверьте ECS on/off, слой TTL и p95 по пяти метро; digэталон сравнения. Тарифы, помощь, главная, покупка.

Узлы и онбординг

Mac mini M4 для CI рядом с вашим краем

Регионы: Токио · Сеул · Гонконг · Сингапур · Запад США. Цены, справка SSH/VNC, главная, блог. Ещё: GeoDNS, SCP/SFTP.

Покупка · Техноблог · Главная

Арендовать Mac mini M4 под CI и Halo Справка по SSH Тарифы Другие статьи