Amazon Relational Database Service

2023/08/21 - Amazon Relational Database Service - 1 new 6 updated api methods

Changes  Adding support for RDS Aurora Global Database Unplanned Failover

SwitchoverGlobalCluster (new) Link ¶

Switches over the specified secondary DB cluster to be the new primary DB cluster in the global database cluster. Switchover operations were previously called "managed planned failovers."

Aurora promotes the specified secondary cluster to assume full read/write capabilities and demotes the current primary cluster to a secondary (read-only) cluster, maintaining the orginal replication topology. All secondary clusters are synchronized with the primary at the beginning of the process so the new primary continues operations for the Aurora global database without losing any data. Your database is unavailable for a short time while the primary and selected secondary clusters are assuming their new roles. For more information about switching over an Aurora global database, see Performing switchovers for Amazon Aurora global databases in the Amazon Aurora User Guide .

Note

This operation is intended for controlled environments, for operations such as "regional rotation" or to fall back to the original primary after a global database failover.

See also: AWS API Documentation

Request Syntax

client.switchover_global_cluster(
    GlobalClusterIdentifier='string',
    TargetDbClusterIdentifier='string'
)
type GlobalClusterIdentifier

string

param GlobalClusterIdentifier

[REQUIRED]

The identifier of the global database cluster to switch over. This parameter isn't case-sensitive.

Constraints:

  • Must match the identifier of an existing global database cluster (Aurora global database).

type TargetDbClusterIdentifier

string

param TargetDbClusterIdentifier

[REQUIRED]

The identifier of the secondary Aurora DB cluster to promote to the new primary for the global database cluster. Use the Amazon Resource Name (ARN) for the identifier so that Aurora can locate the cluster in its Amazon Web Services Region.

rtype

dict

returns

Response Syntax

{
    'GlobalCluster': {
        'GlobalClusterIdentifier': 'string',
        'GlobalClusterResourceId': 'string',
        'GlobalClusterArn': 'string',
        'Status': 'string',
        'Engine': 'string',
        'EngineVersion': 'string',
        'DatabaseName': 'string',
        'StorageEncrypted': True|False,
        'DeletionProtection': True|False,
        'GlobalClusterMembers': [
            {
                'DBClusterArn': 'string',
                'Readers': [
                    'string',
                ],
                'IsWriter': True|False,
                'GlobalWriteForwardingStatus': 'enabled'|'disabled'|'enabling'|'disabling'|'unknown',
                'SynchronizationStatus': 'connected'|'pending-resync'
            },
        ],
        'FailoverState': {
            'Status': 'pending'|'failing-over'|'cancelling',
            'FromDbClusterArn': 'string',
            'ToDbClusterArn': 'string',
            'IsDataLossAllowed': True|False
        }
    }
}

Response Structure

  • (dict) --

    • GlobalCluster (dict) --

      A data type representing an Aurora global database.

      • GlobalClusterIdentifier (string) --

        Contains a user-supplied global database cluster identifier. This identifier is the unique key that identifies a global database cluster.

      • GlobalClusterResourceId (string) --

        The Amazon Web Services Region-unique, immutable identifier for the global database cluster. This identifier is found in Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the DB cluster is accessed.

      • GlobalClusterArn (string) --

        The Amazon Resource Name (ARN) for the global database cluster.

      • Status (string) --

        Specifies the current state of this global database cluster.

      • Engine (string) --

        The Aurora database engine used by the global database cluster.

      • EngineVersion (string) --

        Indicates the database engine version.

      • DatabaseName (string) --

        The default database name within the new global database cluster.

      • StorageEncrypted (boolean) --

        The storage encryption setting for the global database cluster.

      • DeletionProtection (boolean) --

        The deletion protection setting for the new global database cluster.

      • GlobalClusterMembers (list) --

        The list of primary and secondary clusters within the global database cluster.

        • (dict) --

          A data structure with information about any primary and secondary clusters associated with a global cluster (Aurora global database).

          • DBClusterArn (string) --

            The Amazon Resource Name (ARN) for each Aurora DB cluster in the global cluster.

          • Readers (list) --

            The Amazon Resource Name (ARN) for each read-only secondary cluster associated with the global cluster.

            • (string) --

          • IsWriter (boolean) --

            Specifies whether the Aurora DB cluster is the primary cluster (that is, has read-write capability) for the global cluster with which it is associated.

          • GlobalWriteForwardingStatus (string) --

            Specifies whether a secondary cluster in the global cluster has write forwarding enabled, not enabled, or is in the process of enabling it.

          • SynchronizationStatus (string) --

            The status of synchronization of each Aurora DB cluster in the global cluster.

      • FailoverState (dict) --

        A data object containing all properties for the current state of an in-process or pending switchover or failover process for this global cluster (Aurora global database). This object is empty unless the SwitchoverGlobalCluster or FailoverGlobalCluster operation was called on this global cluster.

        • Status (string) --

          The current status of the global cluster. Possible values are as follows:

          • pending – The service received a request to switch over or fail over the global cluster. The global cluster's primary DB cluster and the specified secondary DB cluster are being verified before the operation starts.

          • failing-over – This status covers the range of Aurora internal operations that take place during the switchover or failover process, such as demoting the primary Aurora DB cluster, promoting the secondary Aurora DB cluster, and synchronizing replicas.

          • cancelling – The request to switch over or fail over the global cluster was cancelled and the primary Aurora DB cluster and the selected secondary Aurora DB cluster are returning to their previous states.

        • FromDbClusterArn (string) --

          The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being demoted, and which is associated with this state.

        • ToDbClusterArn (string) --

          The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being promoted, and which is associated with this state.

        • IsDataLossAllowed (boolean) --

          Indicates whether the operation is a global switchover or a global failover. If data loss is allowed, then the operation is a global failover. Otherwise, it's a switchover.

