在AWS如何指定EC2实例的放置机架位置策略?

文 | 沉默恶魔(转载请注明出处)
微信号:chenmoemo
关注公众号:AWS爱好者

我们今天介绍AWS置放群组知识点。

在我们启动EC2实例的时候,EC2 服务会尝试以某种方式放置实例,以便将所有实例分布在基础硬件上以最大限度减少相关的故障,AWS有缺省的放置规则,缺省即可满足绝大部分的使用需求。

但是,如果我们想要尽量将我们启动的EC2放置在同一个可用区相互靠近一点,以实现低延迟的网络性能,或者将一些实例严格放置在不同的硬件上以减少相关的故障呢?能不能实现?当然可以,使用本文介绍的AWS的置放群组,根据工作负载类型,您可以使用以下置放策略之一创建置放群组:

  • 集群 – 将一个可用区中靠近的实例打包在一起。通过使用该策略,工作负载可以实现所需的低延迟网络性能,以满足 HPC 应用程序通常使用的紧密耦合的节点到节点通信的要求。 
  • 分区 – 将实例分布在不同的逻辑分区上,*以便一个分区中的实例组不会与不同分区中的实例组使用相同的基础硬件。*该策略通常为大型分布式和重复的工作负载所使用,例如,Hadoop、Cassandra 和 Kafka。 
  • 分布 – 将一小组实例严格放置在不同的基础硬件上以减少相关的故障。 

下图为我自己建立的置放群组,集群/分区/分布各1个。

接下来将分别介绍三种放置策略:

集群置放群组

集群置放群组是单个可用区中的实例的逻辑分组。按照AWS官方的资料所述,置放群组内的所有节点都可以以 10 Gpbs 流和 25 次聚合的全线速率与该置放群组内的所有其他节点进行通信,而不会由于超额订阅而发生任何减速。

下图显示放入集群置放群组中的实例。

集群置放群组是将启动的EC2实例尽量放置在一起—同一机柜或者相邻机柜,减少实例间的物理距离,一般用于从低网络延迟和/或高网络吞吐量中受益的应用程序,以及在大部分网络流量处于该组中的实例之间的情况下,建议使用集群置放群组。

分区置放群组

在使用分区置放群组时,Amazon EC2 将每个群组划分为多个逻辑段(称为“分区”)。Amazon EC2 确保置放群组中的每个分区具有自己的一组机架。每个机架具有自己的网络和电源。置放群组中的任何两个分区将不会分享相同的机架,从而让您可以在您的应用程序中隔离硬件故障的影响。

下图是单个可用区中的分区置放群组简单的直观表示。它显示了放入到一个分区置放群组的实例,该置放群组具有三个分区 — *分区 1*、*分区 2* 和 *分区 3。每个分区均包含多个实例。一个分区中的实例不与其他分区中的实例共享机架,这使您可以将单一硬件故障的影响限定在相关的分区内。

可使用分区置放群组跨不同机架部署大型分布式和重复的工作负载,例如 HDFS、HBase 和 Cassandra。当您在分区置放群组中启动实例时,Amazon EC2 将尝试跨您指定数量的分区均匀分发实例。您还可以在特定分区中启动实例,以更好地控制实例的放置位置。

分区置放群组可以在同一区域的多个可用区中具有分区。对于每个可用区,一个分区置放群组最多可具有 7 个分区。

分布置放群组

分布置放群组可以将每个实例放置在不同的机架上,并且每个机架具有各自的网络和电源。

下图显示单个可用区中的 7 个实例,这些实例已放入一个分布置放群组。7 个实例放置在 7 个不同的机架上。

建议在具有少量应单独放置的重要实例的应用程序中使用分布置放群组。通过在分布置放群组中启动实例,可以降低在实例具有相同机架时同时发生故障的风险。分布置放群组可以访问不同的机架,因而适合混用不同类型的实例或随着时间的推移启动实例。

分布置放群组可以跨越同一区域中的多个可用区。每个群组在每个可用区中最多有 7 个正在运行的实例。

以上,置放群组的内容就介绍完了,那么如何将EC2实例放置到群组中呢?

在启动EC2实例的配置实例步骤中可以选择将EC2实例添加到置放群组,这样EC2实例就在置放群组中了。

对了,创建置放群组无需支付费用😝,小伙伴们用起来吧!

0 responses on "在AWS如何指定EC2实例的放置机架位置策略?"

Leave a Message

error: Content is protected !!