透過NS1實踐CDN整合應用
內容傳遞網路(Content Delivery Network,簡稱CDN)應用廣泛,支援多種行業和場景的內容加速,例如:大型檔案下載、視音點播和直播媒體。而NS1是一間以强大和靈活策略決策引擎來作域名解析的服務供應商。透過整合NS1和分佈在不同地區的CDN服務,客戶可以更有效的分配流量。
應用場景:
- 客戶需要發佈大流量的直播內容
- 除了南美的國家,全球各地都是目標聽衆群
- 假設南美的國家因為某些原因不容許連上有關直播媒體,並會在嘗試進入時被導向至一個顯示403禁止訊息的網站
- 使用不同服務供應商的CDN來加速内容。中國地區的訪問會平均分配使用阿里雲和騰訊雲的CDN,中國以外地區會使用AWS Cloudfront
- 使用NS1作為直播域名解析
NS1配置説明:
在設計的場景中,需要根據訪問者的地區來分配流量到不同的CDN,這需求可以利用NS1提供的 Geofence filter來作篩選。NS1會根據訪問者的IP地址比對NS1的龐大數據庫來判斷訪問者的所屬地區,然後會按照在NS1所配置的策略去回覆適當的CDN域名解析。因爲中國地區的訪問需要平均分配到兩個不同的CDN,在中國地區的域名解析會加上一個Weighted Shuffle(加權洗牌)來作為篩選。
在NS1的配置流程示意圖如下:
NS1配置步驟:
- 在NS1 裏添加一個 CNAME 域名記錄,訪問者會利用這個 CNAME 作訪問。
- 把不同服務商的CDN接點CNAME、和用作顯示403訊息的網站域名作為答案。以下為示範。
- 建立三個回應組(Answer group)並把對應答案放到回應組之下。
- 更改策略決策
- 把以下篩選順序加到策略決策鏈
- 按照所需的地區分配到相關的回應組。中國的答案需要加上權重比例。
示範測試
- 模擬從南美訪問
首先在南美地區建置一台機器作訪問用途,可以看到從這台機器訪問www.higherlive.com的時候,域名的回復是reject.higherlive.com的IP地址。
如果在這台位於南美的機器上使用瀏覽器訪問 www.higherlive.com,瀏覽器會被導向至 reject.higherlive.com 的網站並顯示預設的網頁訊息。
- 模擬從中國訪問
在中國地區建一台機器作訪問,在同一台機器上我們作了6次的www.higherlive.com 域名訪問,可以看到有三次的回應是導向騰訊雲CDN接點(黃色的部分),其餘三次是導向阿里雲CDN接點(紅色的部分),這和在NS1裏的設定吻合。
- 模擬從其他地區訪問
在台灣建置一台機器訪問相同的域名 www.higherlive.com,可以發現每一次的回應都是導向 AWS的Cloudfront CDN接點。
結語
從這個簡單的示範,可以看到怎樣整合NS1和不同的CDN服務,有效地把不同地區的訪問流量分配到最佳的CDN線路。這個示範只使用了NS1其中兩個策略決策,NS1有超過20個策略決策,其中一些策略會使用到NS1內先進的智能和實時回饋策略(Pulsar RUM ),也可以從第三方整合數據(例如NS1 API, Datadog, Rackspace等),來達到更精細和更複雜的域名解析,用作網路分流,進一步改善訪問者的體驗。

解決方案工程師
覃永德 Barry Chum