Skip to content

RecordSet ​

The RecordSet resource lets you manage AWS Route53 RecordSets for DNS configurations and settings.

Minimal Example ​

Create a basic A record for a domain.

ts
import AWS from "alchemy/aws/control";

const basicRecordSet = await AWS.Route53.RecordSet("basicRecordSet", {
  Name: "example.com",
  Type: "A",
  TTL: "300",
  ResourceRecords: ["192.0.2.1"],
  HostedZoneId: "Z1234567890" // Replace with your actual hosted zone ID
});

Alias Record Example ​

Create an alias record pointing to an AWS resource.

ts
const aliasRecordSet = await AWS.Route53.RecordSet("aliasRecordSet", {
  Name: "www.example.com",
  Type: "A",
  AliasTarget: {
    DNSName: "dualstack.awselb-example-1234567890.us-east-1.elb.amazonaws.com",
    HostedZoneId: "Z1234567890" // Replace with the actual hosted zone ID for the load balancer
  },
  HostedZoneId: "Z1234567890" // Replace with your actual hosted zone ID
});

Geo-Location Record Example ​

Configure a GeoLocation record for specific regions.

ts
const geoLocationRecordSet = await AWS.Route53.RecordSet("geoLocationRecordSet", {
  Name: "example.com",
  Type: "A",
  TTL: "300",
  ResourceRecords: ["203.0.113.0"],
  GeoLocation: {
    CountryCode: "US" // Targeting users in the United States
  },
  HostedZoneId: "Z1234567890" // Replace with your actual hosted zone ID
});

Multi-Value Answer Example ​

Set up a multi-value answer record for load balancing.

ts
const multiValueRecordSet = await AWS.Route53.RecordSet("multiValueRecordSet", {
  Name: "example.com",
  Type: "A",
  TTL: "60",
  MultiValueAnswer: true,
  ResourceRecords: ["192.0.2.1", "192.0.2.2", "192.0.2.3"],
  HostedZoneId: "Z1234567890" // Replace with your actual hosted zone ID
});

Failover Record Example ​

Create a failover record for high availability.

ts
const failoverRecordSet = await AWS.Route53.RecordSet("failoverRecordSet", {
  Name: "example.com",
  Type: "A",
  TTL: "300",
  ResourceRecords: ["198.51.100.1"],
  HealthCheckId: "abc12345-6789-0123-4567-89abcdef0123", // Replace with your actual health check ID
  Failover: "PRIMARY",
  HostedZoneId: "Z1234567890" // Replace with your actual hosted zone ID
});