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

Управление множеством записей в Route53

Мы используем Amazon Route53 в качестве основного DNS моей компании. По мере того, как мы используем несколько сервисов от разных провайдеров, каждый из них запрашивал какую-то запись DNS для проверки нашего домена и / или использования их сервисов. На данный момент у нас есть около 60 записей в нашей основной зоне размещения.

Это начинает сбивать с толку, поскольку Amazon не позволяет даже простое поле описания для каждой записи, чтобы мы знали, что она означает, не разбирая ее.

Есть ли лучший / другой способ справиться с этим?

Рекомендация

Начните изучать использование командной строки AWS в сочетании с вашим собственным решением для управления записями DNS.

У меня лично есть решение, которое объединяет несколько текстовых файлов (каждый с идентификатором клиента и комментариями) в один файл, который затем отправляется в мой авторитетный DNS всякий раз, когда происходит обновление.

Подробнее об интерфейсе командной строки AWS Route53 Вот


Пример решения

1) Получить cli53

2) Создайте папку и заполните ее файлом zonefile.txt, совместимым с BIND, для каждого клиента.

C:\zones\customer.com.txt
C:\zones\example.org.txt
C:\zones\loyal-customer.net.au.txt

3) Напишите сценарий, который извлекает каждый файл и загружает его в AWS Route53:

Powershell

$zonefileDir = "C:\zones\"

foreach ($file in (ls $zonefileDir -r))
{
    # Remove the '.txt' from each file, so we have the proper domain name
    $zone = ($file.name -replace "\.txt$","")

    # import the BIND zonefile and replace any existing records
    cli53 import $zone --file $file --replace --wait
}

Баш

directory="/etc/bind/zones/"
for file in `ls $directory`
do
    zone=`echo $file | grep -Po "^.*?(?=\.extension)"`
    cli53 import $zone --file $directory$file --replace --wait
done

4) Всякий раз, когда вам нужно внести изменения, вы вносите их в отдельные файлы клиентской зоны, которые также можно разделить каталогами.

5) Синхронизируйте все файлы зоны в Git так что вы можете отслеживать изменения в каждом файле зоны в случае, если вам нужно вернуться.

Я не знаю готового решения для этого.

Тем не менее, создание системы управления Route53 в домашних условиях должно быть довольно простым - пара таблиц mysql и сценарий синхронизации на выбранном вами языке - это все, что нужно.