一千萬個為什麽

搜索

如何在彈性和/或應用程序負載均衡器後面運行linux的ec2自動滾動升級?



想要詢問有關在AWS上滾動ec2實例升級的現成自動化解決方案或模板的建議,需要使用ELB/ALB重新啟動。 特別需要在數百臺Linux機器上執行內核的維護升級。

對於每個ELB/ALB步驟是:

  1. 從ELB/ALB斷開ec2實例等待連接耗盡
  2. 升級內核並重啟計算機(不屬於自動化,例如運行外部./upgrade.sh)
  3. 等待實例在線,連接到ELB/ALB,等待健康檢查狀態
  4. 繼續執行負載均衡器中的下一個實例

註意:不尋求遷移到類似於Netflix Spinnaker的解決方案或不可變的部署策略實現,而是針對一般和簡單的按需維護工具。

轉載註明原文: 如何在彈性和/或應用程序負載均衡器後面運行linux的ec2自動滾動升級?

一共有 2 個回答:

AWS have a specific service to deal with this type of use case, EC2 Systems Manager

這允許制作基本補丁集,然後檢查它們是否應用於目標系統。

“Patch Manager是一項完全托管的服務(不另行提供)   成本),可以幫助您簡化操作系統修補過程,   包括定義要批準部署的補丁,   補丁部署的方法,補丁推出的時間,以及   確定整個車隊的補丁合規狀態   實例。它具有極其可配置的一些合理的默認值和   幫助您輕松處理修補異構集群。“

-- "Amazon EC2 Systems Manager Patch Manager now supports Linux"

您需要在每個系統上安裝一個SSM代理並添加一個角色,但除此之外,它應該是不顯眼的

正如評論中的人所說,你可以在bash或python boto3庫中使用aws-cli。

ansible怎麽樣?它能夠查看您的ec2實例,並且可以處理維護任務的自動化。如果您不使用ansible,我強烈建議您將該工具添加到DevOps工具箱中。

以下是如何構建劇本的方法你想要什麽。