置放群组简介:

在我们启动EC2实例时,EC2服务会以某种方式放置实例,将所有实例分布在底层的基础硬件上,最大限度的减少相关故障。若使用置放群组功能,它可以影响EC2实例的放置。如放置一组相互依赖的实例,以满足工作负载需求。根据工作负载的不同,置放群组分为以下三种策略:

第一种:集群

在一个可用区中将实例放到一起。通过使用这个策略,可以实现低延迟的网络工作负载。以满足HPC应用程序使用,紧耦合的节点与节点之间通信的要求。

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

第二种:分区

将实例分布放置在不同的逻辑分区上。这样一个分区中的实例组不会与不同分区的实例组使用相同的基础硬件。该策略通常为大型分布式和重复的工作负载所使用,例如Hadoop、Cassandra 和 Kafka。

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

第三种:分布

将一组实例严格的放置在不同的基础硬件上,减少相关故障。

分布置放群组是一组具有以下特点的实例:每个实例放置在不同的机架上,并且每个机架具有各自的网络和电源。

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

置放群组限制:

具体参考官网:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/placement-groups.html#placement-groups-partition

使用限制:

  • 区域中名称唯一。
  • 不能合并置放群组。
  • 一次可在一个置放群组中启动一个实例;实例不能跨多个置放群组。
  • 置放群组中的实例可以使用容量预留。但是,无法为置放群组显式预留容量。
  • 无法在置放群组中启动租赁为 host 的实例。

使用置放群组:

可以使用 Amazon EC2 控制台或命令行创建置放群组。

在置放群组启动实例:

可以专门创建一个 AMI 以在置放群组中启动实例,并在该实例上安装所需的软件和应用程序。然后,从该实例中创建一个 AMI。

注意事项:

  • 实例数:输入在该置放群组中所需的实例总数,因为以后可能无法向其中添加实例。
  • 置放群组:如果页面上没有看到之前创建的置放群组列表,那么要确定可启动的实例类型。
  • 分区置放群组:一个区域置放群组支持最多7个分区
  • 分布置放群组:每个可用区最多支持运行7个实例

更改实例的置放群组:

可以将现有实例移动到置放群组,将一个置放群组中的实例移动到另一个置放群组或从置放群组中删除实例。在开始之前,实例必须处于 stopped 状态。

此处可通过命令行,将停止的EC2实例移动到置放群组中。

aws ec2 modify-instance-placement --instance-id xxxx --group-name MySpreadGroup