Azure sice nabízí krásný portál, ale pokročilejší uživatel Azure dříve či později objeví sílu a efektivitu příkazové řádky, skriptů a automatizačních nástrojů typu Ansible či Terraform. Víte, že máte zcela zdarma přístup ke stanici, která má všechno potřebné nainstalované (Azure CLI, Terraform, Ansible, různé SQL klienty) a ještě je rovnou zalogovaná? A že se k ní dostanete třeba přes prohlížeč či z mobilu? A že má i svou PowerShell variantu? Podívejme se dnes na cloud shell - neuvěřitelně praktické řešení, které vás nic nestojí.
Pro začátek si vyvolejte cloud shell přímo v portálu kliknutím nahoře na ikonu >_
O dalších možnostech přístupu si řekneme za chviličku, pojďme nejdříve k čemu cloud shell je a jak funguje.
Pokud jste toto tlačítko spustili poprvé, místo příkazové řádky vás uvítá konfigurační obrazovka, kde budete vyzváni k vytvoření Azure Files Storage. Ta se následně bude používat pro perzistenci vašich dat. To k čemu jsme se připojili je kontejner, který po 20 minutách neaktivity bude vypnut, nicméně díky připojené storage si různé skripty a playbooky uchováte. Bash využívá Azure Files dvojím způsobem. Zajímavý pro nás bude domovský adresář a uvnitř něj také adresář clouddrive.
Podívejme se přes Storage Explorer do této storage. Zjistíme, že obsah složky clouddrive je přímo vidět na tomto share. Linux v cloud shellu má namountovaný tento SMB share.
To znamená, že nejen máte perzistentně uchované soubory, ale můžete si tento share také namapovat na svůj notebook a jednoduše tak přetahovat soubory tam i ven z vašeho cloud shellu.
Nicméně to má také jednu nevýhodu - SMB share neumí uchovávat nastavení práv Linuxového file systému, neumí linky a podobné věci. Proto cloud shell používá ještě druhou fintu. Ve storage najdete 5 GB img soubor. Jde o diskový obraz, který je mountovaný na váš home adresář. Ten tedy můžete číst jen z cloud shellu, ale na druhou stranu má všechny Linuxové vlastnosti.
Cloud shell má automaticky nainstalované CLI do Azure (a další nástroje jako AzCopy pro kopírování do Blob Storage a další utilitky) a nemusíte se logovat. Protože jste přihlášeni do webové session, cloud shell je pro vás automaticky zalogovaný.
Z pohledu klasických linux nástrojů nechybí tmux (například pro vytváření více oken), samozřejmě bash, komunikační nástroje typu dig, curl, wget, ssh (z cloud shell tak můžete dál do vašich VM!). Příjemná je i přítomnost nástrojů pro práci s databázemi MS SQL, MySQL a PostgreSQL:
Pro svět automatizace cloud shell rovnou přichází s podporou Terraform (automatizace vaší infrastruktury v Azure) a Ansible (desired state konfigurace obsahu vašich VM).
Velmi milá je i připravenost nástrojů pro svět kontejnerů - Docker, kubectl (Kubernetes) i Helm, ale také Cloud Foundry.
Cloud shell je také připraven na skriptování. Zajímavou specialitkou je PowerShell pro .NET Core. Můžete tedy skočit do PowerShellu a ten se vám také sám zaloguje do Azure a nemusíte opustit Linuxový cloud shell (kromě toho je také k dispozici Windows Cloud Shell, kde jste na Windows kontejneru s nativním PowerShell).
Z dalších jazyků nechybí Python, Node, .NET, Java ani Go.
První způsob jsme si vyzkoušeli - přímo v portálu kliknete na ikonku a ve spodní části stránky se vám otevře shell. Ten můžete posouvat nahoru a dolu a tím si prostor zvětšovat.
Druhý způsob je využít ho bez portálu. Jednoduše jděte na https://shell.azure.com
Třetí způsob je integrace cloud shell do Azure mobilní aplikace. Plnohodnotnou příkazovou řádku tak dostanete i do svého mobilu či tabletu aniž byste museli otevírat prohlížeč.
Zatím poslední, ale velmi zajímavá možnost, je napojení přes open source Visual Studio Code. Nejprve si nainstalujte extension pro nalogování do Azure.
Následně vyvolejte příkazovou lištu (u mne CTRL SHIFT P) a najdete tam spuštění cloud shellu ve verzi Bash i PowerShell.
Nejprve se přihlásíme a po chvilce jsme v cloud shellu.
Řada z vás si jistě staví jump servery, aby se administrátoři mohli připojovat odkudkoli, kde mají alespoň RDP. Pak řešíte zabezpečení a údržbu a za server se musí platit. Díky Azure Cloud Shell tohle pro správu vaší Azure infrastruktury dělat nemusíte. Autentizace je přes Azure Active Directory, tedy přes velmi robustní mechanismus včetně podpory dvoufaktorové autentizace. Funguje to přes web, mobilní aplikaci nebo integrované do Visual Studio Code. Připojit se můžete na Bash, kde najdete mnoho užitečných nástrojů pro kontejnery, Azure, skriptování a dokonce i PowerShell pro Linux, ale cloud shell přichází také ve své Windows-based podobě, kdy se připojujete rovnou na PowerShell. A to nejlepší - neplatíte vůbec nic navíc!