【问题标题】:Migrate an on-prem database to AWS Aurora将本地数据库迁移到 AWS Aurora
【发布时间】:2019-08-24 08:32:21
【问题描述】:

我有一个本地运行的 postgres 数据库,我想迁移到 AWS Aurora(或 AWS postgres)。

我已经pg_dump'd 我想要的数据库,它压缩了大约 30gb。

我应该如何上传这个文件并从中获取 AWS RDS 实例到pg_restore

要求:

没有其他人在使用数据库,所以我们可以接受很多停机时间和数据库上的排他锁。我们希望迁移成本尽可能低

到目前为止我尝试过/看过的内容:

  • 在具有远程目标的本地文件上运行 pg_restore - 总价格未知

我也想尽可能便宜地做到这一点,但我不确定我是否了解他们的定价策略。

他们的定价说:

Storage Rate            $0.10 per GB-month
I/O Rate                $0.20 per 1 million requests
Replicated Write I/Os   $0.20 per million replicated write I/Os

pg_restore 算作一个请求吗?该数据库有大约 22 亿个条目,如果每个条目都是 1 个请求,那么重新创建数据库是否需要 440 美元?

  • AWS Database Migration Service - 看起来这将是最便宜的(因为它是免费的?)但它只能通过连接到本地数据库来工作。未压缩的数据大约是 200gb,我不确定使用 DMS 进行一对一复制是否有意义

  • 我已阅读 this article,但我仍不清楚进行迁移的最佳方式。

我们可以接受这需要一段时间,我们只是希望尽可能便宜。

提前致谢!

【问题讨论】:

  • AFAIK,传入的数据无论如何都是免费的,所以一个简单的pg_restore(如果可能的话允许多线程使用--format=directory --jobs=<num>)就可以完成这项工作。在任何情况下,您都需要为 I/O 和存储付费。为了减少 I/O 的数量,您可以例如在创建转储 (ALTER TABLE xyz SET UNLOGGED;) 之前关闭日志记录,并在还原后重新打开。

标签: postgresql amazon-web-services amazon-rds amazon-aurora


【解决方案1】:

迁移时有几点需要注意

AWS Database Migration Service - 看起来这将是最便宜的(因为它是免费的?)

他们免费提供的服务是一个虚拟机(包括软件),它提供了将数据库移动到他们的某些 RDS 服务的计算能力和功能。

即使该服务是免费的,任何 RDS 使用都会向您收取正常费用

他们提供的数字大致与他们用于为您的数据提供服务的 EBS(底层磁盘)相关。一个非常大而复杂的查询可能需要一些 I/O,两者并不相等。 EBS使用量估算见here

例如,一个中型网站数据库的大小可能为 100 GB,并且预计在一个月内平均每秒执行 100 次 I/O。这将转化为每月 10 美元的存储成本(100 GB x 0.10 美元/月),以及大约 26 美元/月的请求成本(约 260 万秒/月 x 100 I/O/秒 * 0.10 美元/百万 I/O)。

我的个人建议:只使用部分集合(可能是 5%)克隆您的数据库。在那一块上使用 DMS。您可以在几分钟内看到账单如何为您服务。然后您可以估算完整数据库迁移的价格

【讨论】:

    猜你喜欢
    • 2021-08-08
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    • 2021-08-26
    • 2014-10-16
    相关资源
    最近更新 更多