---
# System prepended metadata

title: 探索AWS：從菜鳥到熟練的完全指南(十)Placement Groups
tags: [新手教學, Placement Groups, AWS, EC2]

---

EC2 Placement Groups（EC2放置群組）是AWS提供的一種功能，用於控制EC2實例在物理硬件上的放置方式。當有很多個EC2 instance時希望他們如何被安置(要分開來還是在一起)

# 各類型Placement Groups

下面是一些EC2 Placement Groups的特點和適用情境：

1. Cluster Placement Group（集群放置群組）：
   - 全部放在一起 
   - 適用於需要實現低延遲和高吞吐量的應用程序，如HPC（高性能計算）、大數據分析等。
   - EC2實例在同一物理硬件上放置，以最大程度地減少實例之間的網絡延遲。
   - 不能跨多個可用區。
   - 缺點是當硬件出現故障時，大家會憶起故障

2. Spread Placement Group（分散放置群組）：
   - 全部分開
   - 適用於需要提高應用程序的容錯能力和可靠性的應用場景。
   - EC2實例在物理硬件上分散放置。
   - 可以跨多個可用區。
   - 當其中一個hardware壞了，其他都還可以用。
   - 限制每個AZ只能存放7個instance
   
3. Partition Placement Group（分區放置群組）：

* 分區數量和範圍：

    - 每個可用區（AZ）最多可以有7個分區。
    - 分區放置群組可以橫跨同一區域中的多個可用區。
* EC2實例數量：

    - 分區放置群組可以容納數百個EC2實例。
* 分區之間的隔離：

    - 每個分區中的實例與其他分區中的實例不共用機架（rack）。
    - 這種隔離確保了在一個分區發生故障時，不會影響其他分區中的EC2實例。

* 分區信息：

    - EC2實例可以通過元數據（metadata）獲取有關分區的信息。
    - 這些信息可以幫助實例進行相關操作或設置，以實現低延遲和高吞吐量的應用。
* 分區放置群組常用於需要高吞吐量和低延遲的應用程序，如HDFS（Hadoop分佈式文件系統）、HBase（分佈式NoSQL數據庫）、Cassandra（分佈式NoSQL數據庫）、Kafka（分佈式消息隊列）等。

# 創建 Placement Group
![](https://hackmd.io/_uploads/S1Fijwt_n.png)
在EC2頁面下拉找到Network & Security中的placement group
<br></br>
![](https://hackmd.io/_uploads/H1GxhDKu2.png)
點擊創建<br></br>
## 創建 Cluster
![](https://hackmd.io/_uploads/Bk-HnDK_n.png)

## 創建 Spread
![](https://hackmd.io/_uploads/Sy-n2PtO3.png)

## 創建 Partition
![](https://hackmd.io/_uploads/B1Og6vKun.png)
可以選擇要分幾組

# 套用 Placement Group
回到Instance分頁中
![](https://hackmd.io/_uploads/Bkp3TDtO3.png)
創建新的instance
![](https://hackmd.io/_uploads/HysJ0vtd2.png)
下拉至最底
點開Advanced details
![](https://hackmd.io/_uploads/HyCM0Ptd2.png)
在其中可以找到選擇Placement Group的地方
可以選擇套用剛才創的各個分群方式
(另外要特別注意Placement Group的地區跟Instance的地區是否相同)
