Bereitstellen von VMs auf Ihrem Azure Stack Edge-Gerät über Azure PowerShell

GILT FÜR: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

In diesem Artikel wird beschrieben, wie Sie eine einen virtuellen Computer (Virtual Machine, VM) mithilfe von Azure PowerShell auf Ihrem Azure Stack Edge-Gerät erstellen und verwalten können.

VM-Bereitstellungsworkflow

Nachfolgend sind die wichtigsten Schritte des VM-Bereitstellungsworkflows aufgeführt:

  1. Stellen Sie eine Verbindung mit der lokalen Azure Resource Manager-Instanz auf Ihrem Gerät her.
  2. Ermitteln Sie das integrierte Abonnement auf dem Gerät.
  3. Stellen Sie Ihr VM-Image bereit.
  4. Erstellen Sie eine Ressourcengruppe im integrierten Abonnement. Die Ressourcengruppe enthält den virtuellen Computer und alle zugehörigen Ressourcen.
  5. Erstellen Sie ein lokales Speicherkonto auf dem Gerät, um die virtuelle Festplatte zu speichern, die zum Erstellen eines VM-Images verwendet wird.
  6. Laden Sie ein Windows/Linux-Quellimage in das Speicherkonto hoch, um einen verwalteten Datenträger zu erstellen.
  7. Verwenden Sie den verwalteten Datenträger, um ein VM-Image zu erstellen.
  8. Aktivieren Sie Compute an einem Geräteport, um einen virtuellen Switch zu erstellen.
  9. Dadurch wird ein virtuelles Netzwerk mit dem virtuellen Switch erstellt, der an den Port angefügt ist, an dem Sie Compute aktiviert haben.
  10. Erstellen Sie eine VM mithilfe des zuvor erstellten VM-Images, des virtuellen Netzwerks und der virtuellen Netzwerkschnittstellen, um innerhalb des virtuellen Netzwerks zu kommunizieren, und weisen Sie eine öffentliche IP-Adresse für den Remotezugriff auf die VM zu. Schließen Sie optional Datenträger ein, um mehr Speicher für Ihre VM bereitzustellen.

Voraussetzungen

Bevor Sie virtuelle Computer auf Ihrem Azure Stack Edge-Gerät bereitstellen können, müssen Sie den Client so konfigurieren, dass er über Azure Resource Manager über Azure PowerShell eine Verbindung mit dem Gerät herstellt. Eine ausführliche Anleitung finden Sie unter Herstellen einer Verbindung mit Azure Resource Manager auf Ihrem Azure Stack Edge-Gerät.

Stellen Sie sicher, dass Sie mit den folgenden Schritten von Ihrem Client aus auf das Gerät zugreifen können. Sie haben diese Konfiguration bereits ausgeführt, als Sie eine Verbindung mit Azure Resource Manager hergestellt haben, und jetzt überprüfen Sie, ob die Konfiguration erfolgreich war.

  1. Vergewissern Sie sich, dass die Kommunikation mit Azure Resource Manager funktioniert, indem Sie den folgenden Befehl ausführen:

    Add-AzEnvironment -Name <Environment Name> -ARMEndpoint "https://management.<appliance name>.<DNSDomain>"
    
  2. Geben Sie Folgendes ein, um die Authentifizierungs-APIs des lokalen Geräts aufzurufen:

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

    Um eine Verbindung über Azure Resource Manager herzustellen, geben Sie den Benutzernamen EdgeArmUser und Ihr Kennwort ein.

  3. Wenn Sie Compute für Kubernetes konfiguriert haben, können Sie diesen Schritt überspringen. Stellen Sie andernfalls sicher, dass Sie eine Netzwerkschnittstelle für Compute aktiviert haben. Gehen Sie hierzu wie folgt vor:

    a. Wechseln Sie auf der lokalen Benutzeroberfläche zu den Einstellungen für Compute.
    b. Wählen Sie die Netzwerkschnittstelle aus, die Sie verwenden möchten, um einen virtuellen Switch zu erstellen. Die von Ihnen erstellten virtuellen Computer werden an einen virtuellen Switch angefügt, der an diesen Port und das zugehörige Netzwerk angefügt ist. Achten Sie darauf, ein Netzwerk auszuwählen, das mit der IP-Adresse übereinstimmt, die Sie für den virtuellen Computer verwenden werden.

    Screenshot of the Compute configuration network settings pane.

    c. Wählen Sie für die Netzwerkschnittstelle unter Für Compute aktivieren die Option Ja aus. Azure Stack Edge erstellt und verwaltet einen virtuellen Switch, der dieser Netzwerkschnittstelle entspricht. Geben Sie zu diesem Zeitpunkt keine bestimmten IP-Adressen für Kubernetes ein. Die Aktivierung von Compute kann mehrere Minuten dauern.

    Hinweis

    Wählen Sie beim Erstellen von GPU-VMs eine Netzwerkschnittstelle aus, die mit dem Internet verbunden ist. So können Sie die GPU-Erweiterung auf Ihrem Gerät installieren.

