Exam AZ-300: Microsoft Azure Architect Technologies

從今天開始,準備AZ-300,AZ-301架構師考試,會根據每一條考試大綱整理出要點和心得以及實驗。git

一) Deploy and configure infrastructure

(1)  Analyze resource utilization and consumption

  • configure diagnostic settings on resources

  

  • create baseline for resources

  • create and rest alerts

  能夠根據特定的性能指標建立警報。 例如,當平均 CPU 使用率超過特定的閾值或者可用磁盤空間低於特定的空間量時,警報可用於發出通知。 警報顯示在 Azure 門戶中,也能夠經過電子郵件發送。 還能夠觸發 Azure 自動化 Runbook 或 Azure 邏輯應用來響應生成的警報。github

  如下示例針對平均 CPU 使用率建立警報。json

  1. 在 Azure 門戶中選擇「資源組」,選擇「myResourceGroupMonitor」,並在資源列表中選擇「myVM」。
  2. 選擇「警報(經典)」,而後在警報窗口頂部選擇「添加指標警報(經典)」。
  3. 爲警報提供名稱,例如 myAlertRule
  4. 若要在 CPU 百分比持續 5 分鐘超過 1.0 時觸發警報,請選中其餘全部默認值。
  5. (可選)選中「電子郵件全部者、參與者和讀者」對應的框,以便向他們發送電子郵件通知。 默認操做是在門戶中顯示通知。
  6. 選擇「肯定」按鈕。
  • analyze alerts across subscription

  • analyze metrics across subscription

  Azure Monitor 收集的全部數據屬於如下兩種基本類型之一:指標和日誌。 指標是數字值,用於描述系統某些方面在特定時間點的狀況。 指標是輕型數據,能夠支持近實時方案。 日誌包含不一樣類型的已經整理成記錄的數據,每種類型都有不一樣的屬性集。 與性能數據同樣,事件和跟蹤等遙測數據也做爲日誌存儲,所以,可將它們合併以進行分析。api

  指標的響應速度快於日誌,所以在建立警報時延遲更低,成本也更低。 安全

  

  Azure 中指標的特定特性包括:網絡

  • 按一分鐘頻率收集(除非指標定義中另有規定)。
  • 由指標名稱和充當類別的命名空間惟一標識。
  • 存儲 93 天。 可將指標複製到日誌以瞭解長期趨勢。

  

  • create action groups

  • monitor for unused resources

  設置規則,CPU內存使用率低於多少的定義爲未使用資源架構

  • monitor spend

  Portal訂閱中能夠查看當前花費app

  • report on spend

  能夠將消費明細經過郵件等方式發送給用戶dom

  • utilize Log Search query functions

  • view alerts in Azure Monitor logs

(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

  下載地址

  使用方法

  • manage access keys

  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)
    • 在建立存儲賬戶時所在的區域複製數據三次。

  基於存儲賬戶的磁盤

  • 本地冗餘存儲 (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

(5)  Implement solutions that use virtual machines (VM)

  • provision VMs

  • create Azure Resource Manager templates

  • configure Azure Disk Encryption for VMs

  包含加密密鑰和關聯的計算資源(例如存儲和 VM 自己)的 Azure 密鑰保管庫必須位於同一區域。只容許鏡像市場裏的VM鏡像磁盤加密,自定義鏡像無。 

  加密 VM 的過程以下:

  1. 在 Azure 密鑰保管庫中建立加密密鑰。
  2. 配置可用於加密磁盤的加密密鑰。
  3. 爲虛擬磁盤啓用磁盤加密。
  4. 從 Azure Key Vault 請求所需的加密密鑰。
  5. 使用提供的加密密鑰加密虛擬磁盤。

  代碼實現

az provider register -n Microsoft.KeyVault
resourcegroup="myResourceGroup"
az group create --name $resourcegroup --location chinaeast

keyvault_name=myvaultname$RANDOM
az keyvault create \
--name $keyvault_name \
--resource-group $resourcegroup \
--location chinaeast \
--enabled-for-disk-encryption True

建立祕鑰

az keyvault key create \
--vault-name $keyvault_name \
--name myKey \
--protection software

az vm create \
--resource-group $resourcegroup \
--name myVM \
--image UbuntuLTS \
--admin-username azureuser \
--generate-ssh-keys \
--data-disk-sizes-gb 10

獲取加密ID和密碼

az ad sp create-for-rbac --query [appId,password] -o tsv

az keyvault set-policy --name $keyvault_name `
--spn <sp_id> --key-permissions wrapKey `
--secret-permissions set

az vm encryption enable \
--resource-group $resourcegroup \
--name myVM \
--aad-client-id <sp_id> \
--aad-client-secret <sp_password> \
--disk-encryption-keyvault $keyvault_name \
--key-encryption-key myKey \
--volume-type all

(6)  Create connectivity between virtual networks

  • create and configure VNET peering

  • create and configure VNET to VNET

  • verify virtual network connectivity

  控制檯使用ping,能ping通則成功鏈接

  • create virtual network gateway

(7)  Implement and manage virtual networking

  • configure private and public IP addresses, network routes, network interface, subnets, and virtual network

(8)  Manage Azure Active Directory (AD)

  • add custom domains

  • configure Azure AD Identity Protection, Azure AD Join, and Enterprise State Roaming

  • configure self-service password reset

  • implement conditional access policies

  • manage multiple directories

  • perform an access review

(9)  Implement and manage hybrid identities

  • install and configure Azure AD Connect

  • configure federation and single sign-on

  • manage Azure AD Connect

  • manage password sync and writeback

相關文章
相關標籤/搜索