跳到主要內容

發表文章

目前顯示的是有「auto-scaling-group」標籤的文章

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

如何在AWS上建立可水平擴展的EC2群集, 使用AWS CLI

       Auto Scaling on AWS via AWS CLI 前言 以下的文章將帶著大家一步一步的在AWS雲上建立Auto Scaling Group做為可以自動水平擴展的EC2群集, 若文章有有什麼不清楚的地方, 歡迎各位在下方留言, 希望這篇教學能幫助到正在學習AWS的朋友們 大致上需要部屬在雲上的資源有 Security Group Launch Configuration Load Balancer Auto Scaling Group Security Group Security Group可以決定要開那些Port或是限制那些IP才可以訪問 因為建立Security Group時需要明確指定要建在哪個VPC上, 所以在開始建立Security Group前, 先執行以下的指令把目前可用的VPC Id輸出 vpcId=$(aws ec2 describe-vpcs | jq -r ".Vpcs[0].VpcId") 有了VPC Id後, 接下來才能開始建立Security Group __sgName='CliGroup123' sgGroupId=$(aws ec2 create-security-group \ --group-name $__sgName \ --description "My security group" \ --vpc-id $vpcId | jq -r ".GroupId") 最後做ingress來宣告網路的開口 aws ec2 authorize-security-group-ingress \ --group-id ${sgGroupId} \ --protocol tcp \ --port 5000 \ --cidr "0.0.0.0/0" Launch Configuration Launch Configuration是用來定義VM instance的種類, OS Image的種類以及套哪個Security Group, 使用哪支金鑰對, 網路要不要對外等等的配置資訊 __imgId=...

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