Wdrażanie maszyn wirtualnych na urządzeniu Azure Stack Edge za pomocą programu Azure PowerShell

DOTYCZY:Yes for Pro GPU SKU Azure Stack Edge Pro — GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro R Azure Stack Edge Mini RYes for Mini R SKU

W tym artykule opisano sposób tworzenia maszyny wirtualnej i zarządzania nią na urządzeniu Azure Stack Edge przy użyciu programu Azure PowerShell.

Przepływ pracy wdrażania maszyny wirtualnej

Ogólny przepływ pracy wdrażania wdrożenia maszyny wirtualnej jest następujący:

  1. Połączenie do lokalnego usługi Azure Resource Manager urządzenia.
  2. Zidentyfikuj wbudowaną subskrypcję na urządzeniu.
  3. Przełącz obraz maszyny wirtualnej.
  4. Utwórz grupę zasobów w wbudowanej subskrypcji. Grupa zasobów zawiera maszynę wirtualną i wszystkie powiązane zasoby.
  5. Utwórz lokalne konto magazynu na urządzeniu do przechowywania wirtualnego dysku twardego używanego do tworzenia obrazu maszyny wirtualnej.
  6. Przekaż obraz źródłowy systemu Windows/Linux do konta magazynu, aby utworzyć dysk zarządzany.
  7. Użyj dysku zarządzanego, aby utworzyć obraz maszyny wirtualnej.
  8. Włącz obliczenia na porcie urządzenia, aby utworzyć przełącznik wirtualny.
  9. Spowoduje to utworzenie sieci wirtualnej przy użyciu przełącznika wirtualnego dołączonego do portu, na którym włączono obliczenia.
  10. Utwórz maszynę wirtualną przy użyciu wcześniej utworzonego obrazu maszyny wirtualnej, sieci wirtualnej i wirtualnych interfejsów sieciowych w celu komunikowania się w sieci wirtualnej i przypisania publicznego adresu IP w celu zdalnego uzyskiwania dostępu do maszyny wirtualnej. Opcjonalnie dołącz dyski danych, aby zapewnić więcej miejsca do magazynowania dla maszyny wirtualnej.

Wymagania wstępne

Przed wdrożeniem maszyn wirtualnych na urządzeniu Azure Stack Edge należy skonfigurować klienta tak, aby łączył się z urządzeniem za pośrednictwem usługi Azure Resource Manager za pośrednictwem programu Azure PowerShell. Aby uzyskać szczegółowe instrukcje, zobacz Połączenie do usługi Azure Resource Manager na urządzeniu Azure Stack Edge.

Upewnij się, że możesz użyć poniższych kroków, aby uzyskać dostęp do urządzenia z poziomu klienta. Ta konfiguracja została już wykonana po nawiązaniu połączenia z usługą Azure Resource Manager, a teraz sprawdzasz, czy konfiguracja zakończyła się pomyślnie.

  1. Sprawdź, czy komunikacja z usługą Azure Resource Manager działa, uruchamiając następujące polecenie:

    Add-AzEnvironment -Name <Environment Name> -ARMEndpoint "https://management.<appliance name>.<DNSDomain>"
    
  2. Aby wywołać interfejsy API urządzeń lokalnych w celu uwierzytelnienia, wprowadź:

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

    Aby nawiązać połączenie za pośrednictwem usługi Azure Resource Manager, podaj nazwę użytkownika EdgeArmUser i hasło.

  3. Jeśli skonfigurowano obliczenia dla platformy Kubernetes, możesz pominąć ten krok. W przeciwnym razie upewnij się, że interfejs sieciowy dla obliczeń został włączony, wykonując następujące czynności:

    a. W lokalnym interfejsie użytkownika przejdź do pozycji Ustawienia obliczeniowe .
    b. Wybierz interfejs sieciowy, którego chcesz użyć do utworzenia przełącznika wirtualnego. Utworzone maszyny wirtualne zostaną dołączone do przełącznika wirtualnego dołączonego do tego portu i skojarzonej sieci. Pamiętaj, aby wybrać sieć zgodną z adresem IP używanym dla maszyny wirtualnej.

    Screenshot of the Compute configuration network settings pane.

    c. W obszarze Włącz dla obliczeń w interfejsie sieciowym wybierz pozycję Tak. Usługa Azure Stack Edge utworzy przełącznik wirtualny odpowiadający interfejsowi sieciowemu i zarządza nim. Obecnie nie wprowadzaj określonych adresów IP dla platformy Kubernetes. Włączenie obliczeń może potrwać kilka minut.

    Uwaga

    Jeśli tworzysz maszyny wirtualne procesora GPU, wybierz interfejs sieciowy połączony z Internetem. Dzięki temu można zainstalować rozszerzenie procesora GPU na urządzeniu.