CreateGlobalCluster (updated) Link ¶
Changes (response)
{'GlobalCluster': {'FailoverState': {'IsDataLossAllowed': 'boolean'},
                   'GlobalClusterMembers': {'SynchronizationStatus': 'connected '
                                                                     '| '
                                                                     'pending-resync'}}}

Creates an Aurora global database spread across multiple Amazon Web Services Regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.

You can create a global database that is initially empty, and then create the primary and secondary DB clusters in the global database. Or you can specify an existing Aurora cluster during the create operation, and this cluster becomes the primary cluster of the global database.

Note

This operation applies only to Aurora DB clusters.

See also: AWS API Documentation

Request Syntax

client.create_global_cluster(
    GlobalClusterIdentifier='string',
    SourceDBClusterIdentifier='string',
    Engine='string',
    EngineVersion='string',
    DeletionProtection=True|False,
    DatabaseName='string',
    StorageEncrypted=True|False
)
type GlobalClusterIdentifier

string

param GlobalClusterIdentifier

The cluster identifier for this global database cluster. This parameter is stored as a lowercase string.

type SourceDBClusterIdentifier

string

param SourceDBClusterIdentifier

The Amazon Resource Name (ARN) to use as the primary cluster of the global database.

If you provide a value for this parameter, don't specify values for the following settings because Amazon Aurora uses the values from the specified source DB cluster:

  • DatabaseName

  • Engine

  • EngineVersion

  • StorageEncrypted

type Engine

string

param Engine

The database engine to use for this global database cluster.

Valid Values: aurora-mysql | aurora-postgresql

Constraints:

  • Can't be specified if SourceDBClusterIdentifier is specified. In this case, Amazon Aurora uses the engine of the source DB cluster.

type EngineVersion

string

param EngineVersion

The engine version to use for this global database cluster.

Constraints:

  • Can't be specified if SourceDBClusterIdentifier is specified. In this case, Amazon Aurora uses the engine version of the source DB cluster.

type DeletionProtection

boolean

param DeletionProtection

Specifies whether to enable deletion protection for the new global database cluster. The global database can't be deleted when deletion protection is enabled.

type DatabaseName

string

param DatabaseName

The name for your database of up to 64 alphanumeric characters. If you don't specify a name, Amazon Aurora doesn't create a database in the global database cluster.

Constraints:

  • Can't be specified if SourceDBClusterIdentifier is specified. In this case, Amazon Aurora uses the database name from the source DB cluster.

type StorageEncrypted

boolean

param StorageEncrypted

Specifies whether to enable storage encryption for the new global database cluster.

Constraints:

  • Can't be specified if SourceDBClusterIdentifier is specified. In this case, Amazon Aurora uses the setting from the source DB cluster.

rtype

dict

returns

Response Syntax

{
    'GlobalCluster': {
        'GlobalClusterIdentifier': 'string',
        'GlobalClusterResourceId': 'string',
        'GlobalClusterArn': 'string',
        'Status': 'string',
        'Engine': 'string',
        'EngineVersion': 'string',
        'DatabaseName': 'string',
        'StorageEncrypted': True|False,
        'DeletionProtection': True|False,
        'GlobalClusterMembers': [
            {
                'DBClusterArn': 'string',
                'Readers': [
                    'string',
                ],
                'IsWriter': True|False,
                'GlobalWriteForwardingStatus': 'enabled'|'disabled'|'enabling'|'disabling'|'unknown',
                'SynchronizationStatus': 'connected'|'pending-resync'
            },
        ],
        'FailoverState': {
            'Status': 'pending'|'failing-over'|'cancelling',
            'FromDbClusterArn': 'string',
            'ToDbClusterArn': 'string',
            'IsDataLossAllowed': True|False
        }
    }
}

Response Structure

  • (dict) --

    • GlobalCluster (dict) --

      A data type representing an Aurora global database.

      • GlobalClusterIdentifier (string) --

        Contains a user-supplied global database cluster identifier. This identifier is the unique key that identifies a global database cluster.

      • GlobalClusterResourceId (string) --

        The Amazon Web Services Region-unique, immutable identifier for the global database cluster. This identifier is found in Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the DB cluster is accessed.

      • GlobalClusterArn (string) --

        The Amazon Resource Name (ARN) for the global database cluster.

      • Status (string) --

        Specifies the current state of this global database cluster.

      • Engine (string) --

        The Aurora database engine used by the global database cluster.

      • EngineVersion (string) --

        Indicates the database engine version.

      • DatabaseName (string) --

        The default database name within the new global database cluster.

      • StorageEncrypted (boolean) --

        The storage encryption setting for the global database cluster.

      • DeletionProtection (boolean) --

        The deletion protection setting for the new global database cluster.

      • GlobalClusterMembers (list) --

        The list of primary and secondary clusters within the global database cluster.

        • (dict) --

          A data structure with information about any primary and secondary clusters associated with a global cluster (Aurora global database).

          • DBClusterArn (string) --

            The Amazon Resource Name (ARN) for each Aurora DB cluster in the global cluster.

          • Readers (list) --

            The Amazon Resource Name (ARN) for each read-only secondary cluster associated with the global cluster.

            • (string) --

          • IsWriter (boolean) --

            Specifies whether the Aurora DB cluster is the primary cluster (that is, has read-write capability) for the global cluster with which it is associated.

          • GlobalWriteForwardingStatus (string) --

            Specifies whether a secondary cluster in the global cluster has write forwarding enabled, not enabled, or is in the process of enabling it.

          • SynchronizationStatus (string) --

            The status of synchronization of each Aurora DB cluster in the global cluster.

      • FailoverState (dict) --

        A data object containing all properties for the current state of an in-process or pending switchover or failover process for this global cluster (Aurora global database). This object is empty unless the SwitchoverGlobalCluster or FailoverGlobalCluster operation was called on this global cluster.

        • Status (string) --

          The current status of the global cluster. Possible values are as follows:

          • pending – The service received a request to switch over or fail over the global cluster. The global cluster's primary DB cluster and the specified secondary DB cluster are being verified before the operation starts.

          • failing-over – This status covers the range of Aurora internal operations that take place during the switchover or failover process, such as demoting the primary Aurora DB cluster, promoting the secondary Aurora DB cluster, and synchronizing replicas.

          • cancelling – The request to switch over or fail over the global cluster was cancelled and the primary Aurora DB cluster and the selected secondary Aurora DB cluster are returning to their previous states.

        • FromDbClusterArn (string) --

          The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being demoted, and which is associated with this state.

        • ToDbClusterArn (string) --

          The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being promoted, and which is associated with this state.

        • IsDataLossAllowed (boolean) --

          Indicates whether the operation is a global switchover or a global failover. If data loss is allowed, then the operation is a global failover. Otherwise, it's a switchover.

DeleteGlobalCluster (updated) Link ¶
Changes (response)
{'GlobalCluster': {'FailoverState': {'IsDataLossAllowed': 'boolean'},
                   'GlobalClusterMembers': {'SynchronizationStatus': 'connected '
                                                                     '| '
                                                                     'pending-resync'}}}

Deletes a global database cluster. The primary and secondary clusters must already be detached or destroyed first.

Note

This action only applies to Aurora DB clusters.

See also: AWS API Documentation

Request Syntax

client.delete_global_cluster(
    GlobalClusterIdentifier='string'
)
type GlobalClusterIdentifier

string

param GlobalClusterIdentifier

[REQUIRED]

The cluster identifier of the global database cluster being deleted.

rtype

dict

returns

Response Syntax

{
    'GlobalCluster': {
        'GlobalClusterIdentifier': 'string',
        'GlobalClusterResourceId': 'string',
        'GlobalClusterArn': 'string',
        'Status': 'string',
        'Engine': 'string',
        'EngineVersion': 'string',
        'DatabaseName': 'string',
        'StorageEncrypted': True|False,
        'DeletionProtection': True|False,
        'GlobalClusterMembers': [
            {
                'DBClusterArn': 'string',
                'Readers': [
                    'string',
                ],
                'IsWriter': True|False,
                'GlobalWriteForwardingStatus': 'enabled'|'disabled'|'enabling'|'disabling'|'unknown',
                'SynchronizationStatus': 'connected'|'pending-resync'
            },
        ],
        'FailoverState': {
            'Status': 'pending'|'failing-over'|'cancelling',
            'FromDbClusterArn': 'string',
            'ToDbClusterArn': 'string',
            'IsDataLossAllowed': True|False
        }
    }
}

Response Structure

  • (dict) --

    • GlobalCluster (dict) --

      A data type representing an Aurora global database.

      • GlobalClusterIdentifier (string) --

        Contains a user-supplied global database cluster identifier. This identifier is the unique key that identifies a global database cluster.

      • GlobalClusterResourceId (string) --

        The Amazon Web Services Region-unique, immutable identifier for the global database cluster. This identifier is found in Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the DB cluster is accessed.

      • GlobalClusterArn (string) --

        The Amazon Resource Name (ARN) for the global database cluster.

      • Status (string) --

        Specifies the current state of this global database cluster.

      • Engine (string) --

        The Aurora database engine used by the global database cluster.

      • EngineVersion (string) --

        Indicates the database engine version.

      • DatabaseName (string) --

        The default database name within the new global database cluster.

      • StorageEncrypted (boolean) --

        The storage encryption setting for the global database cluster.

      • DeletionProtection (boolean) --

        The deletion protection setting for the new global database cluster.

      • GlobalClusterMembers (list) --

        The list of primary and secondary clusters within the global database cluster.

        • (dict) --

          A data structure with information about any primary and secondary clusters associated with a global cluster (Aurora global database).

          • DBClusterArn (string) --

            The Amazon Resource Name (ARN) for each Aurora DB cluster in the global cluster.

          • Readers (list) --

            The Amazon Resource Name (ARN) for each read-only secondary cluster associated with the global cluster.

            • (string) --

          • IsWriter (boolean) --

            Specifies whether the Aurora DB cluster is the primary cluster (that is, has read-write capability) for the global cluster with which it is associated.

          • GlobalWriteForwardingStatus (string) --

            Specifies whether a secondary cluster in the global cluster has write forwarding enabled, not enabled, or is in the process of enabling it.

          • SynchronizationStatus (string) --

            The status of synchronization of each Aurora DB cluster in the global cluster.

      • FailoverState (dict) --

        A data object containing all properties for the current state of an in-process or pending switchover or failover process for this global cluster (Aurora global database). This object is empty unless the SwitchoverGlobalCluster or FailoverGlobalCluster operation was called on this global cluster.

        • Status (string) --

          The current status of the global cluster. Possible values are as follows:

          • pending – The service received a request to switch over or fail over the global cluster. The global cluster's primary DB cluster and the specified secondary DB cluster are being verified before the operation starts.

          • failing-over – This status covers the range of Aurora internal operations that take place during the switchover or failover process, such as demoting the primary Aurora DB cluster, promoting the secondary Aurora DB cluster, and synchronizing replicas.

          • cancelling – The request to switch over or fail over the global cluster was cancelled and the primary Aurora DB cluster and the selected secondary Aurora DB cluster are returning to their previous states.

        • FromDbClusterArn (string) --

          The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being demoted, and which is associated with this state.

        • ToDbClusterArn (string) --

          The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being promoted, and which is associated with this state.

        • IsDataLossAllowed (boolean) --

          Indicates whether the operation is a global switchover or a global failover. If data loss is allowed, then the operation is a global failover. Otherwise, it's a switchover.

DescribeGlobalClusters (updated) Link ¶
Changes (response)
{'GlobalClusters': {'FailoverState': {'IsDataLossAllowed': 'boolean'},
                    'GlobalClusterMembers': {'SynchronizationStatus': 'connected '
                                                                      '| '
                                                                      'pending-resync'}}}

Returns information about Aurora global database clusters. This API supports pagination.

For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide .

Note

This action only applies to Aurora DB clusters.

See also: AWS API Documentation

Request Syntax

client.describe_global_clusters(
    GlobalClusterIdentifier='string',
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    MaxRecords=123,
    Marker='string'
)
type GlobalClusterIdentifier

string

param GlobalClusterIdentifier

The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case-sensitive.

Constraints:

  • If supplied, must match an existing DBClusterIdentifier.

type Filters

list

param Filters

This parameter isn't currently supported.

  • (dict) --

    A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as IDs. The filters supported by a describe operation are documented with the describe operation.

    Note

    Currently, wildcards are not supported in filters.

    The following actions can be filtered:

    • DescribeDBClusterBacktracks

    • DescribeDBClusterEndpoints

    • DescribeDBClusters

    • DescribeDBInstances

    • DescribePendingMaintenanceActions

    • Name (string) -- [REQUIRED]

      The name of the filter. Filter names are case-sensitive.

    • Values (list) -- [REQUIRED]

      One or more filter values. Filter values are case-sensitive.

      • (string) --

type MaxRecords

integer

param MaxRecords

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

type Marker

string

param Marker

An optional pagination token provided by a previous DescribeGlobalClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

rtype

dict

returns

Response Syntax

{
    'Marker': 'string',
    'GlobalClusters': [
        {
            'GlobalClusterIdentifier': 'string',
            'GlobalClusterResourceId': 'string',
            'GlobalClusterArn': 'string',
            'Status': 'string',
            'Engine': 'string',
            'EngineVersion': 'string',
            'DatabaseName': 'string',
            'StorageEncrypted': True|False,
            'DeletionProtection': True|False,
            'GlobalClusterMembers': [
                {
                    'DBClusterArn': 'string',
                    'Readers': [
                        'string',
                    ],
                    'IsWriter': True|False,
                    'GlobalWriteForwardingStatus': 'enabled'|'disabled'|'enabling'|'disabling'|'unknown',
                    'SynchronizationStatus': 'connected'|'pending-resync'
                },
            ],
            'FailoverState': {
                'Status': 'pending'|'failing-over'|'cancelling',
                'FromDbClusterArn': 'string',
                'ToDbClusterArn': 'string',
                'IsDataLossAllowed': True|False
            }
        },
    ]
}

Response Structure

  • (dict) --

    • Marker (string) --

      An optional pagination token provided by a previous DescribeGlobalClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

    • GlobalClusters (list) --

      The list of global clusters returned by this request.

      • (dict) --

        A data type representing an Aurora global database.

        • GlobalClusterIdentifier (string) --

          Contains a user-supplied global database cluster identifier. This identifier is the unique key that identifies a global database cluster.

        • GlobalClusterResourceId (string) --

          The Amazon Web Services Region-unique, immutable identifier for the global database cluster. This identifier is found in Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the DB cluster is accessed.

        • GlobalClusterArn (string) --

          The Amazon Resource Name (ARN) for the global database cluster.

        • Status (string) --

          Specifies the current state of this global database cluster.

        • Engine (string) --

          The Aurora database engine used by the global database cluster.

        • EngineVersion (string) --

          Indicates the database engine version.

        • DatabaseName (string) --

          The default database name within the new global database cluster.

        • StorageEncrypted (boolean) --

          The storage encryption setting for the global database cluster.

        • DeletionProtection (boolean) --

          The deletion protection setting for the new global database cluster.

        • GlobalClusterMembers (list) --

          The list of primary and secondary clusters within the global database cluster.

          • (dict) --

            A data structure with information about any primary and secondary clusters associated with a global cluster (Aurora global database).

            • DBClusterArn (string) --

              The Amazon Resource Name (ARN) for each Aurora DB cluster in the global cluster.

            • Readers (list) --

              The Amazon Resource Name (ARN) for each read-only secondary cluster associated with the global cluster.

              • (string) --

            • IsWriter (boolean) --

              Specifies whether the Aurora DB cluster is the primary cluster (that is, has read-write capability) for the global cluster with which it is associated.

            • GlobalWriteForwardingStatus (string) --

              Specifies whether a secondary cluster in the global cluster has write forwarding enabled, not enabled, or is in the process of enabling it.

            • SynchronizationStatus (string) --

              The status of synchronization of each Aurora DB cluster in the global cluster.

        • FailoverState (dict) --

          A data object containing all properties for the current state of an in-process or pending switchover or failover process for this global cluster (Aurora global database). This object is empty unless the SwitchoverGlobalCluster or FailoverGlobalCluster operation was called on this global cluster.

          • Status (string) --

            The current status of the global cluster. Possible values are as follows:

            • pending – The service received a request to switch over or fail over the global cluster. The global cluster's primary DB cluster and the specified secondary DB cluster are being verified before the operation starts.

            • failing-over – This status covers the range of Aurora internal operations that take place during the switchover or failover process, such as demoting the primary Aurora DB cluster, promoting the secondary Aurora DB cluster, and synchronizing replicas.

            • cancelling – The request to switch over or fail over the global cluster was cancelled and the primary Aurora DB cluster and the selected secondary Aurora DB cluster are returning to their previous states.

          • FromDbClusterArn (string) --

            The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being demoted, and which is associated with this state.

          • ToDbClusterArn (string) --

            The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being promoted, and which is associated with this state.

          • IsDataLossAllowed (boolean) --

            Indicates whether the operation is a global switchover or a global failover. If data loss is allowed, then the operation is a global failover. Otherwise, it's a switchover.

FailoverGlobalCluster (updated) Link ¶
Changes (request, response)
Request
{'AllowDataLoss': 'boolean', 'Switchover': 'boolean'}
Response
{'GlobalCluster': {'FailoverState': {'IsDataLossAllowed': 'boolean'},
                   'GlobalClusterMembers': {'SynchronizationStatus': 'connected '
                                                                     '| '
                                                                     'pending-resync'}}}

Promotes the specified secondary DB cluster to be the primary DB cluster in the global database cluster to fail over or switch over a global database. Switchover operations were previously called "managed planned failovers."

Note

Although this operation can be used either to fail over or to switch over a global database cluster, its intended use is for global database failover. To switch over a global database cluster, we recommend that you use the SwitchoverGlobalCluster operation instead.

How you use this operation depends on whether you are failing over or switching over your global database cluster:

  • Failing over - Specify the AllowDataLoss parameter and don't specify the Switchover parameter.

  • Switching over - Specify the Switchover parameter or omit it, but don't specify the AllowDataLoss parameter.

About failing over and switching over

While failing over and switching over a global database cluster both change the primary DB cluster, you use these operations for different reasons:

  • Failing over - Use this operation to respond to an unplanned event, such as a Regional disaster in the primary Region. Failing over can result in a loss of write transaction data that wasn't replicated to the chosen secondary before the failover event occurred. However, the recovery process that promotes a DB instance on the chosen seconday DB cluster to be the primary writer DB instance guarantees that the data is in a transactionally consistent state. For more information about failing over an Amazon Aurora global database, see Performing managed failovers for Aurora global databases in the Amazon Aurora User Guide .

  • Switching over - Use this operation on a healthy global database cluster for planned events, such as Regional rotation or to fail back to the original primary DB cluster after a failover operation. With this operation, there is no data loss. For more information about switching over an Amazon Aurora global database, see Performing switchovers for Aurora global databases in the Amazon Aurora User Guide .

See also: AWS API Documentation

Request Syntax

client.failover_global_cluster(
    GlobalClusterIdentifier='string',
    TargetDbClusterIdentifier='string',
    AllowDataLoss=True|False,
    Switchover=True|False
)
type GlobalClusterIdentifier

string

param GlobalClusterIdentifier

[REQUIRED]

The identifier of the global database cluster (Aurora global database) this operation should apply to. The identifier is the unique key assigned by the user when the Aurora global database is created. In other words, it's the name of the Aurora global database.

Constraints:

  • Must match the identifier of an existing global database cluster.

type TargetDbClusterIdentifier

string

param TargetDbClusterIdentifier

[REQUIRED]

The identifier of the secondary Aurora DB cluster that you want to promote to the primary for the global database cluster. Use the Amazon Resource Name (ARN) for the identifier so that Aurora can locate the cluster in its Amazon Web Services Region.

type AllowDataLoss

boolean

param AllowDataLoss

Specifies whether to allow data loss for this global database cluster operation. Allowing data loss triggers a global failover operation.

If you don't specify AllowDataLoss , the global database cluster operation defaults to a switchover.

Constraints:

  • Can't be specified together with the Switchover parameter.

type Switchover

boolean

param Switchover

Specifies whether to switch over this global database cluster.

Constraints:

  • Can't be specified together with the AllowDataLoss parameter.

rtype

dict

returns

Response Syntax

{
    'GlobalCluster': {
        'GlobalClusterIdentifier': 'string',
        'GlobalClusterResourceId': 'string',
        'GlobalClusterArn': 'string',
        'Status': 'string',
        'Engine': 'string',
        'EngineVersion': 'string',
        'DatabaseName': 'string',
        'StorageEncrypted': True|False,
        'DeletionProtection': True|False,
        'GlobalClusterMembers': [
            {
                'DBClusterArn': 'string',
                'Readers': [
                    'string',
                ],
                'IsWriter': True|False,
                'GlobalWriteForwardingStatus': 'enabled'|'disabled'|'enabling'|'disabling'|'unknown',
                'SynchronizationStatus': 'connected'|'pending-resync'
            },
        ],
        'FailoverState': {
            'Status': 'pending'|'failing-over'|'cancelling',
            'FromDbClusterArn': 'string',
            'ToDbClusterArn': 'string',
            'IsDataLossAllowed': True|False
        }
    }
}

Response Structure

  • (dict) --

    • GlobalCluster (dict) --

      A data type representing an Aurora global database.

      • GlobalClusterIdentifier (string) --

        Contains a user-supplied global database cluster identifier. This identifier is the unique key that identifies a global database cluster.

      • GlobalClusterResourceId (string) --

        The Amazon Web Services Region-unique, immutable identifier for the global database cluster. This identifier is found in Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the DB cluster is accessed.

      • GlobalClusterArn (string) --

        The Amazon Resource Name (ARN) for the global database cluster.

      • Status (string) --

        Specifies the current state of this global database cluster.

      • Engine (string) --

        The Aurora database engine used by the global database cluster.

      • EngineVersion (string) --

        Indicates the database engine version.

      • DatabaseName (string) --

        The default database name within the new global database cluster.

      • StorageEncrypted (boolean) --

        The storage encryption setting for the global database cluster.

      • DeletionProtection (boolean) --

        The deletion protection setting for the new global database cluster.

      • GlobalClusterMembers (list) --

        The list of primary and secondary clusters within the global database cluster.

        • (dict) --

          A data structure with information about any primary and secondary clusters associated with a global cluster (Aurora global database).

          • DBClusterArn (string) --

            The Amazon Resource Name (ARN) for each Aurora DB cluster in the global cluster.

          • Readers (list) --

            The Amazon Resource Name (ARN) for each read-only secondary cluster associated with the global cluster.

            • (string) --

          • IsWriter (boolean) --

            Specifies whether the Aurora DB cluster is the primary cluster (that is, has read-write capability) for the global cluster with which it is associated.

          • GlobalWriteForwardingStatus (string) --

            Specifies whether a secondary cluster in the global cluster has write forwarding enabled, not enabled, or is in the process of enabling it.

          • SynchronizationStatus (string) --

            The status of synchronization of each Aurora DB cluster in the global cluster.

      • FailoverState (dict) --

        A data object containing all properties for the current state of an in-process or pending switchover or failover process for this global cluster (Aurora global database). This object is empty unless the SwitchoverGlobalCluster or FailoverGlobalCluster operation was called on this global cluster.

        • Status (string) --

          The current status of the global cluster. Possible values are as follows:

          • pending – The service received a request to switch over or fail over the global cluster. The global cluster's primary DB cluster and the specified secondary DB cluster are being verified before the operation starts.

          • failing-over – This status covers the range of Aurora internal operations that take place during the switchover or failover process, such as demoting the primary Aurora DB cluster, promoting the secondary Aurora DB cluster, and synchronizing replicas.

          • cancelling – The request to switch over or fail over the global cluster was cancelled and the primary Aurora DB cluster and the selected secondary Aurora DB cluster are returning to their previous states.

        • FromDbClusterArn (string) --

          The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being demoted, and which is associated with this state.

        • ToDbClusterArn (string) --

          The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being promoted, and which is associated with this state.

        • IsDataLossAllowed (boolean) --

          Indicates whether the operation is a global switchover or a global failover. If data loss is allowed, then the operation is a global failover. Otherwise, it's a switchover.

ModifyGlobalCluster (updated) Link ¶
Changes (response)
{'GlobalCluster': {'FailoverState': {'IsDataLossAllowed': 'boolean'},
                   'GlobalClusterMembers': {'SynchronizationStatus': 'connected '
                                                                     '| '
                                                                     'pending-resync'}}}

Modifies a setting for an Amazon Aurora global database cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide .

Note

This operation only applies to Aurora global database clusters.

See also: AWS API Documentation

Request Syntax

client.modify_global_cluster(
    GlobalClusterIdentifier='string',
    NewGlobalClusterIdentifier='string',
    DeletionProtection=True|False,
    EngineVersion='string',
    AllowMajorVersionUpgrade=True|False
)
type GlobalClusterIdentifier

string

param GlobalClusterIdentifier

The cluster identifier for the global cluster to modify. This parameter isn't case-sensitive.

Constraints:

  • Must match the identifier of an existing global database cluster.

type NewGlobalClusterIdentifier

string

param NewGlobalClusterIdentifier

The new cluster identifier for the global database cluster. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Can't end with a hyphen or contain two consecutive hyphens.

Example: my-cluster2

type DeletionProtection

boolean

param DeletionProtection

Specifies whether to enable deletion protection for the global database cluster. The global database cluster can't be deleted when deletion protection is enabled.

type EngineVersion

string

param EngineVersion

The version number of the database engine to which you want to upgrade.

To list all of the available engine versions for aurora-mysql (for MySQL-based Aurora global databases), use the following command:

aws rds describe-db-engine-versions --engine aurora-mysql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'

To list all of the available engine versions for aurora-postgresql (for PostgreSQL-based Aurora global databases), use the following command:

aws rds describe-db-engine-versions --engine aurora-postgresql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'

type AllowMajorVersionUpgrade

boolean

param AllowMajorVersionUpgrade

Specifies whether to allow major version upgrades.

Constraints: Must be enabled if you specify a value for the EngineVersion parameter that's a different major version than the global cluster's current version.

If you upgrade the major version of a global database, the cluster and DB instance parameter groups are set to the default parameter groups for the new version. Apply any custom parameter groups after completing the upgrade.

rtype

dict

returns

Response Syntax

{
    'GlobalCluster': {
        'GlobalClusterIdentifier': 'string',
        'GlobalClusterResourceId': 'string',
        'GlobalClusterArn': 'string',
        'Status': 'string',
        'Engine': 'string',
        'EngineVersion': 'string',
        'DatabaseName': 'string',
        'StorageEncrypted': True|False,
        'DeletionProtection': True|False,
        'GlobalClusterMembers': [
            {
                'DBClusterArn': 'string',
                'Readers': [
                    'string',
                ],
                'IsWriter': True|False,
                'GlobalWriteForwardingStatus': 'enabled'|'disabled'|'enabling'|'disabling'|'unknown',
                'SynchronizationStatus': 'connected'|'pending-resync'
            },
        ],
        'FailoverState': {
            'Status': 'pending'|'failing-over'|'cancelling',
            'FromDbClusterArn': 'string',
            'ToDbClusterArn': 'string',
            'IsDataLossAllowed': True|False
        }
    }
}

Response Structure

  • (dict) --

    • GlobalCluster (dict) --

      A data type representing an Aurora global database.

      • GlobalClusterIdentifier (string) --

        Contains a user-supplied global database cluster identifier. This identifier is the unique key that identifies a global database cluster.

      • GlobalClusterResourceId (string) --

        The Amazon Web Services Region-unique, immutable identifier for the global database cluster. This identifier is found in Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the DB cluster is accessed.

      • GlobalClusterArn (string) --

        The Amazon Resource Name (ARN) for the global database cluster.

      • Status (string) --

        Specifies the current state of this global database cluster.

      • Engine (string) --

        The Aurora database engine used by the global database cluster.

      • EngineVersion (string) --

        Indicates the database engine version.

      • DatabaseName (string) --

        The default database name within the new global database cluster.

      • StorageEncrypted (boolean) --

        The storage encryption setting for the global database cluster.

      • DeletionProtection (boolean) --

        The deletion protection setting for the new global database cluster.

      • GlobalClusterMembers (list) --

        The list of primary and secondary clusters within the global database cluster.

        • (dict) --

          A data structure with information about any primary and secondary clusters associated with a global cluster (Aurora global database).

          • DBClusterArn (string) --

            The Amazon Resource Name (ARN) for each Aurora DB cluster in the global cluster.

          • Readers (list) --

            The Amazon Resource Name (ARN) for each read-only secondary cluster associated with the global cluster.

            • (string) --

          • IsWriter (boolean) --

            Specifies whether the Aurora DB cluster is the primary cluster (that is, has read-write capability) for the global cluster with which it is associated.

          • GlobalWriteForwardingStatus (string) --

            Specifies whether a secondary cluster in the global cluster has write forwarding enabled, not enabled, or is in the process of enabling it.

          • SynchronizationStatus (string) --

            The status of synchronization of each Aurora DB cluster in the global cluster.

      • FailoverState (dict) --

        A data object containing all properties for the current state of an in-process or pending switchover or failover process for this global cluster (Aurora global database). This object is empty unless the SwitchoverGlobalCluster or FailoverGlobalCluster operation was called on this global cluster.

        • Status (string) --

          The current status of the global cluster. Possible values are as follows:

          • pending – The service received a request to switch over or fail over the global cluster. The global cluster's primary DB cluster and the specified secondary DB cluster are being verified before the operation starts.

          • failing-over – This status covers the range of Aurora internal operations that take place during the switchover or failover process, such as demoting the primary Aurora DB cluster, promoting the secondary Aurora DB cluster, and synchronizing replicas.

          • cancelling – The request to switch over or fail over the global cluster was cancelled and the primary Aurora DB cluster and the selected secondary Aurora DB cluster are returning to their previous states.

        • FromDbClusterArn (string) --

          The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being demoted, and which is associated with this state.

        • ToDbClusterArn (string) --

          The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being promoted, and which is associated with this state.

        • IsDataLossAllowed (boolean) --

          Indicates whether the operation is a global switchover or a global failover. If data loss is allowed, then the operation is a global failover. Otherwise, it's a switchover.

