置放群组(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愛好者(iloveaws) 文 | 沉默惡魔(禁止轉載,轉載請先經過作者同意) 網站:www.iloveaws.cn總結
以上是生活随笔為你收集整理的置放群组(Placement groups)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国残疾人福利基金会开展麻风救助行动
- 下一篇: 20180210-第三方应用App2SD