tuc*_*caz 6 domain-name-system configuration-management amazon-route53
我们使用 Amazon Route53 作为我公司的主要 DNS。随着我们逐渐使用来自不同提供商的多种服务,他们每个人都请求某种 DNS 条目来验证我们的域和/或使用他们的服务。截至目前,我们的主要托管区域中有大约 60 个条目。
它开始变得令人困惑,因为亚马逊甚至不允许每个条目都有一个简单的描述字段,因此我们无需解析它就知道它的含义。
有没有更好/不同的方法来管理这个?
开始学习使用 AWS 命令行,结合您自己开发的解决方案来管理您的 DNS 条目。
我个人有一个解决方案,它将多个文本文件(每个文件都包含客户标识和评论)合并到一个文件中,然后每当有更新时都会将其发送到我的权威 DNS。
有关 AWS Route53 CLI 的更多信息,请参见此处
1)获取cli53
2)创建一个文件夹,并为每个客户填充 BIND 兼容的 zonefile.txt。
C:\zones\customer.com.txt
C:\zones\example.org.txt
C:\zones\loyal-customer.net.au.txt
Run Code Online (Sandbox Code Playgroud)
3)编写一个脚本,提取每个文件并将其上传到 AWS Route53:
$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
}
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
4)每当您需要进行更改时,您都可以在单独的客户区域文件中进行更改,您也可以使用目录将其分开。
5)在Git中同步所有区域文件,以便您可以跟踪每个区域文件的更改,以防需要恢复。