Existem várias maneiras de interagir e gerenciar recursos no Microsoft Azure . Você pode usar o Portal do Azure ou ferramentas de linha de comando, como o módulo do Azure PowerShell ou a CLI do Azure, que pode instalar em sua máquina local. No entanto, para configurar uma estação de trabalho de gerenciamento de nuvem para administradores e desenvolvedores pode ser bastante trabalho.Especialmente se você tiver várias máquinas, manter a consistência entre essas máquinas pode ser um desafio. Outro desafio é manter o ambiente seguro e todas as ferramentas atualizadas. Isso muitas outras coisas são abordadas pelo Cloud Shell.
O Cloud Shell não é novo, a Microsoft anunciou o Cloud Shell no Build 2017. Este post é sobre como você pode dominar o Azure com o Cloud Shell e fornecer uma visão geral sobre as possibilidades do Cloud Shell.
O que é o Cloud Shell?
O Cloud Shell oferece uma experiência de shell pré-configurada, acessível ao navegador, para gerenciar recursos do Azure sem a sobrecarga de instalação, controle de versão e manutenção de uma máquina. O Azure Cloud Shell é atribuído por conta de usuário exclusiva e autenticado automaticamente a cada sessão.Isso torna um ambiente privado e seguro.
Você obtém uma experiência de linha de comando baseada na Web moderna que pode ser acessada de vários pontos de extremidade, como o Portal do Azure, o shell.azure.com e o aplicativo móvel do Azure, o código do Visual Studio ou diretamente nos documentos do Azure.
No back-end, o Azure usa contêineres e anexa automaticamente um compartilhamento de arquivos do Azure ao contêiner. Você pode armazenar os dados nele, portanto, seus dados são persistentes. Isso mantém seus dados em diferentes sessões do Cloud Shell.
Você pode escolher sua experiência de shell preferida. O Cloud Shell suporta Bash e PowerShell e incluiu suas ferramentas de terceiros e ferramentas e linguagens comuns. Se algo como um módulo está faltando, você pode simplesmente adicioná-lo.
Azure PowerShell vs CLI do Azure
Muitas das perguntas que recebo dos clientes são, qual opção de linha de comando do Azure devemos usar, o Azure PowerShell ou o Azure CLI. Para ser honesto, tudo se resume a preferências pessoais. Ambas as opções têm equipes de desenvolvimento dedicadas e crescentes. Sim, existem atualmente algumas inconsistências entre as duas opções, em que alguns comandos não estão disponíveis na CLI, mas estão disponíveis no PowerShell. A Microsoft está trabalhando com as equipes de recursos na consistência. Além disso, os dois shells são de código aberto e você pode encontrá-los no GitHub ( Azure PowerShell e Azure CLI ).
Eu sou obviamente mais um rapaz do Azure PowerShell, já que estou vindo do mundo do Windows. No entanto, como o novo módulo do Az PowerShell é baseado no PowerShell Core, os dois shells funcionam em todas as plataformas, como Windows, macOS e Linux. Eu ainda prefiro o modelo de objeto do PowerShell versus os fluxos de texto da CLI.
Primeiros passos com o Cloud Shell
Para começar, se você não usou o Cloud Shell antes, será necessário configurá-lo pela primeira vez.Quando abrir o shell pela primeira vez no portal do Azure, no site dedicado do Cloud Shell ou até mesmo no código do Visual Studio, você será solicitado a configurar o armazenamento e o grupo de recursos em que o Cloud Shell será hospedado.
Se você quiser dar uma olhada rápida, recomendo clicar no link de configurações avançadas. Isso permitirá que você defina o nome para o grupo de recursos, a conta de armazenamento e também para o compartilhamento de arquivos do Azure.
Você sempre pode remover o Cloud Shell excluindo o grupo de recursos do Azure, usado durante esse processo de instalação.
Gerenciamento do Cloud Shell
Você não pode apenas configurar a experiência do shell escolhendo qual shell você quer usar, você também pode configurar a fonte e o tamanho da fonte. Você também pode fazer upload e download de arquivos e, se necessário, reiniciar o contêiner.
Os arquivos também podem ser enviados usando arrastar e soltar diretamente no navegador.
Na experiência do PowerShell, você também obtém o cmdlet Export-File , que permite baixar rapidamente um arquivo.
SSH no Cloud Shell
Um dos grandes recursos do Cloud Shell é que você encontrará muitas ferramentas já instaladas, uma delas é SSH. Se você quiser se conectar à sua VM diretamente do portal do Azure usando o SSH, basta ativar o Cloud Shell e fazê-lo. Isso facilita muito o gerenciamento do Linux. Você pode criar, implantar e gerenciar máquinas virtuais diretamente do seu navegador da web.
Armazenamento Persistente do Cloud Shell
Existem duas maneiras de persistir arquivos nos seguintes métodos:
- Há uma imagem de disco criada para o seu diretório $ HOME para persistir todos os dados e conteúdos dentro do diretório. Essa imagem de disco é salva no compartilhamento de arquivos do Azure como acc_ <nomedousuário> .img (exemplo acc_thomas.img) no seguinte caminho: https: // <storageaccountname> .file.core.windows.net / <filesharename> /.cloudconsole /acc_<User>.img
- O Cloud Shell anexa um compartilhamento de arquivos do Azure para manter seus dados. No primeiro uso, ele solicitará a criação de um compartilhamento de arquivos no Azure Files (ou a anexação de um arquivo existente) para persistir os dados nas sessões, e o Cloud Shell o anexará automaticamente para sessões subsequentes. Isso significa que todas as suas configurações e arquivos que você deseja manter, você deve armazenar nesse compartilhamento persistente. Por padrão, ele monta clouddrive em seu diretório $ HOME, o que significa que mapeia / Home / <User> / clouddrive para https: // <storageaccount> .file.core.windows.net / <filesharename>
Gerenciar o CloudDrive no Cloud Shell
Na experiência bash você tem um comando chamado “ clouddrive ” para gerenciar seu CloudDrive, no PowerShell você tem os cmdlets Get-CloudDrive e Dismount-CloudDrive .
Cloud Shell Editor
O Cloud Shell vem com editores comuns como o nano e o vi, mas ainda mais legal é o editor do Cloud Shell , que lhe dará um ótimo editor. é um editor baseado no projeto de código aberto do Visual Studio Code Monaco. O Monaco é o mesmo editor baseado em padrões da Web que dá suporte ao Visual Studio Code, e o editor agora está integrado diretamente ao Cloud Shell. Para abrir o editor, você pode simplesmente digitar “ código ” ou usar o botão no menu.
Como você pode ver, você também obtém realce de sintaxe com vários idiomas e modelos ARM.
Gerenciar VMs do Azure do Cloud Shell – Remoting do AzVM
O PowerShell no Cloud Shell tem um comando remoto que permite embutir no módulo PSCloudShellUtility. Esses módulos permitem que você instale remotamente rapidamente em máquinas virtuais Linux e Windows em execução no Azure.
Você pode executar o cmdlet Enable-AzVMPSRemoting para habilitar o remoting para uma VM específica.Isso irá configurar e configurar o remoting e os NSGs no Azure.
1
2
3
4
5
|
# Windows VM
Enable – AzVMPSRemoting – Name tmdemowin – 01 – ResourceGroupName TM – DEMO – CLOUDSHELL – RG – Protocol https – OsType Windows
# Linux VM
Enable – AzVMPSRemoting – Name tmdemolin – 01 – ResourceGroupName TM – DEMO – CLOUDSHELL – RG – Protocol ssh – OsType Linux
|
Com o Invoke-AzVMCommand, você pode simplesmente enviar um comando para o sistema operacional.
1
2
3
4
5
|
# Windows VM
Invoke – AzVMCommand – Name tmdemowin – 01 – ResourceGroupName TM – DEMO – CLOUDSHELL – RG – ScriptBlock { get – service win* } – Credential $ cred
# Linux VM
Invoke – AzVMCommand – Name tmdemowin – 01 – ResourceGroupName TM – DEMO – CLOUDSHELL – RG – ScriptBlock { uname – a } – UserName thomas – KeyFilePath / home / thomas / . ssh / id_rsa
|
O comando Enter-AzVM permite que você tenha uma sessão interativa com a máquina virtual.
1
|
Enter – AzVM – name tmdemowin – 01 – ResourceGroupName TM – DEMO – CLOUDSHELL – RG – Credential $ cred
|
Para máquinas virtuais Linux, você pode usar a autenticação por senha ou certificado.
Unidade do Azure do PowerShell
O Cloud Shell baseado no Azure PowerShell, tem algo chamado de Azure Drive. O Azure Drive é baseado em um provedor do PowerShell chamado ShiPS . A Unidade do Azure permite navegar pelos recursos do Azure como um sistema de arquivos.
Um provedor do PowerShell permite que qualquer armazenamento de dados seja exposto como um sistema de arquivos como se fosse uma unidade montada. Em outras palavras, os dados em seu armazenamento de dados podem ser tratados como arquivos e diretórios para que um usuário possa navegar pelos dados via cd ou dir. O SHiPS é um provedor do PowerShell. Para ser mais preciso, é um utilitário provedor que simplifica o desenvolvimento de provedores do PowerShell.
Ferramentas no Cloud Shell
Não há apenas a ferramenta da Microsoft pré-instalada no Cloud Shell. Você não apenas tem várias alternativas ao editor do Cloud Shell, como o emacs, o Nano ou o vi instalado. Existem vários aplicativos de terceiros, como o Git, o Terraform, o Ansible, o Docker, o Kubectl e muitas outras ferramentas e idiomas de terceiros instalados.
Aqui está uma pequena lista de diferentes ferramentas, pré-instaladas e prontas para você usar.
CATEGORIA | NOME |
---|---|
Ferramentas Linux | bater |
zsh | |
sh | |
tmux | |
escavação | |
Ferramentas do Azure | CLI do Azure |
AzCopy | |
CLI do Service Fabric | |
Estaleiro de Lote | |
blobxfer | |
Editores de texto | vim |
nano | |
emacs | |
código | |
Fonte de controle | git |
Construir ferramentas | faço |
maven | |
npm | |
pip | |
Contianers | Máquina de ancoragem |
Kubectl | |
Leme | |
CLI do DC / OS | |
Bancos de dados | MySQL clinet |
Cliente PostgreSql | |
utilitário sqlcmd | |
mssql-scripter | |
outras | cliente iPython |
CLI Cloud Foundry | |
Terraform | |
Ansible | |
Chef InSpec | |
Módulos do PowerShell | Az |
AzureAD (visualização) | |
Exchange Online (em desenvolvimento) | |
MicrosoftPowerBIMgmt | |
Servidor SQL |
Cloud Shell no código VS
Se você estiver trabalhando em seu dispositivo no Visual Studio Code, poderá abrir e usar diretamente o Cloud Shell no terminal Visual Studio Code . Isso permite manter a consistência, mesmo se você estiver trabalhando diretamente no editor do seu dispositivo. Você pode executar seus scripts e comandos diretamente do código do Visual Studio. Para fazer isso, você precisará instalar a extensão da conta do Azure para o código VS.
- Pressione CTRL + SHIFT + P
- Entre no Microsoft Azure, digitando Azure: Entrar
- Uma janela do navegador será aberta para efetuar login no Azure
- Pressione CTRL + SHIFT + P
- Digite Open PowerShell no Cloud Shell ou Open Bash no Cloud Shell
- Isso conectará você diretamente ao seu Cloud Shell em execução no Azure.
Gerenciar serviços adicionais da Microsoft
Como mencionado anteriormente, o Cloud Shell possui muitas ferramentas de terceiros instaladas. Ele também possui alguns módulos e ferramentas extras do Microsoft PowerShell para gerenciar não apenas o Azure, mas também outros serviços da Microsoft. Isso significa que ele se torna um verdadeiro Microsoft Cloud Shell para gerenciar todos os tipos de serviços, servidores, aplicativos e ferramentas.
A partir de hoje, você obtém os seguintes módulos do PowerShell:
- Gerenciamento do AD do Azure (visualização)
- Exchange Online (em desenvolvimento)
- MicrosoftPowerBIMgmt
- Servidor SQL
Use repositórios Git no Cloud Shell
No início deste post do blog, mostrei como você pode fazer upload e download de arquivos. Isso é ótimo se você quiser executar um script rápido, mas se você quiser trabalhar um pouco mais sério, você pode ter um repositório Git, onde você armazena seus arquivos. Eu armazeno meus scripts pessoais em um repositório do AzOer DevOps . O Cloud Shell vem com o Git por instalado e você pode simplesmente clonar um repositório para sua unidade de nuvem.
Obviamente, você também pode usar o GitHub ou qualquer outro repositório, desde que ele seja acessado pelo Azure.
Para clonar um repositório Git, você precisa criar um token de acesso pessoal e usá-lo como nome de usuário. Você pode clonar o repo assim:
1
|
git clone https : //<your-access-token>@github.com/username/repo.git
|
Aplicativo móvel do Azure
Se você tiver o aplicativo para dispositivos móveis do Azure para iOS ou Android, poderá gerenciar seus recursos do Azure diretamente de seu celular. Se você olhar mais de perto, também encontrará a opção de executar o Cloud Shell no aplicativo para dispositivos móveis do Azure, que fornece basicamente acesso ao shell de qualquer lugar.
Integração com o Microsoft Docs
Outra grande coisa é a integração direta nas páginas de documentos da Microsoft. Se você estiver abrindo a documentação do Azure, não só encontrará as informações, mas sim um botão ” experimentar “, que abre diretamente o Cloud Shell na página de documentação.
Microsoft Learn
Se você quiser saber mais sobre o Cloud Shell ou outros serviços da Microsoft, confira a plataforma Microsoft Learn . Este não é apenas um guia que mostra como usar os serviços específicos, ele se integra diretamente no Microsoft Learn. Você pode usar os links a seguir para aprender sobre o Azure PowerShell e o Azure CLI:
- aka.ms/LearnPS
- aka.ms/LearnCLI
Custos e Preços
O Cloud Shell é basicamente gratuito, os custos por trás dele são provenientes do Compartilhamento de arquivos do Azure e do armazenamento que você consome. O faturamento é baseado apenas no compartilhamento de arquivos do Azure usado para persistir seus dados. Seus custos totais dependem de quanto você armazena, do volume e tipo de transações de armazenamento e transferências de dados de saída e qual opção de redundância de dados você escolhe.
Espero que isso tenha sido útil e que você tenha aprendido mais sobre o Cloud Shell. Vá experimentá-lo e se você tiver alguma dúvida, me avise!
Deixe um comentário