Compartir vía


Implementación de VM en el dispositivo Azure Stack Edge mediante Azure PowerShell

SE APLICA A: Sí para Pro GPU SKUAzure Stack Edge Pro: GPUSí para Pro 2 SKUAzure Stack Edge Pro 2Sí para Pro R SKUAzure Stack Edge Pro RSí para Mini R SKUAzure Stack Edge Mini R

En este artículo se describe cómo crear y administrar una máquina virtual en el dispositivo Azure Stack Edge mediante Azure PowerShell.

Flujo de trabajo de implementación de una VM

El flujo de trabajo de implementación general de la implementación de máquina virtual es el siguiente:

  1. Conéctese a Azure Resource Manager local en el dispositivo.
  2. Identifique la suscripción integrada en el dispositivo.
  3. Traiga su imagen de máquina virtual.
  4. Cree un grupo de recursos en la suscripción integrada. El grupo de recursos contiene la máquina virtual y todos los recursos relacionados.
  5. Cree una cuenta de almacenamiento local en el dispositivo para almacenar el disco duro virtual que se usa para crear una imagen de máquina virtual.
  6. Cargue una imagen de origen de Windows o Linux en la cuenta de almacenamiento para crear un disco administrado.
  7. Use el disco administrado para crear una imagen de máquina virtual.
  8. Habilite el proceso en un puerto de dispositivo para crear un conmutador virtual.
  9. Se crea una red virtual mediante el conmutador virtual conectado al puerto en el que ha habilitado el proceso.
  10. Cree una máquina virtual con la imagen de máquina virtual, la red virtual y las interfaces de red virtual creadas anteriormente para comunicarse dentro de la red virtual y asigne una dirección IP pública para acceder de forma remota a la máquina virtual. También puede incluir discos de datos para proporcionar más almacenamiento para la máquina virtual.

Requisitos previos

Para poder implementar VM en el dispositivo Azure Stack Edge, debe configurar el cliente para que se conecte al dispositivo mediante Azure Resource Manager con Azure PowerShell. Para consultar las instrucciones detalladas, vaya a Conexión a Azure Resource Manager en un dispositivo Azure Stack Edge Pro.

Asegúrese de que se pueden usar los pasos siguientes para acceder al dispositivo desde el cliente. Ya ha realizado esta configuración cuando se conectó a Azure Resource Manager y ahora está comprobando que la configuración se ha realizado correctamente.

  1. Ejecute el siguiente comando para comprobar que la comunicación de Azure Resource Manager funciona:

    Add-AzEnvironment -Name <Environment Name> -ARMEndpoint "https://management.<appliance name>.<DNSDomain>"
    
  2. Para llamar a las API de dispositivo local para autenticarse, escriba:

    login-AzAccount -EnvironmentName <Environment Name> -TenantId c0257de7-538f-415c-993a-1b87a031879d
    

    Para conectarse mediante Azure Resource Manager, proporcione el nombre de usuario EdgeArmUser y la contraseña.

  3. Si configuró el proceso para Kubernetes, puede omitir este paso. De lo contrario, asegúrese de que ha habilitado una interfaz de red para el proceso de la siguiente manera:

    a. En la interfaz de usuario local, vaya la configuración de Proceso.
    b. Seleccione la interfaz de red que desea usar para crear un conmutador virtual. Las máquinas virtuales que cree se adjuntarán a un conmutador virtual conectado a este puerto y a la red asociada. Asegúrese de elegir una red que coincida con la dirección IP que usará para la máquina virtual.

    Captura de pantalla del panel de configuración de red de la configuración de proceso.

    c. En Enable for compute (Habilitar para proceso) en la interfaz de red, seleccione Yes (Sí). Azure Stack Edge creará y administrará un conmutador virtual correspondiente a esa interfaz de red. No especifique direcciones IP específicas para Kubernetes en este momento. La habilitación del proceso puede tardar varios minutos.

    Nota:

    Si va a crear máquinas virtuales de GPU, seleccione una interfaz de red conectada a Internet, ya que ello le permite instalar una extensión de GPU en el dispositivo.

Consulta de la suscripción integrada en el dispositivo

Para Azure Resource Manager, solo se admite una única suscripción fija que es visible por el usuario. Esta suscripción es única por dispositivo y no se pueden cambiar el nombre y el identificador de suscripción.

La suscripción contiene todos los recursos necesarios para la creación de máquinas virtuales.

Importante

La suscripción se crea al habilitar las máquinas virtuales desde Azure Portal y reside localmente en el dispositivo.

