身為科技業菜鳥的我,沒有想到會自告奮勇向申請參加iThome鐵人賽(我到底哪來的自信?)…
因為是半路出家的關係,所以對雲端方面的相關理論和知識依舊很淺薄,而最近公司又恰逢轉型階段,因此我希望能藉由這一年一度的IT盛會,在這30天逼迫自己熟悉購入的新產品並將轉型過程記錄下來。
也感謝公司給予我莫大的支持,讓我有這個機會能夠參賽。
那麼我們就開始吧!
鐵人賽第一天。我想跟大家介紹CDN是什麼,以及使用CDN的優勢有哪些?
CDN (Content Delivery Network)中文為內容傳遞網路或內容分發網路。CDN是一種讓傳遞內容速度更快、更安全的反向代理,具有緩存功能,透過分散式節點,讓使用者可以請求較近的節點來獲取網站內容,以達成加速效果。CDN同時也具備防禦功能,做為用戶端(Client)與伺服器端(Server)的中介,所有的流量都經由CDN來過濾,以達成保護源伺服器的目的。
CDN的應用層面非常廣泛,而且可以帶來許多好處,其中包括內容緩存、隱藏IP位置、流量清洗、負載均衡…等等功能。
1. 內容緩存,實現網站加速、降低頻寬成本
面對重複的請求,讓CDN替伺服器回應,藉此縮短回應時間以增加網站體驗。隨著網站業務擴張,緩存功能可以幫助我們節省很多流量費用,並且減緩伺服器的負擔。
2. 監控、分析所有請求,杜絕惡意攻擊
網路上的非正常請求層出不窮,來自世界各地的機器人不斷覬覦我們的網站,例如惡意爬蟲、弱點掃描等,就像有很多蒙面黑衣人每天拿著一堆鑰匙來試你家大門一樣危險!因此應該為網站配置適當的安全策略,例如使用CDN的WAF功能配置黑白名單等規則,將這些不肖分子阻擋在外以確保網站安全,就像大樓管理員會幫我們過濾一樣。
3. 隱藏真實IP位置,避免遭受惡意攻擊
透過CDN,使用者將會認知「CDN即是您的伺服器」,可避免自己伺服器的真實IP暴露遭受網路攻擊,以及免去更換伺服器(IP)所花費的成本。
4. 負載均衡,避免伺服器過載與移除故障伺服器
一般而言,每台伺服器都有自己的IP地址,用戶透過直接訪問伺服器IP地址來存取服務。當公司擴展業務要增加伺服器時,就可以透過CDN的負載均衡功能去平均分配用戶流量,避免一台伺服器塞入過多流量導致無法負荷;或當某台伺服器突然故障無法運作時,CDN會透過對各個伺服器做可用性檢測的方式提前得知,並將流量導向健康的伺服器避免用戶受到影響。
由此可知,使用CDN可以帶來很多好處,不論你是正要開始或是已經擁有自己的網路業務,CDN是不可或缺的一部分。
然而,雖然市面上提供CDN服務的廠商有很多,但我們公司在使用CDN服務時依然遇到了不少問題,而這些問題也間接導致公司決定轉型。
因此下一章我將會探討我們公司在使用CDN上面遇到了什麼困境。