Как мы разработали свой DNS-менеджер

    Сегодня мы расскажем о нашем очередном нововведении — DNS-менеджере. Он построен на основе решения ANS и уже доступен для всех наших клиентов.

    / Фото Keoni Cabral CC

    К реализации данной функциональной возможности мы подошли по мере доработки и улучшения других служебных систем нашего IaaS-провайдера. Ранее наши клиенты могли управлять DNS только с помощью службы поддержки — нужно было обращаться к нашим специалистам, которые вносили все необходимые изменения. Не смотря на оперативную работу нашей команды по выполнению подобных запросов, автоматизация не заставила себя долго ждать.

    Один из наших основных принципов работы — предоставление инструментов, которыми смогут без проблем воспользоваться даже те, кто ранее не сталкивался с ИТ-составляющей (кстати, для дополнительной поддержки пользователей мы разрабатываем тематические руководства по надстройке различных систем). Мы постарались следовать данной идеологии и в данном случае.

    На этапе проектирования мы проанализировали различные реализации DNS-сервера. Среди них были BIND, PowerDNS, Knot и NSD. Все они требовали серьезной доработки, приведения к понятному для пользователя состоянию и решения ряда проблем с безопасностью.

    В итоге мы остановили свой выбор на продукте ANS Carrier-Grade DNS Appliance. Его можно назвать профильным решением для IaaS- и PaaS-провайдеров. С точки зрения производительности, возможностей для конфигурации и журналирования на все устроило. Помимо основных возможностей мы задействовали и API этого решения.



    В рабочем состоянии реализация DNS-менеджера позволяет вносить необходимые изменения в палено управления 1cloud. Сохранение изменений инициирует новую задачу, которую обрабатывает служебных сервис и передает серверу управления DNS с помощью API.

    С точки зрения пользователя все очень просто. Пример на скриншоте ниже.



    Далее можно создать для зоны любую новую запись, заполнив несложную форму:



    Автоматизация управления DNS-записями — это лишь первый шаг из ряда запланированных работ по постоянному улучшению наших сервисов. В данный момент мы рассматриваем автоматизацию процесса восстановления из бэкапа, системы оплаты только за используемые ресурсы и автомасштабирования при критической нагрузке на уже зарезервированные мощности.
    1cloud.ru
    235.56
    IaaS, VPS, VDS, Частное и публичное облако, SSL
    Share post

    Comments 10

      0
      Мы остановили свой выбор на продукте ANS Carrier-Grade DNS Appliance (он пока не является коммерчески доступным, но мы можем поделиться контактами представителей этой компании). Нас, в частности, привлекли следующие его плюсы:


      А вам его отдали с исходниками, или для вас это черный ящик с API?
        0
        Это коммерческий продукт и распространяется он без исходников. Так что да, для нас это черный ящик с интерфейсами в виде API и консоли.
        –2
        Сами себе придумали проблему и решили.
        Как же бедные хостеры до этого жили и управляли доменами своих клиентов? Все уже давным давно решено.
        Первый раз слышу чтоб кто то вообще добавлял днс записи через заявки по телефону, на дворе уже давно не девяностые.
          0
          При чем тут девяностые вообще? Мы не используем готовую панель управления хостингом, а развиваем свою (тому есть множество причин). У нас до сегодняшнего дня не было функциональности автоматизированного управления DNS, мы реализовали данную возможность на инструменте, который заточен под высокую нагрузку и рассказали об этом хабросообществу, посчитав это интересной темой. Так что ваш комментарий не совсем здесь в тему.
            0
            Вам конечно виднее
            Я бы на вашем месте не стал кричать про то что у других давным давно есть.
            Для меня эта статья характеризует вас как очень отсталого хостера к тому же изобретающего велосипеды.
              0
              Не хочется доказывать, что вы что-то недопоняли. Почитайте другие наши статьи по развитию продукта (ссылки в начале поста), сразу станет все ясно про отсталось и велосипеды.
            +1
            Я знаю парочку хостингов, где в 2015 году используют BIND с конфигами файловыми.
            На своем проекте у меня PowerDNS + PostgreSQL. API у PDns «та еще конфетка», но всяко лучше, чем ручками гонять из скриптов sql запросы, переподписывать зоны и пинать PDns на перечитку бекенда.

            Если мало что надо менять для себя можно еще djbdns использовать, очень шустрая штуковина
              0
              Powerdns не надо пинать на «перечитку» если используется динамический бэкенд (postgresql в их числе). Разработчики недавно в своём блоге расписали как они с бэкендами работают:
              http://blog.powerdns.com/2015/06/23/what-is-a-powerdns-backend-and-how-do-i-make-it-send-an-nxdomain/
                0
                Может и не надо, в последних то версиях. но:
                а) API проще и быстрее, и «оно дальше само». curl + json, время выполнения из шелла или с web'а копеешное;

                б) чтобы передернуть зону из постгреса надо или косячить скриптовый костыль который будет обновлять табличку записей, обновлять табличку зоны (про инкремент серийника помним?) переподписывать зону на DNSSEC, и (у меня без этого хоть убейся не работало) говорить PDNS'у перечитать бекенд.
                Время выполнения в шелле недопустимо большое.
            –1
            PowerDNS

            Only users with full accounts can post comments. Log in, please.