EC2 は、インスタンスを停止してから再起動すると、新しい IP アドレスをインスタンスに与えるため、一貫してアクセスできるように、route53 レコード セットを自動的に管理できるようにする必要があります。悲しいことに、sdk の route53 部分のドキュメントは、ec2 の場合ほど堅牢ではないため (当然のことですが)、少し行き詰まっています。私がこれまで見てきたことから、change_resource_record_sets
( link ) が進むべき道のように思えますが:chages
、オブジェクトについて言及しているが、そのChange
オブジェクトの説明へのリンクを提供できないため、何が必要かについて混乱しています。
私のコードは現在、作成のためにどのように見えるかです:
r53.client.change_resource_record_sets(:hosted_zone_id => 'MY_ID', :change_batch => {
:changes => 'I DONT KNOW WHAT GOES HERE',
:action => 'CREATE',
:resource_record_set => {
:name => @instance.instance_name,
:type => 'CNAME',
:ttl => 330,
:value => @instance.ip_address
}})
編集:わかりました、ここでも公式フォーラムでも助けがなかったので、自分でいじっていました。したがって、ドキュメンテーションはひどいものであることがわかります。すべての値はChange
オブジェクトに格納され、そこには与えられません。したがって、実際には次のようになります。
some_change = AWS::Route53::CreateRequest.new(@instance.instance_name,
'CNAME',
:ttl => 330,
:resource_records => [
{:value => @instance.ip_address}
])
r53.client.change_resource_record_sets(:hosted_zone_id => 'MY_ZONE', :change_batch => {
:changes => [some_change],
})