Wykonywanie zapytań o wbudowaną subskrypcję na urządzeniu

W przypadku usługi Azure Resource Manager obsługiwana jest tylko jedna stała subskrypcja widoczna dla użytkownika. Ta subskrypcja jest unikatowa dla każdego urządzenia, a nie można zmienić nazwy subskrypcji i identyfikatora subskrypcji.

Subskrypcja zawiera wszystkie zasoby wymagane do utworzenia maszyny wirtualnej.

Ważne

Subskrypcja jest tworzona podczas włączania maszyn wirtualnych z witryny Azure Portal i działa lokalnie na urządzeniu.

Subskrypcja służy do wdrażania maszyn wirtualnych.

  1. Aby wyświetlić listę subskrypcji, uruchom następujące polecenie:

    Get-AzSubscription
    

    Oto kilka przykładowych danych wyjściowych:

    PS C:\WINDOWS\system32> Get-AzSubscription
    
    Name                          Id                                   TenantId
    ----                          --                                   --------
    Default Provider Subscription ...                                  ...
    
    
    PS C:\WINDOWS\system32>
    
  2. Pobierz listę zarejestrowanych dostawców zasobów uruchomionych na urządzeniu. Lista zwykle obejmuje zasoby obliczeniowe, sieć i magazyn.

    Get-AzResourceProvider
    

    Uwaga

    Dostawcy zasobów są wstępnie zarejestrowani i nie można ich modyfikować ani zmieniać.

    Oto kilka przykładowych danych wyjściowych:

    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>
    

Tworzenie grupy zasobów

Zacznij od utworzenia nowej grupy zasobów platformy Azure i użyj jej jako kontenera logicznego dla wszystkich zasobów powiązanych z maszyną wirtualną, takich jak konto magazynu, dysk, interfejs sieciowy i dysk zarządzany.

Ważne

Wszystkie zasoby są tworzone w tej samej lokalizacji co urządzenie, a lokalizacja jest ustawiona na DBELocal.

  1. Ustaw parametry.

    $ResourceGroupName = "<Resource group name>" 
    
  2. Utwórz grupę zasobów dla zasobów utworzonych dla maszyny wirtualnej.

    New-AzResourceGroup -Name $ResourceGroupName -Location DBELocal
    

    Oto kilka przykładowych danych wyjściowych:

    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>
    

Tworzenie lokalnego konta magazynu

Utwórz nowe lokalne konto magazynu przy użyciu istniejącej grupy zasobów. Użyj tego lokalnego konta magazynu, aby przekazać obraz dysku wirtualnego podczas tworzenia maszyny wirtualnej.

