(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 平台进行按期维护时,此方法可确保至少有一个应用程序实例始终保持运行状态。 在计划内维护期间,更新域的重启顺序可能不会按序进行,但一次只重启一个更新域。

存储高可用
Azure 托管磁盘
基于存储账户的磁盘
- 本地冗余存储 (LRS)
- 区域冗余存储 (ZRS)
- 在两到三个设施之间复制数据三次(在单个区域内或两个区域之间)。
- 异地冗余存储 (GRS)
- 读取访问异地冗余存储 (RA-GRS)
- 与 GRS 同样,可将数据复制到次要区域,但此外还提供对次要位置中数据的只读访问权限。
对于使用 Azure 托管磁盘的 VM,在使用托管可用性集时,VM 与托管磁盘容错域一致。 该一致性可确保附加到 VM 的全部托管磁盘都在同一托管磁盘容错域内。 在托管可用性集中,只能建立带托管磁盘的 VM。 托管磁盘容错域的数目因区域而异 - 每一个区域两个或三个托管磁盘容错域。

实际操做
首先建立资源组
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

-
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