Creare una risorsa di Azure in modo interattivo con Azure PowerShell
In modalità interattiva, PowerShell consente di immettere ed eseguire immediatamente i comandi.
Nell'esempio relativo alla soluzione CRM (Customer Relationship Management), l’obiettivo è creare tre ambienti di test, tutti contenenti macchine virtuali. Usare i gruppi di risorse per assicurarsi che le macchine virtuali siano organizzate in ambienti separati:
- Unit test
- Test di integrazione
- Test di accettazione
Poiché è necessario creare i gruppi di risorse una sola volta, l'uso interattivo di PowerShell per questa attività è una scelta ragionevole.
Quando si esegue un comando in PowerShell, questa associa il comando a un cmdlet ed esegue l'azione richiesta.
Esempio: Come creare un gruppo di risorse con Azure PowerShell
Si vedrà ora come eseguire un'attività comune: creare un gruppo di risorse. I gruppi di risorse consentono di gestire collettivamente le risorse correlate e la creazione di un nuovo gruppo di risorse è spesso una delle prime attività eseguite all'avvio di una nuova soluzione di Azure.
Ecco i tre passaggi da seguire:
Connettersi alla sottoscrizione di Azure.
Creare il gruppo di risorse.
Verificare che il gruppo di risorse sia stato creato correttamente.
Ogni passaggio corrisponde a un comando diverso di Azure PowerShell.
Connect to Azure
Quando si usa un'installazione locale di Azure PowerShell, è necessario autenticarsi prima di eseguire qualsiasi comando di Azure PowerShell. Il cmdlet Connect-AzAccount
richiede le credenziali di Azure, quindi esegue la connessione alla sottoscrizione di Azure.
Per connettersi in modo interattivo, non è necessario specificare alcun parametro:
Connect-AzAccount
Questo comando apre un prompt per le credenziali di Azure e stabilisce una connessione alla sottoscrizione di Azure.
Lavorare con le sottoscrizioni
Se non si ha familiarità con Azure, è perché si possiede una singola sottoscrizione. Tuttavia, se si usa Azure già da tempo, potrebbero essere disponibili più sottoscrizioni di Azure. Azure PowerShell consente di configurare la sottoscrizione in cui vengono eseguiti i comandi.
È possibile usare una sola sottoscrizione alla volta. Usare il cmdlet Get-AzContext
per determinare quale sottoscrizione è attualmente attiva. Se la sottoscrizione non è quella corretta, è possibile passare a un’altra usando il cmdlet Set-AzContext
.
Ottenere un elenco di tutte le sottoscrizioni:
Get-AzSubscription
Controllare la sottoscrizione attuale a cui si è connessi:
Get-AzContext
Modificare la sottoscrizione attiva:
Set-AzContext -Subscription '00000000-0000-0000-0000-000000000000'
Se è necessario cercare l'ID sottoscrizione, è possibile trovarlo nell'output del cmdlet
Get-AzSubscription
.
Creare un gruppo di risorse
Quando si creano risorse in Azure, queste vengono inserite in un gruppo di risorse ai fini della gestione.
Per creare un gruppo di risorse, usare il cmdlet New-AzResourceGroup
. È necessario specificare un nome e un percorso e il nome deve essere univoco all'interno della sottoscrizione. La posizione determina dove vengono archiviati i metadati per il gruppo di risorse, aspetto che può essere importante per motivi di conformità. Usare il cmdlet Get-AzLocation
per determinare i percorsi disponibili.
Nota
Se si lavora in una sandbox di Azure, questa crea il gruppo di risorse. Se si preferisce lavorare nella propria sottoscrizione, usare il comando seguente.
La sintassi per la creazione di un gruppo di risorse è la seguente:
New-AzResourceGroup -Name <resource-group-name> -Location <location>
Elencare tutti i gruppi di risorse
Per recuperare un elenco di tutti i gruppi di risorse nella sottoscrizione attiva, usare il cmdlet Get-AzResourceGroup
.
Get-AzResourceGroup
Per una visualizzazione più concisa, è possibile inviare tramite pipe l'output al cmdlet Format-Table
:
Get-AzResourceGroup | Format-Table
È anche possibile filtrare l'output in modo da visualizzare solo un gruppo di risorse specifico:
Get-AzResourceGroup -Name <resource-group-name>
Creare una macchina virtuale di Azure
La creazione di macchine virtuali è un'attività comune che è possibile eseguire con Azure PowerShell.
Il cmdlet New-AzVM
viene usato per creare una macchina virtuale. Questo cmdlet include diversi parametri per gestire le impostazioni di configurazione estese per una macchina virtuale. La maggior parte dei parametri ha valori predefiniti accettabili, quindi generalmente è necessario specificare solo cinque elementi chiave:
- ResourceGroupName: Il gruppo di risorse in cui viene inserita la nuova macchina virtuale.
- Name: il nome della macchina virtuale in Azure.
- Località: L’area geografica in cui viene effettuato il provisioning della macchina virtuale.
- Credential: Un oggetto contenente il nome utente e la password per l'account amministratore della macchina virtuale.
Usare il cmdlet
Get-Credential
per richiedere un nome utente e una password e archiviarli come oggetto credenziali. - Immagine: L'immagine del sistema operativo da usare per la macchina virtuale, che in genere è una distribuzione Linux o Windows Server.
Ecco un esempio:
$azVmParams = @{
ResourceGroupName = '<resource-group-name>'
Name = '<machine-name>'
Credential = '<credentials-object>'
Location = '<location>'
Image = '<image-name>'
}
New-AzVM @azVmParams
È possibile fornire questi parametri come tabella hash con splatting per il cmdlet New-AzVM
, come mostrato nell'esempio precedente. In alternativa, è possibile specificare i parametri direttamente al cmdlet New-AzVM
o usare altri cmdlet per configurare la macchina virtuale, ad esempio Set-AzVMOperatingSystem
, Set-AzVMSourceImage
, Add-AzVMNetworkInterface
e Set-AzVMOSDisk
.
Ad esempio, per fornire i parametri direttamente al cmdlet New-AzVM
, usare la sintassi seguente:
New-AzVM -Name <vm-name> -ResourceGroupName <resource-group-name> -Credential (Get-Credential) ...
Esempio: recupero delle informazioni per una macchina virtuale
È possibile elencare le macchine virtuali nella sottoscrizione usando il comando Get-AzVM
. Questo comando supporta anche il recupero di una macchina virtuale specifica, specificando il parametro Nome.
Archiviare i risultati di Get-AzVM
in una variabile:
$vm = Get-AzVM -Name <vm-name> -ResourceGroupName <resource-group-name>
Il contenuto della variabile $vm
è un oggetto con cui è possibile interagire. Ad esempio, si possono apportare modifiche a questo oggetto, quindi eseguire il push delle modifiche in Azure con il comando Update-AzVM
:
$resourceGroupName = '<resource-group-name>'
$vm = Get-AzVM -Name <vm-name> -ResourceGroupName $resourceGroupName
$vm.HardwareProfile.vmSize = 'Standard_DS3_v2'
Update-AzVM -ResourceGroupName $resourceGroupName -VM $vm
L’uso di PowerShell in modalità interattiva è appropriata per le attività occasionali. Ad esempio, è possibile creare e gestire i gruppi di risorse in modo interattivo se vengono creati una sola volta per tutta la durata di un progetto. La modalità interattiva è spesso più veloce e semplice rispetto alla scrittura di uno script per le attività che vengono eseguite una sola volta.