AWS Route 53 Resolver Endpoint

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

aws_route53_resolver_endpoint (Terraform)

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

Example Usage from GitHub

route53_resolver_endpoint_test.tf#L12
resource "aws_route53_resolver_endpoint" "test" {
  direction          = "INBOUND"
  security_group_ids = ["sg-1233456"]

  ip_address {
    subnet_id = "subnet-123456"
ep.tf#L1
resource "aws_route53_resolver_endpoint" "inbound-ep-nucleus" {
  name      = "inbound-ep-nucleus"
  direction = "INBOUND"

  security_group_ids = [
    aws_security_group.sg_53_nucleus.id  ]
route53_resolver_endpoint_test.tf#L12
resource "aws_route53_resolver_endpoint" "test" {
  direction          = "INBOUND"
  security_group_ids = ["sg-1233456"]

  ip_address {
    subnet_id = "subnet-123456"
dns.tf#L1
resource "aws_route53_resolver_endpoint" "vpn_dns" {
  name               = "vpn-dns-access"
  direction          = "INBOUND"
  security_group_ids = [aws_security_group.vpn_dns.id]
  ip_address {
    subnet_id = local.private_subnet_1

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 Route 53 Resolver endpoint resource.

AWS::Route53Resolver::ResolverEndpoint (CloudFormation)

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

Example Usage from GitHub

route53-endpoints.yml#L58
    Type: AWS::Route53Resolver::ResolverEndpoint
    Properties:
      Name: !Ref InboundEndpointName
      Direction: INBOUND
      IpAddresses:
        - SubnetId: !Ref PublicSubAz1
demo.yml#L169
    Type: AWS::Route53Resolver::ResolverEndpoint
    Properties:
      Direction: OUTBOUND
      IpAddresses:
        - SubnetId: !Ref ResolverSubnetA
        - SubnetId: !Ref ResolverSubnetB
dns-vpc.yaml#L87
    Type: AWS::Route53Resolver::ResolverEndpoint
    Properties:
      Direction: INBOUND
      IpAddresses:
        - SubnetId: !Ref Subnet
          Ip: !Ref IPAddr1
Route53Resolver.cfn.yaml#L43
    Type: AWS::Route53Resolver::ResolverEndpoint
    Properties:
      Direction: INBOUND
      IpAddresses:
        - SubnetId: !Select [0, !Ref ResolverEndpointSubnetIds]
        - SubnetId: !Select [1, !Ref ResolverEndpointSubnetIds]
properties_nested_if.yaml#L4
    Type: AWS::Route53Resolver::ResolverEndpoint
    Condition: CreateR53Resolver
    Properties:
      Direction: INBOUND
      IpAddresses: !If
        - 3AZ
Route53ResolverResolverEndpointSpecification.json#L3
    "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html",
      "Properties": {
        "Ip": {
          "Required": false,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html#cfn-route53resolver-resolverendpoint-ipaddressrequest-ip",
Route53ResolverResolverEndpointSpecification.json#L3
    "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html",
      "Properties": {
        "Ip": {
          "Required": false,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html#cfn-route53resolver-resolverendpoint-ipaddressrequest-ip",
Route53ResolverResolverEndpointSpecification.json#L3
    "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html",
      "Properties": {
        "Ip": {
          "Required": false,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html#cfn-route53resolver-resolverendpoint-ipaddressrequest-ip",
Route53ResolverResolverEndpointSpecification.json#L3
    "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html",
      "Properties": {
        "Ip": {
          "Required": false,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html#cfn-route53resolver-resolverendpoint-ipaddressrequest-ip",
Route53ResolverResolverEndpointSpecification.json#L3
    "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html",
      "Properties": {
        "Ip": {
          "Required": false,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html#cfn-route53resolver-resolverendpoint-ipaddressrequest-ip",

Parameters

Explanation in CloudFormation Registry

Creates a Resolver endpoint. There are two types of Resolver endpoints, inbound and outbound:+ An inbound Resolver endpoint forwards DNS queries to the DNS service for a VPC from your network.

  • An outbound Resolver endpoint forwards DNS queries from the DNS service for a VPC to your network.

Frequently asked questions

What is AWS Route 53 Resolver Endpoint?

AWS Route 53 Resolver Endpoint 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 Endpoint?

For Terraform, the gilyas/infracost, dmilan77/vpc-peer-poc and infracost/infracost source code examples are useful. See the Terraform Example section for further details.

For CloudFormation, the sguillory6/aws-infrastructure-templates, greenaussie/demo_vpc_endpoints_with_ec2 and JoshArmi/private-hosted-zone source code examples are useful. See the CloudFormation Example section for further details.