Przed utworzeniem lokalnego konta magazynu należy skonfigurować klienta, aby nawiązać połączenie z urządzeniem za pośrednictwem usługi Azure Resource Manager za pośrednictwem programu Azure PowerShell. Aby uzyskać szczegółowe instrukcje, zobacz Połączenie do usługi Azure Resource Manager na urządzeniu Azure Stack Edge.

  1. Ustaw parametry.

    $StorageAccountName = "<Storage account name>"    
    
  2. Utwórz nowe lokalne konto magazynu na urządzeniu.

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

    Uwaga

    Za pomocą usługi Azure Resource Manager można tworzyć tylko konta magazynu lokalnego, takie jak magazyn lokalnie nadmiarowy (standardowy lub premium). Aby utworzyć konta magazynu warstwowego, zobacz Samouczek: transfer danych za pośrednictwem kont magazynu za pomocą usługi Azure Stack Edge Pro z procesorem GPU.

    Oto przykładowe dane wyjściowe:

    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>
    

Aby uzyskać klucze dostępu dla istniejącego utworzonego lokalnego konta magazynu, podaj skojarzną nazwę grupy zasobów i nazwę lokalnego konta magazynu.

Get-AzStorageAccountKey

Oto przykładowe dane wyjściowe:

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>

Dodawanie identyfikatora URI obiektu blob do pliku hosta

Identyfikator URI obiektu blob został już dodany w pliku hosts dla klienta, którego używasz do nawiązywania połączenia z usługą Azure Blob Storage w temacie Modyfikowanie pliku hosta w celu rozpoznawanianazw punktów końcowych Połączenie do usługi Azure Resource Manager na urządzeniu Azure Stack Edge. Ten wpis został użyty do dodania identyfikatora URI obiektu blob:

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

Instalowanie certyfikatów

Jeśli używasz protokołu HTTPS, musisz zainstalować odpowiednie certyfikaty na urządzeniu. W tym miejscu zainstalujesz certyfikat punktu końcowego obiektu blob. Aby uzyskać więcej informacji, zobacz Use certificates with your Azure Stack Edge Pro with GPU device (Używanie certyfikatów z urządzeniem azure Stack Edge Pro z procesorem GPU).

Przekazywanie wirtualnego dysku twardego

Skopiuj wszystkie obrazy dysków, które mają być używane do stronicowych obiektów blob na utworzonym wcześniej koncie magazynu lokalnego. Możesz użyć narzędzia takiego jak AzCopy , aby przekazać wirtualny dysk twardy (VHD) do konta magazynu.

Użyj następujących poleceń z narzędziem AzCopy 10:

  1. Ustaw niektóre parametry, w tym odpowiednią wersję interfejsów API dla narzędzia AzCopy. W tym przykładzie użyto narzędzia AzCopy 10.

    $Env:AZCOPY_DEFAULT_SERVICE_API_VERSION="2019-07-07"    
    $ContainerName = <Container name>
    $ResourceGroupName = <Resource group name>
    $StorageAccountName = <Storage account name>
    $VHDPath = "Full VHD Path"
    $VHDFile = <VHD file name>
    
  2. Skopiuj dysk VHD ze źródła (w tym przypadku systemu lokalnego) do konta magazynu utworzonego na urządzeniu we wcześniejszym kroku.

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

    Oto przykładowe dane wyjściowe:

    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
    

Tworzenie dysku zarządzanego na podstawie dysku VHD

Teraz utworzysz dysk zarządzany z przekazanego dysku VHD.

  1. Ustaw parametry.

    $DiskName = "<Managed disk name>"
    $HyperVGeneration = "<Generation of the image: V1 or V2>"
    
  2. Utwórz dysk zarządzany na podstawie przekazanego dysku VHD. Aby uzyskać źródłowy adres URL wirtualnego dysku twardego, przejdź do kontenera na koncie magazynu zawierającym wirtualny dysk twardy w Eksplorator usługi Storage. Wybierz dysk VHD, a następnie kliknij prawym przyciskiem myszy, a następnie wybierz polecenie Właściwości. W oknie dialogowym Właściwości obiektu blob wybierz identyfikator 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
    

    Oto przykładowe dane wyjściowe:

    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>
    

Tworzenie obrazu maszyny wirtualnej na podstawie dysku zarządzanego

Teraz utworzysz obraz maszyny wirtualnej na podstawie dysku zarządzanego.

  1. Ustaw parametry.

    $DiskSize = "<Size greater than or equal to size of source managed disk>"
    $OsType = "<linux or windows>" 
    $ImageName = "<Image name>"
    
  2. Utwórz obraz maszyny wirtualnej. Obsługiwane typy systemu operacyjnego to Linux i 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  
    

    Oto przykładowe dane wyjściowe.

    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> 
    

Tworzenie maszyny wirtualnej przy użyciu wcześniej utworzonych zasobów

Przed utworzeniem i wdrożeniem maszyny wirtualnej należy utworzyć jedną sieć wirtualną i skojarzyć z nią interfejs sieciowy.

Ważne

Obowiązują następujące zasady:

  • Można utworzyć tylko jedną sieć wirtualną, nawet w grupach zasobów. Sieć wirtualna musi mieć dokładnie taką samą przestrzeń adresową jak sieć logiczna.
  • Sieć wirtualna może mieć tylko jedną podsieć. Podsieć musi mieć dokładnie taką samą przestrzeń adresową jak sieć wirtualna.
  • Podczas tworzenia wirtualnej karty sieciowej można użyć tylko statycznej metody alokacji. Użytkownik musi podać prywatny adres IP.

Wykonywanie zapytań dotyczących automatycznie utworzonej sieci wirtualnej

Po włączeniu obliczeń z lokalnego interfejsu użytkownika urządzenia sieć wirtualna o nazwie ASEVNET jest tworzona automatycznie w ramach ASERG grupy zasobów.

Użyj następującego polecenia, aby wysłać zapytanie do istniejącej sieci wirtualnej:

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

Tworzenie wirtualnej karty sieciowej

Karta wirtualnego interfejsu sieciowego jest tworzona przy użyciu identyfikatora podsieci sieci wirtualnej.

  1. Ustaw parametry.

    $IpConfigName = "<IP config name>"
    $NicName = "<Network interface name>"
    
  2. Tworzenie wirtualnego interfejsu sieciowego.

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

    Domyślnie adres IP jest dynamicznie przypisywany do interfejsu sieciowego z sieci włączonej na potrzeby obliczeń. Użyj elementu -PrivateIpAddress parameter , jeśli przydzielasz statyczny adres IP do interfejsu sieciowego.

    Oto przykładowe dane wyjściowe:

    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>
    

Opcjonalnie podczas tworzenia wirtualnej karty sieciowej dla maszyny wirtualnej możesz przekazać publiczny adres IP. W tym przypadku publiczny adres IP zwraca prywatny adres IP.

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

Tworzenie maszyny wirtualnej

Teraz możesz użyć obrazu maszyny wirtualnej, aby utworzyć maszynę wirtualną i dołączyć ją do utworzonej wcześniej sieci wirtualnej.

  1. Ustaw nazwę użytkownika i hasło, aby zalogować się do maszyny wirtualnej, którą chcesz utworzyć.

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

    Po utworzeniu i włączeniu maszyny wirtualnej użyjesz poprzedniej nazwy użytkownika i hasła, aby się do niej zalogować.

  2. Ustaw parametry.

    $VmName = "<VM name>"
    $ComputerName = "<VM display name>"
    $OsDiskName = "<OS disk name>"
    
  3. Utwórz maszynę wirtualną.

    $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
    

    Oto przykładowe dane wyjściowe.

    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. Aby ustalić adres IP przypisany do utworzonej maszyny wirtualnej, wykonaj zapytanie dotyczące utworzonego interfejsu sieciowego. Znajdź i PrivateIPAddress skopiuj adres IP maszyny wirtualnej. Oto przykładowe dane wyjściowe.

    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>
    

Nawiązywanie połączenia z maszyną wirtualną

W zależności od tego, czy utworzono maszynę wirtualną z systemem Windows, czy maszynę wirtualną z systemem Linux, instrukcje dotyczące połączenia mogą być różne.

