プレイヤーズ・ハイ

 雑多な日記

Route 53 - aws route53 change-resource-record-sets でレコード更新

f:id:i97506051502:20140212113755p:plain

aws route 53 change-resource-record-sets を使って、あるドメインの A レコードを、IP アドレスから Alias (この例では ELB) に変更します。

aws route53 change-resource-record-sets --hosted-zone-id ゾーンID --change-batch file:///ファイルパス

JSON ファイル内の「HostedZoneId」を誤って指定していてしばらくハマりました。

{
  "Comment": "Update A Record, ドメイン名",
  "Changes": [
    {
      "Action": "UPSERT",
      "ResourceRecordSet": {
        "Name": "ドメイン名",
        "Type": "A",
        "AliasTarget": {
          "HostedZoneId": "ゾーンID",
          "DNSName": "ELB の DNS Name",
          "EvaluateTargetHealth": false
        }
      }
    }
  ]
}

上記 aws route 53 change-resource-record-sets コマンドのゾーンID ではなく、Alias Target (この例では ELB) の Hosted Zone ID を指定します。

AWS Management Console にて Alias Target を選択すると、その下部にその Alias が Host されている Zone ID が「Alias Hosted Zone ID」として確認できます。