利用 powershell 指令存放 Credential 交換 Azure Web App 的生產環境與預備環境

前言 當我們在 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,在第一時間知道效能狀況

前言 針對 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?怎麼做最符合經濟效益?

前言 沒有 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 建立預備環境後,將主網站檔案複製至測試網站

前言 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 金鑰

前言 最近有越來越多客戶選擇和微軟經銷商購買 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金鑰?

前言 當開始使用 Azure in Open 訂用帳戶後,常常會被問到的問題是:「我的額度不足了,如何啟用新的Azure in Open金鑰?」本文介紹如何在 Azure 帳務後台利用簡短的幾個步驟啟用新的金鑰。請注意:金鑰啟動後額度要在一年內使用完畢;而未啟動的金鑰要在五年內開通。 實作 請登入 Azure 帳務後台,選擇 Azure in Open 訂用帳戶:https://account.windowsazure.com/subscription 點選「增加信用額度」 輸入產品金鑰,並按下驗證,最後完成。 按下完成後信用額度馬上會增加!   == 要試用 Azure的朋友 ,請點選 Azure Free Trial – 試用 30 天期 進行試用申請。 ==