你们是如何管理 Amazon RDS 实例的?在生产中,我显然希望使用具有主从复制设置的 Amazon RDS。不幸的是,将类似的东西引入开发/质量保证环境需要大量成本,但我们努力使开发/质量保证尽可能接近生产环境。在日常工作中,您如何处理这种情况?
答案1
警告:我不使用亚马逊的服务,而且我不知道我们谈论的“额外费用”是多少,所以这只是一般建议......
我想真正的问题是“您是否需要开发成为生产的精确镜像?” - 我的回答是“是的,或者至少尽可能接近实际。”
让开发和生产成为彼此的精确镜像(如果不是数据方面,则是基础架构方面)的优势在于,您可以通过在开发中引发故障来测试生产环境的故障转移和容错方面。这可能值得付出代价,至少在短时间内可以向您自己证明事情会按照您期望的方式进行故障转移/故障恢复。
我认为,这也是值得的,因为它可以让你定期进行这种测试。如果你不定期测试你的容错和恢复策略,那么很有可能在你需要它的那一天它就不起作用了。因此,我的建议是花更多的钱,向高管办公室展示一份故障/恢复测试计划,以证明这是合理的。坚持这个计划定期进行。
开发和生产完全相同的一个好处可能并不适用于亚马逊/云环境——如果流星撞击主数据中心,您还可以选择拉动大红色手柄并将生产操作转移到该开发基础设施上——我的非云世界有一个与生产完全一样的 VMWare 开发环境。如果我不得不拉动那个大红色手柄,我相信我们可以继续运行(尽管容量会减少),直到我们可以重建生产环境。
答案2
使用您的夜间 PROD 快照,并启动微型实例或类似实例,以在工作时间内(例如在 0700 到 1900 之间)以编程方式启动和关闭 RDS DEV 实例。使用 AWS CLI。这将使您的运行成本减半,并为您提供对几乎最新的 RDS 副本的访问权限。