跳到主要內容

發表文章

目前顯示的是有「cloud-formation」標籤的文章

[CloudFormation教學2] 如何滾動更新Auto Scaling Group裡的 Instance

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...

[CloudFormation教學] 如何秒速般地在AWS上建立可水平擴展的EC2群集

Auto Scaling and Rolling Updates on AWS via Cloud Formation 前言 在設計架構時, 通常會去考慮水平擴展的可能性, 使其將來能應付突然湧入的大量請求, 要作到這點, 可以把EC2建在AWS的Auto Scaling Group裡面,   透過修改Launch Configuration, 讓Auto Scaling Group去調整目前EC2的實體數量,  然後外部再串一個Load Balancer,做為用戶端的單一存取窗口並且將流量分散到各個EC2實體上 大致上需要部屬在雲上的資源有 Security Group Launch Configuration Load Balancer Auto Scaling Group 如果用AWS Portal去一個個把這些資源建立起來的話實在很花時間, 這邊介紹如何使用CloudFormation快速的部屬雲端資源 CloudFormation 這個功能有點類似於Azure Resource Manager, 開發人員可以用一份描述檔以JSON或是YAML的格式來描述雲端上的資源,  然後再餵給CloudFormation 去把所有資源部屬起來 描述檔結構, 基本上可以分為四個部分 { "AWSTemplateFormatVersion" : "2010-09-09" , "Metadata" : { ... }, "Parameters" : { ... }, "Resources" : { ... } } Parameters Parameters這邊我們先定義幾個變數: myVPC, keyName 以及BuildNumber "Parameters": { "myVPC": { "Type": "String", "Default": "vpc-da58b9b...