Guida introduttiva all’Azure CLI

Se hai un account Microsft Azure e stai ancora gestendo le risorse solo attraverso il portale Azure, stai perdendo qualcosa. Uno dei modi migliori per ridurre i clic e aumentare la produttività è utilizzare Azure CLI.

Azure CLI è un insieme di strumenti multipiattaforma scritti in Python che ti consente di gestire praticamente tutte le tue risorse Azure dalla riga di comando. Indipendentemente dal sistema operativo che stai utilizzando, Azure CLI offre un’esperienza coerente su tutte le piattaforme.

In questo tutorial, imparerai come iniziare con Azure CLI. Imparerai come eseguire una configurazione iniziale e creare e rimuovere alcune risorse comuni utilizzando vari comandi di Azure CLI.

Prerequisiti

Questo articolo sarà un tutorial. Se prevedi di seguire passo dopo passo, avrai bisogno almeno di uno dei seguenti:

  • Azure CLI – Questo tutorial utilizzerà la versione 2.20.0 su un container Docker, ma i comandi funzioneranno allo stesso modo su altre piattaforme.
  • Un account Azure Cloud – Questo tutorial può essere eseguito utilizzando l’account gratuito.
  • Permessi per creare risorse all’interno di Azure tramite un account Microsoft, forse utilizzando un service principal.

Ottienere aiuto con az help

Prima di eseguire qualsiasi comando nella CLI di Azure, impara come utilizzare il comando az help. La CLI di Azure ha un aiuto ricco e abbondante nella CLI di Azure. Questo tutorial non può coprire tutti i comandi, quindi imparare a usare az help è fondamentale.

Per iniziare, navighiamo nel sistema di aiuto e vediamo come trovare ulteriori informazioni su vari comandi.

Navigare in un Esempio di Aiuto Tipico

Gli esempi sono il miglior materiale didattico. Vediamo come utilizzare il sistema di aiuto della CLI di Azure attraverso un esempio di ricerca del comando necessario per creare un gruppo di risorse in Azure.

Con il tuo terminale aperto:

1. Esegui il comando az help. Questo comando restituisce due tipi di output; gruppi e sottogruppi.

I comandi sono organizzati come gruppi. Di solito vedrai tutorial (e anche documentazione) riferirsi ai gruppi come “comandi”. I gruppi sono suddivisi in modo gerarchico, con ogni gruppo che rappresenta un servizio Azure.

output of az help

2. Scorri verso il basso fino a trovare il sottogruppo chiamato group. Puoi vedere dalla descrizione qui sotto che questo sottogruppo è responsabile della gestione dei gruppi di risorse. I gruppi sono ordinati in ordine alfabetico.

scrolling down to find group

3. Una volta trovato il comando che stai cercando, eseguilo utilizzando il parametro --help. Utilizzare il parametro --help non apporta alcuna modifica; restituisce tutta la documentazione di aiuto per un gruppo o un comando.

az group --help

Puoi vedere qui sotto il gruppo group e un singolo sottogruppo (lock) con vari comandi all’interno.

output of az group help

4. Poiché desideri creare un gruppo di risorse, il comando create sembra essere quello giusto. Ora continua ad essere più specifico aggiungendo un comando più granulare al riferimento originale az group e cercando aiuto.

az group create --help

Fai riferimento al parametro --help su qualsiasi comando per vedere la documentazione di aiuto.

Il parametro --help mostra ora informazioni sul comando create. I comandi hanno argomenti come mostrato di seguito. In questo esempio, ora hai gli argomenti necessari per specificare un gruppo di risorse e una location richiesta.

help parameter

Trovare Esempi di Sintassi con az find

Se non riesci a trovare facilmente il gruppo o il comando che stai cercando con il parametro --help, dai un’occhiata al comando az find. Questo comando cerca esempi di sintassi utilizzando riferimenti di gruppo/comando come mostrato di seguito.

Ad esempio, invece di navigare nel sistema di aiuto con --help come mostrato sopra, esegui lo stesso compito con una sola riga con az find.

az find "az group create"
output of find command

Assegnazione di una Configurazione Predefinita con az configure

