StartZonalShift - Amazon Route 53 Application Recovery Controller

StartZonalShift

You start a zonal shift to temporarily move load balancer traffic away from an Availability Zone in an AWS Region, to help your application recover immediately, for example, from a developer's bad code deployment or from an AWS infrastructure failure in a single Availability Zone. You can start a zonal shift in Route 53 ARC only for managed resources in your AWS account in an AWS Region. Resources are automatically registered with Route 53 ARC by AWS services.

At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

When you start a zonal shift, traffic for the resource is no longer routed to the Availability Zone. The zonal shift is created immediately in Route 53 ARC. However, it can take a short time, typically up to a few minutes, for existing, in-progress connections in the Availability Zone to complete.

For more information, see Zonal shift in the Amazon Route 53 Application Recovery Controller Developer Guide.

Request Syntax

POST /zonalshifts HTTP/1.1 Content-type: application/json { "awayFrom": "string", "comment": "string", "expiresIn": "string", "resourceIdentifier": "string" }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

awayFrom

The Availability Zone (for example, use1-az1) that traffic is moved away from for a resource when you start a zonal shift. Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the AWS Region.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 20.

Required: Yes

comment

A comment that you enter about the zonal shift. Only the latest comment is retained; no comment history is maintained. A new comment overwrites any existing comment string.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 128.

Required: Yes

expiresIn

The length of time that you want a zonal shift to be active, which Route 53 ARC converts to an expiry time (expiration time). Zonal shifts are temporary. You can set a zonal shift to be active initially for up to three days (72 hours).

If you want to still keep traffic away from an Availability Zone, you can update the zonal shift and set a new expiration. You can also cancel a zonal shift, before it expires, for example, if you're ready to restore traffic to the Availability Zone.

To set a length of time for a zonal shift to be active, specify a whole number, and then one of the following, with no space:

  • A lowercase letter m: To specify that the value is in minutes.

  • A lowercase letter h: To specify that the value is in hours.

For example: 20h means the zonal shift expires in 20 hours. 120m means the zonal shift expires in 120 minutes (2 hours).

Type: String

Length Constraints: Minimum length of 2. Maximum length of 5.

Pattern: ^([1-9][0-9]*)(m|h)$

Required: Yes

resourceIdentifier

The identifier for the resource that AWS shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource.

At this time, supported resources are Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

Type: String

Length Constraints: Minimum length of 8. Maximum length of 1024.

Required: Yes

Response Syntax

HTTP/1.1 201 Content-type: application/json { "awayFrom": "string", "comment": "string", "expiryTime": number, "resourceIdentifier": "string", "startTime": number, "status": "string", "zonalShiftId": "string" }

Response Elements

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

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

awayFrom

The Availability Zone (for example, use1-az1) that traffic is moved away from for a resource when you start a zonal shift. Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the AWS Region.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 20.

comment

A comment that you enter about the zonal shift. Only the latest comment is retained; no comment history is maintained. A new comment overwrites any existing comment string.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 128.

expiryTime

The expiry time (expiration time) for a customer-initiated zonal shift. A zonal shift is temporary and must be set to expire when you start the zonal shift. You can initially set a zonal shift to expire in a maximum of three days (72 hours). However, you can update a zonal shift to set a new expiration at any time.

When you start a zonal shift, you specify how long you want it to be active, which Route 53 ARC converts to an expiry time (expiration time). You can cancel a zonal shift when you're ready to restore traffic to the Availability Zone, or just wait for it to expire. Or you can update the zonal shift to specify another length of time to expire in.

Type: Timestamp

resourceIdentifier

The identifier for the resource that AWS shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource.

At this time, supported resources are Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.

Type: String

Length Constraints: Minimum length of 8. Maximum length of 1024.

startTime

The time (UTC) when the zonal shift starts.

Type: Timestamp

status

A status for a zonal shift.

The Status for a zonal shift can have one of the following values:

  • ACTIVE: The zonal shift has been started and active.

  • EXPIRED: The zonal shift has expired (the expiry time was exceeded).

  • CANCELED: The zonal shift was canceled.

Type: String

Valid Values: ACTIVE | EXPIRED | CANCELED

zonalShiftId

The identifier of a zonal shift.

Type: String

Length Constraints: Minimum length of 6. Maximum length of 36.

Pattern: ^[A-Za-z0-9-]+$

Errors

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

AccessDeniedException

You do not have sufficient access to perform this action.

HTTP Status Code: 403

ConflictException

The request could not be processed because of conflict in the current state of the resource.

HTTP Status Code: 409

InternalServerException

There was an internal server error.

HTTP Status Code: 500

ResourceNotFoundException

The input requested a resource that was not found.

HTTP Status Code: 404

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 429

ValidationException

The input fails to satisfy the constraints specified by an AWS service.

HTTP Status Code: 400

See Also

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