關閉
透過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來更有效的讓CDN整合應用?


NS1配置步驟:

  1. 在NS1 裏添加一個 CNAME 域名記錄,訪問者會利用這個 CNAME 作訪問。
         如何透過NS1來更有效的讓CDN整合應用?
 
  1. 把不同服務商的CDN接點CNAME、和用作顯示403訊息的網站域名作為答案。以下為示範。
        如何透過NS1來更有效的讓CDN整合應用?
 
  1. 建立三個回應組(Answer group)並把對應答案放到回應組之下。

      如何透過NS1來更有效的讓CDN整合應用?

 
  1. 更改策略決策
      如何透過NS1來更有效的讓CDN整合應用?
 
  1. 把以下篩選順序加到策略決策鏈

      如何透過NS1來更有效的讓CDN整合應用?

 
  1. 按照所需的地區分配到相關的回應組。中國的答案需要加上權重比例。

     如何透過NS1來更有效的讓CDN整合應用?           
 
     如何透過NS1來更有效的讓CDN整合應用? 

     如何透過NS1來更有效的讓CDN整合應用?

示範測試

  1. 模擬從南美訪問
      如何透過NS1來更有效的讓CDN整合應用?
 

首先在南美地區建置一台機器作訪問用途,可以看到從這台機器訪問www.higherlive.com的時候,域名的回復是reject.higherlive.com的IP地址。  

如何透過NS1來更有效的讓CDN整合應用?

如果在這台位於南美的機器上使用瀏覽器訪問 www.higherlive.com,瀏覽器會被導向至 reject.higherlive.com 的網站並顯示預設的網頁訊息。

如何透過NS1來更有效的讓CDN整合應用?

 
  1. 模擬從中國訪問
如何透過NS1來更有效的讓CDN整合應用?

在中國地區建一台機器作訪問,在同一台機器上我們作了6次的www.higherlive.com 域名訪問,可以看到有三次的回應是導向騰訊雲CDN接點(黃色的部分),其餘三次是導向阿里雲CDN接點(紅色的部分),這和在NS1裏的設定吻合。

如何透過NS1來更有效的讓CDN整合應用?

 
  1. 模擬從其他地區訪問

如何透過NS1來更有效的讓CDN整合應用?

在台灣建置一台機器訪問相同的域名 www.higherlive.com,可以發現每一次的回應都是導向 AWS的Cloudfront CDN接點。

如何透過NS1來更有效的讓CDN整合應用?

 

結語

從這個簡單的示範,可以看到怎樣整合NS1和不同的CDN服務,有效地把不同地區的訪問流量分配到最佳的CDN線路。這個示範只使用了NS1其中兩個策略決策,NS1有超過20個策略決策,其中一些策略會使用到NS1內先進的智能和實時回饋策略(Pulsar RUM ),也可以從第三方整合數據(例如NS1 API, Datadog, Rackspace等),來達到更精細和更複雜的域名解析,用作網路分流,進一步改善訪問者的體驗。
 



撰寫人
如何透過NS1來更有效的讓CDN整合應用?

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