早安大家!我是QNA,今天要學習的主題依舊是:玩轉 AWS
昨天我們聊到伺服器中的動態資訊及AWS中的EC2可以解決我們在網站上伺服器當機的問題,今天要談論的是在AWS中如何彈性的獲取計算資源
在初期開發階段應該會不知道自己網站開發出來會有多少用戶來訪問,但大部分的網站在用戶訪問上都是有週期性的,畢竟大多數人上班下班的時間都是固定的。如果要在原來使用的計算資源的時候你要做一個預先配置的資源,就可以已網站運行後的用戶訪問的週期性最高峰為最上限需求的容器猜測,但如果後期突破最高峰那就很容易讓網站癱瘓TT
在網站癱瘓的情況下我們可以思考個問題,計算資源能否彈性的獲取資源?隨著用戶量的起伏提供的計算資源也比較彈性的調整,這樣就可以較貼合用戶需求的提供計算資源
當你的用戶端大量增加你的伺服器也會因此大量增加,隨著你的用戶端減少時你的伺服器也會因此減少,而在伺服器以及用戶端中間的接口為ELB(負載均衡器 Elastic Load Balancing)
在AWS中提供彈性服務的功能是AutoScaling的服務,它可以自動幫你增加EC2的資源,幫你收縮EC2的資源,他非常符合我們需要周期性網站的服務最棒的是,他不需要額外支付任何費用
為AutoScaling和EC2一起配合工作的服務,但其實完成這項工作還需要另一個監控服務CloudWatch一起配合工作,其中ELB上面還有一個功能是可以提供一些指標的數據,而這些數據就是收集在CloudWatch的上面,可以將你的一些負載均衡器上的延遲數據及計算資源裡的CPU使用率的數據放置在CloudWatch的上面,在CloudWatch的上面可以對這些收集到的數據做一個警報,這個警報會根據你設計的預設值給出自動的警告,這個警告會發給彈性收縮組服務
當彈性收縮組得到這個警報之後,他就會將這個訊息變成註冊一個伺服器到負載均衡器裡,這就是整個因用戶端增加而伺服器增加的過程
在建置網站時,如果無法確定流量規模,與其依靠「最高峰」來配置固定資源,不如利用 AWS 的 Auto Scaling + CloudWatch + ELB,讓伺服器資源可以隨需增減。這不僅能避免流量高峰時癱瘓,也能在流量低時節省成本
今天先到這邊~明天我們在繼續學習AWS吧!各位晚安!