Nawiązywanie połączenia z maszyną wirtualną z systemem Linux

Aby nawiązać połączenie z maszyną wirtualną z systemem Linux, wykonaj następujące czynności:

Nawiąż połączenie z maszyną wirtualną przy użyciu prywatnego adresu IP, który został przekazany podczas tworzenia maszyny wirtualnej.

  1. Otwórz sesję SSH, aby nawiązać połączenie z adresem IP.

    ssh -l <username> <ip address>
    
  2. Po wyświetleniu monitu podaj hasło użyte podczas tworzenia maszyny wirtualnej.

    Jeśli musisz podać klucz SSH, użyj tego polecenia.

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

    Oto przykładowe dane wyjściowe podczas nawiązywania połączenia z maszyną wirtualną:

    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>
    

Jeśli podczas tworzenia maszyny wirtualnej użyto publicznego adresu IP, możesz użyć tego adresu IP do nawiązania połączenia z maszyną wirtualną. Aby uzyskać publiczny adres IP, uruchom następujące polecenie:

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

W tym przypadku publiczny adres IP jest taki sam jak prywatny adres IP przekazany podczas tworzenia interfejsu sieciowego.

Nawiązywanie połączenia z maszyną wirtualną z systemem Windows

Aby nawiązać połączenie z maszyną wirtualną z systemem Windows, wykonaj następujące czynności:

Połączenie do maszyny wirtualnej z systemem Windows przy użyciu protokołu RDP (Remote Desktop Protocol) za pośrednictwem adresu IP przekazanego podczas tworzenia maszyny wirtualnej.

  1. Na kliencie otwórz protokół RDP.

  2. Przejdź do pozycji Start, a następnie wprowadź mstsc.

  3. W okienku pulpitu zdalnego Połączenie ion wprowadź adres IP maszyny wirtualnej i poświadczenia dostępu użyte w pliku parametrów szablonu maszyny wirtualnej. Następnie wybierz pozycję Połączenie.

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

    Uwaga

    Może być konieczne zatwierdzenie połączenia z niezaufaną maszyną.

Teraz logujesz się do maszyny wirtualnej uruchomionej na urządzeniu.

Zarządzanie maszyną wirtualną

W poniższych sekcjach opisano niektóre typowe operacje, które można utworzyć na urządzeniu Azure Stack Edge Pro.

Wyświetlanie listy maszyn wirtualnych uruchomionych na urządzeniu

Aby zwrócić listę wszystkich maszyn wirtualnych uruchomionych na urządzeniu Azure Stack Edge, uruchom następujące polecenie:

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

Aby uzyskać więcej informacji na temat tego polecenia cmdlet, zobacz Get-AzVM.

Włączanie maszyny wirtualnej

Aby włączyć maszynę wirtualną uruchomioną na urządzeniu, uruchom następujące polecenie cmdlet:

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

Aby uzyskać więcej informacji na temat tego polecenia cmdlet, zobacz Start-AzVM.

Zawieszanie lub zamykanie maszyny wirtualnej

Aby zatrzymać lub zamknąć maszynę wirtualną uruchomioną na urządzeniu, uruchom następujące polecenie cmdlet:

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

Aby uzyskać więcej informacji na temat tego polecenia cmdlet, zobacz Polecenie cmdlet Stop-AzVM.

Dodawanie dysku danych

Jeśli wymagania dotyczące obciążenia maszyny wirtualnej wzrosną, może być konieczne dodanie dysku danych. W tym celu uruchom następujące polecenie:

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

Usuwanie maszyny wirtualnej

Aby usunąć maszynę wirtualną z urządzenia, uruchom następujące polecenie cmdlet:

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

Aby uzyskać więcej informacji na temat tego polecenia cmdlet, zobacz Polecenie cmdlet Remove-AzVm.

Następne kroki

Polecenia cmdlet usługi Azure Resource Manager