Rolling Updates VMs via Cloud Formation on AWS 前言 要將一個服務上線, 除了需要將它架設起來之外, 還需要考慮到後續的維運, 若將來前端傳過來的請求後端無法負荷時(Overloaded), 後端該做什麼調整? 以及當將來有服務要更新時, 怎麼做才能確保服務不中斷 Overloaded 的問題可以透過Auto Scaling的機制去解, 之前的 文章 有帶著大家利用CloudFormation來部屬有水平擴充功能的Auto Scaling Group 至於如何保證更新時服務不停機, 則可以透過滾動式的更新(Rolling Update), 在更新時一次只更新一小部分副本, 等成功後再去更新剩下的, 直到最後所有的副本都被更新完成 如何做Rolling Update 需要在Auto Scaling Group中定義好Update Policy "AutoScalingGroup": { "Type": "AWS::AutoScaling::AutoScalingGroup", "Properties": { "AvailabilityZones": [ "us-east-2c" ], "LaunchConfigurationName": { "Ref": "LaunchConfig" }, "MinSize": "1", "MaxSize": "4", "DesiredCapacity": "1", "HealthCheckType": "ELB", "HealthCheckGracePeriod": "1800", "LoadBalancerNames&