Amazon Route 53
Developer Guide (API Version 2012-12-12)
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Go to the Kindle Store to download this guide in Kindle format.Did this page help you?  Yes | No |  Tell us about it...

Creating, Changing, and Deleting Resource Record Sets

You can use the Route 53 console or Route 53 API actions to create, change, and delete resource record sets.

Note

Creating, changing, and deleting resource record sets take time to propagate to the Route 53 DNS servers. Currently, the only way to verify that changes have propagated is by using the GetChange API action. Changes generally propagate to all Route 53 name servers in a couple of minutes. In rare circumstances, propagation can take up to 30 minutes.

See the applicable topic:

Creating, Changing, and Deleting Resource Record Sets Using the Route 53 Console

To create resource record sets using the Route 53 console

  1. Sign in to the AWS Management Console and open the Amazon Route 53 console at https://console.aws.amazon.com/route53/.

  2. On the Hosted Zones page, do one of the following:

    • Click the row for the hosted zone in which you want to create record sets, and click Go to Record Sets.

    • Double-click the row for the hosted zone.

    Creating a resource record set: Go to Record Sets button on the Hosted Zones page.

  3. On the Record Sets page, above the left pane, click Create Record Set.

    Creating a resource record set: Create Record Set button on the Record Sets page.

  4. In the right pane, enter the applicable values. For information about a field, see the tool tip for the field.

    Creating a resource record set: tooltip for the Name field.

  5. Below the right pane, click Create Record Set.

To change resource record sets using the Route 53 console

  1. Sign in to the AWS Management Console and open the Amazon Route 53 console at https://console.aws.amazon.com/route53/.

  2. On the Hosted Zones page, do one of the following:

    • Click the row for the hosted zone in which you want to change record sets, and click Go to Record Sets.

    • Double-click the row for the hosted zone.

    Changing resource record sets: Go to Record Sets button on the Hosted Zones page.

  3. In the left pane, select the resource record set that you want to change.

  4. Change the applicable values. For information about a field, see the tool tip for the field.

    Note

    To change the name of the record set, click the pencil icon.

    Changing resource record sets: tooltip to change Name field.

  5. Click Save.

To delete resource record sets using the Route 53 console

  1. Sign in to the AWS Management Console and open the Amazon Route 53 console at https://console.aws.amazon.com/route53/.

  2. On the Hosted Zones page, do one of the following:

    • Click the row for the hosted zone in which you want to change record sets, and click Go to Record Sets.

    • Double-click the row for the hosted zone.

    Deleting resource record sets: Go to Record Sets button on the Hosted Zones page.

  3. In the left pane, select the resource record set that you want to delete.

    To select multiple, consecutive resource record sets, click the first row, press and hold the Shift key, and click the last row. To select multiple, non-consecutive resource record sets, click the first row, press and hold the Ctrl key, and click the remaining rows.

    Deleting resource record sets: Delete Record Set button.

  4. Click Delete Record Set.

  5. Click OK to confirm.

Creating, Changing, and Deleting Resource Record Sets Using the Route 53 API

To create, change, or delete resource record sets using the Route 53 API, use the Route 53 API ChangeResourceRecordSets action. These changes apply the information from your change batch request to your Route 53 hosted zone.

How Change Batch Requests Work

When you use the Route 53 API to change resource record sets, Route 53 either makes all of the changes or makes none of the changes in a change batch request. This ensures that Route 53 never partially implements the changes that you intended to make to the resource record sets in a hosted zone.

For example, suppose you create a change batch request that deletes the A record for example.com and creates a replacement A record that has a different IP address. Route 53 deletes the first resource record set and creates the second resource record set in a single operation. If either the DELETE or the CREATE action fails, then both changes (plus any other changes in the batch) fail, and the original A record continues to exist.

Creating a Change Batch Request

