星期六, 5月 23, 2020

Verizon CDN in Azure 小記

Verizon CDN in Azure 小記

Azure 的 CDN 有下列幾個選擇

今天來測試 Verizon CDN in Azure, 那就來進行相關設定吧

先登入 Azure Portal

先檢查訂用帳戶內的 Service Provider 有沒有啟用 Microsoft.Cdn

點選 訂用帳戶
點選 自己的訂用帳戶
點選 資源提供者 
可以篩選 Cdn, 找出 Microsoft.Cdn
確認狀態是 Registered, 如果沒有, 就點選上方的重新註冊



接下來建立 CDN Profile

點選 Portal 上面的建立資源
點選 Web
點選 CDN


進行相關設定
輸入名稱
選擇資源群組與位置
選擇定價層
點選 確定


接下來建立端點
在所有服務搜尋 CDN 設定檔
點選剛剛建立的 CDN 設定檔
點選端點



輸入端點名稱
選擇來源類型: 自訂來源
輸入來源主機名稱(源站 Original)
點選 新增

  • 端點名稱可以想成 AWS 分佈的 domain name

確認端點已經建立


接下來建立自訂網域 (CNAME)

Azure 要加入自訂網域的時候, 要進行 DNS 驗證
如果我們要使用的 CNAME 是  image.sakana.tw
那就要建立一個 CNAME 如下


  • cdnverify.YOURCNAME 指向 cdnverify.CDN_端點
  • 就是 cdnverify.image.sakana.tw 指向 cdnverify.test20200513.azureedge.net
  • Azure 在建立的時候就會進行驗證, 這個部分與 AWS or Cloudflare 不同, 所以要先把 DNS record 準備好

當然, 除了驗證的 DNS 紀錄以外, 也要把正宮的 DNS 準備好



點選剛剛建立的端點
點選 自訂網域


輸入自訂主機名稱
  • 如果 CNAME 沒有設定好, 就會檢查不過
點選新增



因為之後要使用 https 方式來進行 CDN
所以要進行一些前置處理

在所有服務, 搜尋 Key (正確是 KeyVault)
找到金鑰保存庫 (KeyVault)
點選 金鑰保存庫


點選 新增



選取資源群組
輸入金鑰保存庫名稱
選取區域
選取定價層
點選 檢閱+建立



驗證成功後
點選 建立


可以確認金鑰保存庫已經建立


接下來要把自己網域的憑證放進來
點選剛剛建立的金鑰保存庫
點選 憑證


點選 產生/匯入


選擇憑證建立方法: 匯入
輸入憑證名稱
上傳憑證檔案
  • 這邊我參考網路上找到的轉檔方式將 sslforfree 下載的檔案轉成 xxxxx.pfx
  • 微軟只吃兩種格式 .pfx / .pem


點選建立

確認憑證已經上傳完成並啟用



等等還要設定存取原則

先回到剛剛設定的 CDN 端點
點選剛剛建立的端點


點選剛剛建立的自訂網域



將自訂網域HTTPS 切換為 開啟


選取 使用我自己的憑證


  • 上面有提到要透過 Cloudshell 將 Azure CDN 註冊爲應用程式
  • 存取原則要給 Microsoft.Azure.Cdn 服務 get-secret 權限

所以就來開個 Cloud Shell 了, 並切換成 PowerShell 模式
將上面的指令貼到 Cloud Shell 內去執行


處理完註冊應用程式, 再來處理存取原則

回到 金鑰保存庫
點選剛剛建立的金鑰保存庫



點選 存取原則


點選 新增存取原則


選取主體: 使用輸入或是搜尋的方式, 設定為 Microsoft.Azure.Cdn
點選 新增


點選 儲存


再次嘗試啟用 HTTPS

回到剛剛設定的 CDN 端點
點選剛剛建立的端點


點選剛剛建立的自訂網域



將自訂網域HTTPS 切換為 開啟


選取 使用我自己的憑證
選取 金鑰保存庫



點選 儲存


進行相關佈署


  • 匯入憑證大概要 15 mins
  • 佈建憑證上面寫說要 6 小時, 所以就可以先去做別的事情了 :p

設定完成畫面如下


接下來就來進行測試

參考之前的文章

現在 伺服器上面放圖片

然後使用 curl 指令或是瀏覽器測試

一開始的存取行為是看到直接跟 nginx 存取

> curl  -I   https://image.sakana.tw/openSUSE2.png

HTTP/2 200 
accept-ranges: bytes
content-type: image/png
date: Sat, 23 May 2020 07:16:03 GMT
etag: "5b08704b-a755"
last-modified: Fri, 25 May 2018 20:21:31 GMT
server: nginx/1.14.2
content-length: 42837


之後就是 CDN 上場了

> curl -I  https://image.sakana.tw/openSUSE2.png

HTTP/2 200 
accept-ranges: bytes
age: 50
content-type: image/png
date: Sat, 23 May 2020 07:19:32 GMT
etag: "5b08704b-a755"
last-modified: Fri, 25 May 2018 20:21:31 GMT
server: ECAcc (tpe/688B)
x-cache: HIT
content-length: 42837



接下來就是找時間測試 Verizon 的 Rule Engine v4 了

~ enjoy it


Reference

沒有留言: