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: