RDS / Client / create_global_cluster

create_global_cluster#

RDS.Client.create_global_cluster(**kwargs)#

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

response = client.create_global_cluster(
    GlobalClusterIdentifier='string',
    SourceDBClusterIdentifier='string',
    Engine='string',
    EngineVersion='string',
    DeletionProtection=True|False,
    DatabaseName='string',
    StorageEncrypted=True|False
)
Parameters:
  • GlobalClusterIdentifier (string) – The cluster identifier for this global database cluster. This parameter is stored as a lowercase string.

  • SourceDBClusterIdentifier (string) –

    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

  • Engine (string) –

    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.

  • EngineVersion (string) –

    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.

  • DeletionProtection (boolean) – Specifies whether to enable deletion protection for the new global database cluster. The global database can’t be deleted when deletion protection is enabled.

  • DatabaseName (string) –

    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.

  • StorageEncrypted (boolean) –

    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.

Return type:

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.

Exceptions

  • RDS.Client.exceptions.GlobalClusterAlreadyExistsFault

  • RDS.Client.exceptions.GlobalClusterQuotaExceededFault

  • RDS.Client.exceptions.InvalidDBClusterStateFault

  • RDS.Client.exceptions.DBClusterNotFoundFault