Criar um recurso do Azure interativamente com o Azure PowerShell
No modo interativo, o PowerShell permite que você insira e execute comandos imediatamente.
No exemplo do Customer Relationship Management (CRM), o objetivo é criar três ambientes de teste, cada um contendo máquinas virtuais (VMs). Use grupos de recursos para garantir que as VMs sejam organizadas em ambientes separados:
- Teste de unidades
- Testes de integração
- Testes de aceitação
Como você só precisa criar os grupos de recursos uma vez, usar o PowerShell interativamente para essa tarefa é uma escolha razoável.
Quando você executa um comando no PowerShell, ele faz a correspondência entre o comando e um cmdlet e executa a ação solicitada.
Exemplo: como criar um grupo de recursos com o Azure PowerShell
Vamos executar uma tarefa comum: criar um grupo de recursos. Os grupos de recursos ajudam você a gerenciar recursos relacionados coletivamente, e a criação de um novo grupo de recursos geralmente é uma das primeiras tarefas que você executa ao iniciar uma nova solução do Azure.
Aqui estão os três passos que você precisa seguir:
Ligue à sua subscrição do Azure.
Crie o grupo de recursos.
Verifique se o grupo de recursos foi criado com êxito.
Cada etapa corresponde a um comando diferente do Azure PowerShell.
Ligar ao Azure
Ao usar uma instalação local do Azure PowerShell, você deve autenticar antes de executar qualquer comando do Azure PowerShell. O Connect-AzAccount cmdlet solicita suas credenciais do Azure e, em seguida, se conecta à sua assinatura do Azure.
Para se conectar interativamente, não é necessário especificar nenhum parâmetro:
Connect-AzAccount
Este comando abre um prompt para suas credenciais do Azure e estabelece uma conexão com sua assinatura do Azure.
Trabalhar com subscrições
Se você for novo no Azure, terá apenas uma única assinatura. No entanto, se estiver a utilizar o Azure há algum tempo, poderá ter várias subscrições. O Azure PowerShell permite que você configure em qual assinatura seus comandos serão executados.
Só pode estar ativo numa subscrição de cada vez. Use o Get-AzContext cmdlet para determinar qual assinatura está ativa no momento. Se não for o correto, você poderá alternar assinaturas usando o Set-AzContext cmdlet.
Obtenha uma lista de todas as suas subscrições:
Get-AzSubscriptionVerifique a assinatura atual na qual você está conectado:
Get-AzContextAltere a sua subscrição ativa:
Set-AzContext -Subscription '00000000-0000-0000-0000-000000000000'Se precisar procurar a ID da Assinatura, você poderá encontrá-la na saída do
Get-AzSubscriptioncmdlet.
Criar um grupo de recursos
Ao criar recursos no Azure, você os coloca em um grupo de recursos para fins de gerenciamento.
Para criar um grupo de recursos, use o New-AzResourceGroup cmdlet. Você deve especificar um nome e um local, e o nome deve ser exclusivo em sua assinatura. O local determina onde os metadados do seu grupo de recursos são armazenados, o que pode ser importante por motivos de conformidade. Use o Get-AzLocation cmdlet para determinar os locais disponíveis.
Nota
Se você estiver trabalhando em uma área restrita do Azure, ele criará o grupo de recursos para você. Se você preferir trabalhar em sua própria assinatura, use o seguinte comando.
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 Get-AzResourceGroup cmdlet.
Get-AzResourceGroup
Para obter uma exibição mais concisa, você pode canalizar a saída para o Format-Table cmdlet:
Get-AzResourceGroup | Format-Table
Você também pode filtrar a saída para mostrar apenas um grupo de recursos específico:
Get-AzResourceGroup -Name <resource-group-name>
Criar uma máquina virtual do Azure
Criar máquinas virtuais (VMs) é uma tarefa comum que você pode executar com o Azure PowerShell.
O New-AzVM cmdlet é usado para criar uma VM. Este cmdlet tem vários parâmetros para lidar com as extensas definições de configuração de uma VM. A maioria dos parâmetros tem valores padrão razoáveis, portanto, você normalmente precisa especificar apenas cinco itens principais:
- ResourceGroupName: O grupo de recursos onde a nova VM é colocada.
- Nome: O nome da VM no Azure.
- Local: a região geográfica onde a VM é provisionada.
-
Credencial: um objeto que contém o nome de usuário e a senha da conta de administrador da VM.
Use o
Get-Credentialcmdlet 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 para a VM, normalmente uma distribuição Linux ou Windows Server.
Eis 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 New-AzVM cmdlet, conforme mostrado no exemplo anterior. Como alternativa, você pode fornecer os parâmetros diretamente para o New-AzVM cmdlet ou usar outros cmdlets para configurar a máquina virtual, como Set-AzVMOperatingSystem, Set-AzVMSourceImage, Add-AzVMNetworkInterfacee Set-AzVMOSDisk.
Por exemplo, para fornecer os parâmetros diretamente ao New-AzVM cmdlet, use a seguinte sintaxe:
New-AzVM -Name <vm-name> -ResourceGroupName <resource-group-name> -Credential (Get-Credential) ...
Exemplo: Obtendo informações para uma VM
Você pode listar as VMs em sua assinatura usando o Get-AzVM comando. Este comando também oferece suporte à recuperação de uma VM específica especificando 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 é um objeto com o $vm qual você pode interagir. Por exemplo, você pode fazer alterações nesse objeto e, em seguida, enviar as alterações por push para o Azure usando o Update-AzVM comando:
$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 é apropriado para tarefas pontuais. Por exemplo, você pode criar e gerenciar grupos de recursos interativamente se eles forem criados apenas uma vez durante o tempo de vida de um projeto. O modo interativo geralmente é mais rápido e fácil do que escrever um script para tarefas que são executadas apenas uma vez.