Abfrage für ein integriertes Abonnement auf dem Gerät

Bei Azure Resource Manager wird nur ein einziges für Benutzer sichtbares festes Abonnement unterstützt. Dieses Abonnement ist pro Gerät eindeutig. Der Abonnementname und die Abonnement-ID können nicht geändert werden.

Das Abonnement enthält alle Ressourcen, die für eine VM-Erstellung erforderlich sind.

Wichtig

Das Abonnement wird erstellt, wenn Sie VMs im Azure-Portal aktivieren, und es befindet sich lokal auf Ihrem Gerät.

Das Abonnement wird zur Bereitstellung der VMs verwendet.

  1. Führen Sie den folgenden Befehl zum Auflisten des Abonnements aus:

    Get-AzSubscription
    

    Hier ist eine Beispielausgabe angegeben:

    PS C:\WINDOWS\system32> Get-AzSubscription
    
    Name                          Id                                   TenantId
    ----                          --                                   --------
    Default Provider Subscription ...                                  ...
    
    
    PS C:\WINDOWS\system32>
    
  2. Rufen Sie eine Liste der registrierten Ressourcenanbieter ab, die auf dem Gerät ausgeführt werden. Die Liste enthält normalerweise Compute, Netzwerk und Speicher.

    Get-AzResourceProvider
    

    Hinweis

    Die Ressourcenanbieter wurden vorab registriert, und sie können nicht bearbeitet oder geändert werden.

    Hier ist eine Beispielausgabe angegeben:

    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>
    

Erstellen einer Ressourcengruppe

Erstellen Sie zunächst eine neue Azure-Ressourcengruppe, und verwenden Sie diese als logischen Container für alle VM-bezogenen Ressourcen wie Speicherkonto, Datenträger, Netzwerkschnittstelle und verwalteten Datenträger.

Wichtig

Alle Ressourcen werden im Speicherort des Geräts erstellt, der auf DBELocal festgelegt wird.

  1. Legen Sie einige Parameter fest.

    $ResourceGroupName = "<Resource group name>" 
    
  2. Erstellen Sie eine Ressourcengruppe für die Ressourcen, die Sie für den virtuellen Computer erstellen.

    New-AzResourceGroup -Name $ResourceGroupName -Location DBELocal
    

    Hier ist eine Beispielausgabe angegeben:

    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>
    

Erstellen eines lokalen Speicherkontos

Erstellen Sie ein neues lokales Speicherkonto mithilfe einer vorhandenen Ressourcengruppe. Verwenden Sie dieses lokale Speicherkonto, um das Image des virtuellen Datenträgers beim Erstellen einer VM hochzuladen.

Bevor Sie ein lokales Speicherkonto erstellen, müssen Sie den Client so konfigurieren, dass er über Azure Resource Manager und Azure PowerShell eine Verbindung mit dem Gerät herstellt. Eine ausführliche Anleitung finden Sie unter Herstellen einer Verbindung mit Azure Resource Manager auf Ihrem Azure Stack Edge-Gerät.

  1. Legen Sie einige Parameter fest.

    $StorageAccountName = "<Storage account name>"    
    
  2. Erstellen Sie ein neues lokales Speicherkonto auf Ihrem Gerät.

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

    Hinweis

    Mithilfe von Azure Resource Manager können Sie nur lokale Speicherkonten erstellen, beispielsweise lokal redundanten Speicher (Standard oder Premium). Informationen zum Erstellen von mehrstufigen Speicherkonten finden Sie im Tutorial: Übertragen von Daten über Speicherkonten mit Azure Stack Edge Pro mit GPU.

    Hier ist eine Beispielausgabe:

    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>
    

Um die Zugriffsschlüssel für ein vorhandenes (von Ihnen erstelltes) lokales Speicherkonto abzurufen, geben Sie den zugeordneten Ressourcengruppennamen und den Namen des lokalen Speicherkontos an.

Get-AzStorageAccountKey

Hier ist eine Beispielausgabe:

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>

Hinzufügen des Blob-URI zur Hostdatei

Sie haben den Blob-URI bereits im Schritt Ändern der Hostdatei für die Endpunktnamensauflösung unter Herstellen einer Verbindung mit Azure Resource Manager auf Ihrem Azure Stack Edge Pro-Gerät in der Hostdatei für den Client hinzugefügt, den Sie für die Verbindung mit Azure Blob Storage verwenden. Dieser Eintrag wurde verwendet, um den BLOB-URI hinzuzufügen:

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

Installieren von Zertifikaten

Wenn Sie HTTPS verwenden, müssen Sie die erforderlichen Zertifikate auf Ihrem Gerät installieren. Hier installieren Sie das Blobendpunktzertifikat. Weitere Informationen finden Sie unter Verwenden von Zertifikaten bei Ihrem Azure Stack Edge Pro mit GPU-Gerät.

Hochladen einer VHD-Datei

Kopieren Sie die zu verwendenden Datenträgerimages in Seitenblobs in dem lokalen Speicherkonto, das Sie vorher erstellt haben. Sie können ein Tool wie AzCopy zum Hochladen der virtuellen Festplatte (Virtual Hard Disk, VHD) in das Speicherkonto verwenden.

Verwenden Sie mit AzCopy 10 die folgenden Befehle:

  1. Legen Sie einige Parameter fest (u. a. die geeignete Version der APIs für AzCopy). In diesem Beispiel wurde AzCopy 10 verwendet.

    $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. Kopieren Sie die VHD aus der Quelle (in diesem Fall das lokale System) in das Speicherkonto, das Sie im vorherigen Schritt auf Ihrem Gerät erstellt haben.

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

    Hier ist eine Beispielausgabe:

    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
    

Erstellen verwalteter Datenträger aus der VHD

Sie erstellen nun einen verwalteten Datenträger aus der hochgeladenen VHD.

  1. Legen Sie einige Parameter fest.

    $DiskName = "<Managed disk name>"
    $HyperVGeneration = "<Generation of the image: V1 or V2>"
    
  2. Erstellen Sie einen verwalteten Datenträger aus der hochgeladenen VHD. Um die Quell-URL für Ihre VHD abzurufen, wechseln Sie zu dem Container im Speicherkonto, der die VHD im Storage-Explorer enthält. Klicken Sie mit der rechten Maustaste auf die VHD, und wählen Sie Eigenschaften aus. Wählen Sie im Dialogfeld Blobeigenschaften den URI aus.

    $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
    

    Hier ist eine Beispielausgabe:

    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>
    

Erstellen eines VM-Images aus dem verwalteten Datenträger

Sie erstellen nun ein VM-Image aus dem verwalteten Datenträger.

  1. Legen Sie einige Parameter fest.

    $DiskSize = "<Size greater than or equal to size of source managed disk>"
    $OsType = "<linux or windows>" 
    $ImageName = "<Image name>"
    
  2. Erstellen Sie ein VM-Image. Die unterstützten Betriebssystemtypen sind Linux und 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  
    

    Hier ist eine Beispielausgabe:

    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> 
    

