我计划将我的 Web 应用程序部署到 EC2。我有多个 Web 服务器实例。我有 1 个主数据库实例。我有 1 个故障转移数据库实例。我需要一个策略,当主数据库实例发生故障时将 Web 服务器重定向到故障转移数据库实例 IP。
我希望可以在连接字符串中使用弹性 IP。但是,Web 服务器无法访问/ping 弹性 IP。我有几个强力的办法来解决这个问题。不过,我正在尝试找到最优雅的解决方案。
我使用的是所有 .Net 和 SQL Server。我的连接字符串已在 web.config 中加密。
是否有人有使用某种形式的自动化或 DNS 配置对 EC2 中的数据库实例进行故障转移的策略?
请告诉我。
答案1
由于与安全组关联的防火墙规则,您的 Web 服务器可能无法访问弹性 IP。无论如何,您都应该通过内部 IP 地址发送流量,否则您将需要为数据传输支付额外费用。
您可以使用 DNS Made Easy 的动态 IP 地址之类的服务(设置非常低的 TTL),而不是使用弹性 IP(无论如何都需要几分钟才能传输),其中数据库主机名在故障转移时从 HostA 的内部 IP 更改为 HostB 的内部 IP。