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

Как автоматически зарегистрировать службу IIS в DNS

Я хотел бы, чтобы служба IIS работала с идентичным содержимым на двух серверах Windows 2012. Серверы доступны только из интрасети. Цель состоит в том, чтобы, если служба работает, ее имя (FQDN) может быть разрешено DNS. Итак, если оба сервера запущены и работают, оба IP-адреса обслуживаются клиентами. Если служба на одном из серверов выходит из строя, IP-адрес затронутого сервера должен быть удален из DNS после истечения TTL. Если служба возобновляет работу, она снова автоматически вводится в DNS. Есть идеи, как этого добиться? Я читал, что DDNS - это ответ на этот вопрос, но мне не удалось найти никаких пошаговых инструкций о том, как это реализовать. Спасибо F.

Решением DIY было бы использовать сценарий PowerShell, который должен запускаться как служба / или быть чем-то запланированным для запуска в планировщике задач Windows.

  1. TTL должно быть около 5 секунд.
  2. Когда запускается powershellscript, потребуется реализованная логика псевдонима.
if (current host down / some sort of heartbeat check)
      update dns using powershell mapping the new host to the new address  or remove existing host thats offline,etc etc.
else 
      do nothing
  1. Запускать скрипт каждые 10 секунд.

** Примечание. Ниже указаны только возможные риски. Например, постоянный отброшенный кеш DNS из записи с низким TTL будет соответствовать большему количеству трафика DNS, попадающему на сервер имен. Потенциально это может быть плохой идеей (см. Комментарии ниже и выше) в зависимости от того, сколько трафика на самом деле получает ваш сайт, «если вы самостоятельно размещаете свой собственный DNS-сервер, и ваш сервер имен не может справиться с дополнительной нагрузкой / трафиком», но он это рабочее решение.

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

Это также НЕ настоящее аварийное переключение. У вас будут периодические простои, пока это происходит, и сеансы будут уничтожены и воссозданы после потери соединения с текущей машиной, когда она выйдет из строя. Это также может повлиять на базы данных, к которым осуществляется доступ, и потенциально может привести к поломке других вещей в зависимости от того, как написан код. Если это статический HTML-контент, все будет в порядке **