在昨天我們談完Azure小白如何使用 VPN Gateway打通內網到Azure公有雲,
今天我們來聊聊Azure Resource Manager templates如何運用在你日常工作
建置佈署/調整自動化
Resource Manager template會精確地定義部署中的所有Resource Manager
資源,我們可以透過單一作業將resourec maanger template部署到resource
Group中,Resource Manager template是一個 JSON 檔案,使其成為宣告式
自動化的一種形式,宣告式自動化意指您可以定義您需要什麼資源,但無法
定義如何建立這些資源,Resource Manager Template又稱為Azure Resource
Manager Template
使用 Resource Manager Template可讓你的部署更快且可重複性更高。
例如,你不再需要在Azure Portal中建立 VM,等待 VM 完成,然後建立
下一個 VM,Resource Manager會負責整個部署,以下是應考量的其他
優點:
1.範本可提升一致性
Resource Manager Template可提供常用的語言,供你和其他人描述部署之
用,無論是使用工具還是 SDK 部署範本,範本內的結構、格式和運算式都
保持不變。
2.範本有助於表達複雜的部署
範本可讓你依正確順序部署多個資源,例如你不想要先部署虛擬機器,然後
再建立 OS 磁碟或網路介面,Resource Manager會對應每個資源及其相依的
資源,然後先建立相依的資源,相依性對應有助於確保以正確的順序執行
部署。
3.範本可減少手動、容易出錯的工作
手動建立和連線資源可能會很費時,而且過程中很容易犯錯,Resource
Manager可確保每次都以相同的方式進行部署。
4.範本是程式碼
範本可透過程式碼表達你的需求,將範本視為一種可以共用、測試及建立
版本的基礎結構即程式碼。
5.範本促進重複使用
你的範本可以包含範本執行時要填入的參數。 參數可以定義使用者名稱或
密碼、網域名稱等等,範本參數可讓你建立多個版本的基礎結構 (例如Test
和Production),但仍然使用完全相同的範本。
6.範本是可連結的
Resource Manager Template可以連結在一起,使範本變成模組化,你可以撰寫
小型範本,每個範本都定義一個解決方案片段,結合起來就可以建立完整的
系統。
Resource Manager Template的內容
JSON 也是一個描述應用程式和基礎結構設定方式常用的方式,JSON 可讓我們
以文字表達儲存為物件的資料 (例如虛擬機器)。
JSON 文件基本上是索引鍵值組的集合。 每個索引鍵都是一個字串;其值可以
是字串、數字、布林運算式,值的清單或物件 (也就是其他索引鍵值組的集合)
以下為簡單的JSON範例:
"resources": [
{
"type": "Microsoft.Network/publicIPAddresses",
"name": "[variables('publicIPAddressName')]",
"location": "[parameters('location')]",
"apiVersion": "2018-08-01",
"properties": {
"publicIPAllocationMethod": "Dynamic",
"dnsSettings": {
"domainNameLabel": "[parameters('dnsLabelPrefix')]"
}
}
}
],
撰寫 Resource Manager Template有許多種方法,但是通常會從現有的
範本開始,然後再加以修改以符合您的需求,以下是可以取得範本的幾個
方式
1.使用Azure Management Portal,根據現有Resource Group建立Template
2.從你或你的Team針對類似用途所建置的範本著手。
3.從Azure Quickstart template開始
Azure Quickstart templates是由Azure community所提供的 Resource
Manager Template,Quickstart templates可在GitHub上取得。
許多範本都會提供你部署解決方案所需的一切,有些範本則可能會當作你
範本的起點,無論如何你都可以研究這些範本以了解如何妥善編寫和建構
你自己的範本。
搜尋Azure Quickstart Template點這裡
在Azure QuickStart Template選擇一個範本點選Deploy Azure即可使用
點選Browse on GitHub即可看到GitHub上Template的原始程式碼
點選Visualize即可看到下圖
手把手使用Azure QuickStart Template部署VM步驟:
手把手將Resource新增至Template步驟:
手把手擴充QuickStart Template以部署基本Web步驟:
Day22教學講義:
https://docs.microsoft.com/zh-tw/learn/modules/build-azure-vm-templates/