pipe理Route53中的许多条目

我们使用亚马逊Route53作为我公司的主DNS。 随着我们逐渐使用来自不同提供商的多种服务,他们中的每一个都需要某种DNS条目来validation我们的域名和/或使用他们的服务。 截至目前,我们在主要托pipe区域拥有约60个参赛作品。

它开始变得混乱,因为亚马逊甚至不允许每个条目都有一个简单的描述字段 ,所以我们知道它是什么意思,而不必parsing它。

有一个更好的/不同的方式来pipe理这个?

build议

开始学习使用,并使用AWS命令行,结合您自己的本地解决scheme来pipe理您的DNS条目。

我个人有一个解决scheme,将多个文本文件(每个都包含客户标识和注释)四舍五入成一个文件,然后在有更新时发送给我的权威DNS。

有关AWS Route53 CLI的更多信息,请参阅此处


示例解决scheme

1)获得cli53

2)创build一个文件夹,并为每个客户填充BIND兼容的zonefile.txt。

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

3)编写一个脚本,获取每个文件并将其上传到AWS Route53:

电源shell

 $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中的所有区域文件,以便在需要恢复时可以跟踪每个区域文件的更改。

我不知道有什么现成的解决scheme来做到这一点。

也就是说,自制一个Route53pipe理系统应该相当简单 – 只需要一个mysql表格和一个用你select的语言的同步脚本就可以了。