La suscripción se usa para implementar las máquinas virtuales.

  1. Para enumerar la suscripción, ejecute el siguiente comando:

    Get-AzSubscription
    

    A continuación se muestra una salida de ejemplo:

    PS C:\WINDOWS\system32> Get-AzSubscription
    
    Name                          Id                                   TenantId
    ----                          --                                   --------
    Default Provider Subscription ...                                  ...
    
    
    PS C:\WINDOWS\system32>
    
  2. Obtenga la lista de los proveedores de recursos registrados que se ejecutan en el dispositivo. Normalmente, la lista incluye proceso, red y almacenamiento.

    Get-AzResourceProvider
    

    Nota:

    Los proveedores de recursos están registrados previamente y no se pueden modificar ni cambiar.

    A continuación se muestra una salida de ejemplo:

    PS C:\WINDOWS\system32>  Get-AzResourceProvider
    
    ProviderNamespace : Microsoft.AzureBridge
    RegistrationState : Registered
    ResourceTypes     : {locations, operations, locations/ingestionJobs}
    Locations         : {DBELocal}
    
    ProviderNamespace : Microsoft.Compute
    RegistrationState : Registered
    ResourceTypes     : {virtualMachines, virtualMachines/extensions, locations, operations...}
    Locations         : {DBELocal}
    
    ProviderNamespace : Microsoft.Network
    RegistrationState : Registered
    ResourceTypes     : {operations, locations, locations/operations, locations/usages...}
    Locations         : {DBELocal}
    
    ProviderNamespace : Microsoft.Resources
    RegistrationState : Registered
    ResourceTypes     : {tenants, locations, providers, checkresourcename...}
    Locations         : {DBELocal}
    
    ProviderNamespace : Microsoft.Storage
    RegistrationState : Registered
    ResourceTypes     : {storageaccounts, storageAccounts/blobServices, storageAccounts/tableServices,
                        storageAccounts/queueServices...}
    Locations         : {DBELocal}
    
    PS C:\WINDOWS\system32>
    

Crear un grupo de recursos

Empiece por crear un nuevo grupo de recursos de Azure y úselo como contenedor lógico para todos los recursos relacionados con la máquina virtual, como la cuenta de almacenamiento, el disco, la interfaz de red y el disco administrado.

Importante

Todos los recursos se crean en la misma ubicación que el dispositivo, y la ubicación se establece en DBELocal.

  1. Configure algunos parámetros.

    $ResourceGroupName = "<Resource group name>" 
    
  2. Cree un grupo de recursos para los recursos que cree para la máquina virtual.

    New-AzResourceGroup -Name $ResourceGroupName -Location DBELocal
    

    A continuación se muestra una salida de ejemplo:

    PS C:\WINDOWS\system32> New-AzResourceGroup -Name myaseazrg -Location DBELocal
    
    ResourceGroupName : myaseazrg
    Location          : dbelocal
    ProvisioningState : Succeeded
    Tags              :
    ResourceId        : /subscriptions/.../resourceGroups/myaseazrg
    
    PS C:\WINDOWS\system32>
    

Creación de una cuenta de almacenamiento local

Cree una nueva cuenta de almacenamiento local con un grupo de recursos que ya tenga. Use esta cuenta de almacenamiento local para cargar la imagen de disco virtual cuando cree una máquina virtual.

Antes de crear una cuenta de almacenamiento local, debe configurar el cliente para que se conecte al dispositivo por medio de Azure Resource Manager a través de Azure PowerShell. Para consultar las instrucciones detalladas, vaya a Conexión a Azure Resource Manager en un dispositivo Azure Stack Edge Pro.

  1. Configure algunos parámetros.

    $StorageAccountName = "<Storage account name>"    
    
  2. Cree una nueva cuenta de almacenamiento local en el dispositivo.

    New-AzStorageAccount -Name $StorageAccountName -ResourceGroupName $ResourceGroupName -Location DBELocal -SkuName Standard_LRS
    

    Nota:

    Con Azure Resource Manager, solo puede crear cuentas de almacenamiento local, como almacenamiento con redundancia local (estándar o prémium). Para crear cuentas de almacenamiento en niveles, consulte Tutorial: Transferencia de datos a través de cuentas de almacenamiento de Azure Stack Edge Pro con GPU.

    Este es un ejemplo de salida:

    PS C:\WINDOWS\system32> New-AzStorageAccount -Name myaseazsa -ResourceGroupName myaseazrg -Location DBELocal -SkuName Standard_LRS
    
    StorageAccountName ResourceGroupName PrimaryLocation SkuName      Kind    AccessTier CreationTime
    ------------------ ----------------- --------------- -------      ----    ---------- ------------
    myaseazsa          myaseazrg         DBELocal        Standard_LRS Storage            6/10/2021 11:45...
    
    PS C:\WINDOWS\system32>
    

Para obtener las claves de acceso de una cuenta de almacenamiento local que haya creado, proporcione el nombre del grupo de recursos asociado y el nombre de la cuenta de almacenamiento local.

Get-AzStorageAccountKey

Este es un ejemplo de salida:

PS C:\WINDOWS\system32> Get-AzStorageAccountKey
    
cmdlet Get-AzStorageAccountKey at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
ResourceGroupName: myaseazrg
Name: myaseazsa
    
KeyName    Value                                                                                       Permissions
-------    -----                                                                                       ------
key1       gv3OF57tuPDyzBNc1M7fhil2UAiiwnhTT6zgiwE3TlF/CD217Cvw2YCPcrKF47joNKRvzp44leUe5HtVkGx8RQ==    Full
key2       kmEynIs3xnpmSxWbU41h5a7DZD7v4gGV3yXa2NbPbmhrPt10+QmE5PkOxxypeSqbqzd9si+ArNvbsqIRuLH2Lw==    Full
    
PS C:\WINDOWS\system32>

Adición del URI del blob al archivo de host

Ya ha agregado el identificador URI del blob en el archivo de hosts del cliente que usa para conectarse a Azure Blob Storage en Modificación del archivo de host para la resolución de nombres de punto de conexión de Conexión a Azure Resource Manager en un dispositivo Azure Stack Edge Pro. Esta entrada se usó para agregar el URI del blob:

<Device IP address> <storage name>.blob.<appliance name>.<dnsdomain>

Instalación de certificados

Si usa HTTPS, tendrá que instalar los certificados adecuados en el dispositivo. En este caso, instale el certificado del punto de conexión de blob. Para más información, consulte Uso de certificados con el dispositivo Azure Stack Edge Pro con GPU.

Carga de un disco duro virtual

Copie las imágenes de disco que se van a usar en blobs en páginas en la cuenta de almacenamiento local que creó anteriormente. Puede usar una herramienta como AzCopy para cargar el disco duro virtual (VHD) en la cuenta de almacenamiento.

Use los comandos siguientes con AzCopy 10:

  1. Establezca algunos parámetros, incluida la versión adecuada de las API para AzCopy. En este ejemplo, se ha utilizado AzCopy 10.

    $Env:AZCOPY_DEFAULT_SERVICE_API_VERSION="2019-07-07"    
    $ContainerName = <Container name>
    $ResourceGroupName = <Resource group name>
    $StorageAccountName = <Storage account name>
    $VHDPath = "Full VHD Path"
    $VHDFile = <VHD file name>
    
  2. Copie el disco duro virtual del origen (en este caso, el sistema local) en la cuenta de almacenamiento que creó en el dispositivo en el paso anterior.

    $StorageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName)[0].Value
    $blobendpoint = (Get-AzEnvironment -Name Environment Name).StorageEndpointSuffix
    $StorageAccountContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey -Endpoint $blobendpoint
    <Create the container if it does not exist>
    $containerName = "con1"
    $container = New-AzStorageContainer -Name $containerName -Context $StorageAccountContext -Permission Container
    $StorageAccountSAS = New-AzStorageAccountSASToken -Service Blob -ResourceType Container,Service,Object -Permission "acdlrw" -Context $StorageAccountContext -Protocol HttpsOnly
    $endPoint = (Get-AzStorageAccount -name $StorageAccountName -ResourceGroupName $ResourceGroupName).PrimaryEndpoints.Blob
    <Path to azcopy.exe> cp "$VHDPath\$VHDFile" "$endPoint$ContainerName$StorageAccountSAS"    
    

    Este es un ejemplo de salida:

    PS C:\windows\system32> $ContainerName = "testcontainer1"
    PS C:\windows\system32> $ResourceGroupName = "myaseazrg"
    PS C:\windows\system32> $StorageAccountName = "myaseazsa"
    PS C:\windows\system32> $VHDPath = "C:\Users\alkohli\Downloads\Ubuntu1604"           
    PS C:\windows\system32> $VHDFile = "ubuntu13.vhd"
    
    PS C:\windows\system32> $StorageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName)[0].Value
    PS C:\windows\system32> $endPoint = (Get-AzStorageAccount -name $StorageAccountName -ResourceGroupName $ResourceGroupName).PrimaryEndpoints.Blob
    PS C:\windows\system32> $StorageAccountContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey -Endpoint $endpoint
    PS C:\windows\system32> $StorageAccountSAS = New-AzStorageAccountSASToken -Service Blob -ResourceType Container,Service,Object -Permission "acdlrw" -Context $StorageAccountContext -Protocol HttpsOnly
    
    PS C:\windows\system32> C:\azcopy\azcopy_windows_amd64_10.10.0\azcopy.exe cp "$VHDPath\$VHDFile" "$endPoint$ContainerName$StorageAccountSAS"
    INFO: Scanning...
    INFO: Any empty folders will not be processed, because source and/or destination doesn't have full folder support
    
    Job 72a5e3dd-9210-3e43-6691-6bebd4875760 has started
    Log file is located at: C:\Users\alkohli\.azcopy\72a5e3dd-9210-3e43-6691-6bebd4875760.log
    
    INFO: azcopy.exe: A newer version 10.11.0 is available to download
    

