2

ルート 54 のサブドメインの下に複数の IP アドレスを追加しようとしています。UI で十分であり、area54 または boto を使用して 1 つの 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 を使用して、サブドメインの下に 2 つ以上の 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 を使用して 1 つ以上の加重 DNS を追加する場合、コードは次のようになります (A レコードの代わりに CNAME レコードを使用していることに注意してください)。

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 に答える