AWS::ServiceDiscovery::PrivateDnsNamespace - AWS CloudFormation


Creates a private namespace based on DNS, which is visible only inside a specified Amazon VPC. The namespace defines your service naming scheme. For example, if you name your namespace and name your service backend, the resulting DNS name for the service is For the current quota on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.


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


{ "Type" : "AWS::ServiceDiscovery::PrivateDnsNamespace", "Properties" : { "Description" : String, "Name" : String, "Tags" : [ Tag, ... ], "Vpc" : String } }


Type: AWS::ServiceDiscovery::PrivateDnsNamespace Properties: Description: String Name: String Tags: - Tag Vpc: String



A description for the namespace.

Required: No

Type: String

Maximum: 1024

Update requires: Replacement


The name that you want to assign to this namespace. When you create a private DNS namespace, AWS Cloud Map automatically creates an Amazon Route 53 private hosted zone that has the same name as the namespace.

Required: Yes

Type: String

Maximum: 1024

Pattern: ^[!-~]{1,1024}$

Update requires: Replacement


The tags for the namespace. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

Required: No

Type: List of Tag

Maximum: 200

Update requires: Updates are not supported.


The ID of the Amazon VPC that you want to associate the namespace with.

Required: Yes

Type: String

Maximum: 64

Update requires: Replacement

Return values


When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the value of Id for the namespace, such as ns-e4anhexample0004.

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


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.


The Amazon Resource Name (ARN) of the private namespace.


The ID of the private namespace.


Create a private DNS namespace

The following example creates a private DNS namespace named


{ "Type" : "AWS::ServiceDiscovery::PrivateDnsNamespace", "Properties" : { "Description" : "AWS Cloud Map private DNS namespace for resources for website", "Vpc" : "vpc-12345678", "Name" : "" } }


Type: 'AWS::ServiceDiscovery::PrivateDnsNamespace' Properties: Description: AWS Cloud Map private DNS namespace for resources for website Vpc: vpc-12345678 Name:

See also