Creación de un disco administrado a partir del VHD

Cree un disco administrado desde el VHD cargado.

  1. Configure algunos parámetros.

    $DiskName = "<Managed disk name>"
    $HyperVGeneration = "<Generation of the image: V1 or V2>"
    
  2. Cree un disco administrado a partir del VHD cargado. Para obtener la dirección URL de origen del disco duro virtual, vaya al contenedor de la cuenta de almacenamiento que contiene el VHD en el Explorador de Storage. Seleccione el VHD, haga clic con el botón derecho y seleccione Propiedades. En el cuadro de diálogo Propiedades del blob, seleccione el Identificador URI.

    $StorageAccountId = (Get-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName).Id    
    $DiskConfig = New-AzDiskConfig -Location DBELocal -HyperVGeneration $HyperVGeneration -StorageAccountId $StorageAccountId -CreateOption Import -SourceUri "Source URL for your VHD"
    New-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $DiskName -Disk $DiskConfig
    

    Este es un ejemplo de salida:

    PS C:\WINDOWS\system32> $DiskName = "myazmd"
    PS C:\WINDOWS\system32  $HyperVGeneration = "V1"
    PS C:\WINDOWS\system32> $StorageAccountId = (Get-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName).Id
    PS C:\WINDOWS\system32> $DiskConfig = New-AzDiskConfig -Location DBELocal -HyperVGeneration $HyperVGeneration -StorageAccountId $StorageAccountId -CreateOption Import -SourceUri "https://myaseazsa.blob.myasegpu.wdshcsso.com/testcontainer1/ubuntu13.vhd"
    PS C:\WINDOWS\system32> New-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $DiskName -Disk $DiskConfig
    
    ResourceGroupName            : myaseazrg
    ManagedBy                    :
    Sku                          : Microsoft.Azure.Management.Compute.Models.DiskSku
    Zones                        :
    TimeCreated                  : 6/24/2021 12:19:56 PM
    OsType                       :
    HyperVGeneration             : V1
    CreationData                 : Microsoft.Azure.Management.Compute.Models.CreationDat
                                   a
    DiskSizeGB                   : 30
    DiskSizeBytes                : 32212254720
    UniqueId                     : 53743801-cbf2-4d2f-acb4-971d037a9395
    EncryptionSettingsCollection :
    ProvisioningState            : Succeeded
    DiskIOPSReadWrite            : 500
    DiskMBpsReadWrite            : 60
    DiskState                    : Unattached
    Encryption                   : Microsoft.Azure.Management.Compute.Models.Encryption
    Id                           : /subscriptions/.../r
                                   esourceGroups/myaseazrg/providers/Microsoft.Compute/d
                                   isks/myazmd
    Name                         : myazmd
    Type                         : Microsoft.Compute/disks
    Location                     : DBELocal
    Tags                         : {}
    
    PS C:\WINDOWS\system32>
    

Creación de una imagen de máquina virtual a partir del disco administrado

Ahora, va a crear una imagen de máquina virtual a partir del disco administrado.

  1. Configure algunos parámetros.

    $DiskSize = "<Size greater than or equal to size of source managed disk>"
    $OsType = "<linux or windows>" 
    $ImageName = "<Image name>"
    
  2. Cree una imagen de máquina virtual. Los tipos de sistema operativo admitidos son Linux y Windows.

    $imageConfig = New-AzImageConfig -Location DBELocal -HyperVGeneration $hyperVGeneration 
    $ManagedDiskId = (Get-AzDisk -Name $DiskName -ResourceGroupName $ResourceGroupName).Id
    Set-AzImageOsDisk -Image $imageConfig -OsType $OsType -OsState 'Generalized' -DiskSizeGB $DiskSize -ManagedDiskId $ManagedDiskId 
    New-AzImage -Image $imageConfig -ImageName $ImageName -ResourceGroupName $ResourceGroupName  
    

    Este es un ejemplo de salida.

    PS C:\WINDOWS\system32> $OsType = "linux"
    PS C:\WINDOWS\system32> $ImageName = "myaseazlinuxvmimage"
    PS C:\WINDOWS\system32> $DiskSize = 35
    PS C:\WINDOWS\system32> $imageConfig = New-AzImageConfig -Location DBELocal
    PS C:\WINDOWS\system32> $ManagedDiskId = (Get-AzDisk -Name $DiskName -ResourceGroupName $ResourceGroupName).Id
    PS C:\WINDOWS\system32> Set-AzImageOsDisk -Image $imageConfig -OsType $OsType -OsState 'Generalized' -DiskSizeGB $DiskSize -ManagedDiskId $ManagedDiskId
    
    ResourceGroupName    :
    SourceVirtualMachine :
    StorageProfile       : Microsoft.Azure.Management.Compute.Models.ImageStorageProfile
    ProvisioningState    :
    HyperVGeneration     : V1
    Id                   :
    Name                 :
    Type                 :
    Location             : DBELocal
    Tags                 :
    
    PS C:\WINDOWS\system32> New-AzImage -Image $imageConfig -ImageName $ImageName -ResourceGroupName $ResourceGroupName
    
    ResourceGroupName    : myaseazrg
    SourceVirtualMachine :
    StorageProfile       : Microsoft.Azure.Management.Compute.Models.ImageStorageProfile
    ProvisioningState    : Succeeded
    HyperVGeneration     : V1
    Id                   : /subscriptions/.../resourceG
                           roups/myaseazrg/providers/Microsoft.Compute/images/myaseazlin
                           uxvmimage
    Name                 : myaseazlinuxvmimage
    Type                 : Microsoft.Compute/images
    Location             : dbelocal
    Tags                 : {}
    
    PS C:\WINDOWS\system32> 
    

Creación de la máquina virtual con los recursos creados anteriormente

Antes de crear e implementar la máquina virtual, debe crear una red virtual y asociarla una interfaz de red virtual.

Importante

Se aplican las reglas siguientes:

  • Solo puede crear una red virtual, incluso entre grupos de recursos. La red virtual debe tener exactamente el mismo espacio de direcciones que la red lógica.
  • Una red virtual solo puede tener una subred. La subred debe tener exactamente el mismo espacio de direcciones que la red virtual.
  • Cuando se crea la tarjeta de interfaz de red virtual, solo se puede usar el método de asignación estática. El usuario debe proporcionar una dirección IP privada.

Consulta a la red virtual creada automáticamente

Cuando se habilita el proceso desde la interfaz de usuario local del dispositivo, se crea automáticamente la red virtual denominada ASEVNET en el grupo de recursos ASERG.

Use el siguiente comando para consultar la red virtual existente:

$ArmVn = Get-AzVirtualNetwork -Name ASEVNET -ResourceGroupName ASERG 

Creación de una tarjeta de interfaz de red virtual

Cree una tarjeta de interfaz de red virtual mediante el identificador de subred de red virtual.

  1. Configure algunos parámetros.

    $IpConfigName = "<IP config name>"
    $NicName = "<Network interface name>"
    
  2. Cree una interfaz de red virtual.

    $ipConfig = New-AzNetworkInterfaceIpConfig -Name $IpConfigName -SubnetId $aRmVN.Subnets[0].Id 
    $Nic = New-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName -Location DBELocal -IpConfiguration $IpConfig    
    

    De manera predeterminada, se asigna dinámicamente una dirección IP a la interfaz de red desde la red habilitada para proceso. Use el -PrivateIpAddress parameter si va a asignar una dirección IP estática a la interfaz de red.

    Este es un ejemplo de salida:

    PS C:\WINDOWS\system32> $IpConfigName = "myazipconfig1"
    PS C:\WINDOWS\system32> $NicName = "myaznic1"
    PS C:\WINDOWS\system32> $ipConfig = New-AzNetworkInterfaceIpConfig -Name $IpConfigName -SubnetId $aRmVN.Subnets[0].Id 
    PS C:\WINDOWS\system32> $ipConfig = New-AzNetworkInterfaceIpConfig -Name $IpConfigName -SubnetId $aRmVN.Subnets[0].Id
    PS C:\WINDOWS\system32> $Nic = New-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName -Location DBELocal -IpConfiguration $IpConfig
    PS C:\WINDOWS\system32> $Nic
    
    Name                        : myaznic1
    ResourceGroupName           : myaseazrg
    Location                    : dbelocal
    Id                          : /subscriptions/.../re
                                  sourceGroups/myaseazrg/providers/Microsoft.Network/net
                                  workInterfaces/myaznic1
    Etag                        : W/"0b20057b-2102-4f34-958b-656327c0fb1d"
    ResourceGuid                : e7d4131f-6f01-4492-9d4c-a8ff1af7244f
    ProvisioningState           : Succeeded
    Tags                        :
    VirtualMachine              : null
    IpConfigurations            : [
                                    {
                                      "Name": "myazipconfig1",
                                      "Etag":
                                  "W/\"0b20057b-2102-4f34-958b-656327c0fb1d\"",
                                      "Id": "/subscriptions/.../resourceGroups/myaseazrg/providers/Microsoft.
                                  Network/networkInterfaces/myaznic1/ipConfigurations/my
                                  azipconfig1",
                                      "PrivateIpAddress": "10.126.76.60",
                                      "PrivateIpAllocationMethod": "Dynamic",
                                      "Subnet": {
                                        "Delegations": [],
                                        "Id": "/subscriptions/.../resourceGroups/ASERG/providers/Microsoft.Ne
                                  twork/virtualNetworks/ASEVNET/subnets/ASEVNETsubNet",
                                        "ServiceAssociationLinks": []
                                      },
                                      "ProvisioningState": "Succeeded",
                                      "PrivateIpAddressVersion": "IPv4",
                                      "LoadBalancerBackendAddressPools": [],
                                      "LoadBalancerInboundNatRules": [],
                                      "Primary": true,
                                      "ApplicationGatewayBackendAddressPools": [],
                                      "ApplicationSecurityGroups": []
                                    }
                                  ]
    DnsSettings                 : {
                                    "DnsServers": [],
                                    "AppliedDnsServers": [],
                                    "InternalDomainNameSuffix": "auwlfcx0dhxurjgisct43fc
                                  ywb.a--x.internal.cloudapp.net"
                                  }
    EnableIPForwarding          : False
    EnableAcceleratedNetworking : False
    NetworkSecurityGroup        : null
    Primary                     :
    MacAddress                  : 001DD84A58D1
    
    PS C:\WINDOWS\system32>
    

