[ aws . rds ]

create-global-cluster

Description

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

Synopsis

  create-global-cluster
[--global-cluster-identifier <value>]
[--source-db-cluster-identifier <value>]
[--engine <value>]
[--engine-version <value>]
[--engine-lifecycle-support <value>]
[--deletion-protection | --no-deletion-protection]
[--database-name <value>]
[--storage-encrypted | --no-storage-encrypted]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]

Options

--global-cluster-identifier (string)

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

--source-db-cluster-identifier (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.

--engine-version (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.

--engine-lifecycle-support (string)

The life cycle type for this global database cluster.

Note

By default, this value is set to open-source-rds-extended-support , which enrolls your global cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to open-source-rds-extended-support-disabled . In this case, creating the global cluster will fail if the DB major version is past its end of standard support date.

This setting only applies to Aurora PostgreSQL-based global databases.

You can use this setting to enroll your global cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your global cluster past the end of standard support for that engine version. For more information, see Using Amazon RDS Extended Support in the Amazon Aurora User Guide .

Valid Values: open-source-rds-extended-support | open-source-rds-extended-support-disabled

Default: open-source-rds-extended-support

--deletion-protection | --no-deletion-protection (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.

--database-name (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.

--storage-encrypted | --no-storage-encrypted (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.

--tags (list)

Tags to assign to the global cluster.

(structure)

Metadata assigned to an Amazon RDS resource consisting of a key-value pair.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide .

Key -> (string)

A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can’t be prefixed with aws: or rds: . The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘:’, ‘/’, ‘=’, ‘+’, ‘-’, ‘@’ (Java regex: “^([\p{L}\p{Z}\p{N}_.:/=+-@]*)$”).

Value -> (string)

A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can’t be prefixed with aws: or rds: . The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘:’, ‘/’, ‘=’, ‘+’, ‘-’, ‘@’ (Java regex: “^([\p{L}\p{Z}\p{N}_.:/=+-@]*)$”).

Shorthand Syntax:

Key=string,Value=string ...

JSON Syntax:

[
  {
    "Key": "string",
    "Value": "string"
  }
  ...
]

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.

Global Options

--debug (boolean)

Turn on debug logging.

--endpoint-url (string)

Override command’s default URL with the given URL.

--no-verify-ssl (boolean)

By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.

--no-paginate (boolean)

Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.

--output (string)

The formatting style for command output.

  • json
  • text
  • table
  • yaml
  • yaml-stream

--query (string)

A JMESPath query to use in filtering the response data.

--profile (string)

Use a specific profile from your credential file.

--region (string)

The region to use. Overrides config/env settings.

--version (string)

Display the version of this tool.

--color (string)

Turn on/off color output.

  • on
  • off
  • auto

--no-sign-request (boolean)

Do not sign requests. Credentials will not be loaded if this argument is provided.

--ca-bundle (string)

The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.

--cli-read-timeout (int)

The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.

--cli-connect-timeout (int)

The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.

--cli-binary-format (string)

The formatting style to be used for binary blobs. The default format is base64. The base64 format expects binary blobs to be provided as a base64 encoded string. The raw-in-base64-out format preserves compatibility with AWS CLI V1 behavior and binary values must be passed literally. When providing contents from a file that map to a binary blob fileb:// will always be treated as binary and use the file contents directly regardless of the cli-binary-format setting. When using file:// the file contents will need to properly formatted for the configured cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (boolean)

Disable cli pager for output.

--cli-auto-prompt (boolean)

Automatically prompt for CLI input parameters.

--no-cli-auto-prompt (boolean)

Disable automatically prompt for CLI input parameters.

Examples

Note

To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.

Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal’s quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .

To create a global DB cluster

The following create-global-cluster example creates a new Aurora MySQL-compatible global DB cluster.

aws rds create-global-cluster \
    --global-cluster-identifier myglobalcluster \
    --engine aurora-mysql

Output:

{
    "GlobalCluster": {
        "GlobalClusterIdentifier": "myglobalcluster",
        "GlobalClusterResourceId": "cluster-f0e523bfe07aabb",
        "GlobalClusterArn": "arn:aws:rds::123456789012:global-cluster:myglobalcluster",
        "Status": "available",
        "Engine": "aurora-mysql",
        "EngineVersion": "5.7.mysql_aurora.2.07.2",
        "StorageEncrypted": false,
        "DeletionProtection": false,
        "GlobalClusterMembers": []
    }
}

For more information, see Creating an Aurora global database in the Amazon Aurora User Guide.

Output

GlobalCluster -> (structure)

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.

EngineLifecycleSupport -> (string)

The life cycle type for the global cluster.

For more information, see CreateGlobalCluster.

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.

(structure)

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)

Indicates 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)

The status of write forwarding for a secondary cluster in the global cluster.

SynchronizationStatus -> (string)

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

Endpoint -> (string)

The writer endpoint for the new global database cluster. This endpoint always points to the writer DB instance in the current primary cluster.

FailoverState -> (structure)

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 – Aurora is promoting the chosen secondary Aurora DB cluster to become the new primary DB cluster to fail over the global cluster.
  • 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.
  • switching-over – This status covers the range of Aurora internal operations that take place during the switchover process, such as demoting the primary Aurora DB cluster, promoting the secondary Aurora DB cluster, and synchronizing replicas.

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.

TagList -> (list)

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide .

(structure)

Metadata assigned to an Amazon RDS resource consisting of a key-value pair.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide .

Key -> (string)

A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can’t be prefixed with aws: or rds: . The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘:’, ‘/’, ‘=’, ‘+’, ‘-’, ‘@’ (Java regex: “^([\p{L}\p{Z}\p{N}_.:/=+-@]*)$”).

Value -> (string)

A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can’t be prefixed with aws: or rds: . The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘:’, ‘/’, ‘=’, ‘+’, ‘-’, ‘@’ (Java regex: “^([\p{L}\p{Z}\p{N}_.:/=+-@]*)$”).