Большая задержка с обнаружением обновлений DNS службы ECS - PullRequest
1 голос
/ 14 апреля 2020

Я пытаюсь выяснить, почему DNS-серверам AWS (10.0.0.2 и 169.254.169.253) требуется много времени, чтобы вернуть правильный IP-адрес для моих задач ECS.

Настройка, которая у меня есть в настоящее время выглядит следующим образом:

  • dev.private - это размещенная зона Route53
  • Служба ECS (которая регистрируется в deepstream.dev.private) с использованием TTL 0 и записи типа A DNS.
  • Служба nginx, которая выполняет SSL-завершение и перенаправляет запросы в службу ECS

При первом создании экземпляра EC2 и установке nginx все работает с определителем, указывающим на 10.0 .0.2

Однако при уничтожении задачи ECS:

  • она удаляется из маршрута53 (ожидается)
  • новая запись задачи вводится в маршрут53 с новым IP (ожидается)
  • новая запись НЕ отображается в nginx (возвращается (3: хост не найден))
  • новая запись НЕ отображается при использовании dig (dig @ 10.0.0.2 deepstream.dev.private)
dig @10.0.0.2 deepstream.dev.private

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.2 <<>> @10.0.0.2 deepstream.dev.private
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 10878
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;deepstream.dev.private.                IN      A

;; Query time: 0 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Tue Apr 14 03:33:39 UTC 2020
;; MSG SIZE  rcvd: 51

То ш из-за отсутствия ответа

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.2 <<>> @10.0.0.2 deepstream.dev.private
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15576
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;deepstream.dev.private.                IN      A

;; ANSWER SECTION:
deepstream.dev.private. 0       IN      A       10.0.2.214

;; Query time: 1 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Tue Apr 14 03:35:00 UTC 2020
;; MSG SIZE  rcvd: 56

Итак, подведем итоги тестового сценария:

  • Dig возвращает IP и все хорошо
  • Сразу после уничтожения задачи ECS Route53 запись удалена
  • Менее чем через 10 секунд (время, необходимое для перезапуска docker на ECS), добавляется новая запись маршрута 53 с IP
  • , через 5 минут новая запись возвращается через dig * 1040. *

Запускался несколько раз, и кажется, что он постоянно равен пяти минутам, что где-то похоже на кэш.

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

...