Menu
Amazon Relational Database Service
API Reference (API Version 2014-10-31)

CreateDBCluster

Creates a new Amazon Aurora DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance. For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl parameter.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

AvailabilityZones.AvailabilityZone.N

A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on regions and Availability Zones, see Regions and Availability Zones.

Type: Array of strings

Required: No

BackupRetentionPeriod

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35

Type: Integer

Required: No

CharacterSetName

A value that indicates that the DB cluster should be associated with the specified CharacterSet.

Type: String

Required: No

DatabaseName

The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon RDS will not create a database in the DB cluster you are creating.

Type: String

Required: No

DBClusterIdentifier

The DB cluster identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1

Type: String

Required: Yes

DBClusterParameterGroupName

The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, default.aurora5.6 will be used.

Constraints:

  • Must be 1 to 255 alphanumeric characters

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Type: String

Required: No

DBSubnetGroupName

A DB subnet group to associate with this DB cluster.

Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

Example: mySubnetgroup

Type: String

Required: No

EnableIAMDatabaseAuthentication

A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

Type: Boolean

Required: No

Engine

The name of the database engine to be used for this DB cluster.

Valid Values: aurora

Type: String

Required: Yes

EngineVersion

The version number of the database engine to use.

Aurora

Example: 5.6.10a

Type: String

Required: No

KmsKeyId

The KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

If you create a Read Replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the Read Replica in that AWS Region.

Type: String

Required: No

MasterUsername

The name of the master user for the DB cluster.

Constraints:

  • Must be 1 to 16 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

Type: String

Required: No

MasterUserPassword

The password for the master database user. This password can contain any printable ASCII character except "/", """, or "@".

Constraints: Must contain from 8 to 41 characters.

Type: String

Required: No

OptionGroupName

A value that indicates that the DB cluster should be associated with the specified option group.

Permanent options cannot be removed from an option group. The option group cannot be removed from a DB cluster once it is associated with a DB cluster.

Type: String

Required: No

Port

The port number on which the instances in the DB cluster accept connections.

Default: 3306

Type: Integer

Required: No

PreferredBackupWindow

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Times should be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

Type: String

Required: No

PreferredMaintenanceWindow

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

Type: String

Required: No

PreSignedUrl

A URL that contains a Signature Version 4 signed request for the CreateDBCluster action to be called in the source AWS Region where the DB cluster will be replicated from. You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

The pre-signed URL must be a valid request for the CreateDBCluster API action that can be executed in the source AWS Region that contains the encrypted DB cluster to be copied.

The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster in the destination AWS Region. This should refer to the same KMS key for both the CreateDBCluster action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the AWS Region that Aurora Read Replica will be created in.

  • ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster from the us-west-2 region, then your ReplicationSourceIdentifier would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

Type: String

Required: No

ReplicationSourceIdentifier

The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.

Type: String

Required: No

StorageEncrypted

Specifies whether the DB cluster is encrypted.

Type: Boolean

Required: No

Tags.Tag.N

A list of tags.

Type: Array of Tag objects

Required: No

VpcSecurityGroupIds.VpcSecurityGroupId.N

A list of EC2 VPC security groups to associate with this DB cluster.

Type: Array of strings

Required: No

Response Elements

The following element is returned by the service.

DBCluster

Contains the result of a successful invocation of the following actions:

This data type is used as a response element in the DescribeDBClusters action.

Type: DBCluster object

Errors

For information about the errors that are common to all actions, see Common Errors.

DBClusterAlreadyExistsFault

User already has a DB cluster with the given identifier.

HTTP Status Code: 400

DBClusterNotFoundFault

DBClusterIdentifier does not refer to an existing DB cluster.

HTTP Status Code: 404

DBClusterParameterGroupNotFound

DBClusterParameterGroupName does not refer to an existing DB Cluster parameter group.

HTTP Status Code: 404

DBClusterQuotaExceededFault

User attempted to create a new DB cluster and the user has already reached the maximum allowed DB cluster quota.

HTTP Status Code: 403

DBInstanceNotFound

DBInstanceIdentifier does not refer to an existing DB instance.

HTTP Status Code: 404

DBSubnetGroupDoesNotCoverEnoughAZs

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

HTTP Status Code: 400

DBSubnetGroupNotFoundFault

DBSubnetGroupName does not refer to an existing DB subnet group.

HTTP Status Code: 404

InsufficientStorageClusterCapacity

There is insufficient storage available for the current action. You may be able to resolve this error by updating your subnet group to use different Availability Zones that have more storage available.

HTTP Status Code: 400

InvalidDBClusterStateFault

The DB cluster is not in a valid state.

HTTP Status Code: 400

InvalidDBInstanceState

The specified DB instance is not in the available state.

HTTP Status Code: 400

InvalidDBSubnetGroupStateFault

The DB subnet group cannot be deleted because it is in use.

HTTP Status Code: 400

InvalidSubnet

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

HTTP Status Code: 400

InvalidVPCNetworkStateFault

DB subnet group does not cover all Availability Zones after it is created because users' change.

HTTP Status Code: 400

KMSKeyNotAccessibleFault

Error accessing KMS key.

HTTP Status Code: 400

StorageQuotaExceeded

Request would result in user exceeding the allowed amount of storage available across all DB instances.

HTTP Status Code: 400

Example

Sample Request

Copy
https://rds.us-east-1.amazonaws.com/ ?Action=CreateDBCluster &DBClusterIdentifier=sample-cluster &Engine=aurora &MasterUserPassword=<password> &MasterUsername=myawsuser &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20150927/us-east-1/rds/aws4_request &X-Amz-Date=20150927T164851Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=6a8f4bd6a98f649c75ea04a6b3929ecc75ac09739588391cd7250f5280e716db

Sample Response

Copy
<CreateDBClusterResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/"> <CreateDBClusterResult> <DBCluster> <Port>3306</Port> <Engine>aurora</Engine> <Status>creating</Status> <BackupRetentionPeriod>1</BackupRetentionPeriod> <VpcSecurityGroups> <VpcSecurityGroupMembership> <Status>active</Status> <VpcSecurityGroupId>sg-2103dc23</VpcSecurityGroupId> </VpcSecurityGroupMembership> </VpcSecurityGroups> <DBSubnetGroup>default</DBSubnetGroup> <EngineVersion>5.6.10a</EngineVersion> <Endpoint>sample-cluster.cluster-ctrayan0rynq.us-east-1.rds.amazonaws.com</Endpoint> <DBClusterParameterGroup>default.aurora5.6</DBClusterParameterGroup> <AvailabilityZones> <AvailabilityZone>us-east-1a</AvailabilityZone> <AvailabilityZone>us-east-1c</AvailabilityZone> <AvailabilityZone>us-east-1e</AvailabilityZone> </AvailabilityZones> <DBClusterIdentifier>sample-cluster</DBClusterIdentifier> <PreferredBackupWindow>04:22-04:52</PreferredBackupWindow> <PreferredMaintenanceWindow>fri:06:44-fri:07:14</PreferredMaintenanceWindow> <DBClusterMembers/> <AllocatedStorage>1</AllocatedStorage> <MasterUsername>myawsuser</MasterUsername> </DBCluster> </CreateDBClusterResult> <ResponseMetadata> <RequestId>46d2b228-7681-11e5-3e8b-9b2c0d5d51a9</RequestId> </ResponseMetadata> </CreateDBClusterResponse>

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: