iT邦幫忙

2021 iThome 鐵人賽

DAY 13
1
自我挑戰組

30天走入亞洲雲端黑馬阿里雲系列 第 13

Day 13 阿里雲架設網站-彈性負載 & CDN

筆者過往經驗經常會遇到因為活動或遇到系統負載過大,導致單一主機無法負荷而造成服務延宕、甚至不可用,遇到這種情況,通常會準備多台主機增加負載能量,但流量可能只是一個早上的時間,為了一瞬的流量而必須耗費大量資源,在雲端的環境中解決流量過大的解決方案,則可以透過彈性的方式應對突發流量兆呈的主機負載問題

彈性伸縮(AutoScaling)

AutoScaling是一組自動伸縮的規則,可以根據流量、CPU使用率等等參數,來自動水平擴展機器數量

水平擴展
https://ithelp.ithome.com.tw/upload/images/20210925/20140353FADUNcfp6u.png

AutoScaling包含三種架構:

  • Scale-Out:針對所設定的參數進行擴展
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353kccGtxGQAK.png
  • Scale-In:針對所設定的參數進行縮減
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353AcbNNGa3z0.png
  • Scale-Recovery:可以執行Health Check,確保Instances維持運作
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353vcIpPjqum1.png

同時又分為以下幾種模式:

  • 定時模式:固定時間內創建一定數量的機器
  • 動態模式:針對各項參數進行增減
  • 固定數量模式:可以設置最小實例數、最大實例數、期望實例數,來控制自己所需的Instances數量

AutoScaling實務操作:

  1. 選擇彈性伸縮
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353YfeL6Ap1kB.png

  2. 選擇創建伸縮組
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353PaRkunN1ZO.png

  3. 可根據自己的需求選擇,此處因先前有建立過ECS Instance了,因此選擇第二項
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353LoJTSbBsPY.png

  4. 設置詳細的策略,可根據自身業務場景選擇,此次配置如下
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353R5UjjGEJEq.png

  5. 此處請選擇VPC、Subnet以及欲加入伸縮組的機器
    https://ithelp.ithome.com.tw/upload/images/20210925/201403532tLwK1LmF3.png

  6. 有建立Load Balance、RDS的服務,可以在這邊一併選擇,讓伸縮組知道當擴展的時候,Instances應該跟著哪些服務一起運行
    https://ithelp.ithome.com.tw/upload/images/20210925/2014035390n3QT3lG3.png

  7. 上述選擇完畢後,點選創建伸縮組
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353qHf0OdnFZw.png

  8. 建立完畢後,選擇查看詳情,才能進一步編輯Scaling規則
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353WoI14QfAnk.png

  9. 選擇伸縮規則與伸縮活動
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353uNTzQq45v1.png

  10. 點選創建伸縮規則
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353ciUMn2g51u.png

  11. 創建伸縮規則,可根據不同狀況選擇伸縮規則,在創建前必須先創建報警任務
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353SkVe5ss2pI.png

  12. 創建報警任務
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353AcgvyrY4Oq.png

  13. 建立實際操作流程,此處顯示的是當CPU使用率平均值連續兩次大於等於50%,並小於80%時,會發出告警,同時擴展兩台主機。若大於80%,則擴展到四台主機
    https://ithelp.ithome.com.tw/upload/images/20210925/201403534etehP2xgU.png

  14. 最大實例數為3台,代表當擴展到了第四台後,若CPU降低使用率則會自動縮減到3台
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353tj5pyVC97T.png

  15. 此處展示伸縮組裡面最小實例限制為1的時候,當有兩台主機時,伸縮組會自動縮減一台主機
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353bZMxiWg7N8.png

內容傳遞分發(Content Delivery Network,CDN)

CDN通過全球佈署眾多節點以服務快取源站內容,達成就近存取,讓使用者在存取網頁、圖片、影片等物件的速度加快,並且根據地區來分散存取節點,達成分流的效果;同時降低源站的壓力

https://ithelp.ithome.com.tw/upload/images/20210925/20140353QK0pTNl8uI.png

上圖可以看到,在台灣的User 1若要存取南美洲的內容,原本需要通過DNS並經過路由繞到南美洲存取,中間的延遲時間較高。但如果透過CDN,就可以先將資料預先Cache(快取)在最靠近台灣的CDN節點上,User 1只要去該節點,即可取得網站資料。並且可以透過這個方式來達成全球分流,不必都到同一個伺服器取得資料,可以很大程度的緩解伺服器壓力,從而避免伺服器無法正常運作的狀況

CDN架構示意圖:

https://ithelp.ithome.com.tw/upload/images/20210925/20140353DCW3UgggKh.jpg

CDN實務操作:

  1. 在導覽頁選擇CDN
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353VCbMAKI3UT.png

  2. 使用CDN的服務必須創建域名
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353nsR1FK3XXq.png

  3. 填寫想要通過CDN分發的網域域名;一般網站內容可以選擇圖片小文件即可;分發地區也可以根據自己的需求選擇,若要在中國內使用CDN,則必須準備ICP備案
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353ebKa8Guwuk.png

  4. 填寫源站資訊
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353UHgYRNBxTS.png

  5. 完成後將CDN的cname地址解析到DNS cname紀錄
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353yFTsIBMN1M.png
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353pMZxvK6hRP.png

  6. 完成CDN佈署後在管理選單內,可以針對回源、Cache、Https等做設置
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353R53DLiIWSH.png

  7. 使用nslookup,回傳Alibabacloud的CDN cname域名及CDN節點IP
    https://ithelp.ithome.com.tw/upload/images/20210925/20140353MsEZNr5Vgb.png

在這一篇寫了很多內容,主要是在AutoScaling的設定步驟其實較為繁多,但如果有具體的邏輯也可以很好的針對需求使用這這個服務,而不至於太陽春,在CDN方面阿里雲提供了一個簡單易於設定的平台使用,相較於筆者在使用AWS、akamai等CDN在操作上對於新手來說有很大的優勢


上一篇
Day 12 阿里雲架設網站-網站負載均衡
下一篇
Day 14 混合雲備份
系列文
30天走入亞洲雲端黑馬阿里雲30

尚未有邦友留言

立即登入留言