Criar um recurso do Azure de forma interativa com o Azure PowerShell
No modo interativo, o PowerShell permite que você insira e execute comandos na hora.
No exemplo do Gerenciamento de Relacionamento com o Cliente (CRM), o objetivo é criar três ambientes de teste, cada um com suas próprias máquinas virtuais (VMs). Use grupos de recursos para manter as VMs organizadas em ambientes distintos:
- Teste de unidade
- Teste de integração
- Teste de aceitação
Como você precisa criar os grupos de recursos apenas uma vez, usar o PowerShell de forma interativa para essa tarefa é uma boa opção.
Quando você executa um comando no PowerShell, ele associa o comando a um cmdlet e executa a ação solicitada.
Exemplo: como criar um grupo de recursos com o Azure PowerShell
Vamos realizar uma tarefa comum: criar um grupo de recursos. Os grupos de recursos ajudam a gerenciar coletivamente recursos relacionados, e criar um novo grupo de recursos é geralmente uma das primeiras tarefas ao começar uma nova solução no Azure.
Estas são as três etapas que você precisa seguir:
Conecte-se à sua assinatura do Azure.
Crie o grupo de recursos.
Verifique se o grupo de recursos foi criado com sucesso.
Cada etapa corresponde a um comando diferente do Azure PowerShell.
Conectar-se ao Azure
Ao usar uma instalação local do Azure PowerShell, é necessário autenticar-se antes de executar os comandos do Azure PowerShell. O cmdlet Connect-AzAccount
solicita suas credenciais do Azure e, em seguida, conecta-se à sua assinatura do Azure.
Para se conectar de forma interativa, você não precisa especificar nenhum parâmetro:
Connect-AzAccount
Esse comando abre uma janela para inserir suas credenciais do Azure e estabelece uma conexão com a sua assinatura do Azure.
Trabalhar com assinaturas
Se você ainda não está familiarizado com o Azure, você só possui uma assinatura única. No entanto, se você já usa o Azure há algum tempo, já deve ter várias assinaturas. O Azure PowerShell permite que você escolha qual assinatura seus comandos serão executados.
Você só pode estar ativo em uma assinatura de cada vez. Use o cmdlet Get-AzContext
para determinar qual assinatura está ativa no momento. Se não for a correta, você pode mudar de assinatura usando o cmdlet Set-AzContext
.
Veja a lista de todas as suas assinaturas:
Get-AzSubscription
Verifique a assinatura atual na qual você está conectado:
Get-AzContext
Altere sua assinatura ativa:
Set-AzContext -Subscription '00000000-0000-0000-0000-000000000000'
Se precisar pesquisar a ID da assinatura, você pode encontrá-la nos resultados do cmdlet
Get-AzSubscription
.
Criar um grupo de recursos
Ao criar recursos no Azure, você os aloca em um grupo de recursos para fins de gerenciamento.
Para criar um grupo de recursos, use o cmdlet New-AzResourceGroup
. Você precisa especificar um nome e uma localização, e o nome deve ser único dentro da sua assinatura. A localização determina o local em que os metadados para seu grupo de recursos são armazenados, o que pode ser relevante por questões de conformidade. Use o cmdlet Get-AzLocation
para determinar as localizações disponíveis.
Observação
Se você estiver trabalhando em uma sandbox do Azure, ela criará o grupo de recursos para você. Se preferir trabalhar na sua própria assinatura, use o comando a seguir.
A sintaxe para criar um grupo de recursos é:
New-AzResourceGroup -Name <resource-group-name> -Location <location>
Listar todos os grupos de recursos
Para recuperar uma lista de todos os grupos de recursos na assinatura ativa, use o cmdlet Get-AzResourceGroup
.
Get-AzResourceGroup
Para uma exibição mais resumida, você pode direcionar a saída para o cmdlet Format-Table
:
Get-AzResourceGroup | Format-Table
Também é possível filtrar a saída para mostrar apenas um grupo de recursos específico:
Get-AzResourceGroup -Name <resource-group-name>
Crie uma Máquina Virtual do Azure
Criar máquinas virtuais (VMs) é uma tarefa comum que pode ser realizada com o Azure PowerShell.
O cmdlet New-AzVM
é usado para criar uma VM. Esse cmdlet possui diversos parâmetros para lidar com as extensas configurações de uma VM. A maioria dos parâmetros possui valores padrão adequados, então você geralmente precisa especificar apenas cinco itens principais:
- ResourceGroupName: o grupo de recursos onde a nova VM será alocada.
- Nome: o nome da VM no Azure.
- Localização: a região geográfica onde a VM será provisionada.
- Credencial: um objeto que contém o nome de usuário e senha para a conta de administração da VM.
Use o cmdlet
Get-Credential
para solicitar um nome de usuário e senha e armazená-los como um objeto de credencial. - Imagem: a imagem do sistema operacional a ser usada na VM, que geralmente é uma distribuição do Linux ou Windows Server.
Veja um exemplo:
$azVmParams = @{
ResourceGroupName = '<resource-group-name>'
Name = '<machine-name>'
Credential = '<credentials-object>'
Location = '<location>'
Image = '<image-name>'
}
New-AzVM @azVmParams
Você pode fornecer esses parâmetros como uma tabela de hash com splatting para o cmdlet New-AzVM
, como mostrado no exemplo anterior. Como alternativa, você pode fornecer os parâmetros diretamente ao cmdlet New-AzVM
ou usar outros cmdlets para configurar a máquina virtual, como Set-AzVMOperatingSystem
, Set-AzVMSourceImage
, Add-AzVMNetworkInterface
e Set-AzVMOSDisk
.
Por exemplo, para fornecer os parâmetros diretamente ao cmdlet New-AzVM
, use a seguinte sintaxe:
New-AzVM -Name <vm-name> -ResourceGroupName <resource-group-name> -Credential (Get-Credential) ...
Exemplo: como obter informações para uma VM
É possível listar as VMs em sua assinatura com o comando Get-AzVM
. Esse comando também permite recuperar uma VM específica ao especificar o parâmetro Name.
Armazene os resultados de Get-AzVM
em uma variável:
$vm = Get-AzVM -Name <vm-name> -ResourceGroupName <resource-group-name>
O conteúdo da variável $vm
é um objeto com o qual você pode interagir. Por exemplo, você pode fazer mudanças neste objeto e, em seguida, efetuar o push das alterações no Azure usando o comando Update-AzVM
:
$resourceGroupName = '<resource-group-name>'
$vm = Get-AzVM -Name <vm-name> -ResourceGroupName $resourceGroupName
$vm.HardwareProfile.vmSize = 'Standard_DS3_v2'
Update-AzVM -ResourceGroupName $resourceGroupName -VM $vm
Usar o PowerShell no modo interativo é indicado para tarefas pontuais. Por exemplo, você pode criar e gerenciar grupos de recursos de forma interativa se eles forem criados somente uma vez durante o ciclo de vida de um projeto. Geralmente, o modo interativo é mais rápido e fácil do que desenvolver um script para tarefas que são executadas apenas uma vez.