The Will Will Web

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

如何解決 Azure SQL Elastic Pool 資料庫集區 Allocated space 已滿的問題

我公司有個 Azure SQL Elastic Pool 資料庫集區,我有 52 個資料庫,每個資料庫都蠻小的,最大的一個也才 5GB 左右,原本預設最大可用儲存空間為 50GB,但上周某一天開始就有個應用程式出現儲存空間使用量已滿等問題,讓我覺得十分詭異,查了一下資料庫用量也都還沒滿,還有許多剩餘空間才對,但就是有個資料庫要求更多空間,導致程式發生異常。今天我就來聊聊這個問題,以及我已經找到的解決方案!

... 繼續閱讀 ...

部署 Azure App Service 最簡單的方法:使用 cURL 直接部署 ZIP 或 URL

我們在設定 CD 持續部署的時候,有好多種方法可以部署檔案到 Azure App Service,早期比較常用的是部署 ARM 部署,但部署經常會遇到 Azure AD 設定 Service Principal 等權限問題。後來我們大多改用 Web Deploy 來部署,只要有發行設定檔(Publish Profile)就可以輕鬆部署,不過 .NET Core 的 DLL 經常會被鎖定而無法更新的問題也很討厭。近期我們都開始改用 ZIP 或 URL 部署,其部署方法不但簡單,而且部署速度快,部署時更不會遇到檔案鎖定等問題,實在非常不錯。這篇文章我就來介紹這個部署方法。

... 繼續閱讀 ...

如何將 Next.js 製作的網站以 Node.js 的方式部署到 Azure Web App

要將 Node.js 網站部署到 Azure Web App (Windows) 其實有點竅門,一般不熟悉 Windows / IIS 的開發人員要想把手邊的 Node.js 部署到 Azure Web App 通常都會卡關卡好久。這篇文章我就來說說我是如何將我最近翻譯的提示工程指南網站部署到 Azure Web App 的,而這是一個用 Next.js 開發的網站!

... 繼續閱讀 ...

如何讓 Node.js 應用程式在 GitHub Action 大幅提昇 CI/CD 執行效率

我手邊有個 Next.js 的應用程式,在設定 GitHub Action 的 CI/CD 自動部署到 Azure Web App 的過程,在 CI 的 actions/upload-artifact@v2 這個步驟花費了超級大量的時間上傳 node_modules 資料夾中的檔案,實在是太沒效率了。因此我改在上傳前壓縮整個目錄,結果整體 CI/CD 的時間直接從 26m 34s 降到 8m 58s 之多,部署效率大幅提升。今天這篇文章我就來說說我的寫法。

... 繼續閱讀 ...

ASP.NET 部署到 Azure App Service 如何使用 Log stream 查看應用程式紀錄

當 Web 應用程式上傳到 Azure App Service 之後,開發人員第一個要面對的問題,就是要怎樣偵錯(Debug)?在本機開發應用程式通常開發工具都會幫我們整理好各種資訊,但是上到雲端環境後,很多人就會顯得手忙腳亂,有時候說是「瞎子摸象」也不為過,非常痛苦。這篇文章我打算帶大家入門,教大家怎樣用免費又簡單的方式使用 Log stream (記錄資料流) 查看應用程式執行紀錄!

... 繼續閱讀 ...

如何正確地替 Azure Active Directory 使用者啟用多因素驗證 (MFA)

我們上周有同事帳號被駭客入侵,在 30 分鐘內被建立了上百台虛擬機器(VM),還好他有設定消費限制,所以他的訂用帳戶(Subscription)一下子就被停用了,然而我到了隔天深夜才收到訂用帳戶停用的通知,如果沒設定消費限制的話,那真的就慘了!同事覺得納悶的點是,他明明有設定多因素驗證 (MFA) (Multi-Factor Authentication) 驗證方法(Authentication methods),怎麼駭客還可以從烏茲別克(Uzbekistan)用他的帳號密碼登入 Azure Portal 呢?這篇文章我就來說說我這兩天對 Microsoft 365 / Azure AD 在 MFA 的研究心得,超重要!🔥

... 繼續閱讀 ...

將現有 Azure App Service 網站加上 Cloudflare CDN 的注意事項

最近把我的部落格改用 Cloudflare CDN 來當作網站前級,但是在設定的過程中遭遇了一些地雷。由於我的網站是放在 Azure App Service 上面,原本的設定都相當安全,像是 HTTP to HTTPS 的設定,還有一些 URL Rewrite 的設定,多年來都相安無事,但上到 Cloudflare 的時候網站就掛掉了。這篇文章我就來說說我的研究心得!

... 繼續閱讀 ...

你必須瞭解 Azure Functions 內建的執行記錄如何對成本帶來衝擊

當你在建立 Function App 時也同時啟用了 Application Insights 的話,預設會啟用內建的記錄機制(built-in logging),並且會把記錄儲存在 Azure Storage 儲存體帳戶的 Table 中。我們有個 Azure Function (v1) 應用程式,至今穩定運作了 4 年,但最近發現就算沒有什麼流量,儲存體的費用也很高。因為我們的網站最近已經沒有什麼流量,怎麼還會花這麼多錢呢?我分析了一下,發現光是 Table Storage 就佔用儲存體有 113 GiB 之多這才驚覺,原來是 Function App 搞的鬼,他們把所有監控的數據都自動儲存到指定的 Azure Storage 儲存體帳戶之中了!今天我就來說明如何有效率的刪除這些過時的紀錄,避免不必要的資源耗用。

... 繼續閱讀 ...