AssociateVPCWithHostedZone - Amazon Route 53

AssociateVPCWithHostedZone

Associates an Amazon VPC with a private hosted zone.

Note

To perform the association, the VPC and the private hosted zone must already exist. Also, you can't convert a public hosted zone into a private hosted zone.

If you want to associate a VPC that was created by one AWS account with a private hosted zone that was created by a different account, do one of the following:

  • Use the AWS account that created the private hosted zone to submit a CreateVPCAssociationAuthorization request. Then use the account that created the VPC to submit an AssociateVPCWithHostedZone request.

  • If a subnet in the VPC was shared with another account, you can use the account that the subnet was shared with to submit an AssociateVPCWithHostedZone request. For more information about sharing subnets, see Working with Shared VPCs.

Request Syntax

POST /2013-04-01/hostedzone/Id/associatevpc HTTP/1.1 <?xml version="1.0" encoding="UTF-8"?> <AssociateVPCWithHostedZoneRequest xmlns="https://route53.amazonaws.com/doc/2013-04-01/"> <Comment>string</Comment> <VPC> <VPCId>string</VPCId> <VPCRegion>string</VPCRegion> </VPC> </AssociateVPCWithHostedZoneRequest>

URI Request Parameters

The request requires the following URI parameters.

Id

The ID of the private hosted zone that you want to associate an Amazon VPC with.

Note that you can't associate a VPC with a hosted zone that doesn't have an existing VPC association.

Length Constraints: Maximum length of 32.

Request Body

The request accepts the following data in XML format.

AssociateVPCWithHostedZoneRequest

Root level tag for the AssociateVPCWithHostedZoneRequest parameters.

Required: Yes

Comment

Optional: A comment about the association request.

Type: String

Required: No

VPC

A complex type that contains information about the VPC that you want to associate with a private hosted zone.

Type: VPC object

Required: Yes

Response Syntax

HTTP/1.1 200 <?xml version="1.0" encoding="UTF-8"?> <AssociateVPCWithHostedZoneResponse> <ChangeInfo> <Comment>string</Comment> <Id>string</Id> <Status>string</Status> <SubmittedAt>timestamp</SubmittedAt> </ChangeInfo> </AssociateVPCWithHostedZoneResponse>

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in XML format by the service.

AssociateVPCWithHostedZoneResponse

Root level tag for the AssociateVPCWithHostedZoneResponse parameters.

Required: Yes

ChangeInfo

A complex type that describes the changes made to your hosted zone.

Type: ChangeInfo object

Errors

For information about the errors that are common to all actions, see Common Errors.

ConflictingDomainExists

The cause of this error depends on the operation that you're performing:

  • Create a public hosted zone: Two hosted zones that have the same name or that have a parent/child relationship (example.com and test.example.com) can't have any common name servers. You tried to create a hosted zone that has the same name as an existing hosted zone or that's the parent or child of an existing hosted zone, and you specified a delegation set that shares one or more name servers with the existing hosted zone. For more information, see CreateReusableDelegationSet.

  • Create a private hosted zone: A hosted zone with the specified name already exists and is already associated with the Amazon VPC that you specified.

  • Associate VPCs with a private hosted zone: The VPC that you specified is already associated with another hosted zone that has the same name.

HTTP Status Code: 400

InvalidInput

The input is not valid.

HTTP Status Code: 400

InvalidVPCId

The VPC ID that you specified either isn't a valid ID or the current account is not authorized to access this VPC.

HTTP Status Code: 400

LimitsExceeded

This operation can't be completed either because the current account has reached the limit on reusable delegation sets that it can create or because you've reached the limit on the number of Amazon VPCs that you can associate with a private hosted zone. To get the current limit on the number of reusable delegation sets, see GetAccountLimit. To get the current limit on the number of Amazon VPCs that you can associate with a private hosted zone, see GetHostedZoneLimit. To request a higher limit, create a case with the AWS Support Center.

HTTP Status Code: 400

NoSuchHostedZone

No hosted zone exists with the ID that you specified.

HTTP Status Code: 404

NotAuthorizedException

Associating the specified VPC with the specified hosted zone has not been authorized.

HTTP Status Code: 401

PublicZoneVPCAssociation

You're trying to associate a VPC with a public hosted zone. Amazon Route 53 doesn't support associating a VPC with a public hosted zone.

HTTP Status Code: 400

Examples

Example Request

POST /2013-04-01/hostedzone/Z1PA6795UKMFR9/associatevpc HTTP/1.1 <?xml version="1.0" encoding="UTF-8"?> <AssociateVPCWithHostedZoneRequest xmlns="https://route53.amazonaws.com/doc/2013-04-01/"> <VPC> <VPCId>vpc-a1b2c3d4e5</VPCId> <VPCRegion>us-east-2</VPCRegion> <VPC> </AssociateVPCWithHostedZoneRequest>

Example Response

HTTP/1.1 200 OK <?xml version="1.0" encoding="UTF-8"?> <AssociateVPCWithHostedZoneResponse xmlns="https://route53.amazonaws.com/doc/2013-04-01/"> <ChangeInfo> <Id>/change/a1b2c3d4</Id> <Status>INSYNC</Status> <SubmittedAt>2017-03-31T01:36:41.958Z</SubmittedAt> </ChangeInfo> </AssociateVPCWithHostedZoneResponse>

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: