Déployer des machines virtuelles sur votre appareil Azure Stack Edge via Azure PowerShell

S’APPLIQUE À :Yes for Pro GPU SKUAzure Stack Edge Pro - GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro RYes for Mini R SKUAzure Stack Edge Mini R

Cet article explique comment créer et gérer une machine virtuelle sur votre appareil Azure Stack Edge à l’aide d’Azure PowerShell.

Workflow du déploiement de machine virtuelle

Le workflow du déploiement de haut niveau pour le déploiement de la machine virtuelle se présente comme suit :

  1. Connectez-vous à Azure Resource Manager sur votre appareil.
  2. Identifiez l'abonnement intégré sur l'appareil.
  3. Apportez votre propre image de machine virtuelle.
  4. Créez un groupe de ressources dans l'abonnement intégré. Le groupe de ressources contient la machine virtuelle et toutes les ressources associées.
  5. Créez un compte de stockage local sur l’appareil pour stocker le disque dur virtuel utilisé pour créer une image de machine virtuelle.
  6. Chargez une image source Windows/Linux sur le compte de stockage afin de créer un disque managé.
  7. Utilisez le disque managé pour créer une image de machine virtuelle.
  8. Activez le calcul sur un port de l'appareil afin de créer un commutateur virtuel.
  9. Cela crée un réseau virtuel à l'aide du commutateur virtuel attaché au port sur lequel vous avez activé le calcul.
  10. Créez une machine virtuelle à l'aide de l'image de machine virtuelle, du réseau virtuel et des interfaces de réseau virtuel créés précédemment pour communiquer au sein du réseau virtuel, et attribuez une adresse IP publique pour accéder à distance à la machine virtuelle. Vous pouvez également inclure des disques de données pour fournir davantage de stockage à votre machine virtuelle.

Prérequis

Avant de pouvoir déployer des machines virtuelles sur votre appareil Azure Stack Edge, vous devez configurer votre client pour qu’il se connecte à l’appareil via Azure Resource Manager sur Azure PowerShell. Pour obtenir des instructions détaillées, consultez Se connecter à Azure Resource Manager sur votre appareil Azure Stack Edge.

Assurez-vous de pouvoir utiliser les étapes suivantes pour accéder à l’appareil à partir de votre client. Vous avez déjà effectué cette configuration quand vous vous êtes connecté à Azure Resource Manager. Vous vérifiez maintenant que la configuration a réussi.

  1. Vérifiez que la communication Azure Resource Manager fonctionne en exécutant la commande suivante :

    Add-AzEnvironment -Name <Environment Name> -ARMEndpoint "https://management.<appliance name>.<DNSDomain>"
    
  2. Pour appeler les API de l’appareil local à des fins d’authentification, entrez :

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

    Indiquez le nom d’utilisateur EdgeArmUser et votre mot de passe pour vous connecter via Azure Resource Manager.

  3. Si vous avez configuré le calcul pour Kubernetes, vous pouvez ignorer cette étape. Dans le cas contraire, vérifiez que vous avez activé une interface réseau pour le calcul en procédant comme suit :

    a. Dans votre interface utilisateur locale, accédez aux paramètres Calcul.
    b. Sélectionnez l’interface réseau que vous souhaitez utiliser pour créer un commutateur virtuel. Les machines virtuelles que vous créez seront attachées à un commutateur virtuel, lui-même attaché à ce port et au réseau associé. Choisissez un réseau qui correspond à l’adresse IP que vous allez utiliser pour la machine virtuelle.

    Screenshot of the Compute configuration network settings pane.

    c. Sous Activer pour le calcul dans l’interface réseau, sélectionnez Oui. Azure Stack Edge crée et gère un commutateur virtuel correspondant à cette interface réseau. N’entrez pas d’adresses IP spécifiques pour Kubernetes à ce stade. L’activation du calcul peut prendre plusieurs minutes.

    Remarque

    Si vous créez des machines virtuelles GPU, sélectionnez une interface réseau connectée à Internet. Cela vous permet d’installer une extension GPU sur votre appareil.

Rechercher un abonnement intégré sur l’appareil

Pour Azure Resource Manager, un seul abonnement fixe visible par l’utilisateur est pris en charge. Cet abonnement est unique par appareil, et le nom et l’ID de l’abonnement ne peuvent pas être modifiés.

L’abonnement contient toutes les ressources nécessaires à la création de la machine virtuelle.

Important

L’abonnement est créé quand vous activez des machines virtuelles à partir du portail Azure, et il réside localement sur votre appareil.

L’abonnement est utilisé pour déployer les machines virtuelles.

  1. Pour lister l’abonnement, exécutez la commande suivante :

    Get-AzSubscription
    

    Voici un exemple de sortie :

    PS C:\WINDOWS\system32> Get-AzSubscription
    
    Name                          Id                                   TenantId
    ----                          --                                   --------
    Default Provider Subscription ...                                  ...
    
    
    PS C:\WINDOWS\system32>
    
  2. Obtenez une liste des fournisseurs de ressources inscrits qui s’exécutent sur l’appareil. La liste comprend habituellement le calcul, le réseau et le stockage.

    Get-AzResourceProvider
    

    Remarque

    Les fournisseurs de ressources sont préinscrits et ne peuvent pas être modifiés.

    Voici un exemple de sortie :

    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>
    

Créer un groupe de ressources

Commencez par créer un groupe de ressources Azure et utilisez-le en tant que conteneur logique pour toutes les ressources associées à la machine virtuelle, comme le compte de stockage, le disque, l’interface réseau et le disque managé.

Important

Toutes les ressources sont créées au même emplacement que l’appareil, à savoir DBELocal.

  1. Définissez certains paramètres.

    $ResourceGroupName = "<Resource group name>" 
    
  2. Créez un groupe de ressources pour les ressources que vous créez pour la machine virtuelle.

    New-AzResourceGroup -Name $ResourceGroupName -Location DBELocal
    

    Voici un exemple de sortie :

    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>
    

Créer un compte de stockage local

Créez un compte de stockage local à l’aide d’un groupe de ressources existant. Utilisez ce compte de stockage local pour charger l’image de disque virtuel lors de la création d’une machine virtuelle.

Avant de pouvoir créer un compte de stockage local, vous devez configurer votre client pour qu’il se connecte à l’appareil via Azure Resource Manager sur Azure PowerShell. Pour obtenir des instructions détaillées, consultez Se connecter à Azure Resource Manager sur votre appareil Azure Stack Edge.

  1. Définissez certains paramètres.

    $StorageAccountName = "<Storage account name>"    
    
  2. Créez un compte de stockage local sur votre appareil.

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

    Remarque

    Avec Azure Resource Manager, vous pouvez uniquement créer des comptes de stockage locaux, tels que le stockage localement redondant (Standard ou Premium). Pour créer des comptes de stockage hiérarchisés, consultez Tutoriel : Transférer des données par le biais de comptes de stockage avec Azure Stack Edge Pro avec GPU.

    Voici un exemple de sortie :

    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>
    

Pour obtenir les clés d’accès d’un compte de stockage local existant que vous avez créé, indiquez le nom du groupe de ressources associé et le nom du compte de stockage local.

Get-AzStorageAccountKey

Voici un exemple de sortie de  :

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>

Ajouter l’URI d’objet blob au fichier hôte

Vous avez déjà ajouté l’URI de blob dans le fichier hosts du client que vous utilisez pour vous connecter au Stockage Blob Azure dans Modifier le fichier hosts pour la résolution du nom du point de terminaison sous Connexion à Azure Resource Manager sur votre appareil Azure Stack Edge. Cette entrée a été utilisée pour ajouter l’URI de l’objet blob :

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

Installer des certificats

Si vous utilisez HTTPS, vous devez installer les certificats appropriés sur votre appareil. Ici, vous installez le certificat du point de terminaison de blob. Pour plus d’informations, consultez Utiliser des certificats avec votre appareil Azure Stack Edge Pro avec GPU.

Télécharger un disque dur virtuel

Copiez les images de disque à utiliser dans des objets blob de pages dans le compte de stockage local que vous avez créé précédemment. Vous pouvez utiliser un outil comme AzCopy pour charger le disque dur virtuel (VHD) sur le compte de stockage.

Utilisez les commandes suivantes avec AzCopy 10 :

  1. Définissez certains paramètres, notamment la version appropriée des API pour AzCopy. Dans cet exemple, AzCopy 10 a été utilisé.

    $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. Copiez le disque dur virtuel à partir de la source (dans ce cas, système local) vers le compte de stockage que vous avez créé sur votre appareil à l’étape précédente.

    $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"    
    

    Voici un exemple de sortie de  :

    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
    

Créer un disque géré à partir du disque dur virtuel

Vous allez maintenant créer un disque managé à partir du disque dur virtuel chargé.

  1. Définissez certains paramètres.

    $DiskName = "<Managed disk name>"
    $HyperVGeneration = "<Generation of the image: V1 or V2>"
    
  2. Créez un disque managé à partir du disque dur virtuel chargé. Pour obtenir l’URL source de votre disque dur virtuel, accédez au conteneur dans le compte de stockage qui contient le disque dur virtuel dans Explorateur Stockage. Sélectionnez le disque dur virtuel, cliquez avec le bouton droit, puis sélectionnez Propriétés. Dans la boîte de dialogue Propriétés de l’objet blob, sélectionnez 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
    

    Voici un exemple de sortie :

    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>
    

Créer une image de machine virtuelle à partir du disque managé

Maintenant, créez une image de machine virtuelle à partir du disque managé.

  1. Définissez certains paramètres.

    $DiskSize = "<Size greater than or equal to size of source managed disk>"
    $OsType = "<linux or windows>" 
    $ImageName = "<Image name>"
    
  2. Créez une image de machine virtuelle. Les types de système d’exploitation pris en charge sont Linux et 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  
    

    Voici un exemple de sortie.

    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> 
    

Créer votre machine virtuelle avec des ressources créées précédemment

Avant de créer et déployer la machine virtuelle, vous devez créer un réseau virtuel et lui associer une interface de réseau virtuel.

Important

Les règles suivantes s’appliquent :

  • Vous ne pouvez créer qu’un seul réseau virtuel, même dans plusieurs groupes de ressources. Le réseau virtuel doit avoir exactement le même espace d’adressage que le réseau logique.
  • Le réseau virtuel ne peut avoir qu’un seul sous-réseau. Le sous-réseau doit avoir exactement le même espace d’adressage que le réseau virtuel.
  • Lorsque vous créez la carte d’interface réseau virtuelle, vous ne pouvez utiliser que la méthode d’allocation statique. L’utilisateur doit fournir une adresse IP privée.

Interroger le réseau virtuel créé automatiquement

Lorsque vous activez le calcul à partir de l’interface utilisateur locale de votre appareil, un réseau virtuel ASEVNET est créé automatiquement sous le groupe de ressources ASERG.

Utilisez la commande suivante pour interroger le réseau virtuel existant :

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

Créer une carte d’interface réseau virtuelle

Vous créez une interface de réseau virtuel carte à l’aide de l’ID de sous-réseau de réseau virtuel.

  1. Définissez certains paramètres.

    $IpConfigName = "<IP config name>"
    $NicName = "<Network interface name>"
    
  2. Créez une interface réseau virtuelle.

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

    Par défaut, une adresse IP est affectée dynamiquement à votre interface réseau à partir du réseau activé pour le calcul. Utilisez le -PrivateIpAddress parameter si vous allouez une adresse IP statique à votre interface réseau.

    Voici un exemple de sortie de  :

    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>
    

Pendant que vous créez une carte d’interface de réseau virtuel pour une machine virtuelle, vous pouvez éventuellement transmettre l’IP publique. Dans ce cas, l’adresse IP publique retourne l’adresse IP privée.

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

Créer une machine virtuelle

Vous pouvez maintenant utiliser l’image de machine virtuelle pour créer une machine virtuelle et l’attacher au réseau virtuel que vous avez créé précédemment.

  1. Définissez le nom d’utilisateur et le mot de passe pour vous connecter à la machine virtuelle que vous souhaitez créer.

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

    Une fois que vous avez créé et mis sous tension la machine virtuelle, vous allez utiliser le nom d’utilisateur et le mot de passe ci-dessus pour vous y connecter.

  2. Définissez les paramètres.

    $VmName = "<VM name>"
    $ComputerName = "<VM display name>"
    $OsDiskName = "<OS disk name>"
    
  3. Créez la machine virtuelle.

    $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
    

    Voici un exemple de sortie.

    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. Pour déterminer l’adresse IP attribuée à la machine virtuelle que vous avez créée, interrogez l’interface réseau virtuelle que vous avez créée. Recherchez PrivateIPAddress et copiez l’adresse IP de votre machine virtuelle. Voici un exemple de sortie.

    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>
    

Connexion à la machine virtuelle

Selon que vous avez créé une machine virtuelle Windows ou Linux, les instructions de connexion peuvent être différentes.

Se connecter à une machine virtuelle Linux

Pour vous connecter à une machine virtuelle Linux, procédez comme suit :

Connectez-vous à la machine virtuelle à l’aide de l’adresse IP privée que vous avez transmise lors de sa création.

  1. Ouvrez une session SSH pour vous connecter avec l’adresse IP.

    ssh -l <username> <ip address>
    
  2. À l’invite, indiquez le mot de passe que vous avez utilisé lors de la création de la machine virtuelle.

    Si vous avez besoin de fournir la clé SSH, utilisez cette commande.

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

    Voici un exemple de sortie lorsque vous vous connectez à la machine virtuelle :

    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 vous avez utilisé une adresse IP publique lors de la création de la machine virtuelle, vous pouvez l’utiliser pour vous connecter à la machine virtuelle. Pour obtenir l’adresse IP publique, exécutez la commande suivante :

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

Dans cet exemple, l’adresse IP publique est identique à l’adresse IP privée que vous avez transmise lors de la création de l’interface du réseau virtuel.

Se connecter à une machine virtuelle Windows

Pour vous connecter à une machine virtuelle Windows, procédez comme suit :

Connectez-vous à votre machine virtuelle Windows en utilisant le protocole Remote Desktop Protocol (RDP) via l’adresse IP que vous avez transmise lors de la création de la machine virtuelle.

  1. Sur votre client, ouvrez RDP.

  2. Accédez à Démarrer et entrez mstsc.

  3. Dans le volet Connexion Bureau à distance, entrez l’adresse IP de la machine virtuelle et les informations d’identification d’accès que vous avez utilisées dans le fichier des paramètres du modèle de machine virtuelle. Sélectionnez Connecter.

    Screenshot of the Remote Desktop Connection pane for connecting via RDP to your Windows VM.

    Remarque

    Vous devrez peut-être approuver la connexion à un ordinateur non approuvé.

Vous êtes maintenant connecté à votre machine virtuelle qui s’exécute sur l’appliance.

Gérer la machine virtuelle

Les sections suivantes décrivent quelques-unes des opérations courantes que vous pouvez créer sur votre appareil Azure Stack Edge Pro.

Lister les machines virtuelles en cours d’exécution sur l’appareil

Pour retourner une liste de toutes les machines virtuelles en cours d’exécution sur votre appareil Azure Stack Edge, exécutez la commande suivante :

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

Pour plus d’informations sur cette cmdlet, consultez Get-AzVM.

Activer la machine virtuelle

Pour activer une machine virtuelle en cours d’exécution sur votre appareil, exécutez l’applet de commande suivante :

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

Pour plus d’informations sur cette cmdlet, consultez Start-AzVM.

Interrompre ou arrêter la machine virtuelle

Pour arrêter une machine virtuelle en cours d’exécution sur votre appareil, exécutez l’applet de commande suivante :

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

Pour plus d’informations sur cette cmdlet, consultez Stop-AzVM.

Ajouter un disque de données

Si les besoins en charge de travail sur votre machine virtuelle augmentent, vous devrez peut-être ajouter un disque de données. Pour cela, exécutez la commande suivante :

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

Supprimer la machine virtuelle

Pour supprimer une machine virtuelle de votre appareil, exécutez l’applet de commande suivante :

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

Pour plus d’informations sur cette cmdlet, consultez Remove-AzVm.

Étapes suivantes

Applets de commande Azure Resource Manager