我想将数据从 Oracle RDS 导出到 S3,然后将其移动到 Glacier。我的最终目标是将存储在 RDS 中的数据备份到 S3 和 Glacier 以满足合规性要求。任何人都可以建议实现它的最佳方法。
4 回答
RDS 快照存储在 s3 中,但您无法下载它们或在它们上设置将它们备份到 Glacier 的策略。
因此,您必须手动执行此操作。设置一个具有足够磁盘空间的实例来存储数据库的转储。编写一个脚本,连接到您的 RDS 实例(最好是某种副本,而不是主实例)并转储所有数据。将其压缩,然后将其上传到 s3 中的备份存储桶。
您可以设置一个生命周期策略 s3 存储桶,然后将备份存储在 Glacier 中。如果对象设置为冰川存储,则不会立即可供下载。
要从 Oracle RDS 导出数据 - 使用 Oracle Expdp 功能。这将在服务器上的 DATAPUMP 目录下创建数据文件导出。然后可以将文件移动到日志目录并从控制台(AWS RDS 控制台)下载 - 更大的文件可以在导出过程中分成多个文件。
一旦在本地(可以是云服务器)根据需要上传到 S3 和/或 Glacier。
您可以使用 AWS API 在 S3 存储桶之间复制数据。如果您有权访问具有 RDS 备份的存储桶,请使用此线程将其复制到具有策略的新 S3 存储桶。
使用 AWS Data Pipeline,您可以将数据(行)从 RDS 中的表(不确定 Oracle,需要检查)复制到 Amazon S3 存储桶中的 CSV(逗号分隔值)文件。然后,通过在 S3 存储桶上启用生命周期策略,您可以将这些文件移动到 Glacier。