Azure Cloud Shell – Amministrazione di Microsoft Azure con una shell accessibile tramite browser
Azure Cloud Shell è una shell basata su browser che ci permette di gestire e sviluppare le risorse in Microsoft Azure senza la necessità di installare ed aggiornare i tool di gestione.
La comodità offerta da Azure Cloud Shell è davvero notevole e la semplicità di attivazione, sia tramite browser che tramite app sullo smartphone, ci permette di poterla utilizzare praticamente ovunque.
La shell è eseguita in un Linux Container basato su Ubuntu 16.04 LTS e ci da la possibilità di usare sia Bash che PowerShell, dopo esserci autenticati alla nostra Sottoscrizione Azure.
L’utilizzo di uno Storage Account permette poi di poter mantenere lo stato delle sessioni anche tra sessioni diverse e ci permette di caricare script personalizzati che possiamo riutilizzare tutte le volte che ci servono.
La prima volta che avviate al Azure Cloud Shell vi verrà chiesto di scegliere tra Bash e PowerShell e successivamente di scegliere uno Storage Account da utilizzare con Azure File Share per rendere persistenti i file, come mostrato nelle figure sotto:
Figura 1: Primo avvio di Azure Cloud Shell
Figura 2: Richiesta di creazione di uno Storage Account
Per rendere persistenti i file fra le sessioni, Cloud Shell al primo avvio si connette ad una condivisione file di Azure (sarà necessario indicare quale storage account utilizzare per mantenere i file). Tutte le volte successive che Cloud Shell verrà lanciata, assocerà automaticamente la risorsa di archiviazione (montata come $HOME\clouddrive). Inoltre, la directory $HOME viene resa persistente come un .img nella condivisione file di Azure.
Sarà anche possibile caricare script all’interno della file share creata, in modo tale da poterli riutilizzare tutte le volte che saranno necessari
Figura 3: È possibile caricare script all’interno della Azure File Share
Figura 4: La directory $HOME viene resa persistente come un .img nella condivisione file di Azure
Avvio di Azure Cloud Shell
Come già detto, l’utilizzo di un browser per l’avvio di Azure Cloud Shell semplifica di molto la gestione delle nostre risorse Azure. Dal portale web di Azure o dall’app Azure per lo smartphone possiamo utilizzare il pulsante per lanciare la Shell e possiamo scegliere se utilizzare PowerShell o Bash, come mostrato nelle figure sotto:
Figura 5: Avvio della Shell dal portale di Azure
Figura 6: Avvio della Shell dallo smartphone tramite l’app Azure
Alla pagina https://azure.microsoft.com/it-it/features/azure-portal/mobile-app/ trovate maggiori informazioni sull’app per dispositivi mobili di Azure
La Azure Cloud Shell è anche raggiungibile direttamente dall’indirizzo https://shell.azure.com/. Dopo esservi autenticati vi apparirà il prompt per cominciare a lavorare.
Figura 7: Accesso diretto ad Azure CLoud Shell da un browser
Attualmente la Azure Cloud Shell supporta i seguenti strumenti e i seguenti linguaggi:
Tools
Categoria | Nome |
Linux tools | bash zsh sh tmux dig |
Azure tools | Azure CLI and Azure classic CLI AzCopy Service Fabric CLI Batch Shipyard blobxfer |
Text editors | code (Cloud Shell editor) vim nano emacs |
Source control | git |
Build tools | make maven npm pip |
Containers | Docker Machine Kubectl Helm DC/OS CLI |
Databases | MySQL client PostgreSql client sqlcmd Utility mssql-scripter |
Altri | iPython Client Cloud Foundry CLI Terraform Ansible Chef InSpec |
Linguaggi supportati
Linguaggio | Versione |
.NET Core | 2.0.0 |
Go | 1.9 |
Java | 1.8 |
Node.js | 8.9.4 |
PowerShell | 6.2.0 |
Python | 2.7 and 3.5 (default) |
Per conoscere quali sono i comandi disponibili per poter amministrare le vostre risorse Azure tramite riga di comando potete fare riferimento alla pagina Overview of Azure PowerShell e alla pagina Interfaccia della riga di comando di Azure.
Azure Cloud Shell supporta ora Exchange Online
Da qualche giorno è stato annunciato il supporto al modulo di Exchange Online PowerShell anche in Azure Cloud Shell. Per tutti gli amministratori di Exchange Online è sicuramente un grosso vantaggio e fa be sperare che in futuro verranno aggiunti anche gli altri moduli per poter gestire gli altri prodotti della famiglia Microsoft 365.
Online trovate anche un video della sessione di Ignite 2018 dove veniva annunciata la funzionalità: Automate tasks using Azure Cloud Shell or Azure PowerShell – BRK2387
Per potervi connettere ad Exchange Online vi basterà lanciare il comando Connect-EXOPSSession. Poiché Azure Cloud Shell usa il Single Sign On (SSO), non sarà necessario inserire ulteriori credenziali se siete già autenticati con un utente che abbia il corretto ruolo di amministrazione di Exchange.
Dopo aver lanciato il comando verranno scaricare nella sessione PowerShell tutte le circa 800 cmdlet necessarie ad amministrare Exchange Online.
Figura 8: Amministrazione di Exchange Online effettuato tramite Azure Cloud Shell
Figura 9: Download nella sessione di Azure Cloud Shell delle cmdlet necessarie ad amministrare Exchange Online
Figura 10: Esecuzione di una cmdlet per la gestione di Exchange Online
Conclusioni
Azure Cloud Shell è uno strumento potente, versatile e soprattutto comodo per poter amministrare le nostre risorse in Cloud. Da un browser, da un tablet o da uno smartphone abbiamo la possibilità di collegarci facilmente alla Shell ed operare ovunque ci troviamo, senza la necessità di installare nessuno strumento di amministrazione. Ben Fatto!