Come funziona Azure Cloud Shell?
In qualità di amministratore IT di Contoso Corporation, si ricevono spesso richieste di eseguire attività amministrative e risolvere interruzioni dei carichi di lavoro per le risorse nelle sottoscrizioni di Azure dell'organizzazione. Durante un fine settimana in cui si è reperibili, ma ci si trova fuori casa, si riceve una notifica dal team di sviluppo riguardo a una macchina virtuale di Azure che ha smesso di rispondere durante la manutenzione pianificata per l'aggiornamento di un'applicazione eseguita su tale macchina. Poiché gli sviluppatori non hanno accesso all'infrastruttura di hosting delle macchine virtuali di Azure sottostante e possono accedere in remoto alla macchina virtuale solo quando funziona normalmente, si riceve una chiamata per diagnosticare e risolvere il problema.
Dato che si è fuori casa, non si ha accesso alla workstation amministrativa e agli script di diagnostica. Si dispone solo di un portatile con un browser Internet. Usando il portatile, si passa al portale di Azure, si esegue l'autenticazione con la sottoscrizione di Azure dell'organizzazione, si apre Azure Cloud Shell, si monta una condivisione file di Azure, si accede agli script di diagnostica e si esegue la diagnosi e la correzione dei problemi della macchina virtuale, che riprende a funzionare.
Accedere a Cloud Shell
Per accedere ad Azure Cloud Shell sono disponibili diverse opzioni:
Da un collegamento diretto: https://shell.azure.com
Dal portale di Azure
Dai frammenti di codice durante l'accesso a Microsoft Learn:
Quando si apre una sessione di Cloud Shell, alla sessione viene allocato un host temporaneo. Questa macchina virtuale è preconfigurata con le versioni più recenti di PowerShell e Bash. È quindi possibile selezionare l'esperienza della riga di comando da usare:
Dopo aver selezionato l'esperienza di shell da usare, è possibile iniziare a gestire le risorse di Azure:
Le sessioni di Cloud Shell terminano dopo 20 minuti di inattività. Quando termina una sessione, i file in CloudDrive vengono salvati in modo permanente, ma è necessario avviare una nuova sessione per accedere all'ambiente di Cloud Shell.
Accedere a script e file personali
Quando si usa Cloud Shell, può anche essere necessario eseguire script o usare file per azioni diverse. È possibile salvare in modo permanente i file in Cloud Shell usando Azure CloudDrive:
Dopo il caricamento, è possibile interagire con i file come si farebbe in una normale sessione di PowerShell o Bash:
Ora che il file si trova in CloudDrive, è possibile chiudere la sessione e aprirne un'altra in un dispositivo diverso e continuare ad accedere allo stesso file. Cloud Shell consente anche di eseguire il mapping di una condivisione file di Archiviazione di Azure associata a un'area specifica. Accedendo a una condivisione file di Azure è possibile usare il contenuto di tale condivisione tramite Cloud Shell.
Se è necessario modificare gli script ospitati in CloudDrive o nella condivisione file, è possibile usare l'editor di Cloud Shell. Selezionare l'icona parentesi graffe {} nel browser e aprire il file da modificare oppure usare il comando code
e specificare il nome file, ad esempio:
code temp.txt
Strumenti di Cloud Shell
Se è necessario gestire le risorse( ad esempio contenitori Docker o cluster Kubernetes) o si vuole usare strumenti di terze parti (ad esempio Ansible e Terraform) in Cloud Shell, la sessione di Cloud Shell include questi componenti aggiuntivi già preconfigurati.
Ecco un elenco di tutti i componenti aggiuntivi disponibili all'interno di una sessione di Cloud Shell:
Categoria | Name |
---|---|
Strumenti Linux | bash zsh sh tmux dig |
Strumenti di Azure | Interfaccia della riga di comando di Azure e interfaccia della riga di comando classica di Azure AzCopy Interfaccia della riga di comando di Funzioni di Azure Interfaccia della riga di comando di Service Fabric Batch Shipyard blobxfer |
Editor di testo | codice (editor di Cloud Shell) vim nano emacs |
Controllo del codice sorgente | git |
Strumenti di compilazione | make maven npm pip |
Contenitori | Computer Docker Kubectl Helm Interfaccia della riga di comando DC/OS |
Database | Client MySQL Client PostgreSql Utilità sqlcmd mssql-scripter |
Altri | Client iPython Interfaccia della riga di comando Cloud Foundry Terraform Ansible Chef InSpec Puppet Bolt HashiCorp Packer Interfaccia della riga di comando di Office 365 |