Crear un Recurso Azure interactivamente con Azure PowerShell

Completado

En modo interactivo, PowerShell permite escribir y ejecutar comandos inmediatamente.

En el ejemplo de gestión de relaciones con los clientes (CRM), el objetivo es crear tres entornos de prueba, cada uno de los cuales contendrá máquinas virtuales (VM). Use grupos de recursos para asegurarse de que las máquinas virtuales se organizan en entornos independientes:

  • Pruebas unitarias
  • Pruebas de integración
  • Pruebas de aceptación

Puesto que solo necesita crear los grupos de recursos una vez, usar PowerShell de forma interactiva para esta tarea es una opción razonable.

Al ejecutar un comando en PowerShell, coincide con el comando en un cmdlet y realiza la acción solicitada.

Ejemplo: creación de un grupo de recursos con Azure PowerShell

Vamos a realizar una tarea común: crear un grupo de recursos. Los grupos de recursos le ayudan a administrar los recursos relacionados colectivamente y la creación de un nuevo grupo de recursos suele ser una de las primeras tareas que se realizan al iniciar una nueva solución de Azure.

Estos son los tres pasos que debe seguir:

  1. Conectarse a la suscripción de Azure.

  2. Crear el grupo de recursos.

  3. Verifique que el grupo de recursos se ha creado correctamente.

Cada paso corresponde a un comando de Azure PowerShell diferente.

Conexión con Azure

Al usar una instalación local de Azure PowerShell, debe autenticarse antes de ejecutar los comandos de Azure PowerShell. El cmdlet Connect-AzAccount le pide las credenciales de Azure y luego se conecta a la suscripción de Azure.

Para conectarse de forma interactiva, no es necesario especificar ningún parámetro:

Connect-AzAccount

Este comando abre un símbolo del sistema para las credenciales de Azure y establece una conexión a la suscripción de Azure.

Trabajo con suscripciones

Si es nuevo en Azure, sólo tiene una suscripción. Sin embargo, si lleva un tiempo utilizando Azure, es posible que tenga varias suscripciones. Azure PowerShell permite configurar en qué suscripción se ejecutan los comandos.

Sólo puede estar activo en una suscripción a la vez. Use el cmdlet Get-AzContext para determinar qué suscripción está actualmente activa. Si no es la correcta, puede cambiar las suscripciones mediante el cmdlet Set-AzContext.

  1. Obtenga una lista de todas las suscripciones:

    Get-AzSubscription
    
  2. Compruebe la suscripción actual en la que ha iniciado sesión:

    Get-AzContext
    
  3. Cambie la suscripción activa:

    Set-AzContext -Subscription '00000000-0000-0000-0000-000000000000'
    

    Si necesita buscar el identificador de suscripción, puede encontrarlo en la salida del Get-AzSubscription cmdlet.

Crear un grupo de recursos

Al crear recursos en Azure, los coloca en un grupo de recursos con fines de administración.

Para crear un grupo de recursos, use el cmdlet New-AzResourceGroup. Debe especificar un nombre y una ubicación, y el nombre debe ser único dentro de la suscripción. The location determines where the metadata for your resource group is stored, which can be important for compliance reasons. Use el Get-AzLocation cmdlet para determinar las ubicaciones disponibles.

Nota:

Si trabaja en un espacio aislado de Azure, crea automáticamente el grupo de recursos. Si prefiere trabajar en su propia suscripción, utilice el siguiente comando.

La sintaxis para crear un grupo de recursos es:

New-AzResourceGroup -Name <resource-group-name> -Location <location>

Enumerar todos los grupos de recursos

Para recuperar una lista de todos los grupos de recursos de la suscripción activa, utilice el cmdlet Get-AzResourceGroup.

Get-AzResourceGroup

Para obtener una vista más concisa, puede canalizar la salida al Format-Table cmdlet :

Get-AzResourceGroup | Format-Table

También puede filtrar la salida para mostrar solo un grupo de recursos específico:

Get-AzResourceGroup -Name <resource-group-name>

Cree una máquina virtual de Azure.

La creación de máquinas virtuales (VM) es una tarea común que puede realizar con Azure PowerShell.

El cmdlet New-AzVM se usa para crear una máquina virtual. Este cmdlet tiene varios parámetros para controlar las amplias opciones de configuración de una máquina virtual. La mayoría de los parámetros tienen valores predeterminados razonables, por lo que normalmente debe especificar solo cinco elementos clave:

  • ResourceGroupName: El grupo de recursos donde se coloca la nueva máquina virtual.
  • Name: el nombre de la máquina virtual en Azure.
  • Ubicación: Región geográfica donde se aprovisiona la máquina virtual.
  • Credential: Un objeto que contiene el nombre de usuario y la contraseña de la cuenta de administrador de la máquina virtual. Use el Get-Credential cmdlet para solicitar un nombre de usuario y una contraseña y almacenarlos como un objeto de credencial.
  • Imagen: La imagen del sistema operativo que se utilizará para la máquina virtual, normalmente una distribución de Linux o Windows Server.

Este es un ejemplo:

$azVmParams = @{
    ResourceGroupName = '<resource-group-name>'
    Name              = '<machine-name>'
    Credential        = '<credentials-object>'
    Location          = '<location>'
    Image             = '<image-name>'
}
New-AzVM @azVmParams

Puede suministrar estos parámetros como una tabla hash con splatting para el cmdlet New-AzVM, como se muestra en el ejemplo anterior. Como alternativa, puede proporcionar los parámetros directamente al cmdlet New-AzVM o usar otros cmdlets para configurar la máquina virtual, como Set-AzVMOperatingSystem, Set-AzVMSourceImage, Add-AzVMNetworkInterface y Set-AzVMOSDisk.

Por ejemplo, para proporcionar los parámetros directamente al New-AzVM cmdlet, use la sintaxis siguiente:

New-AzVM -Name <vm-name> -ResourceGroupName <resource-group-name> -Credential (Get-Credential) ...

Ejemplo: Obtención de información de una máquina virtual

Puede enumerar las máquinas virtuales de la suscripción con el comando Get-AzVM. Este comando también admite la recuperación de una máquina virtual específica especificando el parámetro Nombre.

Almacene los resultados de Get-AzVM en una variable:

$vm = Get-AzVM -Name <vm-name> -ResourceGroupName <resource-group-name>

El contenido de la variable $vm es un objeto con el que puede interactuar. Por ejemplo, puede realizar cambios en este objeto y, a continuación, insertar los cambios en Azure mediante el 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

El uso de PowerShell en modo interactivo es apropiado para tareas puntuales. Por ejemplo, puede crear y administrar grupos de recursos de forma interactiva si solo se crean una vez durante la vigencia de un proyecto. El modo interactivo suele ser más rápido y fácil que escribir un script para las tareas que se ejecutan solo una vez.