RemoveFromGlobalCluster (updated) Link ¶
Changes (response)
{'GlobalCluster': {'FailoverState': {'IsDataLossAllowed': 'boolean'},
                   'GlobalClusterMembers': {'SynchronizationStatus': 'connected '
                                                                     '| '
                                                                     'pending-resync'}}}

Detaches an Aurora secondary cluster from an Aurora global database cluster. The cluster becomes a standalone cluster with read-write capability instead of being read-only and receiving data from a primary cluster in a different Region.

Note

This action only applies to Aurora DB clusters.

See also: AWS API Documentation

Request Syntax

client.remove_from_global_cluster(
    GlobalClusterIdentifier='string',
    DbClusterIdentifier='string'
)
type GlobalClusterIdentifier

string

param GlobalClusterIdentifier

The cluster identifier to detach from the Aurora global database cluster.

type DbClusterIdentifier

string

param DbClusterIdentifier

The Amazon Resource Name (ARN) identifying the cluster that was detached from the Aurora global database cluster.

rtype

dict

returns

Response Syntax

{
    'GlobalCluster': {
        'GlobalClusterIdentifier': 'string',
        'GlobalClusterResourceId': 'string',
        'GlobalClusterArn': 'string',
        'Status': 'string',
        'Engine': 'string',
        'EngineVersion': 'string',
        'DatabaseName': 'string',
        'StorageEncrypted': True|False,
        'DeletionProtection': True|False,
        'GlobalClusterMembers': [
            {
                'DBClusterArn': 'string',
                'Readers': [
                    'string',
                ],
                'IsWriter': True|False,
                'GlobalWriteForwardingStatus': 'enabled'|'disabled'|'enabling'|'disabling'|'unknown',
                'SynchronizationStatus': 'connected'|'pending-resync'
            },
        ],
        'FailoverState': {
            'Status': 'pending'|'failing-over'|'cancelling',
            'FromDbClusterArn': 'string',
            'ToDbClusterArn': 'string',
            'IsDataLossAllowed': True|False
        }
    }
}

Response Structure

  • (dict) --

    • GlobalCluster (dict) --

      A data type representing an Aurora global database.

      • GlobalClusterIdentifier (string) --

        Contains a user-supplied global database cluster identifier. This identifier is the unique key that identifies a global database cluster.

      • GlobalClusterResourceId (string) --

        The Amazon Web Services Region-unique, immutable identifier for the global database cluster. This identifier is found in Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the DB cluster is accessed.

      • GlobalClusterArn (string) --

        The Amazon Resource Name (ARN) for the global database cluster.

      • Status (string) --

        Specifies the current state of this global database cluster.

      • Engine (string) --

        The Aurora database engine used by the global database cluster.

      • EngineVersion (string) --

        Indicates the database engine version.

      • DatabaseName (string) --

        The default database name within the new global database cluster.

      • StorageEncrypted (boolean) --

        The storage encryption setting for the global database cluster.

      • DeletionProtection (boolean) --

        The deletion protection setting for the new global database cluster.

      • GlobalClusterMembers (list) --

        The list of primary and secondary clusters within the global database cluster.

        • (dict) --

          A data structure with information about any primary and secondary clusters associated with a global cluster (Aurora global database).

          • DBClusterArn (string) --

            The Amazon Resource Name (ARN) for each Aurora DB cluster in the global cluster.

          • Readers (list) --

            The Amazon Resource Name (ARN) for each read-only secondary cluster associated with the global cluster.

            • (string) --

          • IsWriter (boolean) --

            Specifies whether the Aurora DB cluster is the primary cluster (that is, has read-write capability) for the global cluster with which it is associated.

          • GlobalWriteForwardingStatus (string) --

            Specifies whether a secondary cluster in the global cluster has write forwarding enabled, not enabled, or is in the process of enabling it.

          • SynchronizationStatus (string) --

            The status of synchronization of each Aurora DB cluster in the global cluster.

      • FailoverState (dict) --

        A data object containing all properties for the current state of an in-process or pending switchover or failover process for this global cluster (Aurora global database). This object is empty unless the SwitchoverGlobalCluster or FailoverGlobalCluster operation was called on this global cluster.

        • Status (string) --

          The current status of the global cluster. Possible values are as follows:

          • pending – The service received a request to switch over or fail over the global cluster. The global cluster's primary DB cluster and the specified secondary DB cluster are being verified before the operation starts.

          • failing-over – This status covers the range of Aurora internal operations that take place during the switchover or failover process, such as demoting the primary Aurora DB cluster, promoting the secondary Aurora DB cluster, and synchronizing replicas.

          • cancelling – The request to switch over or fail over the global cluster was cancelled and the primary Aurora DB cluster and the selected secondary Aurora DB cluster are returning to their previous states.

        • FromDbClusterArn (string) --

          The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being demoted, and which is associated with this state.

        • ToDbClusterArn (string) --

          The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently being promoted, and which is associated with this state.

        • IsDataLossAllowed (boolean) --

          Indicates whether the operation is a global switchover or a global failover. If data loss is allowed, then the operation is a global failover. Otherwise, it's a switchover.