Erstellen Ihres virtuellen Computers mit zuvor erstellten Ressourcen

Bevor Sie den virtuellen Computer erstellen und bereitstellen, müssen Sie ein einziges virtuelles Netzwerk erstellen und ihm eine virtuelle Netzwerkschnittstelle zuordnen.

Wichtig

Es gelten die folgenden Regeln:

  • Sie können nur ein einziges virtuelles Netzwerk erstellen, sogar über Ressourcengruppen hinweg. Das virtuelle Netzwerk muss genau denselben Adressraum wie das logische Netzwerk haben.
  • Das virtuelle Netzwerk kann nur ein einzelnes Subnetz enthalten. Das Subnetz muss genau denselben Adressraum wie das virtuelle Netzwerk haben.
  • Wenn Sie die virtuelle Netzwerkschnittstellenkarte erstellen, können Sie nur die statische Zuordnungsmethode verwenden. Der Benutzer muss eine private IP-Adresse angeben.

Abfragen des automatisch erstellten virtuellen Netzwerks

Wenn Sie Compute über die lokale Benutzeroberfläche Ihres Geräts aktivieren, wird in der Ressourcengruppe ASERG das virtuelle Netzwerk ASEVNET automatisch erstellt.

Fragen Sie mit dem folgenden Befehl das vorhandene virtuelle Netzwerk ab:

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

Erstellen einer virtuellen Netzwerkadapterkarte

Sie erstellen eine virtuelle Netzwerkschnittstelle Karte mithilfe der Subnetz-ID des virtuellen Netzwerks.

  1. Legen Sie einige Parameter fest.

    $IpConfigName = "<IP config name>"
    $NicName = "<Network interface name>"
    
  2. Erstellen Sie eine virtuelle Netzwerkschnittstelle.

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

    Standardmäßig wird Ihrer Netzwerkschnittstelle über das für Compute aktivierte Netzwerk dynamisch eine IP-Adresse zugewiesen. Verwenden Sie die Verwendung, -PrivateIpAddress parameter wenn Sie eine statische IP-Adresse ihrer Netzwerkschnittstelle zuordnen.

    Hier ist eine Beispielausgabe:

    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>
    

Optional können Sie beim Erstellen einer virtuellen Netzwerkschnittstellenkarte für eine VM die öffentliche IP-Adresse übergeben. In dieser Instanz gibt die öffentliche IP-Adresse die private IP-Adresse zurück.

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

Erstellen eines virtuellen Computers (VM)

Sie können jetzt das VM-Image verwenden, um einen virtuellen Computer zu erstellen und dem zuvor erstellten virtuellen Netzwerk anzufügen.

  1. Legen Sie den Benutzernamen und das Kennwort für die Anmeldung bei dem virtuellen Computer fest, den Sie erstellen möchten.

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

    Nachdem Sie die VM erstellt und eingeschaltet haben, verwenden Sie den vorstehenden Benutzernamen und das zugehörige Kennwort, um sich bei der VM anzumelden.

  2. Legen Sie die Parameter fest.

    $VmName = "<VM name>"
    $ComputerName = "<VM display name>"
    $OsDiskName = "<OS disk name>"
    
  3. Erstellen Sie den virtuellen Computer.

    $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
    

    Hier ist eine Beispielausgabe:

    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. Fragen Sie die erstellte virtuelle Netzwerkschnittstelle ab, um die IP-Adresse zu ermitteln, die dem erstellten virtuellen Computer zugewiesen ist. Suchen Sie nach PrivateIPAddress, und kopieren Sie die IP für Ihre VM. Hier ist eine Beispielausgabe:

    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>
    

Herstellen der Verbindung zur VM

Je nachdem, ob Sie einen virtuellen Windows-Computer (Windows-VM) oder einen virtuellen Linux-Computer (Linux-VM) erstellt haben, können die Verbindungsanweisungen unterschiedlich sein.

Herstellen einer Verbindung mit einem virtuellen Linux-Computer

Wenn Sie eine Verbindung mit einem virtuellen Linux-Computer herstellen möchten, führen Sie die folgenden Schritte aus:

Stellen Sie eine Verbindung mit dem virtuellen Computer her, und verwenden Sie dabei die private IP-Adresse, die Sie im Rahmen der VM-Erstellung übergeben haben.

  1. Öffnen Sie eine SSH-Sitzung, um die Verbindung mit der IP-Adresse herzustellen.

    ssh -l <username> <ip address>
    
  2. Geben Sie an der Eingabeaufforderung das Kennwort ein, das Sie beim Erstellen der VM verwendet haben.

    Wenn Sie den SSH-Schlüssel angeben müssen, verwenden Sie diesen Befehl.

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

    Im Folgenden finden Sie ein Beispiel für die Ausgabe beim Herstellen einer Verbindung mit der VM:

    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>
    

Wenn Sie während der Erstellung der VM eine öffentliche IP-Adresse verwendet haben, können Sie über diese IP-Adresse eine Verbindung mit der VM herstellen. Um die öffentliche IP-Adresse abzurufen, führen Sie den folgenden Befehl aus:

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

Die öffentliche IP-Adresse ist in diesem Fall identisch mit der privaten IP-Adresse, die Sie beim Erstellen der virtuellen Netzwerkschnittstelle übermittelt haben.

Herstellen einer Verbindung mit einem virtuellen Windows-Computer

Wenn Sie eine Verbindung mit einem virtuellen Windows-Computer herstellen möchten, führen Sie die folgenden Schritte aus:

Stellen Sie über das Remotedesktopprotokoll (RDP) mithilfe der IP-Adresse, die Sie bei der Erstellung der VM übergeben haben, eine Verbindung mit Ihrer Windows-VM her.

  1. Öffnen Sie RDP auf dem Client.

  2. Navigieren Sie zu Start, und geben Sie dann mstsc ein.

  3. Geben Sie im Bereich Remotedesktopverbindung die IP-Adresse der VM und die Zugriffsanmeldeinformationen ein, die Sie in der VM-Vorlagenparameterdatei verwendet haben. Wählen Sie dann Verbinden aus.

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

    Hinweis

    Möglicherweise müssen Sie die Verbindung mit einem nicht vertrauenswürdigen Computer genehmigen.

Sie sind jetzt bei Ihrer VM angemeldet, die auf der Appliance ausgeführt wird.

Verwalten der VM

In den folgenden Abschnitten werden einige der häufigen Vorgänge beschrieben, die Sie auf Ihrem Azure Stack Edge Pro-Gerät erstellen können.

Auflisten der auf dem Gerät ausgeführten VMs

Wenn Sie eine Liste aller auf Ihrem Azure Stack Edge-Gerät ausgeführten VMs zurückgeben möchten, führen Sie diesen Befehl aus:

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

Weitere Informationen zu diesem Cmdlet finden Sie unter Get-AzVM.

Einschalten der VM

Wenn Sie einen auf Ihrem Gerät ausgeführten virtuellen Computer einschalten möchten, führen Sie das folgende Cmdlet aus:

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

Weitere Informationen zu diesem Cmdlet finden Sie unter Start-AzVM.

Anhalten oder Herunterfahren des virtuellen Computers

Wenn Sie einen auf Ihrem Gerät ausgeführten virtuellen Computer anhalten oder herunterfahren möchten, führen Sie das folgende Cmdlet aus:

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

Weitere Informationen zu diesem Cmdlet finden Sie unter Stop-AzVM.

Hinzufügen eines Datenträgers

Wenn die Anforderungen an die Workload auf Ihrem virtuellen Computer größer werden, müssen Sie möglicherweise einen Datenträger hinzufügen. Führen Sie hierzu den folgenden Befehl aus:

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

Löschen der virtuellen Computer

Wenn Sie einen virtuellen Computer von Ihrem Gerät entfernen möchten, führen Sie das folgende Cmdlet aus:

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

Weitere Informationen zu diesem Cmdlet finden Sie unter Remove-AzVm.

Nächste Schritte

Azure Resource Manager-Cmdlets