To create a change batch request, use the ChangeResourceRecordSets action ChangeBatch element. You use CREATE and DELETE actions within the ChangeBatch element for each record that you want to update. If you are only creating records, then you will only use CREATE actions.

Note the following limitations on a ChangeResourceRecordSets request:

  • A request cannot contain more than 100 Change elements.

  • A request cannot contain more than 1000 ResourceRecord elements.

  • The sum of the number of characters (including spaces) in all Value elements in a request cannot exceed 32,000 characters.

The following is an example of a ChangeResourceRecordSets change batch request. For more information about the ChangeResourceRecordSets API action, see POST ChangeResourceRecordSets in the Amazon Route 53 API Reference.

Note

For information about using the Route 53 API, see Making API Requests. For information about calling the Route 53 API using the Route 53 dnscurl.pl utility, see Example: Using dnscurl.pl.

Example of a Change Batch Request

This example creates a TXT record for www.example.com and changes the A record for foo.example.com from 192.0.2.3 to 192.0.2.1.

POST /2012-12-12/hostedzone/Z1PA6795UKMFR9/rrset HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/
doc/2012-12-12/">
   <ChangeBatch>
      <Comment>
      This change batch creates a TXT record for www.example.com. and 
      changes the A record for foo.example.com. from 
      192.0.2.3 to 192.0.2.1.
      </Comment>
      <Changes>
         <Change>
            <Action>CREATE</Action>
            <ResourceRecordSet>
               <Name>www.example.com.</Name>
               <Type>TXT</Type>
               <TTL>600</TTL>
               <ResourceRecords>
                  <ResourceRecord>
                     <Value>"item 1" "item 2" "item 3"</Value>
                  </ResourceRecord>
               </ResourceRecords>
            </ResourceRecordSet>
         </Change>
         <Change>
            <Action>DELETE</Action>
            <ResourceRecordSet>
               <Name>foo.example.com.</Name>
               <Type>A</Type>
               <TTL>600</TTL>
               <ResourceRecords>
                  <ResourceRecord>
                     <Value>192.0.2.3</Value>
                  </ResourceRecord>
               </ResourceRecords>
            </ResourceRecordSet>
         </Change>
         <Change>
            <Action>CREATE</Action>
            <ResourceRecordSet>
               <Name>foo.example.com.</Name>
               <Type>A</Type>
               <TTL>600</TTL>
               <ResourceRecords>
                  <ResourceRecord>
                     <Value>192.0.2.1</Value>
                  </ResourceRecord>
               </ResourceRecords>
            </ResourceRecordSet>
         </Change>
      </Changes>
   </ChangeBatch>
</ChangeResourceRecordSetsRequest>

Checking the Status of Your Change

After you send your change request, you should check to ensure that your change has propagated to all Route 53 DNS servers. To check the status of your change, poll for the status of the change. Use the GetChange action to send a GET request to the 2012-12-12/change/<change ID> resource. When your change is complete, its status becomes INSYNC. Changes generally propagate to all Route 53 name servers in a couple of minutes. In rare circumstances, propagation can take up to 30 minutes.

For more information about the GetChange API action, see GET GetChange in the Amazon Route 53 API Reference.

In the following example, the Id value is the ChangeInfo Id value from the ChangeResourceRecordSetsResponse header.

Note

For information about using the Route 53 API, see Making API Requests. For information about calling the Route 53 API using the Route 53 dnscurl.pl utility, see Example: Using dnscurl.pl.

Example Request

GET /2012-12-12/change/C2682N5HXP0BZ4

Example Response

HTTP/1.1 200 OK
<?xml version="1.0" encoding="UTF-8"?>
<GetChangeResponse xmlns="https://route53.amazonaws.com/doc/2012-12-12/">
  <ChangeInfo>
     <Id>/change/C2682N5HXP0BZ4</Id>
     <Status>INSYNC</Status>
     <SubmittedAt>2010-09-10T01:36:41.958Z</SubmittedAt>
   </ChangeInfo>
</GetChangeResponse>