(2) Create and configure storage accounts
-
configure network access to the storage account
-
create and configure storage account
可利用portal,PowerShell,CLI,模板等建立存儲帳戶ssh
New-AzStorageAccount -ResourceGroupName $resourceGroup `
-Name <account-name> `
-Location $location `
-SkuName Standard_RAGRS `
-Kind StorageV2
SKU有LRS,GRS,ZRS和RA-GRS
-
generate shared access signature
使用SAS能夠避免直接暴露共享密鑰,只能寫入和讀取數據
能夠經過存儲資源管理器檢索共享訪問簽名 (SAS)。 右鍵單擊某個存儲賬戶、容器或 Blob,並選擇「獲取共享訪問簽名...」。選擇開始時間和過時時間以及 SAS URL 的權限,並選擇「建立」。 系統會提供包含查詢字符串的完整 URL 以及查詢字符串自己,在下一個屏幕 中能夠複製這些信息。
-
install and use Azure Storage Explorer
下載地址
使用方法
portal上的key中查看和管理共享密鑰,包含主密鑰和副密鑰,能夠手動重置密鑰
-
monitor activity log by using Azure Monitor logs
-
implement Azure storage replication
LRS,副本留在不一樣容錯域和更新域中
GRS,副本在不一樣區域,採用異步複製
(3) Create and configure a Virtual Machine (VM) for Windows and Linux
-
configure high availability
虛擬機高可用
虛擬機高可用通常是配置可用性集。可用性集是數據中心內的 VM 的邏輯分組,可以讓 Azure 瞭解應用程序的構建方式,以便提供冗餘和可用性。 建議在可用性集內建立兩個或多個 VM,提供高度可用的應用程序,並知足 99.95% Azure SLA 的要求。 可用性集自己是免費的,只需爲建立的每一個 VM 實例付費。 當單個 VM 使用 Azure 高級 SSD 時,有 99.9%的 SLA 要求。
容錯域
容錯域是共享公用電源和網絡交換機的基礎硬件邏輯組,相似於本地數據中心內的機架。 在可用性集內建立 VM 時,Azure 平臺會將 VM 自動分佈到這些容錯域。 此方法可限制潛在物理硬件故障、網絡中斷或斷電的影響。
更新域
更新域是能夠同時維護或從新啓動的基礎硬件邏輯組。 在可用性集內建立 VM 時,Azure 平臺會自動將 VM 分佈到這些更新域。 Azure 平臺進行按期維護時,此方法可確保至少有一個應用程序實例始終保持運行狀態。 在計劃內維護期間,更新域的重啓順序可能不會按序進行,但一次只重啓一個更新域。
![](http://static.javashuo.com/static/loading.gif)
存儲高可用
Azure 託管磁盤
基於存儲賬戶的磁盤
- 本地冗餘存儲 (LRS)
- 區域冗餘存儲 (ZRS)
- 在兩到三個設施之間複製數據三次(在單個區域內或兩個區域之間)。
- 異地冗餘存儲 (GRS)
- 讀取訪問異地冗餘存儲 (RA-GRS)
- 與 GRS 同樣,可將數據複製到次要區域,但此外還提供對次要位置中數據的只讀訪問權限。
對於使用 Azure 託管磁盤的 VM,在使用託管可用性集時,VM 與託管磁盤容錯域一致。 該一致性可確保附加到 VM 的全部託管磁盤都在同一託管磁盤容錯域內。 在託管可用性集中,只能建立帶託管磁盤的 VM。 託管磁盤容錯域的數目因區域而異 - 每一個區域兩個或三個託管磁盤容錯域。
![](http://static.javashuo.com/static/loading.gif)
實際操做
首先建立資源組
az group create --name myResourceGroupAvailability --location chinaeast
再建立可用性集
az vm availability-set create \
--resource-group myResourceGroupAvailability \
--name myAvailabilitySet \
--platform-fault-domain-count 2 \
--platform-update-domain-count 2
再在可用性集內建立VM
for i in `seq 1 2`; do
az vm create \
--resource-group myResourceGroupAvailability \
--name myVM$i \
--availability-set myAvailabilitySet \
--size Standard_DS1_v2 \
--vnet-name myVnet \
--subnet mySubnet \
--image UbuntuLTS \
--admin-username azureuser \
--generate-ssh-keys
done
-
configure monitoring, networking, storage, and virtual machine size
monitoring
能夠經過portal上VM的「監視」選項卡,增長相應規則,經過這裏能夠查找全部相應監視紙指標。
經過CLI,創建一個cpu利用率大於90%的警報
az monitor metrics alert create -n {nameofthealert} -g {ResourceGroup} --scopes {VirtualMachineResourceID} --condition "avg Percentage CPU > 90" --description {descriptionofthealert}
建立網絡
az network vnet create \
--resource-group myResourceGroup \
--name myVnet \
--address-prefix 192.168.0.0/16 \
--subnet-name mySubnet \
--subnet-prefix 192.168.1.0/24
建立公共IP地址
az network public-ip create \
--resource-group myResourceGroup \
--name myPublicIP \
--dns-name mypublicdns
建立網絡安全組及規則
az network nsg create \
--resource-group myResourceGroup \
--name myNetworkSecurityGroup
az network nsg rule create \
--resource-group myResourceGroup \
--nsg-name myNetworkSecurityGroup \
--name myNetworkSecurityGroupRuleSSH \
--protocol tcp \
--priority 1000 \
--destination-port-range 22 \
--access allow
建立虛擬網卡
az network nic create \
--resource-group myResourceGroup \
--name myNic \
--vnet-name myVnet \
--subnet mySubnet \
--public-ip-address myPublicIP \
--network-security-group myNetworkSecurityGroup
存儲
包含高級SSD,標準SSD和HDD,其中標準SSD比HDD有着更低的延遲和更穩定的性能,高級SSD則有着更好的性能和更高的IOPS等
az vm disk attach \
--resource-group myResourceGroupDisk \
--vm-name myVM \
--disk myDataDisk \
--size-gb 128 \
--sku Premium_LRS \
--new
VM size
![](http://static.javashuo.com/static/loading.gif)
-
deploy and configure scale sets
利用虛擬機規模集,能夠部署和管理一組相同的、自動縮放的虛擬機。 能夠手動縮放規模集中的 VM 數,也能夠定義規則,以便根據資源使用狀況(如 CPU 使用率、內存需求或網絡流量)進行自動縮放。
代碼
az vmss create \
--resource-group myResourceGroupScaleSet \
--name myScaleSet \
--image UbuntuLTS \
--upgrade-policy-mode automatic \
--admin-username azureuser \
--generate-ssh-keys
upgrade-policy-mode能夠設置爲 {Automatic, Manual, Rolling},完整參數可參考 https://docs.azure.cn/zh-cn/cli/vmss?view=azure-cli-latest#commands
能夠在portal上設置縮放規則,同時VMSS也能夠與數據磁盤結合使用
(4) Automate deployment of Virtual Machines (VMs)
-
Modify Azure Resource Manager template
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", #必須存在,描述模板語言版本的 JSON 架構文件所在的位置。
"contentVersion": "", #必須存在,模板的版本(例如 1.0.0.0)。 可爲此元素提供任意值。 使用此值記錄模板中的重要更改。 使用模板部署資源時,此值可用於確保使用正確的模板。
"apiProfile": "", #用做資源類型 API 版本集合的 API 版本。 使用此值能夠避免爲模板中的每一個資源指定 API 版本。 若是你指定 API 配置文件版本但不指定資源類型的 API 版本,則資源管理器將使用配置文件中爲該資源類型定義的 API 版本。
"parameters": { }, #執行部署以自定義資源部署時提供的值。
"variables": { }, #在模板中用做 JSON 片斷以簡化模板語言表達式的值。
"functions": [ ], #定義函數
"resources": [ ], #必須存在
"outputs": { } #部署後返回的值
}
整體爲JSON語法,可是,可使用表達式來擴展模板中可用的 JSON 值。 表達式分別以方括號 [
與 ]
開頭和結尾。
-
configure location of new VMs
在 'resources'中定義位置信息
"location": "[resourceGroup().lication]"
-
configure VHD template
-
deploy from template
部署本地模板
New-AzResourceGroup -Name $resourceGroupName -Location $location
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName `
-TemplateFile c:\MyTemplates\azuredeploy.json
部署遠程模板
New-AzResourceGroup -Name $resourceGroupName -Location $location
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName `
-TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-storage-account-create/azuredeploy.json
-
save a deployment as an Azure Resource Manager template
-
deploy Windows and Linux VMs