Microsoft Azure | The Will Will Web

The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

使用 Postman 來操作 Azure REST APIs 最簡單的設定方法

有些時候 Azure CLIAzure Portal 都無法完成特定操作時,就需要靠 Azure REST API 來完成一些沒有 UI 的操作,這種操作通常都不太常見,也通常不需要自動化,所以臨時想要執行特定操作時,快速的設定就變的很重要。這篇文章我將介紹一個非常簡單的方法取得 Bearer Token,幫助你更快的完成 Azure REST API 呼叫。

... 繼續閱讀 ...

解決一個非常罕見的 Azure Functions Runtime is unreachable 問題

上周我們遇到一個非常罕見的問題,一群人費了九牛二虎之力才徹底釐清案情,並且成功修復問題。我們在部署 Azure Functions 的時候,大部分的情境底下都是正常的,唯獨將站台重新部署到 Linux 平台的 App Service Plan 之後,詭異的狀況就此發生。由於案發過程過於冗長,我打算摘要記錄一下我們遭遇的現況與解決方法。

... 繼續閱讀 ...

如何利用 AzCopy 將 Azure 第一代的儲存體帳戶同步到 StorageV2 的儲存體帳戶

有些事情看起來很複雜,但想通了就會很簡單;不理解的時候很抽象,理解的時候就很直覺。最近在幫客戶搬遷 Azure Storage 儲存體帳戶,照理說透過 AzCopy 應該要非常簡單才是,但是偏偏就是這個客戶的訂用帳戶的儲存體帳戶無法複製檔案過去,而且錯誤訊息相當難以理解,搞了很久才釐清真相。

... 繼續閱讀 ...

如何強制刪除含有自訂域名的 Azure Front Door 服務資源

最近幫客戶導入 Azure Front Door 負載平衡器與 WAF 服務,在進行一連串的測試之後,發現想刪除測試用的 Front Door 服務卻無法刪除。原因是 Azure Front Door 當有設定 自訂域名 (Custom Domain) 的時候,預設會需要事先設定自訂域名的 DNS CNAME 紀錄,然而在刪除 Front Door 資源的時候,卻需要先刪除該 CNAME 紀錄才能刪除該資源,有點不太方便。因為 DNS 註冊在客戶端,且申請刪除 CNAME 紀錄需要好幾天時間,所以便研究了一下如何在不解除 CNAME 記錄的情況下刪除 Azure Front Door 資源。

... 繼續閱讀 ...

如何以 Guest 身份將 Azure 的 Service Principal (服務主體) 加入角色指派

最近加入到一個客戶的 Azure 訂用帳戶設定 CI/CD,在做這件事情之前,當然是先建立好 Service Principal (服務主體),然後才進行角色指派,讓該服務主體擁有必要的權限才能進行部署。不過建立完成後才發現,我忘記將 Storage account (儲存體帳號) 的 Storage Blob Data Contributor 角色指派給我建立好的 Service Principal (服務主體),以致於我無法透過 AzCopy 複製檔案進 Blob 容器中。最悲劇的地方,就是我的 Guest 身份竟然無法讀取 Service Principal (服務主體) 的任何資訊,導致我無法順利指派角色,這篇文章我就來說說我的最終解法!

... 繼續閱讀 ...

變更 Azure App Service 的時區設定需注意 Windows 與 Linux 平台的差異

當你在 Azure 使用 App Service 部署網站時,預設的時區是設定在 UTC 時間,當你的網站不需要處理跨時區的問題時,最簡單的解法,當然就是調整系統設定,讓你的程式可以直接讀取到台灣時區的時間 (UTC+8),原本我們都設定的好好的,但上周突然決定要改用以 Linux 為主的 App Service Plan,這才發現時區設定失效了,查詢後才發現原來設定不同!這篇文章我將說明如何正確的調整 App Service 的時區設定。

... 繼續閱讀 ...

資訊安全筆記:盤點 Azure 訂用帳戶與角色指派的方法

在 Azure 所有 使用者 (User) 與 服務 (Service) 都代表著一個 主體 (Principal),而 Azure 的 RBAC (以角色為主的存取控制) 主要就是針對 主體 (Principal) 來進行角色指派 (授權),因此我們可以對 使用者主體 (User Principal) 或 服務主體 (Service Principal) 設定在不同資源所擁有的角色。本篇文章我打算來分享幾個方法,教你如何在特定 訂用帳戶 (Subscription) 下查出有哪些主體被設定了哪些角色,以及特定主體已經被授權到了哪些訂用帳戶哪些資源哪些角色,藉此用來盤點是否有不當授權的狀況。

... 繼續閱讀 ...

在 Azure 實現 GitOps 的起手式:使用 Bicep 部署 Web 應用程式

我經常需要在 Azure 手動建立許多測試站台,雖然說設定上並沒有很複雜,但是時間一久,累積出將近百來個 Web App 也是蠻難維護的,而且 組態漂移 (Configuration Drift) 的問題也會日趨嚴重,久而久之就不知道服務到底是怎樣設定出來的了。近幾年很夯的 GitOps 觀念興起,讓你可以使用 Git 管理基礎架構的所有設定,用應用程式開發的流程來管理維運的基礎架構,提升基礎架構的可維護性。本篇文章我就簡介一下 Azure 專用的 Bicep 語言,教你如何利用 Bicep 實現 Azure 雲端平台的 GitOps 架構。

... 繼續閱讀 ...

如何讓 Azure Functions 也可以支援 dotnet watch 自動監視程式變更重啟

在用 .NET Core 3.1 開發 Azure Functions 的時候一直以來有個困擾,那就是每次改完程式都要回到 Terminal 中斷程式執行,並且重新啟動,沒有像其他應用程式那樣可以用 dotnet watch run 自動監視檔案變更就自動重啟應用程式。雖然這個功能沒有內建在 func start 命令中,但是我卻發現 .NET CLI 竟然有個 dotnet watch msbuild 可以用,雖然陽春了點,但其實也是還是可以滿足需求! 👍

... 繼續閱讀 ...

使用 Azure CLI 快速建立 Azure Web App 測試網站、資料庫與儲存體帳戶

架設一個測試網站,最常見的需求就是一個網站(Azure Web App)外加一個資料庫(Azure SQL Database),如果有檔案儲存需求,頂多就再加一個儲存體帳戶(Azure Storage Account)就可以搞定。這篇文章我將分享如何透過 Azure CLI 快速建立網站、資料庫與儲存體帳戶,你完全可以不透過 Azure Portal 建立這些服務,使用 無互動 (non-Interactive) 的方式就可以建立所有必要的 Azure 資源。

... 繼續閱讀 ...