L’Azure CLI ha molti comandi e funzionalità. Ogniuna di queste funzionalità ha varie configurazioni a cui fanno riferimento, come la registrazione e le preferenze di raccolta dati. Uno dei primi compiti che dovresti completare quando imposti l’Azure CLI per la prima volta è eseguire il comando az configure.

In un solo comando, il comando az configure ti guida attraverso tre diverse impostazioni:

  • Formato di output – Sette modi diversi in cui l’Azure CLI restituisce l’output
  • Registrazione – La possibilità di registrare tutte le attività dell’Azure CLI su un file
  • Telemetria – Per abilitare o disabilitare l’invio di informazioni a Microsoft su come utilizzi Azure CLI

Per iniziare, supponendo che tu abbia già installato l’Azure CLI:

1. Apri un terminale (Bash o PowerShell).

2. Digita il comando az configure. Ti verrà chiesto un semplice menu che ti informa che tutte le impostazioni verranno memorizzate nel file .azure/config. Premi Y per continuare.

output from azconfigure

3. Il comando ti chiederà prima il formato di output predefinito desiderato. Qui, seleziona il formato desiderato. Il formato di output predefinito imposta come apparirà il tuo output sullo schermo dopo l’esecuzione di un comando o la ricezione di un messaggio di errore.

If you’re unsure, below you’ll find some examples.

Di seguito sono riportati esempi che utilizzano il parametro output. Indipendentemente dal formato che scegli come predefinito, puoi sempre sovrascrivere l’output predefinito con il parametro output.

JSON (Java Object Notation)

json output

JSONC (Java Object Notation con commenti/colorazione)

jsonc output

Tabella

table output

TSV (Valori separati da tabulazione)

tsv output

YAML (YAML Non È Linguaggio di Markup)

yaml output

YAMLC (YAML con commenti/colorazione)

yamlc output

Nessuno – Azure CLI restituirà solo errori o avvisi.

4. Una volta impostato il formato di output, Azure CLI ti chiederà di abilitare la registrazione. Qui, seleziona Y per abilitare la registrazione di tutti i comandi e l’output su un file.

Output Format

Selezionando Y qui verrà creato un registro contenente tutti i comandi e l’output raccolti durante l’uso della CLI. Questo registro si trova nella directory $HOME/.azure/logs in Linux e macOS e %USERPROFILE%\.azure\logs in Windows.

Di seguito puoi vedere un esempio di come apparirebbe il registro.

Log file contents after executing az login

5. Successivamente, Azure CLI ti chiederà di inviare dati telemetrici a Microsoft. Selezionando Y qui verranno inviate informazioni anonime a Microsoft su come utilizzi Azure CLI.

Telemetry Data

Per ulteriori informazioni sulle informazioni raccolte da Microsoft, consulta le informazioni sulla privacy di Microsoft sulla raccolta di dati anonimi da Azure CLI.

Infine, az configure chiederà di impostare il valore del tempo di vita della cache dell’oggetto CLI. Dovresti lasciare questo valore impostato sul predefinito di 10.

cli object cache setting

Cambia il TTL dell’oggetto CLI solo se consigliato da Microsoft durante la risoluzione di un problema con Azure CLI.

Impostazione dei valori predefiniti dei parametri

Azure CLI ha vari comandi con gli stessi parametri come posizione e gruppo. Invece di immettere i valori di questi parametri ogni volta per ogni comando, puoi impostare i valori predefiniti dei parametri.

Per impostare i valori predefiniti dei parametri, utilizza il parametro --defaults su az configure. Questo parametro ti consente di definire un parametro e il suo valore predefinito. Ad esempio, forse sei stanco di digitare una location e un group per vari comandi. Nessun problema. Imposta un paio di valori predefiniti.

Nell’esempio seguente vengono impostate la regione predefinita (location) su westus2 e il gruppo di risorse (group) su MyResourceGroup. Ora, ogni volta che esegui un comando Azure CLI che ha un parametro location o group, Azure CLI passerà automaticamente i valori a quei parametri.

az configure --defaults location=westus2 group=MyResourceGroup

Se stai utilizzando i contenitori, potresti impostare i singoli contenitori per gestire regioni specifiche, sottoscrizioni o gruppi di risorse impostando i valori predefiniti in ogni istanza del contenitore. Potresti creare 4 contenitori in ciascun contenitore utilizzando az configure per impostare una regione predefinita e un gruppo di risorse predefinito utilizzando il comando sopra.

Autenticazione con un Browser

Hai ora imparato i concetti di base dell’uso della CLI di Azure, ma non hai ancora fatto nulla. Ora diamo questo passo nella creazione di alcune risorse! Ma prima, devi effettuare l’accesso ad Azure, utilizzando il comando, az login.

Se hai più sottoscrizioni Azure, esegui il comando az account list per trovare tutte le sottoscrizioni. Quando trovi la sottoscrizione, esegui az account set --subscription <nome sottoscrizione> per impostare la sottoscrizione da utilizzare per la sessione. Puoi anche utilizzare il parametro globale sottoscrizione per specificare esplicitamente una sottoscrizione.

1. Apri un terminale ed esegui il comando az login. Questo comando apre una finestra del browser che ti porta a una pagina per fornire il tuo nome utente e la tua password.

az login in Powershell session

2. Fornisci le credenziali del tuo account Azure o fai clic su un account utente esistente come mostrato di seguito.

authenticate with Microsoft

3. Una volta che Azure autentica il tuo account, chiudi il tuo browser web e torna alla sessione della tua CLI di Azure. Il comando az login restituisce informazioni sulla tua sottoscrizione per confermare che ora hai un token di autenticazione.

Output from az login, once authenticated

Autenticazione Utilizzando un Codice Dispositivo

Se sei su un sistema senza browser o vuoi scaricare un token di autenticazione su un altro computer, utilizza il parametro --use-device-code. Questo parametro consente all’utente di utilizzare un codice fornito da un altro dispositivo per autenticarsi.

Per autenticarti usando un codice dispositivo, apri un terminale e:

Esegui az login utilizzando il parametro --use-device-code. Il comando az login, questa volta, non aprirà un browser. Invece, fornirà un codice da inserire nella pagina di accesso del dispositivo su un altro computer.

az login --use-device-code
output of az-login —use-device-code

2. Su un computer diverso, vai su https://microsoft.com/devicelogin, incolla il codice fornito e clicca su Avanti.

Enter code to authenticate

3. Ora inserisci le tue credenziali per autenticarti su Azure e chiudi il tuo browser, se non è necessario.

choosing an account to authenticate with

Tornando alla sessione Azure CLI, az login restituirà le informazioni sulla tua sottoscrizione.

verification your session is logged on to azure

Opzioni di Output di Azure CLI

Come già menzionato, Azure CLI può restituire l’output in modi diversi. Puoi definire l’output predefinito e cambiarlo al volo con il parametro output. Ma il parametro output non è l’unico parametro che modifica il comportamento dell’output.

Per modificare la verbosità, filtrare l’output o modificare il comportamento dell’output degli errori, utilizza i seguenti parametri.

  • query – Utilizza il linguaggio di interrogazione JMESPath per filtrare l’output di tutti i comandi. Fai riferimento a questo articolo per saperne di più.
  • verbose – Restituisce informazioni su risorse create in Azure e informazioni estese su tali risorse.
  • debug – Restituisce una quantità di informazioni a basso livello sulle operazioni CLI utilizzate per il debug.
  • only-show-errors – Mostra gli errori e sopprime gli avvisi.

Creazione di un Gruppo di Risorse

Ora che sei autenticato su Azure, sei libero di gestire tutte le risorse a cui hai il permesso. Iniziamo prima con un esempio comune di creazione di un gruppo di risorse.

Supponendo di essere su un computer con Azure CLI installato e di essere già autenticato su Azure con CLI:

Crea un gruppo di risorse utilizzando il comando az group create come mostrato di seguito. Questo comando sta creando un resource-group chiamato TESTGrp nella location Nord Europa e restituendo tutto l’output verbose.

az group create --location northeurope --resource-group TESTGrp --verbose
output of az group create

