AWS ARC - Zonal Shift

2022/11/29 - AWS ARC - Zonal Shift - 6 new api methods

Changes  Amazon Route 53 Application Recovery Controller Zonal Shift is a new service that makes it easy to shift traffic away from an Availability Zone in a Region. See the developer guide for more information: https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html

StartZonalShift (new) Link ¶

You start a zonal shift to temporarily move load balancer traffic away from an Availability Zone in a 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 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.

See also: AWS API Documentation

Request Syntax

client.start_zonal_shift(
    awayFrom='string',
    comment='string',
    expiresIn='string',
    resourceIdentifier='string'
)
type awayFrom

string

param awayFrom

[REQUIRED]

The Availability Zone 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 comment

string

param comment

[REQUIRED]

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 expiresIn

string

param expiresIn

[REQUIRED]

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:

<ul> <li> <p> <b>A lowercase letter m:</b> To specify that the value is in minutes.</p> </li> <li> <p> <b>A lowercase letter h:</b> To specify that the value is in hours.</p> </li> </ul> <p>For example: <code>20h</code> means the zonal shift expires in 20 hours. <code>120m</code> means the zonal shift expires in 120 minutes (2 hours).</p>

type resourceIdentifier

string

param resourceIdentifier

[REQUIRED]

The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

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.

rtype

dict

returns

Response Syntax

{
    'awayFrom': 'string',
    'comment': 'string',
    'expiryTime': datetime(2015, 1, 1),
    'resourceIdentifier': 'string',
    'startTime': datetime(2015, 1, 1),
    'status': 'ACTIVE'|'EXPIRED'|'CANCELED',
    'zonalShiftId': 'string'
}

Response Structure

  • (dict) --

    • awayFrom (string) --

      The Availability Zone 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.

    • comment (string) --

      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.

    • expiryTime (datetime) --

      The expiry time (expiration time) for the 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, for example, if you're ready to restore traffic to the Availability Zone. Or you can update the zonal shift to specify another length of time to expire in.

    • resourceIdentifier (string) --

      The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

      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.

    • startTime (datetime) --

      The time (UTC) when the zonal shift is started.

    • status (string) --

      A status for a zonal shift.

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

      • ACTIVE: The zonal shift is started and active.

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

      • CANCELED: The zonal shift was canceled.

    • zonalShiftId (string) --

      The identifier of a zonal shift.

ListZonalShifts (new) Link ¶

Lists all the active zonal shifts in Amazon Route 53 Application Recovery Controller in your AWS account in this AWS Region.

See also: AWS API Documentation

Request Syntax

client.list_zonal_shifts(
    maxResults=123,
    nextToken='string',
    status='ACTIVE'|'EXPIRED'|'CANCELED'
)
type maxResults

integer

param maxResults

The number of objects that you want to return with this call.

type nextToken

string

param nextToken

Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

type status

string

param status

A status for a zonal shift.

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

  • ACTIVE : The zonal shift is started and active.

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

  • CANCELED : The zonal shift was canceled.

rtype

dict

returns

Response Syntax

