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 in the Amazon RDS User Guide.
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 in the Amazon RDS User Guide.
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.
-
Can't 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
- DeletionProtection
-
Indicates if the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false. For more information, see Deleting a DB Instance.
Type: Boolean
Required: No
- EnableCloudwatchLogsExports.member.N
-
The list of logs that the restored DB instance 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 RDS 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
- EnablePerformanceInsights
-
True to enable Performance Insights for the DB instance, and otherwise false.
For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.
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. For information about engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.
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 in the Amazon RDS User Guide.
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 theKmsKeyId
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.
-
Can't 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 setMonitoringInterval
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 in the Amazon RDS User Guide.If
MonitoringInterval
is set to a value other than 0, then you must supply aMonitoringRoleArn
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
- PerformanceInsightsRetentionPeriod
-
The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).
Type: Integer
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 in the Amazon RDS User Guide.
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 in the Amazon RDS User Guide.
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
-
- ProcessorFeatures.ProcessorFeature.N
-
The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.
Type: Array of ProcessorFeature objects
Required: No
- PubliclyAccessible
-
Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address. 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 theIops
parameter.Default:
io1
if theIops
parameter is specified; otherwisestandard
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 in the Amazon RDS User Guide.
Type: Array of Tag objects
Required: No
- UseDefaultProcessorFeatures
-
A value that specifies that the DB instance class of the DB instance uses its default processor features.
Type: Boolean
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
-
The specified CIDRIP or Amazon EC2 security group isn't authorized for the specified DB security group.
RDS also may not be authorized by using IAM to perform necessary actions on your behalf.
HTTP Status Code: 404
- BackupPolicyNotFoundFault
-
This error has been deprecated.
HTTP Status Code: 404
- DBInstanceAlreadyExists
-
The user already has a DB instance with the given identifier.
HTTP Status Code: 400
- DBParameterGroupNotFound
-
DBParameterGroupName doesn't refer to an existing DB parameter group.
HTTP Status Code: 404
- DBSecurityGroupNotFound
-
DBSecurityGroupName doesn't 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 doesn't refer to an existing DB subnet group.
HTTP Status Code: 404
- InstanceQuotaExceeded
-
The request would result in the user exceeding the allowed number of DB instances.
HTTP Status Code: 400
- InsufficientDBInstanceCapacity
-
The specified DB instance class isn't available in the specified Availability Zone.
HTTP Status Code: 400
- InvalidS3BucketFault
-
The specified Amazon S3 bucket name can't be found or Amazon RDS isn't 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
-
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
- ProvisionedIopsNotAvailableInAZFault
-
Provisioned IOPS not available in the specified Availability Zone.
HTTP Status Code: 400
- StorageQuotaExceeded
-
The request would result in the user exceeding the allowed amount of storage available across all DB instances.
HTTP Status Code: 400
- StorageTypeNotSupported
-
Storage of the StorageType specified can't 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: