AWS Route 53 Resolver Rule

This page shows how to write Terraform and CloudFormation for Route 53 Resolver Rule and write them securely.

aws_route53_resolver_rule (Terraform)

The Rule in Route 53 Resolver can be configured in Terraform with the resource name aws_route53_resolver_rule. The following sections describe 5 examples of how to use the resource and its parameters.

Example Usage from GitHub

12-route53.tf#L85
resource "aws_route53_resolver_rule" "eu_west1_cloudtuples_fwd" {
  domain_name          = "west1.cloudtuples.com"
  name                 = "west1-cloudtuples"
  rule_type            = "FORWARD"
  resolver_endpoint_id = aws_route53_resolver_endpoint.outbound_endpoint.id

resolver-rules.tf#L1
resource "aws_route53_resolver_rule" "sys" {
  name                 = "my-global-resolver"
  domain_name = "."
  rule_type   = "SYSTEM"
}

dns_hub.tf#L113
resource "aws_route53_resolver_rule" "hub_local" {
  count       = var.is_hub ? 1 : 0
  domain_name = var.internal_domain
  name        = "resolve-self"
  rule_type   = "SYSTEM"
}
main.tf#L36
resource "aws_route53_resolver_rule" "domain_forwarders" {
  for_each             = local.forward_domains
  domain_name          = each.value.name
  name                 = each.value.rule_name
  rule_type            = each.value.rule_type
  resolver_endpoint_id = aws_route53_resolver_endpoint.default.id
hub.tf#L116
resource "aws_route53_resolver_rule" "forward_internal" {
  count                = var.is_hub ? 1 : 0
  domain_name          = var.internal_domain
  name                 = "forward-inbound"
  rule_type            = "FORWARD"
  resolver_endpoint_id = aws_route53_resolver_endpoint.internal[0].id

Review your Terraform file for AWS best practices

Shisho Cloud, our free checker to make sure your Terraform configuration follows best practices, is available (beta).

Parameters

Explanation in Terraform Registry

Provides a Route53 Resolver rule.

AWS::Route53Resolver::ResolverRule (CloudFormation)

The ResolverRule in Route53Resolver can be configured in CloudFormation with the resource name AWS::Route53Resolver::ResolverRule. The following sections describe 10 examples of how to use the resource and its parameters.

Example Usage from GitHub

route53-endpoints.yml#L92
    Type: "AWS::Route53Resolver::ResolverRule"
    Properties:
      Name: stang-r53-resolver-rule-to-swa
      DomainName: swacorp.com
      ResolverEndpointId: !Ref rOutboundResolverEndpoint
      RuleType: FORWARD
mini_project_singapore.yml#L659
    Type: AWS::Route53Resolver::ResolverRule
    Properties:
      DomainName: idcsingapore.internal
      Name: Outbound Rule
      ResolverEndpointId: !Ref OutboundEndpoint
      RuleType: FORWARD
Seoul.yml#L477
    Type: AWS::Route53Resolver::ResolverRule
    Properties:
      DomainName: aws-seoul.internal
      Name: forwardrule
      ResolverEndpointId: !Ref Outbound
      RuleType: FORWARD
Route53%20(2).yml#L469
    Type: AWS::Route53Resolver::ResolverRule
    Properties:
      DomainName: idcneta.internal
      Name: Outbound Rule
      ResolverEndpointId: !Ref OutboundEndpoint
      RuleType: FORWARD
demo.yml#L178
    Type: AWS::Route53Resolver::ResolverRule
    Properties:
      DomainName: !Ref ForwarderDomainName
      ResolverEndpointId: !GetAtt OuboundResolver.ResolverEndpointId
      RuleType: FORWARD
      TargetIps:
Route53ResolverResolverRuleSpecification.json#L3
    "AWS::Route53Resolver::ResolverRule.TargetAddress": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html",
      "Properties": {
        "Ip": {
          "Required": true,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html#cfn-route53resolver-resolverrule-targetaddress-ip",
Route53ResolverResolverRuleSpecification.json#L3
    "AWS::Route53Resolver::ResolverRule.TargetAddress": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html",
      "Properties": {
        "Ip": {
          "Required": true,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html#cfn-route53resolver-resolverrule-targetaddress-ip",
Route53ResolverResolverRuleSpecification.json#L3
    "AWS::Route53Resolver::ResolverRule.TargetAddress": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html",
      "Properties": {
        "Ip": {
          "Required": true,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html#cfn-route53resolver-resolverrule-targetaddress-ip",
Route53ResolverResolverRuleSpecification.json#L3
    "AWS::Route53Resolver::ResolverRule.TargetAddress": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html",
      "Properties": {
        "Ip": {
          "Required": true,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html#cfn-route53resolver-resolverrule-targetaddress-ip",
Route53ResolverResolverRuleSpecification.json#L3
    "AWS::Route53Resolver::ResolverRule.TargetAddress": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html",
      "Properties": {
        "Ip": {
          "Required": true,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html#cfn-route53resolver-resolverrule-targetaddress-ip",

Parameters

Explanation in CloudFormation Registry

For DNS queries that originate in your VPCs, specifies which Resolver endpoint the queries pass through, one domain name that you want to forward to your network, and the IP addresses of the DNS resolvers in your network.

Frequently asked questions

What is AWS Route 53 Resolver Rule?

AWS Route 53 Resolver Rule is a resource for Route 53 Resolver of Amazon Web Service. Settings can be wrote in Terraform and CloudFormation.

Where can I find the example code for the AWS Route 53 Resolver Rule?

For Terraform, the kaysal/cloud-networking, dmilan77/vpc-route53-multiaccount-v2 and GSA/grace-paas-network source code examples are useful. See the Terraform Example section for further details.

For CloudFormation, the sguillory6/aws-infrastructure-templates, yuntreee/CloudFormation and nnany1123/nnany source code examples are useful. See the CloudFormation Example section for further details.