2015-10-19 41 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