Opcionalmente, al crear una tarjeta de interfaz de red virtual para una máquina virtual, puede pasar la dirección IP pública. En este caso, la dirección IP pública devuelve la dirección IP privada.

New-AzPublicIPAddress -Name <Public IP> -ResourceGroupName <ResourceGroupName> -AllocationMethod Static -Location DBELocal
$publicIP = (Get-AzPublicIPAddress -Name <Public IP> -ResourceGroupName <Resource group name>).Id
$ipConfig = New-AzNetworkInterfaceIpConfig -Name <ConfigName> -PublicIpAddressId $publicIP -SubnetId $subNetId

Creación de una máquina virtual

Ahora puede usar la imagen de la VM para crear una VM y conectarla a la red virtual que creó anteriormente.

  1. Establezca el nombre de usuario y la contraseña para iniciar sesión en la máquina virtual que desea crear.

    $pass = ConvertTo-SecureString "<Password>" -AsPlainText -Force;
    $cred = New-Object System.Management.Automation.PSCredential("<Enter username>", $pass)
    

    Después de crear y encender la máquina virtual, use el nombre de usuario y la contraseña anteriores para iniciar sesión en ella.

  2. Establezca los parámetros.

    $VmName = "<VM name>"
    $ComputerName = "<VM display name>"
    $OsDiskName = "<OS disk name>"
    
  3. Cree la máquina virtual.

    $VirtualMachine =  New-AzVMConfig -VmName $VmName -VMSize "Standard_D1_v2"
    
    $VirtualMachine =  Set-AzVMOperatingSystem -VM $VirtualMachine -Linux -ComputerName $ComputerName -Credential $cred
    
    $VirtualMachine =  Set-AzVmOsDisk -VM $VirtualMachine -Name $OsDiskName -Caching "ReadWrite" -CreateOption "FromImage" -Linux -StorageAccountType Standard_LRS
    
    $nicID = (Get-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName).Id
    
    $VirtualMachine =  Add-AzVMNetworkInterface -Vm $VirtualMachine -Id $nicID
    
    $image = ( Get-AzImage -ResourceGroupName $ResourceGroupName -ImageName $ImageName).Id
    
    $VirtualMachine =  Set-AzVMSourceImage -VM $VirtualMachine -Id $image
    
    New-AzVM -ResourceGroupName $ResourceGroupName -Location DBELocal -VM $VirtualMachine -Verbose
    

    Este es un ejemplo de salida.

    PS C:\WINDOWS\system32> $pass = ConvertTo-SecureString "Password1" -AsPlainText -Force;
    PS C:\WINDOWS\system32> $cred = New-Object System.Management.Automation.PSCredential("myazuser", $pass)
    PS C:\WINDOWS\system32> $VmName = "myazvm"
    >> $ComputerName = "myazvmfriendlyname"
    >> $OsDiskName = "myazosdisk1"
    PS C:\WINDOWS\system32> $VirtualMachine =  New-AzVMConfig -VmName $VmName -VMSize "Standard_D1_v2"
    PS C:\WINDOWS\system32> $VirtualMachine =  Set-AzVMOperatingSystem -VM $VirtualMachine -Linux -ComputerName $ComputerName -Credential $cred
    PS C:\WINDOWS\system32> $VirtualMachine =  Set-AzVmOsDisk -VM $VirtualMachine -Name $OsDiskName -Caching "ReadWrite" -CreateOption "FromImage" -Linux -StorageAccountType Standard_LRS
    PS C:\WINDOWS\system32> $nicID = (Get-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName).Id
    PS C:\WINDOWS\system32> $nicID/subscriptions/.../resourceGroups/myaseazrg/providers/Microsoft.Network/networkInterfaces/myaznic1
    PS C:\WINDOWS\system32> $VirtualMachine =  Add-AzVMNetworkInterface -VM $VirtualMachine -Id $nicID
    PS C:\WINDOWS\system32> $image = ( Get-AzImage -ResourceGroupName $ResourceGroupName -ImageName $ImageName).Id
    PS C:\WINDOWS\system32> $VirtualMachine =  Set-AzVMSourceImage -VM $VirtualMachine -Id $image
    PS C:\WINDOWS\system32> New-AzVM -ResourceGroupName $ResourceGroupName -Location DBELocal -VM $VirtualMachine -Verbose
    WARNING: Since the VM is created using premium storage or managed disk, existing
    standard storage account, myaseazsa, is used for boot diagnostics.
    VERBOSE: Performing the operation "New" on target "myazvm".
    
    RequestId IsSuccessStatusCode StatusCode ReasonPhrase
    --------- ------------------- ---------- ------------
                             True         OK OK
    
  4. Para averiguar la dirección IP asignada a la máquina virtual que ha creado, consulte la interfaz de red virtual que ha creado. Busque el elemento PrivateIPAddress y copie la dirección IP de la máquina virtual. Este es un ejemplo de salida.

    PS C:\WINDOWS\system32> $Nic
    
    Name                        : myaznic1
    ResourceGroupName           : myaseazrg
    Location                    : dbelocal
    Id                          : /subscriptions/.../re
                                  sourceGroups/myaseazrg/providers/Microsoft.Network/net
                                  workInterfaces/myaznic1
    Etag                        : W/"0b20057b-2102-4f34-958b-656327c0fb1d"
    ResourceGuid                : e7d4131f-6f01-4492-9d4c-a8ff1af7244f
    ProvisioningState           : Succeeded
    Tags                        :
    VirtualMachine              : null
    IpConfigurations            : [
                                    {
                                      "Name": "myazipconfig1",
                                      "Etag":
                                  "W/\"0b20057b-2102-4f34-958b-656327c0fb1d\"",
                                      "Id": "/subscriptions/.../resourceGroups/myaseazrg/providers/Microsoft.
                                  Network/networkInterfaces/myaznic1/ipConfigurations/my
                                  azipconfig1",
                                      "PrivateIpAddress": "10.126.76.60",
                                      "PrivateIpAllocationMethod": "Dynamic",
                                      "Subnet": {
                                        "Delegations": [],
                                        "Id": "/subscriptions/.../resourceGroups/ASERG/providers/Microsoft.Ne
                                  twork/virtualNetworks/ASEVNET/subnets/ASEVNETsubNet",
                                        "ServiceAssociationLinks": []
                                      },
                                      "ProvisioningState": "Succeeded",
                                      "PrivateIpAddressVersion": "IPv4",
                                      "LoadBalancerBackendAddressPools": [],
                                      "LoadBalancerInboundNatRules": [],
                                      "Primary": true,
                                      "ApplicationGatewayBackendAddressPools": [],
                                      "ApplicationSecurityGroups": []
                                    }
                                  ]
    DnsSettings                 : {
                                    "DnsServers": [],
                                    "AppliedDnsServers": [],
                                    "InternalDomainNameSuffix": "auwlfcx0dhxurjgisct43fc
                                  ywb.a--x.internal.cloudapp.net"
                                  }
    EnableIPForwarding          : False
    EnableAcceleratedNetworking : False
    NetworkSecurityGroup        : null
    Primary                     :
    MacAddress                  : 001DD84A58D1
    
    PS C:\WINDOWS\system32>
    

