Déployer des machines virtuelles sur votre appareil Azure Stack Edge via Azure PowerShell
S’APPLIQUE À : Azure Stack Edge Pro : GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure 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 :
- Connectez-vous à Azure Resource Manager sur votre appareil.
- Identifiez l'abonnement intégré sur l'appareil.
- Apportez votre propre image de machine virtuelle.
- Créez un groupe de ressources dans l'abonnement intégré. Le groupe de ressources contient la machine virtuelle et toutes les ressources.
- Créez un compte de stockage local sur l’appareil afin de stocker le disque dur virtuel (VHD) qui est utilisé pour créer une image de machine virtuelle.
- Chargez une image source Windows/Linux sur le compte de stockage afin de créer un disque managé.
- Utilisez le disque managé pour créer une image de machine virtuelle.
- Activez le calcul sur un port de l'appareil afin de créer un commutateur virtuel.
- Cela crée un réseau virtuel à l'aide du commutateur virtuel attaché au port sur lequel vous avez activé le calcul.
- 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.
Vérifiez que la communication Azure Resource Manager fonctionne en exécutant la commande suivante :
Pour appeler les API de l’appareil local à des fins d’authentification, entrez :
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.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.
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>
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.
Définissez certains paramètres.
$ResourceGroupName = "<Resource group name>"
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.
Définissez certains paramètres.
$StorageAccountName = "<Storage account name>"
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 :
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 :
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>
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 :
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
Créez un disque managé à partir du disque dur virtuel chargé.
Définissez certains paramètres.
$DiskName = "<Managed disk name>" $HyperVGeneration = "<Generation of the image: V1 or V2>"
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é.
Définissez certains paramètres.
$DiskSize = "<Size greater than or equal to size of source managed disk>" $OsType = "<linux or windows>" $ImageName = "<Image name>"
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 carte d’interface réseau virtuelle en utilisant l’ID de sous-réseau du réseau virtuel.
Définissez certains paramètres.
$IpConfigName = "<IP config name>" $NicName = "<Network interface name>"
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
-PrivateIpAddress parameter
si vous allouez une adresse IP statique à votre interface réseau.Voici un exemple de sortie :
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.
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 la création et la mise sous tension de la machine virtuelle, utilisez le nom d’utilisateur et le mot de passe qui précèdent pour vous y connecter.
Définissez les paramètres.
$VmName = "<VM name>" $ComputerName = "<VM display name>" $OsDiskName = "<OS disk name>"
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
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.
Ouvrez une session SSH pour vous connecter avec l’adresse IP.
ssh -l <username> <ip address>
À 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.
Sur votre client, ouvrez RDP.
Accédez à Démarrer et entrez mstsc.
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.
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.
Redimensionner la machine virtuelle
Pour redimensionner une machine virtuelle existante, exécutez les cmdlets suivantes :
Important
Avant de la redimensionner, arrêtez la machine virtuelle sans l’indicateur -StayProvisioned
.
$vm = Get-AzVM [-Name] <String> [-ResourceGroupName] <String>
$vm.HardwareProfile.VmSize = <new size> - Example: "Standard_D3_v2"
$vm | Update-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.