利用 powershell 指令存放 Credential 交換 Azure Web App 的生產環境與預備環境 15. January 2016 mandy Azure (0) 前言 當我們在 Azure Web App 上開發網站,寫好正式網站後,後續一定會有修改或者改版…等等重新佈署的情況,此時我們可以利用 Azure Web App 的功能:新增一個預備環境 (Deployment Slot),先行測試修改好的網站,而測試完成後,就會進行正式環境與預備環境的交換 (switch) 動作,但網站交換動作用 Azure 管理介面點選實在好繁瑣啊~一般利用 Azure 管理介面交換的話,步驟大致如下:登入 Azure Portal→找到 Azure Web App 服務→點入欲交換的網站→按下交換→選擇來源與目的網站→確認交換佈署,這些動作做下來可能需要 5 分鐘的時間!如果使用 powershell 指令,事先把 credential 先建立好,可以縮短交換網站的前置時間,在 30 秒內送出交換指令,直接完成網站交換!本文介紹如何利用 powershell 指令存放 credential,並交換 Azure Web App 的 Production 與 Staging 網站。 必要條件 請事先建立 Azure AD 使用者,並給予訂閱的 co-administrator 權限 利用 Get-Credential 指令存放您的 Azure 帳密 $credential = Get-Credential 將上個步驟的帳密存成 txt 檔,當然不是明文!是加密過的,接著往後就可以使用這個 Credential 跑排程 (請自行調整 txt 存放位置參數) $credential.Password | ConvertFrom-SecureString | Set-Content C:\PS\swap\password.txt 實作 我已事先建立好 testmain 及 testsub (預備網站),如下圖: 轉換前的 testmain 網站,是由 Azure Web App Gallery - Blog Engine 所建立出來的 Blog: 以下步驟可以存成ps1,利用手動開啟、或 Windows 工作排程去觸發: 讀取先前建立的密碼文字檔,並轉換成登入 OrgID 需要的格式 $password = Get-Content C:\PS\swap\password.txt | ConvertTo-SecureString 使用 Azure AD 帳號加上解密完的密碼進行登入 $mycreds = New-Object System.Management.Automation.PSCredential ("AzureAD帳號", $password)$LiveCred = Get-Credential -Credential $mycredsAdd-AzureAccount -Credential $LiveCred 選擇 Azure 訂閱,請記得修改參數 Select-AzureSubscription -subscriptionName "Azure Pass" 根據您的需求,利用下列某一行指令執行即可。 #如果只有一個 deployment slot,就使用以下指令Switch-AzureWebsiteSlot -Name <AzureWebsiteName> #如果要 slot swap slot 可以用以下指令Switch-AzureWebsiteSlot –Name <AzureWebsiteName> -Slot1 <slotName> -Slot2 <slotName> #如果要 production 跟其中一個 slot 交換可以用以下指令Switch-AzureWebsiteSlot –Name <AzureWebsiteName> -Slot1 <slotName> 可以看到 testmain 網站已經交換完成,由 Blog Engine 變成 Azure Web App Default 建立起來的畫面! == 要試用 Azure的朋友 ,請點選 Azure Free Trial – 試用 30 天期 進行試用申請。 ==
以 Azure New Portal 監控我的 Azure VM,在第一時間知道效能狀況 14. January 2016 mandy Azure, VM (0) 前言 針對 Azure VM,我們可以在 Azure Portal 上設定一些警示,例如:CPU 超過 70% 就寄發 Mail 給相關人員,以便進行偵錯或者後續規模擴大的動作。而舊 Poral (manage.windowsazure.com) 只有五種度量可以選擇,且無法將 Log 存在 Azure Storage 內,也只能撈七天內的圖表資料,如下圖: 舊Portal只有下列五種度量 (Metric),供管理者設定警示: CPU百分比 磁碟寫入的位元組數/秒 磁碟讀取的位元組數/秒 網路輸入 網路輸出 而 Azure New Portal 提供更多的度量、更多的彈性(e.g.可以選擇時間範圍、將 Log 存放至 Azure Storage),讓管理人員能夠更加掌握 Azure VM 的狀態,甚至可以針對圖表及數據來做分析。本文介紹如何利用新的 Azure 入口網站來監控 Azure VM 及設定警示。 實作 登入Azure New Portal:https://portal.azure.com 點選要設定的VM,並按下「監視」(Monitoring) 視窗: 開啟「診斷」(Diagnostic) 功能:設定度量的 Log 存到哪個 Azure Storage內,視需求勾選欲儲存哪些度量 (Metric)。 接著選擇「編輯圖表」,視需求設定時間範圍、勾選要加到圖表上的度量,這部份是做即時監控。 勾選完就可以看到圖表區有您加上的度量、及下方的度量數據 接著新增「警示」 (alert),此次設定「當五分鐘內,CPU percentage 超過 60% 時寄信通知管理者」 設定方便辨識的名稱、及警示度量 設定「過去5分鐘內」、「條件大於60%」(這邊的條件就是指上面選擇的度量),並設定要不要讓 RBAC 的擁有者、參與者、讀取者角色收到信件,當然也可以另外設定其它的系統管理者email。這邊就不贅述 RBAC 角色,請各位自行閱讀相關資料。 新增完警示後,會在清單中出現 此時我利用一套壓測軟體,讓 Azure VM 的 CPU 一直維持在99%,以達成 CPU 超過 60% 的條件。 接著就會收到 Azure 寄來的警示信,通知您 Azure VM 的 CPU 用量已經超過您所設定的門檻了! 後續若 CPU 的使用量降下來,Azure 也會寄信通知您。 《補充》:Log 是存放在 Azure Table Storage,所以記得用適當的工具去瀏覽這些資料 (e.g. Azure Explorer) 相關連結 Microsoft Azure Virtual Machine Monitoring with Azure Diagnostics Extension == 要試用 Azure的朋友 ,請點選 Azure Free Trial – 試用 30 天期 進行試用申請。 ==
Azure VM 該選擇哪一種 SQL Server Image?怎麼做最符合經濟效益? 13. January 2016 mandy Azure (0) 前言 沒有 SQL Server 授權的用戶,可以在建立 Azure VM 時選擇 SQL Server Image。SQL Server Image 相對於只有 OS Image 來說有較高的計價,on-premises 的 Windows 授權不可帶到雲端上,但 SQL Server 的授權可以。 Azure VM 上的授權有三種,分別為「SQL Web」、「SQL Standard」、「SQL Enterprise」,大家一定會有疑問該開哪一種授權的 Image,本文會簡述一下一般的使用情境,並拿價格做比較。 概念 以下是 Azure VM - SQL Server Image 的三種授權方式: 這三種 Image 主要的差別如下 (更多細節請參考相關連結): 授權:三種授權包含的內容不一樣,計價方式不一樣 (這是當然!) 資料庫鏡像:Web 版只能當見證伺服器 複寫:Web 版只能當 subscriber 功能:Web 版沒有 SQL Profiler 而實務上在使用的時候,若有用到商業智慧 (BI – Business Intelligence) 相關功能,就選擇 Enterprise 版本;若有使用到一般報表的相關功能,就選擇 Standard 版本;若上述功能都用不到,一般建議選擇 Web 版本。 費用 我們拿一樣的規格來看,都採用Standard - A2 的 VM 規格 (價格若有變動以 Azure 官網為準): SQL Server Enterprise - 每月費用約為 NT$38782 元 SQL Server Standard - 每月費用約為 NT$13389 元 SQL Server Web - 每月費用約為 NT$4894 元Web 與 Enterprise 的每月價格可以差到快8倍、Web 與 Standard 的每月價格可以差到2.7倍!因此,若沒有特殊功能的需求,還是推薦客戶使用 Web 版,經濟又實惠! 相關連結 SQL Server 2014 版本支援的功能 SQL Server 2014 的版本和元件 == 要試用 Azure的朋友 ,請點選 Azure Free Trial – 試用 30 天期 進行試用申請。 ==
當 Azure Web App 建立預備環境後,將主網站檔案複製至測試網站 11. January 2016 mandy Azure, PaaS (0) 前言 Azure Web App 的 Standard Tier (或以上的計價層次) 有一個非常好用的功能,就是能夠在主網站 (Production) 下建立一個測試網站 (Staging) ,但這個預備環境 (Deployment Slot) 被建立起來後,預設是完全沒有任何檔案的,Azure Web App 不會自動將 Production 的環境複製一份到 Staging 環境。此時我們可以利用 kudu 管理介面內提供的 Extension ,來進行複製的動作,這樣我們就不用將程式搬到本機端,再 FTP 上傳至測試環境。 實作 可以看到下圖已經在 testsyncmain 底下建立一個 testsyncsub 的 Deployment Slot 。(這邊就不贅述如何新增 Deployment Slot ,請各位自行尋找相關資源學習。) 利用以下網址連入kudu管理介面 (注意:要連入的是主網站,也就是要被複製的網站):https://<AzureWebSiteName>.scm.azurewebsites.net 選擇上排最右側的的「Site Extensions」,並輸入關鍵字「Site Replicator」,按下「+」以新增此Extension至網站。 此時會提醒您是否安裝,按下「Install」即可。 安裝完成後,請重啟網站(按下 Restart Site),才能開始使用 Extension 。 啟動Site Replicator的Extension: 欲複製到哪個網站,下載它的 Publish Settings File,並在此頁面選擇好、按下「Submit」。註:這邊也不贅述如何下載,這邊提供一個方法:可以到 Azure 管理後台去下載。 可以看到 testsynmain 到 testsyncsub 正在「Deploying」… 跑一段時間後,可以看到狀態變成「Succeeded」,代表複製完畢。 本來 testsyncsub 是空白網站,但可以看到現在已經變成 Blog Engine 所提供的部落格了! 費用 Azure Web App – Standard Tier (或以上的計價層次) 才能建立 Deployment Slot ,因此要選擇此方案的 Hosting Plan ,相關功能才有用處!以上所有費用包在 Azure Web App 的計價內。 相關連結 How do I copy a website from one azure website to another (not deployment slots)? == 要試用 Azure的朋友 ,請點選 Azure Free Trial – 試用 30 天期 進行試用申請。 ==
使用企業的 Microsoft Account 取得 Azure in Open 金鑰 10. January 2016 mandy Azure (0) 前言 最近有越來越多客戶選擇和微軟經銷商購買 Azure in Open (以下簡稱為AIO),這是因為購買 AIO 會比 Pay As You Go (用多少算多少) 的方式享有較多的優惠,通常會有折扣。事實上 AIO 就是利用大量授權網站來取得金鑰。本文介紹如何取得 AIO 金鑰的整個流程。 概念 前置步驟當然就是和微軟經銷商下單 (可以找多奇買喲:P),選擇要購買的單位、要拆幾個 Product Key (金鑰),概念上是一個 Product Key 可以包含多個單位的AIO,這是因為金鑰啟動後一年內要使用完畢,拆多組金鑰可以延長 AIO 的使用時間。而客戶可以依照自己的使用量來下訂單,如果您們公司用量很大,卻拆成一單位一單位,會變成常常在查看金鑰、啟動金鑰,造成管理 Azure 人員的困擾。下單過程中可以提供微軟經銷商您們公司的 Microsoft Account ,此帳戶就是專門進入大量授權中心查看金鑰用的。 實作 下單完成後幾個工作天會收到大量授權服務中心 (VLSC – Volume Licensing Services Center) 寄來的信件,內容大致如下圖: 點開信件 VLSC 的註冊連結之後使用您公司的 Microsoft Account 註冊 VLSC 即可。(此步驟因為此文下筆當下沒有測試帳號,所以先行省略!) 往後登入以下網址,即可開始查看金鑰!https://www.microsoft.com/Licensing/servicecenter/default.aspx 點選「下載項目與金鑰」→「金鑰」。 通常金鑰以清單方式列出來,但如果金鑰太多,可以按「全部顯示」查看金鑰。 可針對「狀態」欄位來看,「可用」代表金鑰尚未啟動;「已兌換」代表金鑰已經啟動。而「啟用或授權」欄位是此金鑰的 AIO 單位數。AIO 的「類型」欄位都是 OSA Key (Online Service Activation Key),代表是單次使用的兌換金鑰。 若要啟用 AIO 金鑰,請複製金鑰欄位,並參考另一篇文章: 我已擁有 Azure in Open 訂閱,如何啟用新的 Azure in Open 金鑰?進行後續增加信用額度的動作。 == 要試用 Azure的朋友 ,請點選 Azure Free Trial – 試用 30 天期 進行試用申請。 ==
我已擁有Azure in Open訂閱,如何啟用新的Azure in Open金鑰? 7. January 2016 mandy Azure (2) 前言 當開始使用 Azure in Open 訂用帳戶後,常常會被問到的問題是:「我的額度不足了,如何啟用新的Azure in Open金鑰?」本文介紹如何在 Azure 帳務後台利用簡短的幾個步驟啟用新的金鑰。請注意:金鑰啟動後額度要在一年內使用完畢;而未啟動的金鑰要在五年內開通。 實作 請登入 Azure 帳務後台,選擇 Azure in Open 訂用帳戶:https://account.windowsazure.com/subscription 點選「增加信用額度」 輸入產品金鑰,並按下驗證,最後完成。 按下完成後信用額度馬上會增加! == 要試用 Azure的朋友 ,請點選 Azure Free Trial – 試用 30 天期 進行試用申請。 ==
實戰SQL Server資料庫備份至Azure Storage (下) - 還原資料庫 15. December 2015 mandy Azure, Backup (0) 前言我們在實戰SQL Server資料庫備份至Azure Storage (上),介紹如何利用SSMS備份資料庫至Azure Storage,本文(下)集則介紹如何還原Azure Storage上的資 [More]
實戰SQL Server資料庫備份至Azure Storage (上) - 備份資料庫 14. December 2015 mandy Azure, Backup (0) 前言 一般使用SQL Server的經驗上,一定會碰到一個需求是DB備份。 若是Azure VM + SQL Server,內建的備份機制,就和VM存在同一個的page blob內,達不到備份的效果 [More]
國內 hosting 業者與 Azure Web App 的優劣分析,擁抱公有雲的消費模式 11. December 2015 mandy Azure, PaaS (0) 前言 以前傳統���站代管的方式,通常都是打開google,搜尋國內hosting業者,接著進行註冊、選擇方案、付款、獲得網站空間…等。隨著公有雲(Public Cloud)的服務越來越普及,發展出新的消 [More]
利用 Visual Studio 自動產生簡易 ARM template ,進而客製化雲端資源定義檔 (JSON格式) 10. December 2015 mandy Azure (0) 前言 之前發佈的文章-幾個步驟輕鬆部署Azure Resource Manager Template,介紹了如何輕鬆佈署Azure Resource Manager Template (ARM Tem [More]
以架設Azure VM提供網站服務為例,估算Azure備份費用 8. December 2015 mandy Azure (0) 前言 使用Azure雲端服務滿重要的一環就是「估價」,客戶在評估要不要上雲的時候,成本往往就是最大的考量。會提出一個疑問:「Azure能幫我省多少?」而通常第一個使用的服務就是備份,本文主要以Azur [More]
利用已編寫好的Azure Resrouce Manager Template,在Azure Portal輕鬆部署我的雲端資源 2. December 2015 mandy Azure (0) 前言 使用Azure的困擾往往是每個資源的單獨建立、部署,若要建立一個完整的解決方案,必須花很多時間去建立這些服務,e.g. 在一個subscription下,架設Azure VM、Web app、S [More]