2016-11-08 26 views
0

我目前有一個試用環境,共有16個服務,分爲4個微實例。實例由自動調節組(ASG)管理。當我需要更新羣集實例的AMI時,目前我的操作如下:如何在不停機或減少冗餘的情況下替換ECS集羣實例?

  1. 創建新的啓動配置,使用新的啓動配置編輯ASG。
  2. 從ASG中分離具有替換選項的所有實例,並等待新的列表在集羣實例列表中列出。
  3. 手動查找,並從精英集羣(很棘手)
  4. 現在的服務是由ECS殺死因註銷實例:(
  5. 等待3分鐘,直至業務在新的情況下重新啓動,註銷舊的情況下,
  6. 手動查找在EC2實例列表中的EC2實例和終止它們(非常非常小心,不要終止新的)。

用這種方法我有大約3分鐘的停機時間,我從顫抖想法在生產環境中做到這一點..有沒有辦法做t他沒有停機時間,但保持實例的總量相同(所以沒有200%縮放設置等)。

回答

0

您可以使用新的AMI更新啓動配置,然後將其分配給ASG。確保包括在用戶數據部分如下:

echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config 

然後每次終止一個實例,並等待新的終止下一之前並自動註冊。

這可能是腳本化的也是自動的。

+0

是的,我有這個在我的配置。但是,您的解決方案需要至少有2個服務正在運行,並且您將在一段時間內減少冗餘/擴展。 – Pepster