Conexión a la máquina virtual

Las instrucciones para conectarse pueden ser diferentes en función de si se ha creado una máquina virtual Windows o Linux.

Conexión a una máquina virtual Linux

Para conectarse a una máquina virtual Linux, realice lo siguiente:

Conéctese a la máquina virtual mediante la dirección IP privada que pasó durante la creación de la máquina virtual.

  1. Abra una sesión de SSH para conectarse con la dirección IP.

    ssh -l <username> <ip address>
    
  2. En el símbolo del sistema, escriba la contraseña que usó al crear la máquina virtual.

    Si tiene que proporcionar la clave SSH, use este comando.

    ssh -i c:/users/Administrator/.ssh/id_rsa Administrator@5.5.41.236

    A continuación se muestra un ejemplo de salida cuando se conecta a la máquina virtual:

    PS C:\WINDOWS\system32> ssh -l myazuser "10.126.76.60"
    The authenticity of host '10.126.76.60 (10.126.76.60)' can't be established.
    ECDSA key fingerprint is SHA256:V649Zbo58zAYMKreeP7M6w7Na0Yf9QPg4SM7JZVV0E4.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added '10.126.76.60' (ECDSA) to the list of known hosts.
    myazuser@10.126.76.60's password:
    Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.18.0-1013-azure x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
     System information disabled due to load higher than 1.0
    
      Get cloud support with Ubuntu Advantage Cloud Guest:
        http://www.ubuntu.com/business/services/cloud
    
    284 packages can be updated.
    192 updates are security updates. 
    
    The programs included with the Ubuntu system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
    applicable law.
    
    To run a command as administrator (user "root"), use "sudo <command>".
    See "man sudo_root" for details.
    
    myazuser@myazvmfriendlyname:~$ client_loop: send disconnect: Connection reset
    PS C:\WINDOWS\system32>
    

Si usó una dirección IP pública durante la creación de la máquina virtual, puede usar esa IP para conectarse a la máquina virtual. Para obtener la dirección IP pública, ejecute el siguiente comando:

$publicIp = Get-AzPublicIpAddress -Name $PublicIp -ResourceGroupName $ResourceGroupName

En este caso, la dirección IP pública será la misma que la dirección IP privada que pasó durante la creación de la interfaz de red virtual.

Conexión a una máquina virtual Windows

Para conectarse a una máquina virtual Windows, realice lo siguiente:

Conéctese a la máquina virtual Windows mediante el Protocolo de escritorio remoto (RDP) a través de la dirección IP que pasó durante la creación de la máquina virtual.

  1. En su cliente, abra RDP.

  2. Vaya a Inicio y escriba mstsc.

  3. En el panel Conexión a Escritorio remoto, escriba la dirección IP de la máquina virtual y las credenciales de acceso que usó en el archivo de parámetros de la plantilla de máquina virtual. A continuación, seleccione Conectar.

    Captura de pantalla del panel Conexión a Escritorio remoto para conectarse a través de RDP a la máquina virtual de Windows.

    Nota:

    Es posible que tenga que aprobar la conexión a una máquina que no sea de confianza.

Ahora ha iniciado sesión en la máquina virtual que se ejecuta en el dispositivo.

Administración de la VM

En las siguientes secciones se describen algunas de las operaciones comunes que puede crear en el dispositivo Azure Stack Edge Pro.

Enumeración de las máquinas virtuales que se ejecutan en el dispositivo

Para devolver una lista de todas las máquinas virtuales que se ejecutan en el dispositivo Azure Stack Edge, ejecute este comando:

Get-AzVM -ResourceGroupName <String> -Name <String>

Para más información sobre este cmdlet, consulte Get-AzVM.

Activación de la VM

Ejecute el siguiente cmdlet para activar una máquina virtual que se ejecute en el dispositivo:

Start-AzVM [-Name] <String> [-ResourceGroupName] <String>

Para más información sobre este cmdlet, consulte Start-AzVM.

Suspensión o apagado de la VM

Ejecute el siguiente cmdlet para detener o apagar una máquina virtual que se ejecute en el dispositivo:

Stop-AzVM [-Name] <String> [-StayProvisioned] [-ResourceGroupName] <String>

Para más información sobre este cmdlet, consulte el cmdlet Stop-AzVM.

Cambio de tamaño de la máquina virtual

Para cambiar el tamaño de una máquina virtual existente, ejecute los siguientes cmdlets:

Importante

Antes de cambiar su tamaño, detenga la máquina virtual sin la marca -StayProvisioned.

$vm = Get-AzVM [-Name] <String> [-ResourceGroupName] <String>

$vm.HardwareProfile.VmSize = <new size> - Example: "Standard_D3_v2"

$vm | Update-AzVM

Agregar un disco de datos

Si aumentan los requisitos de la carga de trabajo en la máquina virtual, es posible que tenga que agregar un disco de datos. Para ello, ejecute el comando siguiente:

Add-AzRmVMDataDisk -VM $VirtualMachine -Name "disk1" -VhdUri "https://contoso.blob.core.windows.net/vhds/diskstandard03.vhd" -LUN 0 -Caching ReadOnly -DiskSizeinGB 1 -CreateOption Empty 
 
Update-AzVM -ResourceGroupName "<Resource Group Name string>" -VM $VirtualMachine

Eliminación de la máquina virtual

Ejecute el siguiente cmdlet para quitar una máquina virtual del dispositivo:

Remove-AzVM [-Name] <String> [-ResourceGroupName] <String>

Para más información sobre este cmdlet, consulte el cmdlet Remove-AzVm.

Pasos siguientes

Cmdlets de Azure Resource Manager