43-置放群组(Placement groups)

Hello大家好,欢迎来到《AWS解决方案架构师认证 Professional(SAP)中文视频培训课程》,我们今天的课程内容为置放群组—Placement groups。

我们开始今天的课程内容。

在我们启动新的EC2实例的时候,实例启动在哪个底层硬件上?在哪个机柜?EC2 服务会尝试以某种方式放置启动的实例。比如AWS有缺省的放置规则,缺省的规则即可满足绝大部分的使用需求。

但是,如果我们想要尽量将我们启动的EC2 集中 放置在同一个可用区相互靠近一点,以实现启动实例之间的低延迟、高吞吐的网络性能;或者将一些实例严格分散放置在不同的底层硬件和机柜上,当某硬件或机柜出现故障时以减少故障的影响,这就需要通过置放群组

假设右边的是启动实例的可用区的机柜图,我们可以通过置放群组将启动的实例尽可能靠近。实例之间离的越近,距离越近,相互通讯所需要过的网络设备越少,延迟就会越低;或者将启动实例分散放置到不同的底层硬件和机柜,这样的话如果其中一个实例所在的底层硬件或者机柜故障,不会影响到其他的实例,减少故障的影响。
这些就是置放群组的作用。
另外,创建置放群组无需支付费用。

可以使用三种置放策略创建置放群组:包括集群、分区以及分布三种策略

我们接下来分别讨论下这三种置放群组。

集群置放群组

首先,集群置放群组.
集群置放群组是将一个可用区中靠近的实例打包在一起。我举个例子,假如我们现在启动多个实例,然后加入到集群置放群组,那么集群置放群组会将我们启动的多个实例尽量放置靠近在一起。比如将启动的多个实例放置到同一底层硬件、同一机柜或者相邻机柜,减少多个实例之间的物理距离。实例之间的距离越近,相互通讯所需要过的网络设备越少,实例之间通信的延迟就会越低。所以我们启动的这几个实例之间的通信的品质会非常的高。

所以集群置放群组适用于那些要求低网络延迟或高网络吞吐量的应用程序,如果我们的业务需求是启动多个实例上的应用程序之间的通讯延迟低,高吞吐量,高网络品质,那么请将这些实例启动到“集群置放群组”。

“集群置放群组”,最适用于HPC 应用程序通常使用的紧密耦合的节点到节点通信的要求。如果大部分网络流量在组中的实例之间进行,也建议使用“集群置放群组”。

**最后要注意,AWS认证考试经常会出现的考点,一个集群置放群组不能跨过多个可用区。
**

接下来我们切换到EC2管理控制台,通过实操演示让大家更深入的理解集群(Cluster)置放群组。

创建置放群组,位置是在EC2的控制台的“网络与安全”,我们访问下“置放群组”
要使用置放群组功能,首先需要创建“置放群组”,我们点击右上角的“创建置放群组”,来创建一个置放群组。

好,我们先看一下置放策略,可以创建三种置放群组,集群,分布以及分区置放群组。

我们现在就创建一个“集群置放群组”。
名称我们输入“iloveaws-cluster” ,置放策略选择“集群”,创建“集群置放群组”

好的,可以看到“集群置放群组”就已经创建成功了。

接下来我们启动新的EC2实例,将启动的新实例放置到这个刚创建的“集群置放群组”。
访问“实例”,点击启动实例。

选择AMI———然后选择实例类型。这里需要注意,对于在置放群组中启动的实例的实例类型是有要求的,比如免费套餐的T系列是不支持的,我们后面会介绍一下实例类型的限制,这里我们先选择一个支持置放群组的类型比如m5ad.large,然后继续。

然后配置实例详细信息,就是在这里配置将新启动的实例添加到置放群组,我们来看一下。
在置放群组这里,勾选“将实例添加到置放群组”,置放群组名称,我们选择“添加到现有置放群组”,然后选择我们刚才创建的iloveaws-cluster这个集群置放群组,注意,如果您测试的时候看不到这些选项,很可能在上一步您选择了不支持启动到置放群组的实例类型。

