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

RestoreDBClusterToPointInTime

Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

Note

This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterToPointInTime action has completed and the DB cluster is available.

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

Request Parameters

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

BacktrackWindow

The target backtrack window, in seconds. To disable backtracking, set this value to 0.

Default: 0

Constraints:

  • If specified, this value must be set to a number from 0 to 259,200 (72 hours).

Type: Long

Required: No

DBClusterIdentifier

The name of the new DB cluster to be created.

Constraints:

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

  • First character must be a letter

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

Type: String

Required: Yes

DBClusterParameterGroupName

The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default DB cluster parameter group for the specified engine is used.

Constraints:

  • If supplied, must match the name of an existing DB cluster parameter group.

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter.

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

Type: String

Required: No

DBSubnetGroupName

The DB subnet group name to use for the new DB cluster.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

Type: String

Required: No

DeletionProtection

Indicates if the DB cluster should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.

Type: Boolean

Required: No

EnableCloudwatchLogsExports.member.N

The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

Type: Array of strings

Required: No

EnableIAMDatabaseAuthentication

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

Type: Boolean

Required: No

KmsKeyId

The AWS KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring 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.

You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the KMS key identified by the KmsKeyId parameter.

If you don't specify a value for the KmsKeyId parameter, then the following occurs:

  • If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

  • If the DB cluster is not encrypted, then the restored DB cluster is not encrypted.

If DBClusterIdentifier refers to a DB cluster that is not encrypted, then the restore request is rejected.

Type: String

Required: No

OptionGroupName

The name of the option group for the new DB cluster.

Type: String

Required: No

Port

The port number on which the new DB cluster accepts connections.

Constraints: A value from 1150-65535.

Default: The default port for the engine.

Type: Integer

Required: No

RestoreToTime

The date and time to restore the DB cluster to.

Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

Constraints:

  • Must be before the latest restorable time for the DB instance

  • Must be specified if UseLatestRestorableTime parameter is not provided

  • Can't be specified if UseLatestRestorableTime parameter is true

  • Can't be specified if RestoreType parameter is copy-on-write

Example: 2015-03-07T23:45:00Z

Type: Timestamp

Required: No

RestoreType

The type of restore to be performed. You can specify one of the following values:

  • full-copy - The new DB cluster is restored as a full copy of the source DB cluster.

  • copy-on-write - The new DB cluster is restored as a clone of the source DB cluster.

Constraints: You can't specify copy-on-write if the engine version of the source DB cluster is earlier than 1.11.

If you don't specify a RestoreType value, then the new DB cluster is restored as a full copy of the source DB cluster.

Type: String

Required: No

SourceDBClusterIdentifier

The identifier of the source DB cluster from which to restore.

Constraints:

  • Must match the identifier of an existing DBCluster.

Type: String

Required: Yes

Tags.Tag.N

A list of tags. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

Type: Array of Tag objects

Required: No

UseLatestRestorableTime

A value that is set to true to restore the DB cluster to the latest restorable backup time, and false otherwise.

Default: false

Constraints: Can't be specified if RestoreToTime parameter is provided.

Type: Boolean

Required: No

VpcSecurityGroupIds.VpcSecurityGroupId.N

A list of VPC security groups that the new DB cluster belongs to.

Type: Array of strings

Required: No

Response Elements

The following element is returned by the service.

DBCluster

Contains the details of an Amazon Aurora DB cluster.

This data type is used as a response element in the DescribeDBClusters, StopDBCluster, and StartDBCluster actions.

Type: DBCluster object

Errors

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

DBClusterAlreadyExistsFault

The user already has a DB cluster with the given identifier.

HTTP Status Code: 400

DBClusterNotFoundFault

DBClusterIdentifier doesn't refer to an existing DB cluster.

HTTP Status Code: 404

DBClusterParameterGroupNotFound

DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter group.

HTTP Status Code: 404

DBClusterQuotaExceededFault

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

HTTP Status Code: 403

DBClusterSnapshotNotFoundFault

DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.

HTTP Status Code: 404

DBSubnetGroupNotFoundFault

DBSubnetGroupName doesn't refer to an existing DB subnet group.

HTTP Status Code: 404

InsufficientDBClusterCapacityFault

The DB cluster doesn't have enough capacity for the current operation.

HTTP Status Code: 403

InsufficientStorageClusterCapacity

There is insufficient storage available for the current action. You might 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

InvalidDBClusterSnapshotStateFault

The supplied value isn't a valid DB cluster snapshot state.

HTTP Status Code: 400

InvalidDBClusterStateFault

The DB cluster isn't in a valid state.

HTTP Status Code: 400

InvalidDBSnapshotState

The state of the DB snapshot doesn't allow deletion.

HTTP Status Code: 400

InvalidRestoreFault

Cannot restore from VPC backup to non-VPC DB instance.

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

The DB subnet group doesn't cover all Availability Zones after it's created because of users' change.

HTTP Status Code: 400

KMSKeyNotAccessibleFault

An error occurred accessing an AWS KMS key.

HTTP Status Code: 400

OptionGroupNotFoundFault

The specified option group could not be found.

HTTP Status Code: 404

StorageQuotaExceeded

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

HTTP Status Code: 400

Example

Sample Request

https://rds.us-west-2.amazonaws.com/ ?Action=RestoreDBClusterToPointInTime &DBClusterIdentifier=sample-restored-1 &RestoreToTime=2016-09-13T18%3A45%3A00Z &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBClusterIdentifier=sample-cluster &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20160913/us-west-2/rds/aws4_request &X-Amz-Date=20160913T224930Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=e3b88945052247e82eaeaca6e269e7f6e18a36147b45c3b077bc600472e70de6

Sample Response

<RestoreDBClusterToPointInTimeResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/"> <RestoreDBClusterToPointInTimeResult> <DBCluster> <AllocatedStorage>1</AllocatedStorage> <DatabaseName>sample</DatabaseName> <AvailabilityZones> <AvailabilityZone>us-west-2a</AvailabilityZone> <AvailabilityZone>us-west-2b</AvailabilityZone> <AvailabilityZone>us-west-2c</AvailabilityZone> </AvailabilityZones> <PreferredBackupWindow>10:37-11:07</PreferredBackupWindow> <Endpoint>sample-restored-1.cluster-cnubrrfwfkg6.us-west-2.rds.amazonaws.com</Endpoint> <Engine>aurora</Engine> <ReaderEndpoint>sample-restored-1.cluster-ro-cnubrrfwfkg6.us-west-2.rds.amazonaws.com</ReaderEndpoint> <ReadReplicaIdentifiers/> <EngineVersion>5.6.10a</EngineVersion> <MasterUsername>mymasteruser</MasterUsername> <DBClusterMembers/> <StorageEncrypted>false</StorageEncrypted> <DBSubnetGroup>default</DBSubnetGroup> <HostedZoneId>Z1PVIF0B622C1W</HostedZoneId> <VpcSecurityGroups> <VpcSecurityGroupMembership> <VpcSecurityGroupId>sg-187c1671</VpcSecurityGroupId> <Status>active</Status> </VpcSecurityGroupMembership> </VpcSecurityGroups> <Port>3306</Port> <PreferredMaintenanceWindow>tue:11:51-tue:12:21</PreferredMaintenanceWindow> <DBClusterParameterGroup>default.aurora5.6</DBClusterParameterGroup> <BackupRetentionPeriod>1</BackupRetentionPeriod> <DBClusterIdentifier>sample-restored-1</DBClusterIdentifier> <DbClusterResourceId>cluster-U5ZXU3237H7YVCVKISDIXSQKUQ</DbClusterResourceId> <DBClusterArn>arn:aws:rds:us-west-2:123456789012:cluster:sample-restored-1</DBClusterArn> <Status>creating</Status> </DBCluster> </RestoreDBClusterToPointInTimeResult> <ResponseMetadata> <RequestId>54b75eef-7a04-15b6-aaa0-75ef834084a0</RequestId> </ResponseMetadata> </RestoreDBClusterToPointInTimeResponse>

See Also

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