我计划在 AWS 上运行 Odoo。我需要进行实时复制,以便我们进行故障转移。EC2 实例只需运行 Odoo 并置于 ELB 下。RDS (multi - az) postgres 将是数据库,EFS 存储将托管所有上传/动态文件。除非出现区域范围内的中断,否则这将正常工作。
我想获得有关跨区域故障转移的建议。我想我会在不同地区使用 Route 53 和 EC2 实例。由于 EFS 不支持它,我假设我必须使用 Gluster 之类的东西。RDS 支持跨区域的只读副本。但是我们是否可以自动将其用作主数据库而无需在 AWS 控制台中执行任何操作(即人工干预)。在这种情况下,故障转移又是如何工作的?会有停机时间吗?
如果您将 ELB 设置为 RDS 的多可用区实例,则非常安全。区域范围内的中断很少见。我建议在进行多区域设置之前进行成本/收益分析 - 您需要相当令人难以置信的 RTO/RPO 或正常运行时间要求来证明这一点。
如果您确实需要多区域,那么多区域负载平衡的最佳选择也是唯一的选择是 Route53。您需要使用多区域复制设置 RDS,尽管更新只读副本存在风险。您可能必须根据您的用例考虑一下。我可能会使用故障转移类型的路由,因此第二个区域仅在第一个区域完全关闭时使用。
您可能需要一个试点方案,在第二个区域中始终运行最少的资源。如果您可以容忍更多的停机时间,您可以复制数据库但不启动任何 EC2 实例,然后根据需要手动启动或使用 lambda 之类的脚本编写它。