Esercizio - Creare e distribuire un modello di Azure Resource Manager
Nota
La prima volta che si attiva una sandbox e si accettano le condizioni, l'account Microsoft viene associato a una nuova directory di Azure denominata Microsoft Learn Sandbox. Si viene aggiunti anche a una sottoscrizione speciale denominata Concierge Subscription.
In questo esercizio si crea un modello di Azure Resource Manager (ARM), lo si distribuisce in Azure e quindi si aggiorna il modello di Azure Resource Manager in modo da aggiungere parametri e output.
Questo esercizio usa Strumenti di Azure Resource Manager per Visual Studio Code. Assicurarsi di installare questa estensione in Visual Studio Code prima di avviare l'esercizio.
Creare un modello di Azure Resource Manager
Aprire Visual Studio Code e creare un nuovo file denominato azuredeploy.json.
L'estensione del modello di Azure Resource Manager per Visual Studio Code è configurata con frammenti per lo sviluppo dei modelli. Si inizierà aggiungendo un modello vuoto. Nella riga 1 del file, immettere arm.
Visual Studio Code visualizza automaticamente diverse possibili scelte che iniziano con arm!. Selezionare il modello di Azure Resource Manager (ARM). Visual Studio Code elabora automaticamente gli schemi e i linguaggi per il modello.
Il file ha ora un aspetto simile al seguente:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "functions": [], "variables": {}, "resources": [], "outputs": {} }
Si noti che questo file presenta tutte le sezioni di un modello di ARM descritte nell'unità precedente.
Salvare le modifiche al file premendo CTRL+S.
Distribuire il modello di Resource Manager in Azure
Per distribuire questo modello in Azure, è necessario accedere all'account Azure dal terminale di Visual Studio Code. Assicurarsi che siano installati gli strumenti dell'interfaccia della riga di comando di Azure e di accedere con lo stesso account usato per attivare la sandbox.
Selezionare Terminale > Nuovo terminale per aprire una finestra del terminale.
Se nella barra dei comandi della finestra del terminale viene visualizzato bash, la shell è corretta ed è possibile passare alla sezione successiva.
In caso contrario, selezionare l'elenco a discesa e scegliere Seleziona profilo predefinito.
Selezionare Git Bash.
Selezionare Terminale > Nuovo terminale per aprire una finestra del terminale della shell bash.
Accedere ad Azure
Nella finestra del terminale eseguire questo comando per accedere ad Azure.
az login
Nella finestra del browser visualizzata accedere al proprio account. Dopo avere effettuato l'accesso, verrà visualizzato un elenco di sottoscrizioni associate all'account nel terminale. Se la sandbox è stata attivata, viene visualizzata una sottoscrizione denominata Sottoscrizione Concierge. Usarla nella parte rimanente dell'esercizio.
Nella shell bash eseguire il comando seguente per impostare la sottoscrizione predefinita per tutti i comandi dell'interfaccia della riga di comando di Azure eseguiti in questa sessione.
az account set --subscription "Concierge Subscription"
Se di recente sono state usate più sandbox, potrebbero essere elencate più elementi di Sottoscrizione Concierge. In tal caso, seguire i due passaggi successivi per identificare e impostare la sottoscrizione predefinita.
- Eseguire il comando seguente per ottenere gli ID Sottoscrizione Concierge.
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
- Impostare la sottoscrizione predefinita eseguendo il comando seguente, sostituendo {ID sottoscrizione} con l'ID della sottoscrizione Concierge più recente.
az account set --subscription {your subscription ID}
Impostare il gruppo di risorse predefinito
Impostando il gruppo di risorse predefinito su quello creato quando è stata attivata la sandbox, è possibile omettere tale parametro dai comandi dell'interfaccia della riga di comando di Azure in questo esercizio. Per impostare il gruppo di risorse, eseguire il comando seguente.
az configure --defaults group=<rgn>[sandbox resource group name]</rgn>
Distribuire il modello in Azure
Eseguire i comandi seguenti per distribuire il modello di ARM in Azure. Il modello di Resource Manager non dispone ancora di risorse, quindi non sono presenti risorse create. La distribuzione dovrebbe andare a buon fine.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="blanktemplate-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile
La sezione superiore del codice precedente imposta le variabili dell'interfaccia della riga di comando di Azure, che includono il percorso al file modello da distribuire e il nome della distribuzione. La sezione inferiore az deployment group create
distribuisce il modello in Azure. Si noti che il nome della distribuzione è blanktemplate
con la data come suffisso.
Si dovrebbe vedere Running...
nel terminale.
Per distribuire questo modello in Azure, è necessario accedere all'account Azure dal terminale di Visual Studio Code. Assicurarsi di aver installato Azure PowerShell Tools dalle estensioni di Visual Studio Code e accedete allo stesso account con cui è stata attivata la sandbox.
Nella barra dei comandi selezionare Terminale > Nuovo terminale per aprire una finestra di PowerShell.
Se nella barra dei comandi della finestra del terminale viene visualizzato PowerShell, la shell è corretta ed è possibile passare alla sezione successiva.
In caso contrario, selezionare la freccia giù e nell'elenco a discesa selezionare PowerShell. Se questa opzione è mancante, selezionare Seleziona profilo predefinito.
Nel campo di input scorrere verso il basso e selezionare PowerShell.
Selezionare Terminale > Nuovo terminale per aprire una finestra del terminale di PowerShell.
Accedere ad Azure usando Azure PowerShell
Dal terminale in Visual Studio Code eseguire il comando seguente per accedere ad Azure. Viene aperto un browser per accedere all'account.
Connect-AzAccount
Suggerimento
Il modulo Az di PowerShell sostituisce il modulo AzureRM ed è la versione consigliata da usare per interagire con Azure.
Accedere usando lo stesso account con cui è stata attivata la sandbox. Dopo aver effettuato l'accesso, Visual Studio Code elenca le sottoscrizioni associate all'account nella finestra del terminale. Se è stata attivata la sandbox, viene visualizzato un blocco di codice contenente
"name": "Concierge Subscription"
. Questa sottoscrizione viene usata per il resto dell'esercizio.
Impostare la sottoscrizione predefinita per tutti i comandi di PowerShell in questa sessione
Eseguire il comando seguente per ottenere le sottoscrizioni e i relativi ID. L'ID sottoscrizione è la seconda colonna. Cercare la Sottoscrizione Concierge e copiare il valore nella seconda colonna. Ha un aspetto simile a aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:
Get-AzSubscription
Eseguire il comando seguente, sostituendo {ID sottoscrizione} con quello copiato nel passaggio precedente. Questo comando modifica la sottoscrizione attiva impostandola sulla Sottoscrizione Concierge.
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Eseguire il comando seguente per consentire al gruppo di risorse predefinito di essere il gruppo di risorse creato nell'ambiente sandbox. Questa azione consente di omettere il parametro dai comandi rimanenti di Azure PowerShell in questo esercizio.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Distribuire il modello in Azure
Distribuire il modello in Azure eseguendo i comandi seguenti. Il modello di Resource Manager non dispone ancora di risorse, quindi non sono presenti risorse create.
$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="blanktemplate-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile
La sezione superiore del codice precedente imposta le variabili di Azure PowerShell, che includono il percorso al file modello di distribuzione e il nome della distribuzione. Quindi il comando New-AzResourceGroupDeployment
distribuisce il modello in Azure. Si noti che il nome della distribuzione è blanktemplate
con la data come suffisso.
Dopo aver distribuito il modello di Azure Resource Manager in Azure, passare al portale di Azure e assicurarsi di trovarsi nella sottoscrizione della sandbox. A tale scopo, selezionare l'avatar nell'angolo superiore destro della pagina. Selezionare Cambia directory. Nell'elenco scegliere la directory Microsoft Learn Sandbox.
Nel menu delle risorse selezionare Gruppi di risorse.
Selezionare il gruppo di risorse
[nome gruppo di risorse sandbox] .Nel riquadro Panoramica viene visualizzata una distribuzione completata.
Selezionare 1 completata per visualizzare i dettagli della distribuzione.
Selezionare
blanktemplate
per individuare le risorse distribuite. In questo caso è vuoto perché non sono state ancora specificate risorse nel modello.Lasciare aperta la pagina nel browser in modo da poter controllare di nuovo le distribuzioni.
Aggiungere una risorsa al modello di Resource Manager
Nell'attività precedente si è appreso come creare un modello vuoto e distribuirlo. A questo punto, si è pronti per distribuire una risorsa effettiva. In questa attività viene aggiunta una risorsa dell'account di archiviazione di Azure al modello di Azure Resource Manager usando un frammento dell'estensione Azure Resource Manager Tools per Visual Studio Code.
Nel file azuredeploy.json in Visual Studio Code posizionare il cursore all'interno delle parentesi quadre nel blocco delle risorse
"resources":[],
.Immettere storage all'interno delle parentesi quadre. Viene visualizzato un elenco dei frammenti correlati. Selezionare arm-storage.
Il file è simile al seguente:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "functions": [], "variables": {}, "resources": [ { "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2023-05-01", "name": "storageaccount1", "tags": { "displayName": "storageaccount1" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "Premium_LRS" } } ], "outputs": {} }
I valori da modificare sono evidenziati nella nuova sezione del file e possono essere spostati premendo il tasto TAB.
Si noti che gli attributi
tags
elocation
sono compilati. L'attributolocation
usa una funzione per impostare il percorso della risorsa su quello del gruppo di risorse. Altre informazioni sui tag e le funzioni saranno disponibili nel modulo successivo.Modificare i valori name e displayName per la risorsa impostandoli su un valore univoco come learnexercise12321. Il nome deve essere univoco in Azure, quindi scegliere un valore specifico per l'utente.
Modificare il valore di name per lo SKU da Premium_LRS a Standard_LRS. Modificare il valore di tier impostandolo su Standard. Si noti che Visual Studio Code suggerisce le scelte appropriate per i valori degli attributi tramite IntelliSense. Eliminare il valore predefinito, incluse le virgolette, e immettere le virgolette per vederlo in azione.
Il percorso della risorsa è impostato sulla stessa posizione del gruppo di risorse in cui viene distribuita. Lasciare l'impostazione predefinita.
Salvare il file.
Distribuire il modello di Resource Manager aggiornato
In questo esempio si modifica il nome della distribuzione in modo da rispecchiare meglio l'obiettivo della distribuzione.
Eseguire i comandi dell'interfaccia della riga di comando di Azure seguenti nel terminale. Questo frammento è lo stesso codice usato in precedenza, ma il nome della distribuzione è cambiato.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addstorage-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile
Eseguire i comandi di Azure PowerShell seguenti nel terminale. Questo frammento è lo stesso codice usato in precedenza, ma il nome della distribuzione è cambiato.
$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addstorage-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile
Controllare la distribuzione
Al termine della distribuzione, tornare al portale di Azure nel browser. Passare al gruppo di risorse e osservare che ora sono presenti 2 distribuzioni completate. Selezionare il collegamento.
Si noti che entrambe le distribuzioni sono presenti nell'elenco.
Selezionare addstorage.
Si noti che l'account di archiviazione è distribuito.