今天,SBG 区域中的 SBG2 可用区被烧毁。所有其他可用区(SBG1、2 和 4)都因此关闭,并将至少持续关闭到周一。
所有 SBG 区域显然都位于同一物理位置,但位于不同的“建筑物”中。
设计高可用性基础设施时,一种常见的模式是将基础设施分布在多个可用区域。然而,就像昨天发生的那样,这种方法有时也会失败。这让我想到,一个可靠的基础设施应该至少涉及两个区域。
数据中心区域是否像 OVH 那样将可用区设在尽可能近的位置,这是一种常见的设计吗?或者其他数据中心(例如 GCE)是否会将可用区设在相距较远的区域内,以防发生火灾?
答案1
一般来说,区域或可用区域是云资源的逻辑分隔,对最终用户可见。
理论上,云提供商会将其区域和可用区映射到其物理基础设施中的故障域。此类故障域可以小到单个服务器机架、房间、仓库或数据中心内有许多服务器机架的楼层,也可以大到整个数据中心。
仅限于单个故障域的中断不会(或者说不应该)影响该故障域之外运行的任何内容。
例如,短路导致保险丝跳闸可能会导致单个机架中的所有系统瘫痪,但该机架以外的任何系统都不会受到影响。
因此,当您作为客户将虚拟基础架构分布在单个区域的多个可用区上时,您可以确保中断不会同时影响所有虚拟基础架构,只要中断仅限于单个可用区并且中断不会影响多个可用区或整个区域。
大多数云提供商不会公布其可用区与物理故障域的对应关系。因此,您无法判断哪种中断会超越故障域的边界并影响某个区域或整个区域中的多个(如果不是全部)可用区。
谷歌计算说
Compute Engine 资源托管在全球多个位置。这些位置由区域和可用区组成。区域是您可以在其中托管资源的特定地理位置。区域有三个或更多可用区。例如,us-west1 区域表示美国西海岸的一个区域,它有三个可用区:us-west1-a、us-west1-b 和 us-west1-c。
因此,对于有洞察力的读者来说,这意味着存在一个潜在的情况,即整个区域和其中的所有 AZ 将变得不可用,类似于 OVH 发生的情况。
各区域通常在物理上并不接近,此处有说明https://cloud.google.com/about/locations
答案2
OVH SBG1、2 和 3 都位于莱茵河畔的一处前工业区,彼此相邻。当其中一个工厂被烧毁时,毫不奇怪,为了控制火灾,工厂必须关闭所有设施。人身安全是重中之重。
数据中心如此靠近不一定是个问题。仍有几个孤立的故障域,单独的电源和网络等。希望建筑物着火是罕见事件,可能被控制在有灭火器的房间内。
作为业务连续性规划的一部分,请考虑区域规模的情景。在自然灾害类别中,假设飓风袭击该地区。该区域内的所有可用区都可能受到破坏和停电的影响。在如此大规模的事件中,将建筑物相隔一公里可能无济于事。
备份如果发送到遥远的城市,即使遭遇最严重的灾难,也有可能幸免于难。至少您的数据还能存活下来。
答案3
我也会回答我自己的问题,分享我在阅读了有关各个云提供商如何设计他们的区域的一些信息之后发现的内容。
一般来说,许多/大多数云提供商在描述他们如何在一个区域中物理布局可用区域时并不具体。这也得到了AWS 的最新批评其中指出,他们的竞争对手谷歌和 Azure 不愿意清楚地描述他们的区域在可用区域方面是如何运作的。
一般来说,您不会找到有关区域内每个数据中心/可用区域位置的任何文档。大多数云提供商都是如此。AWS 也没有分享其可用区域位置的详细信息,但确实写道,他们的可用区域总是相距至少几公里。
天蓝色:
为确保弹性,所有启用的区域中至少有三个独立区域。区域内可用区域的物理分离可保护应用程序和数据免受数据中心故障的影响。
https://docs.microsoft.com/en-us/azure/availability-zones/az-overview
谷歌 :
区域是区域内 Google Cloud 资源的部署区域。区域应被视为区域内的单个故障域。要部署具有高可用性的容错应用并帮助防止意外故障,请跨区域内的多个区域部署应用。
AWS:
可用区与其他可用区之间在物理上相隔相当远的距离,可达数公里,尽管彼此之间的距离都在 100 公里(60 英里)以内。
https://aws.amazon.com/about-aws/global-infrastructure/regions_az/