2015-10-19 42 views
0

我想用Boto3创建一个dns_hosted_zone备份BIND文件。 我使用下面的脚本列出所有的资源记录集:如何使用AWS Boto3从route53 API创建绑定文件?

 hosted_zones = conn.list_hosted_zones()['HostedZones'] 
    for hosted_zone in hosted_zones: 
      domain_name = hosted_zone["Name"] 
      zone_id = hosted_zone["Id"] 
      record_sets = conn.list_resource_record_sets(HostedZoneId=zone_id) 
      record_sets = record_sets["ResourceRecordSets"] 
      for record in record_sets: 
       print record 

,但我想将这些RR的到BIND格式,并将它们保存在一个文件中。 有什么方法可以使用python库以BIND格式转换这些资源记录(RR)。 如果是,如何和如果否,有任何替代方法?

回答

0

你不需要一个库本身。只需为区域文件使用标准模板,然后使用从“记录”集合中获得的值填写这些值。

的样本区域文件可能是如下:

$ ORIGIN example.com。

$ TTL 86400

@ IN SOA dns1.example.com。 hostmaster.example.com。 ( 2001062501;串行
21600;6小时
3600之后刷新;重试后1小时
604800;到期1周后
86400); 1天

IN NS dns1.example.com.  
IN NS dns2.example.com.   


IN MX 10 mail.example.com.  
IN MX 20 mail2.example.com.   

DNS1 IN A 10.0.1.1 DNS2 IN A 10.0.1.2

server1的IN A 10.0.1.5
服务器2的最小TTL IN A 10.0.1.6

FTP IN A 10.0.1.3 IN A 10.0.1.4

邮件IN CNAME server1的 mail2 IN CNAME服务器2

www IN CNAME server1