如果您正在考虑将SQL Server实例移动到云中,则有很多充分的理由选择AWS EC2。AWS提供了广泛的专用系统,因此您可以轻松地找到一个可以满足组织特定需求的系统。它遍布全球,在全球22个地理上不同的地区设有69个可用区。
但是,构建用于高可用性(HA)或灾难恢复(DR)的SQL Server基础结构可能会很昂贵。有没有办法利用AWS EC2来降低这些成本?简短的回答是。更长的答案是,使用AWS EC2可以节省多少资金取决于您在配置HA和DR时所做的选择。
HA或DR的群集
要在云中配置HA和DR,您需要配置一个运行SQL Server的虚拟机(VM)群集。如果SQL Server的活动实例脱机,则必须能够接管另一个SQL Server实例。对于HA,您需要一个SLA,以确保集群中至少有一个VM在99.99%的时间内可用,并确保可用性水平将要求您的集群跨越多个AWS数据中心。如果要配置灾难恢复,则群集中还应包括分布在不同区域的VM。
AWS EC2的成本控制
考虑到所涉及的基础架构数量,难怪为HA和DR进行配置的成本很高。AWS的某些功能可以帮助控制这些费用。
优化CPU
AWS EC2提供了多种专用服务器。有些经过了计算优化;其他的则进行内存优化;其他的则针对存储I / O或存储密度进行了优化。您可以根据内核数量,RAM等来确定目标服务器的大小。
但是,如果就内存和网络性能而言,理想的配置在CPU能力方面显得过高呢?例如,带有96核vCPU的配置可能远远超出了您的需要(或想要的,因为您需要为每个核获得SQL Server许可证)。
优化CPU”
没问题:AWS EC2提供了“选项,使您可以仅购买所需数量的vCPU。如果96个vCPU中有24个足以满足您的需求,Optimize CPU将有效地关闭72个vCPU。
请注意,您不能再决定要重新打开其中一些内核。一旦选择了要使用“优化CPU”的核心数量,这些就是您在整个过程中拥有的核心。
预留实例
预留实例
AWS EC2选项还可以帮助您节省资金。使用预留实例,您可以在更长的时间内(最多三年)承诺使用群集,并且需要预先支付部分或全部费用。虽然这可能意味着一笔大笔的初始付款,但最终总费用可能只是您按月支付的费用的一小部分。当然,您需要在提交之前确定长期的基础架构需求,但是一旦知道,预留实例程序可能会提供一种节省大量资金的方法。
动态尺寸
控制成本的另一种方法是在群集中配置不足的备份服务器。由于大多数SQL Server活动始终将在主服务器上进行,因此您可能需要考虑围绕更小,功能更弱且价格更便宜的配置构建的备份服务器。如果您的主虚拟机故障转移到备份虚拟机,则只需重启次虚拟机并立即调整其大小以匹配较大的主配置。新的VM设置过程中,您将处于脱机状态,并且调整大小的辅助VM现在将产生更高的成本,但是几分钟之内,您将拥有一个与以前使用的系统一样强大的系统。但是,在那一刻之前,您不必为功能强大的VM付钱。
从群集访问SQL Server数据
尽管AWS提供了许多方法,可以通过调整和调整群集中的VM来节省资金,但您仍然需要考虑这些VM上的SQL Server实例将如何访问您要确保其可用性的数据。本地云存储无法像本地故障转移群集实例(FCI)中的VM之间那样在群集中的VM之间共享,因此需要进一步的配置决策。
查看AWS EC2时,您有三个选择。第一种方法-使用AWS FSx选项处理共享SMB3文件存储-并不是一个切实可行的选择,因为它仅提供99.9%的SLA,大大低于与HA相关联的99.99%的可用性阈值。
第二个问题涉及对第三方产品的依赖,这些产品克服了云存储固有的限制,并使基于云的群集中的所有VM都可以使用相同的数据。这些解决方案可将块级数据从主SQL数据库同步复制或异步复制到与群集中辅助VM关联的存储。在故障转移方案中,所有数据在本地都可用于辅助VM,并且该故障转移VM接管为主服务器后,SQL Server的辅助实例将能够访问数据库。
第三种方法涉及将群集配置为始终可用组(AG),该组利用SQL Server Enterprise Edition中的服务将用户定义的SQL数据库从主服务器复制到辅助服务器。尽管这种方法消除了对第三方产品进行许可的需要,但是AG仅从主SQL Server实例中复制用户定义的数据库。这些辅助实例将没有包含密码,代理作业和其他长期至关重要的信息的数据库副本。
最后,您可能已经注意到,我说过AG需要SQL ServerEnterprise Edition。如果您的用例不需要SQL Server Enterprise版本,则可能会发现该版本的许可成本破坏了您认为刚刚实现的所有成本削减。您可能会发现,与标准版本的Windows和SQL Server一起使用的那些第三方选件的费用可能值得再考虑一遍。