2. Ora conferma che Azure ha creato la risorsa. az group list

az group list

Nota che hai creato il gruppo di risorse TESTGrp.

output of az group list

3. Forse hai molte gruppi di risorse da esaminare. Invece di scorrere, utilizza il parametro query per restringere l’elenco. Il comando qui sotto restituisce solo i gruppi di risorse nella posizione del Nord Europa utilizzando JMESPath.

az group list --query "[?location=='northeurope']"
output of a JMESPath query

Creazione di una macchina virtuale Linux

Per questo ultimo esempio, impara come creare un Azure VM con Azure CLI. Creare macchine virtuali e configurare attorno ad esse è una buona competenza da apprendere. La creazione di Azure VM è un’attività comune che potresti svolgere ripetutamente durante il tuo percorso nel cloud.

In questo esercizio, creerai un Azure Linux VM con impostazioni predefinite e lo distribuirai nel gruppo di risorse creato nella sezione precedente.

Una VM Azure è composta da molti risorse di Azure che lavorano tutte insieme come un’immagine disco, un adattatore di rete virtuale, una macchina virtuale e così via.

Per creare una VM Azure con Azure CLI:

1. Esegui il comando az vm image list per trovare tutte le immagini VM disponibili per la VM. Questo comando restituisce tutte le immagini memorizzate/disconnesse. az vm image list

az vm image list

Per questa demo, scegli l’immagine UbuntuLTS come evidenziato di seguito.

Cached list of images available

Azure CLI mantiene un elenco memorizzato di tutte le immagini VM. Se l’immagine UbuntuLTS non compare, utilizza il parametro all per ottenere un elenco aggiornato.

2. Una volta che conosci l’immagine del disco da utilizzare per la VM, crea la VM con az vm create. Il frammento di codice qui sotto crea una VM con name di ATAVM1 utilizzando l’immagine UbuntuLTS image nel resource-group TESTGrp. Quando Azure crea la VM, genererà le chiavi SSH (generate-ssh-keys) per connettersi successivamente e restituire l’output in formato JSON (output).

az vm create --resource-group TESTGrp \
   --name ATAVM1 \ ## nome host per la macchina virtuale
   --image UbuntuLTS \ ## Nome immagine raccolto con az vm image list
   --generate-ssh-keys \ ## Genera automaticamente le chiavi SSH per l'uso con la VM
   --output json \ ## Override per il formato di output per restituire JSON
   --verbose ## Output aggiuntivo

Dividi un singolo comando più lungo di Azure CLI su linee separate utilizzando una barra rovesciata finale.

Il comando az vm create ha molte altre modalità per configurare la creazione di una VM. Ricorda che il sistema di assistenza è tuo amico! az vm create --help

Se il comando è stato avviato con successo, dovresti vedere qualcosa di simile allo screenshot sotto.

VM being created

Utilizzando il parametro verbose, vedrai il metodo e i parametri effettivi della REST API utilizzati in verde.

3. Quando il completamento del deployment, l’ultima sezione dell’output mostrerà informazioni sulla tua VM. Principalmente per questa demo, copia l’indirizzo IP pubblico. Ne avrai bisogno per connetterti alla VM su Internet.

output from vm creation

A questo punto, collegati alla VM Ubuntu tramite SSH utilizzando l’indirizzo IP pubblico della VM trovato sopra. Per farlo, apri il tuo client SSH preferito e connettiti alla VM come utente azureuser come indicato di seguito. Per impostazione predefinita, il comando az vm create crea un utente locale chiamato azureuser.

connected to the vm created

Sei stato in grado di connetterti via SSH alla VM senza password perché hai utilizzato il parametro generate-ssh-keys durante la creazione della VM. Questo scarica la chiave privata nella tua directory ~/.ssh e carica la chiave pubblica sulla VM consentendoti di autenticarti.

5. Ora pulisci la VM e il gruppo di risorse.

az group delete --name TestGRP

Passaggi successivi

Dovresti ora avere Azure CLI pronto all’uso. Sei pronto per gestire delle risorse! Quindi, cosa viene dopo?

Source:
https://adamtheautomator.com/azure-cli/