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

RestoreDBInstanceFromS3

Amazon Relational Database Service (Amazon RDS) supports importing MySQL databases by using backup files. You can create a backup of your on-premises database, store it on Amazon Simple Storage Service (Amazon S3), and then restore the backup file onto a new Amazon RDS DB instance running MySQL. For more information, see Importing Data into an Amazon RDS MySQL DB Instance.

Request Parameters

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

AllocatedStorage

The amount of storage (in gigabytes) to allocate initially for the DB instance. Follow the allocation rules specified in CreateDBInstance.

Note

Be sure to allocate enough memory for your new DB instance so that the restore operation can succeed. You can also allocate additional memory for future growth.

Type: Integer

Required: No

AutoMinorVersionUpgrade

True to indicate that minor engine upgrades are applied automatically to the DB instance during the maintenance window, and otherwise false.

Default: true

Type: Boolean

Required: No

AvailabilityZone

The Availability Zone that the DB instance is created in. For information about AWS Regions and Availability Zones, see Regions and Availability Zones.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint.

Type: String

Required: No

BackupRetentionPeriod

The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. For more information, see CreateDBInstance.

Type: Integer

Required: No

CopyTagsToSnapshot

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false.

Default: false.

Type: Boolean

Required: No

DBInstanceClass

The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Importing from Amazon S3 is not supported on the db.t2.micro DB instance class.

Type: String

Required: Yes

DBInstanceIdentifier

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

Constraints:

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

  • First character must be a letter.

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

Example: mydbinstance

Type: String

Required: Yes

DBName

The name of the database to create when the DB instance is created. Follow the naming rules specified in CreateDBInstance.

Type: String

Required: No

DBParameterGroupName

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

Type: String

Required: No

DBSecurityGroups.DBSecurityGroupName.N

A list of DB security groups to associate with this DB instance.

Default: The default DB security group for the database engine.

Type: Array of strings

Required: No

DBSubnetGroupName

A DB subnet group to associate with this DB instance.

Type: String

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

EnablePerformanceInsights

True to enable Performance Insights for the DB instance, and otherwise false.

Type: Boolean

Required: No

Engine

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

Valid Values: mysql

Type: String

Required: Yes

EngineVersion

The version number of the database engine to use. Choose the latest minor version of your database engine as specified in CreateDBInstance.

Type: String

Required: No

Iops

The amount of Provisioned IOPS (input/output operations per second) to allocate initially for the DB instance. For information about valid Iops values, see see Amazon RDS Provisioned IOPS Storage to Improve Performance.

Type: Integer

Required: No

KmsKeyId

The AWS KMS key identifier for an encrypted DB instance.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM 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.

Type: String

Required: No

LicenseModel

The license model for this DB instance. Use general-public-license.

Type: String

Required: No

MasterUsername

The name for the master user.

Constraints:

  • Must be 1 to 16 letters or numbers.

  • 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 user. The password can include any printable ASCII character except "/", """, or "@".

Constraints: Must contain from 8 to 41 characters.

Type: String

Required: No

MonitoringInterval

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0.

If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

Default: 0

Type: Integer

Required: No

MonitoringRoleArn

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see Setting Up and Enabling Enhanced Monitoring.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

Type: String

Required: No

MultiAZ

Specifies whether the DB instance is a Multi-AZ deployment. If MultiAZ is set to true, you can't set the AvailabilityZone parameter.

Type: Boolean

Required: No

OptionGroupName

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

Type: String

Required: No

PerformanceInsightsKMSKeyId

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key.

Type: String

Required: No

Port

The port number on which the database accepts connections.

Type: Integer

Valid Values: 1150-65535

Default: 3306

Type: Integer

Required: No

PreferredBackupWindow

The time range each day during which automated backups are created if automated backups are enabled. For more information, see The Backup Window.

Constraints:

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

  • Must 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 time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window.

Constraints:

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

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

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred backup window.

  • Must be at least 30 minutes.

Type: String

Required: No

PubliclyAccessible

Specifies whether the DB instance is publicly accessible or not. For more information, see CreateDBInstance.

Type: Boolean

Required: No

S3BucketName

The name of your Amazon S3 bucket that contains your database backup file.

Type: String

Required: Yes

S3IngestionRoleArn

An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access your Amazon S3 bucket.

Type: String

Required: Yes

S3Prefix

The prefix of your Amazon S3 bucket.

Type: String

Required: No

SourceEngine

The name of the engine of your source database.

Valid Values: mysql

Type: String

Required: Yes

SourceEngineVersion

The engine version of your source database.

Valid Values: 5.6

Type: String

Required: Yes

StorageEncrypted

Specifies whether the new DB instance is encrypted or not.

Type: Boolean

Required: No

StorageType

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified; otherwise standard

Type: String

Required: No

Tags.Tag.N

A list of tags to associate with this DB instance. For more information, see Tagging Amazon RDS Resources.

Type: Array of Tag objects

Required: No

VpcSecurityGroupIds.VpcSecurityGroupId.N

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

Type: Array of strings

Required: No

Response Elements

The following element is returned by the service.

DBInstance

Contains the details of an Amazon RDS DB instance.

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

Type: DBInstance object

Errors

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

AuthorizationNotFound

Specified CIDRIP or EC2 security group is not authorized for the specified DB security group.

RDS may not also be authorized via IAM to perform necessary actions on your behalf.

HTTP Status Code: 404

DBInstanceAlreadyExists

User already has a DB instance with the given identifier.

HTTP Status Code: 400

DBParameterGroupNotFound

DBParameterGroupName does not refer to an existing DB parameter group.

HTTP Status Code: 404

DBSecurityGroupNotFound

DBSecurityGroupName does not refer to an existing DB security group.

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

InstanceQuotaExceeded

Request would result in user exceeding the allowed number of DB instances.

HTTP Status Code: 400

InsufficientDBInstanceCapacity

Specified DB instance class is not available in the specified Availability Zone.

HTTP Status Code: 400

InvalidS3BucketFault

The specified Amazon S3 bucket name could not be found or Amazon RDS is not authorized to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and S3IngestionRoleArn values and try again.

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

OptionGroupNotFoundFault

The specified option group could not be found.

HTTP Status Code: 404

ProvisionedIopsNotAvailableInAZFault

Provisioned IOPS not available in the specified Availability Zone.

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

StorageTypeNotSupported

StorageType specified cannot be associated with the DB Instance.

HTTP Status Code: 400

See Also

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