创建快照导出任务
创建快照导出任务,来将数据从快照导出到 Amazon S3 存储桶。每个 AWS 账户 最多可以执行五个并发数据库快照导出任务。
注意
导出 RDS 快照可能需要一段时间,具体取决于您的数据库类型和大小。导出任务首先还原并扩展整个数据库,然后再将数据提取到 Amazon S3。此阶段的任务进度显示为正在启动。当任务切换到将数据导出到 S3 时,进度显示为正在进行。
完成导出所需的时间取决于数据库中存储的数据。例如,具有分布良好的数字主键或索引列的表导出速度最快。不包含适用于分区的列的表,以及只有基于字符串的列上的一个索引的表将需要更长时间。导出时间之所以更长,是因为导出使用较慢的单线程进程。
您可以使用AWS Management Console、AWS CLI 或 RDS API 将数据库快照导出到 Amazon S3。
如果您使用 Lambda 函数导出快照,请将 kms:DescribeKey
操作添加到 Lambda 函数策略中。有关更多信息,请参阅 AWS Lambda 权限。
仅为可导出到 Amazon S3 的快照显示导出到 Amazon S3 控制台选项。由于以下原因,快照可能无法导出:
-
不支持数据库引擎的 S3 导出。
-
不支持数据库实例版本的 S3 导出。
-
创建了快照的 AWS 区域不支持 S3 导出。
导出数据库快照
-
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择快照。
-
从选项卡中,选择要导出的快照类型。
-
在快照列表中,选择要导出的快照。
-
对于 Actions (操作),选择 Export to Amazon S3 (导出到 Amazon S3)。
此时将显示 Export to Amazon S3 (导出到 Amazon S3) 窗口。
-
对于 Export identifier (导出标识符),输入用于标识导出任务的名称。此值也用于在 S3 存储桶中创建的文件的名称。
-
选择要导出的数据:
-
选择 All (全部) 可导出快照中的所有数据。
-
选择 Partial (部分) 可导出快照的特定部分。如需标识要导出快照的哪些部分,请为 Identifiers (标识符)(以空格分隔)输入一个或多个数据库、架构或表。
使用以下格式:
database
[.schema
][.table
]database2
[.schema2
][.table2
] ...database
n[.schema
n][.table
n]例如:
mydatabase mydatabase2.myschema1 mydatabase2.myschema2.mytable1 mydatabase2.myschema2.mytable2
-
-
对于 S3 bucket (S3 存储桶),选择要导出到的存储桶。
要将导出的数据分配给 S3 存储桶中的文件夹路径,请为 S3 prefix (S3 前缀) 输入可选路径。
-
对于 IAM role (IAM 角色),请选择一个角色以授予您对所选 S3 存储桶的写入访问权限,或创建新角色。
-
如果您按照 使用 IAM 角色提供对 Amazon S3 存储桶的访问权限中的步骤创建了角色,请选择该角色。
-
如果您没有创建授予您对所选 S3 桶的写入访问权限的角色,则选择 Create a new role(创建新角色)来自动创建该角色。接下来,在 IAM role name (IAM 角色名称) 中输入角色的名称。
-
-
对于 AWS KMS key,输入要用于加密导出数据的密钥的 ARN。
-
选择 Export to Amazon S3 (导出到 Amazon S3)。
要使用 AWS CLI 将数据库快照导出到 Amazon S3,请使用包含以下所需选项的 start-export-task 命令:
-
--export-task-identifier
-
--source-arn
-
--s3-bucket-name
-
--iam-role-arn
-
--kms-key-id
在以下示例中,快照导出任务名为 my-snapshot-export
,该任务将快照导出到名为 amzn-s3-demo-destination-bucket
的 S3 存储桶。
对于 Linux、macOS 或 Unix:
aws rds start-export-task \ --export-task-identifier
my-snapshot-export
\ --source-arn arn:aws:rds:AWS_Region
:123456789012:snapshot:snapshot-name
\ --s3-bucket-nameamzn-s3-demo-destination-bucket
\ --iam-role-arniam-role
\ --kms-key-idmy-key
对于 Windows:
aws rds start-export-task ^ --export-task-identifier
my-snapshot-export
^ --source-arn arn:aws:rds:AWS_Region
:123456789012:snapshot:snapshot-name
^ --s3-bucket-nameamzn-s3-demo-destination-bucket
^ --iam-role-arniam-role
^ --kms-key-idmy-key
示例输出如下。
{ "Status": "STARTING", "IamRoleArn": "iam-role", "ExportTime": "2019-08-12T01:23:53.109Z", "S3Bucket": "
amzn-s3-demo-destination-bucket
", "PercentProgress": 0, "KmsKeyId": "my-key", "ExportTaskIdentifier": "my-snapshot-export", "TotalExtractedDataInGB": 0, "TaskStartTime": "2019-11-13T19:46:00.173Z", "SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:snapshot-name" }
要在 S3 存储桶中为快照导出提供文件夹路径,请在 start-export-task 命令中包含 --s3-prefix
选项。
要使用 Amazon RDS API 将数据库快照导出到 Amazon S3,请使用包含以下所需参数的 StartExportTask 操作:
-
ExportTaskIdentifier
-
SourceArn
-
S3BucketName
-
IamRoleArn
-
KmsKeyId