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!