{
    'items': [
        {
            'awayFrom': 'string',
            'comment': 'string',
            'expiryTime': datetime(2015, 1, 1),
            'resourceIdentifier': 'string',
            'startTime': datetime(2015, 1, 1),
            'status': 'ACTIVE'|'EXPIRED'|'CANCELED',
            'zonalShiftId': 'string'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • items (list) --

      The items in the response list.

      • (dict) --

        You start a zonal shift to temporarily move load balancer traffic away from an Availability Zone in a AWS Region. A zonal shift helps 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 account in an AWS Region. Supported AWS resources are automatically registered with Route 53 ARC.

        Zonal shifts are temporary. A zonal shift can be active for up to three days (72 hours).

        When you start a zonal shift, you specify how long you want it to be active, which Amazon Route 53 Application Recovery Controller converts to an expiry time (expiration time). You can cancel a zonal shift, for example, if you're ready to restore traffic to the Availability Zone. Or you can extend the zonal shift by updating the expiration so the zonal shift is active longer.

        • awayFrom (string) --

          The Availability Zone 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.

        • comment (string) --

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

        • expiryTime (datetime) --

          The expiry time (expiration time) for the 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, for example, if you're ready to restore traffic to the Availability Zone. Or you can update the zonal shift to specify another length of time to expire in.

        • resourceIdentifier (string) --

          The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

          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.

        • startTime (datetime) --

          The time (UTC) when the zonal shift is started.

        • status (string) --

          A status for a zonal shift.

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

          • ACTIVE: The zonal shift is started and active.

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

          • CANCELED: The zonal shift was canceled.

        • zonalShiftId (string) --

          The identifier of a zonal shift.

    • nextToken (string) --

      Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

GetManagedResource (new) Link ¶

Get information about a resource that's been registered for zonal shifts with Amazon Route 53 Application Recovery Controller in this AWS Region. Resources that are registered for zonal shifts are managed resources in Route 53 ARC.

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.

See also: AWS API Documentation

Request Syntax

client.get_managed_resource(
    resourceIdentifier='string'
)
type resourceIdentifier

string

param resourceIdentifier

[REQUIRED]

The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

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.

rtype

dict

returns

Response Syntax

{
    'appliedWeights': {
        'string': ...
    },
    'arn': 'string',
    'name': 'string',
    'zonalShifts': [
        {
            'appliedStatus': 'APPLIED'|'NOT_APPLIED',
            'awayFrom': 'string',
            'comment': 'string',
            'expiryTime': datetime(2015, 1, 1),
            'resourceIdentifier': 'string',
            'startTime': datetime(2015, 1, 1),
            'zonalShiftId': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • appliedWeights (dict) --

      A collection of key-value pairs that indicate whether resources are active in Availability Zones or not. The key name is the Availability Zone where the resource is deployed. The value is 1 or 0.

      • (string) --

        • (float) --

    • arn (string) --

      The Amazon Resource Name (ARN) for the resource.

    • name (string) --

      The name of the resource.

    • zonalShifts (list) --

      The zonal shifts that are currently active for a resource.

      • (dict) --

        A complex structure that lists the zonal shifts for a managed resource and their statuses for the resource.

        • appliedStatus (string) --

          An appliedStatus for a zonal shift for a resource can have one of two values: APPLIED or NOT_APPLIED .

        • awayFrom (string) --

          The Availability Zone 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.

        • comment (string) --

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

        • expiryTime (datetime) --

          The expiry time (expiration time) for the 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, for example, if you're ready to restore traffic to the Availability Zone. Or you can update the zonal shift to specify another length of time to expire in.

        • resourceIdentifier (string) --

          The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

          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.

        • startTime (datetime) --

          The time (UTC) when the zonal shift is started.

        • zonalShiftId (string) --

          The identifier of a zonal shift.

CancelZonalShift (new) Link ¶

Cancel a zonal shift in Amazon Route 53 Application Recovery Controller that you've started for a resource in your AWS account in an AWS Region.

See also: AWS API Documentation

Request Syntax

client.cancel_zonal_shift(
    zonalShiftId='string'
)
type zonalShiftId

string

param zonalShiftId

[REQUIRED]

The internally-generated identifier of a zonal shift.

rtype

dict

returns

Response Syntax

{
    'awayFrom': 'string',
    'comment': 'string',
    'expiryTime': datetime(2015, 1, 1),
    'resourceIdentifier': 'string',
    'startTime': datetime(2015, 1, 1),
    'status': 'ACTIVE'|'EXPIRED'|'CANCELED',
    'zonalShiftId': 'string'
}

Response Structure

  • (dict) --

    • awayFrom (string) --

      The Availability Zone 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.

    • comment (string) --

      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.

    • expiryTime (datetime) --

      The expiry time (expiration time) for the 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, for example, if you're ready to restore traffic to the Availability Zone. Or you can update the zonal shift to specify another length of time to expire in.

    • resourceIdentifier (string) --

      The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

      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.

    • startTime (datetime) --

      The time (UTC) when the zonal shift is started.

    • status (string) --

      A status for a zonal shift.

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

      • ACTIVE: The zonal shift is started and active.

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

      • CANCELED: The zonal shift was canceled.

    • zonalShiftId (string) --

      The identifier of a zonal shift.

UpdateZonalShift (new) Link ¶

Update an active zonal shift in Amazon Route 53 Application Recovery Controller in your AWS account. You can update a zonal shift to set a new expiration, or edit or replace the comment for the zonal shift.

See also: AWS API Documentation

Request Syntax

client.update_zonal_shift(
    comment='string',
    expiresIn='string',
    zonalShiftId='string'
)
type comment

string

param 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 expiresIn

string

param 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 zonalShiftId

string

param zonalShiftId

[REQUIRED]

The identifier of a zonal shift.

rtype

dict

returns

Response Syntax

{
    'awayFrom': 'string',
    'comment': 'string',
    'expiryTime': datetime(2015, 1, 1),
    'resourceIdentifier': 'string',
    'startTime': datetime(2015, 1, 1),
    'status': 'ACTIVE'|'EXPIRED'|'CANCELED',
    'zonalShiftId': 'string'
}

Response Structure

  • (dict) --

    • awayFrom (string) --

      The Availability Zone 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.

    • comment (string) --

      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.

    • expiryTime (datetime) --

      The expiry time (expiration time) for the 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, for example, if you're ready to restore traffic to the Availability Zone. Or you can update the zonal shift to specify another length of time to expire in.

    • resourceIdentifier (string) --

      The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.

      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.

    • startTime (datetime) --

      The time (UTC) when the zonal shift is started.

    • status (string) --

      A status for a zonal shift.

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

      • ACTIVE: The zonal shift is started and active.

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

      • CANCELED: The zonal shift was canceled.

    • zonalShiftId (string) --

      The identifier of a zonal shift.

ListManagedResources (new) Link ¶

Lists all the resources in your AWS account in this AWS Region that are managed for zonal shifts in Amazon Route 53 Application Recovery Controller, and information about them. The information includes their Amazon Resource Names (ARNs), the Availability Zones the resources are deployed in, and the resource name.

See also: AWS API Documentation

Request Syntax

client.list_managed_resources(
    maxResults=123,
    nextToken='string'
)
type maxResults

integer

param maxResults

The number of objects that you want to return with this call.

type nextToken

string

param nextToken

Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

rtype

dict

returns

Response Syntax

{
    'items': [
        {
            'arn': 'string',
            'availabilityZones': [
                'string',
            ],
            'name': 'string'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • items (list) --

      The items in the response list.

      • (dict) --

        A complex structure for a managed resource in an account.

        A managed resource is a Network Load Balancer or Application Load Balancer that has been registered with Route 53 ARC by Elastic Load Balancing. You can start a zonal shift in Route 53 ARC for a managed resource to temporarily move traffic for the resource away from an Availability Zone in an AWS Region.

        Note

        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.

        • arn (string) --

          The Amazon Resource Name (ARN) for the managed resource.

        • availabilityZones (list) --

          The Availability Zones that a resource is deployed in.

          • (string) --

        • name (string) --

          The name of the managed resource.

    • nextToken (string) --

      Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.