然后最上面实例的数量,比如我们要启动5个新实例到我们创建的“集群置放群组”,我们就输入5,然后继续完成启动实例步骤后,AWS会启动5个新实例,并将这5个实例放在同一个可用区并尽量放置靠近在一起,比如尽量放置到同一底层硬件、同一机柜或者相邻机柜,减少这5个实例之间的物理距离,实现实例间网络低延迟,高吞吐,这个就是集群置放群组的作用。

好,以上是“集群置放群组”的内容,我们继续。

分区置放群组

接下来我们讨论“分区置放群组”。

分区置放群组会将实例分布在不同的逻辑分区上。
在使用“分区置放群组”时,EC2 将每个群组划分为多个逻辑段,称为“分区”。

我们看右边的图,假设我们创建了有2个分区的“分区置放群组”,EC2 确保置放群组中的每个分区具有自己的一组机柜,每个机柜具有自己的网络和电源。置放群组中的任何两个分区将不会分享相同的机架,从而让您可以在您的应用程序中隔离硬件故障的影响。

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

分区策略通常为大型分布式和重复的工作负载所使用,例如,Hadoop、Cassandra 和 Kafka。

当在分区置放群组中启动实例时,EC2 将尝试跨您指定数量的分区均匀分发实例。您还可以在特定分区中启动实例,以更好地控制实例的放置位置。

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

好,以上是分区置放群组。

分布置放群组

接下来我们讨论“分布置放群组”。

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

看下右边的图,假设“分布置放群组”启动了4个实例,那么每一个实例都将放置到不同的机柜,4个实例分别会放置在4个不同的机柜,假设机柜1发生故障,剩下的实例将不会受到影响。

我们可以将跑关键业务的多个实例使用分布置放群组,这样可以降低在实例都在相同机柜时同时发生故障的风险。

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

这是分布置放群组。

集群(Cluster)置放群组重要知识点

好,前面我们介绍了三种置放群组,本课时最后的内容我们来看下集群(Cluster)置放群组的一些重要知识点。

首先,一个集群置放群组不能跨过多个可用区,这一点很重要大家要牢记,集群置放群组是为了将实例尽可能的互相靠近,以达到低延迟、高吞吐量,跨可用区通信显然违背了这个初衷,所以一个集群置放群组不能跨过多个可用区的。

第二点,在集群置放群组中启动实例时,对于实例的类型是有要求的,像我们经常使用的免费套餐中T2系列是不支持的,因为这些系列的网络性能达不到要求。我们看下,只有PPT显示的这些实例类型是支持置放群组的。如果想获取最新的列表可以自行查阅官方的文档。

集群置放群组中的两个实例之间的最大网络吞吐量流量速度受两个实例中的较慢实例限制,这个很好理解。

AWS有2个建议第一个是通过单次启动请求在置放群组中启动所需的实例数。第二个对置放群组中的所有实例使用相同的实例类型。因为如果您以后尝试将更多实例添加到置放群组,或者如果您尝试在置放群组中启动多个实例类型,都会增大发生容量不足错误的可能性。

如果您停止置放群组中的某个实例,然后重启该实例,则其仍将在该置放群组中运行。但是,如果没有足够容量可用于该实例,则启动将会失败。

如果您在已有正在运行的实例的置放群组中启动实例时接收到容量错误信息,请在该置放群组中停止并启动所有实例,然后尝试再次启动。这个内容考试出现过多次,添加实例到置放群组出现容量错误,正确答案是要停止并启动所有实例。

好的,我们今天的课时我们讨论了置放群组的内容,这里的很多知识点考试都会有相关的考点,需要仔细复习。最后希望本课时能够给大家带来帮助。

希望此系列教程能为您通过 AWS解决方案架构师认证 Professional 认证考试带来帮助,如您有任何疑问,请联系我们:

  • AWS爱好者的网址是www.iloveaws.cn。
  • 可以通过扫码加入【AWS爱好者】微信公众号,查看原创的AWS知识点相关文章
  • 加入【AWS爱好者】微信群,和其他同学一起备考,以及探讨交流AWS相关知识
  • 加入【AWS知识星球】持续学习。

我们今天的视频课程就到这里,感谢大家的观看,我们下一课程再见。

2021年2月3日

0 responses on "43-置放群组(Placement groups)"

Leave a Message

Setup Menus in Admin Panel

error: Content is protected !!