AWS::Route53Resolver::ResolverEndpoint - AWS CloudFormation

AWS::Route53Resolver::ResolverEndpoint

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.

Important
  • You cannot update ResolverEndpointType and IpAddresses in the same request.

  • When you update a dual-stack IP address, you must update both IP addresses. You can’t update only an IPv4 or IPv6 and keep an existing IP address.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::Route53Resolver::ResolverEndpoint", "Properties" : { "Direction" : String, "IpAddresses" : [ IpAddressRequest, ... ], "Name" : String, "OutpostArn" : String, "PreferredInstanceType" : String, "Protocols" : [ String, ... ], "ResolverEndpointType" : String, "SecurityGroupIds" : [ String, ... ], "Tags" : [ Tag, ... ] } }

YAML

Type: AWS::Route53Resolver::ResolverEndpoint Properties: Direction: String IpAddresses: - IpAddressRequest Name: String OutpostArn: String PreferredInstanceType: String Protocols: - String ResolverEndpointType: String SecurityGroupIds: - String Tags: - Tag

Properties

Direction

Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:

  • INBOUND: allows DNS queries to your VPC from your network

  • OUTBOUND: allows DNS queries from your VPC to your network

Required: Yes

Type: String

Allowed values: INBOUND | OUTBOUND

Update requires: Replacement

IpAddresses

The subnets and IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints). The subnet ID uniquely identifies a VPC.

Note

Even though the minimum is 1, Route 53 requires that you create at least two.

Required: Yes

Type: Array of IpAddressRequest

Minimum: 2

Maximum: 20

Update requires: No interruption

Name

A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.

Required: No

Type: String

Pattern: (?!^[0-9]+$)([a-zA-Z0-9\-_' ']+)

Maximum: 64

Update requires: No interruption

OutpostArn

The ARN (Amazon Resource Name) for the Outpost.

Required: No

Type: String

Pattern: ^arn:aws([a-z-]+)?:outposts:[a-z\d-]+:\d{12}:outpost/op-[a-f0-9]{17}$

Minimum: 1

Maximum: 255

Update requires: Replacement

PreferredInstanceType

The Amazon EC2 instance type.

Required: No

Type: String

Minimum: 1

Maximum: 255

Update requires: Replacement

Protocols

Protocols used for the endpoint. DoH-FIPS is applicable for inbound endpoints only.

For an inbound endpoint you can apply the protocols as follows:

  • Do53 and DoH in combination.

  • Do53 and DoH-FIPS in combination.

  • Do53 alone.

  • DoH alone.

  • DoH-FIPS alone.

  • None, which is treated as Do53.

For an outbound endpoint you can apply the protocols as follows:

  • Do53 and DoH in combination.

  • Do53 alone.

  • DoH alone.

  • None, which is treated as Do53.

Required: No

Type: Array of String

Minimum: 1

Maximum: 2

Update requires: No interruption

ResolverEndpointType

The Resolver endpoint IP address type.

Required: No

Type: String

Allowed values: IPV6 | IPV4 | DUALSTACK

Update requires: No interruption

SecurityGroupIds

The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound rules (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.

Required: Yes

Type: Array of String

Update requires: Replacement

Tags

Route 53 Resolver doesn't support updating tags through CloudFormation.

Required: No

Type: Array of Tag

Maximum: 200

Update requires: No interruption

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the ResolverEndpoint object.

For more information about using the Ref function, see Ref.

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

Arn

The Amazon Resource Name (ARN) of the resolver endpoint, such as arn:aws:route53resolver:us-east-1:123456789012:resolver-endpoint/resolver-endpoint-a1bzhi.

Direction

Indicates whether the resolver endpoint allows inbound or outbound DNS queries.

HostVPCId

The ID of the VPC that you want to create the resolver endpoint in.

IpAddressCount

The number of IP addresses that the resolver endpoint can use for DNS queries.

Name

The name that you assigned to the resolver endpoint when you created the endpoint.

ResolverEndpointId

The ID of the resolver endpoint.

Examples

Create Resolver endpoint

The following example creates an Amazon Route 53 outbound resolver endpoint. The IpAddresses object includes values for SubnetId but not for Ip. This causes Route 53 Resolver to automatically choose an IP address from among the available IP addresses in the specified subnet.

JSON

{ "Type" : "AWS::Route53Resolver::ResolverEndpoint", "Properties" : { "Direction" : "Outbound", "IpAddresses" : [ { "SubnetId": "subnet-0bca4d363dexample" }, { "SubnetId": "subnet-0cdb5e474dexample" } ], "Name" : "MyOutboundEndpoint", "SecurityGroupIds" : [ "sg-071b99f42example" ], "Tags" : [ "Key": "LineOfBusiness", "Value": "Engineering" ] } }

YAML

Type : AWS::Route53Resolver::ResolverEndpoint Properties : Direction : Outbound IpAddresses : - SubnetId: subnet-0bca4d363dexample - SubnetId: subnet-0cdb5e474dexample Name : MyOutboundEndpoint SecurityGroupIds : - sg-071b99f42example Tags : - Key: LineOfBusiness Value: Engineering

Associate a Resolver rule with a VPC

The following example associates a resolver rule with a VPC. When you associate a rule with a VPC, Resolver forwards all DNS queries for the domain name that is specified in the rule and that originate in the VPC. The queries are forwarded to the IP addresses for the DNS resolvers that are specified in the rule.

JSON

{ "Type" : "AWS::Route53Resolver::ResolverRuleAssociation", "Properties" : { "Name" : "MyResolverRuleAssociation", "ResolverRuleId" : "rslvr-rr-5328a0899aexample", "VPCId" : "vpc-03cf94c75cexample" } }

YAML

Type: "AWS::Route53Resolver::ResolverRuleAssociation" Properties: Name: MyResolverRuleAssociation ResolverRuleId: rslvr-rr-5328a0899aexample VPCId: vpc-03cf94c75cexample

See also