2

我正在尝试在路由 54 的子域下添加多个 IP 地址。在 UI 上就足够了,使用 area54 或在 boto 中添加一个 IP 地址很容易。

e.g. master.hui.com
10.130.149.247
10.130.149.248

使用 area54

ipaddress = '10.130.149.247'
entry =  'master.hui.com'
zone = route53.get_zone('hui.com')
add_dns = zone.add_record('A',entry, [ipaddress], ttl='60') 

在博托:

conn = Route53Connection(aws_access_key_id, aws_secret_access_key)
changes = ResourceRecordSets(conn, zone_id)

change = changes.add_change("CREATE",sub_domain, "A", 60)
change.add_value(ip_address)

那么...如何使用 area53 或 boto 在子域下添加两个或多个 IP 地址?

谢谢

4

2 回答 2

2

您需要使用 WRR。从 boto CLI:

route53 add_record Z1J8BS4AFAKE12 foo.example.com. A 1.2.3.4 60 first 1
route53 add_record Z1J8BS4AFAKE12 foo.example.com. A 5.6.7.8 60 second 2

或从 API:

change.add_change("CREATE", 'foo', 'A', ttl=60, weight=1, identifier='first')
change.add_change("CREATE", 'foo', 'A', ttl=60, weight=2, identifier='second')

请参阅http://docs.amazonwebservices.com/Route53/latest/DeveloperGuide/WeightedResourceRecordSets.html

最后,您所说的“子域”是“资源记录”。“子域”意味着当您将此问题发送到 boto-users 邮件列表时让我感到困惑的区域。

于 2012-07-02T19:06:25.270 回答
2

最初的问题和接受的答案非常好,但也许 boto 的界面已经改变,所以我在做同样的事情时遇到了一些问题或细节。

如果您想使用 boto 添加一个或多个加权 DNS,代码将是(请注意,我使用的是 CNAME 记录而不是 A 记录):

conn = Route53Connection(aws_access_key_id, aws_secret_access_key)
rrs = ResourceRecordSets(conn, zone_id, comment='for posterity')

change = rrs.add_change('CREATE', fqdn, 'CNAME', ttl=60, identifier='unique', weight=1)
change.add_value(where_the_DNS_should_point_to)

try:
   status = rrs.commit()
except DNSServerError:
   # something went wrong, handle it as you please
   pass

# here you should wait until status is no longer PENDING

为了完整起见,这是删除同一条记录的最简单方法:

conn = Route53Connection(aws_access_key_id, aws_secret_access_key)
zone = conn.get_zone(your_zone_name)

rr = zone.find_records(fqdn, 'CNAME', identifier=('unique', '1'))
# check here that rr is not None
status = zone.delete_record(rr, comment='for posterity')
# here you should wait until status is no longer PENDING
于 2014-10-27T18:20:17.017 回答