透過 Azure PowerShell 將 Vm 部署到您的 Azure Stack Edge 裝置

適用于: 適用于 Pro gpu sku Azure Stack Edge Pro-適用于  Pro R sku 的 gpu 是 Azure Stack Edge Pro  迷你                           r sku Azure Stack Edge r 是   

本文說明如何使用 Azure PowerShell,在 Azure Stack Edge 裝置上建立及管理虛擬機器 (VM) 。

VM 部署工作流程

VM 部署的高階部署工作流程如下所示:

  1. 連線至裝置的本機 Azure Resource Manager。
  2. 識別裝置上的內建訂用帳戶。
  3. 攜帶您的 VM 映射。
  4. 在內建訂用帳戶中建立資源群組。 資源群組會包含 VM 和所有相關資源。
  5. 在裝置上建立本機儲存體帳戶,以儲存將用來建立 VM 映射的 VHD。
  6. Upload Windows/Linux 來源映射加入至儲存體帳戶,以建立受控磁片。
  7. 使用受控磁片來建立 VM 映射。
  8. 啟用裝置埠上的計算,以建立虛擬交換器。
  9. 這會使用連接到您已啟用計算之埠的虛擬交換器來建立虛擬網路。
  10. 使用先前建立的 VM 映射、虛擬網路和虛擬網路介面 (s) 來建立 VM,以在虛擬網路內進行通訊,並指派公用 IP 位址以從遠端存取 VM。 選擇性地包含資料磁片,以為您的 VM 提供更多儲存體。

Prerequisites

在 Azure Stack Edge 裝置上部署 Vm 之前,您必須先將用戶端設定為透過 Azure Resource Manager 透過 Azure PowerShell 連接到裝置。 如需詳細指示,請參閱連線 Azure Resource Manager Azure Stack Edge 裝置上

請確定您可以使用下列步驟,從用戶端存取裝置。 當您連線到 Azure Resource Manager 時,您已經完成此設定,現在您正在確認設定是否成功。

  1. 執行下列命令,確認 Azure Resource Manager 通訊運作正常:

    Add-AzEnvironment -Name <Environment Name> -ARMEndpoint "https://management.<appliance name>.<DNSDomain>"
    
  2. 若要呼叫本機裝置 Api 進行驗證,請輸入:

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

    若要透過 Azure Resource Manager 連接,請提供使用者名稱 EdgeArmUser 和密碼。

  3. 如果您已設定 Kubernetes 的計算,則可以略過此步驟。 否則,請執行下列動作,確定您已啟用用於計算的網路介面:

    a. 在您的本機使用者介面上,移至 [ 計算 設定]。
    b. 選取您要用來建立虛擬交換器的網路介面。 您建立的 Vm 將會連接到連接到此埠的虛擬交換器以及相關聯的網路。 請務必選擇符合您將用於 VM 之 IP 位址的網路。

    [計算設定網路設定] 窗格的螢幕擷取畫面。

    c. 在 [針對網路介面上 的計算啟用 ] 下,選取 [是]。 Azure Stack Edge 將會建立和管理對應于該網路介面的虛擬交換器。 請勿輸入 Kubernetes 的特定 Ip。 啟用計算可能需要幾分鐘的時間。

    注意

    如果您要建立 GPU Vm,請選取已連線到網際網路的網路介面。 這樣做可讓您在裝置上安裝 GPU 擴充功能。

查詢裝置上的內建訂用帳戶

針對 Azure Resource Manager,只支援單一固定訂用帳戶的使用者可見。 此訂用帳戶在每個裝置上都是唯一的,而且無法變更訂用帳戶名稱和訂用帳戶識別碼。

訂用帳戶包含建立 VM 所需的所有資源。

重要

當您從 Azure 入口網站啟用 Vm 時,會建立訂用帳戶,而且它會在本機裝置上。

此訂用帳戶可用來部署 Vm。

  1. 若要列出訂用帳戶,請執行下列命令:

    Get-AzSubscription
    

    以下是一些輸出範例︰

    PS C:\WINDOWS\system32> Get-AzSubscription
    
    Name                          Id                                   TenantId
    ----                          --                                   --------
    Default Provider Subscription ...                                  ...
    
    
    PS C:\WINDOWS\system32>
    
  2. 取得在裝置上執行的已註冊資源提供者清單。 此清單通常包含計算、網路和儲存體。

    Get-AzResourceProvider
    

    注意

    系統會預先註冊資源提供者,而且無法修改或變更資源提供者。

    以下是一些輸出範例︰

    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>
    

建立資源群組

首先,建立新的 Azure 資源群組,並將其作為所有 VM 相關資源(例如儲存體帳戶、磁片、網路介面和受控磁片)的邏輯容器。

重要

系統會在與裝置相同的位置中建立所有資源,且位置會設定為 DBELocal

  1. 設定部分參數。

    $ResourceGroupName = "<Resource group name>" 
    
  2. 為您將為 VM 建立的資源建立資源群組。

    New-AzResourceGroup -Name $ResourceGroupName -Location DBELocal
    

    以下是一些輸出範例︰

    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>
    

建立儲存體帳戶

使用您在上一個步驟中建立的資源群組來建立新的儲存體帳戶。 這是您用來上傳 VM 虛擬磁片映射的本機儲存體帳戶。

  1. 設定部分參數。

    $StorageAccountName = "<Storage account name>"    
    
  2. 在您的裝置上建立新的本機儲存體帳戶。

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

    注意

    藉由使用 Azure Resource Manager,您只能建立本機儲存體帳戶,例如本機的儲存體帳戶 (standard 或 premium) 。 若要建立階層式儲存體帳戶,請參閱教學課程:透過具有GPU 的 Azure Stack Edge Pro 透過儲存體帳戶傳輸資料

    以下是範例輸出:

    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>
    
  3. 取得您在先前步驟中建立之帳戶的儲存體帳戶金鑰。 出現提示時,請提供資源組名和儲存體帳戶名稱。

    Get-AzStorageAccountKey
    

    以下是範例輸出:

    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>
    

將 blob URI 新增至主機檔案

您已在您要用來連線到 Azure Stack Edge 裝置上的 Azure Resource Manager端點名稱解析 的主機檔案中,為您要用來連接 Azure Blob 儲存體的主機檔案新增 blob URI。 此專案是用來新增 blob URI:

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

安裝憑證

如果您使用 HTTPS,則需要在裝置上安裝適當的憑證。 在這裡,您會安裝 blob 端點憑證。 如需詳細資訊,請參閱搭配使用 Azure Stack Edge Pro 的憑證與 GPU 裝置

上傳 VHD

複製任何磁片映射,以在您稍早建立的本機儲存體帳戶中使用分頁 blob。 您可以使用 AzCopy 之類的工具,將虛擬硬碟 (VHD) 上傳至儲存體帳戶。

使用下列命令搭配 AzCopy 10:

  1. 設定一些參數,包括適用于 AzCopy 的適當版本 Api。 在此範例中,使用了 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. 從來源複製 VHD (在此案例中,本機系統) 至您在先前步驟中于裝置上建立的儲存體帳戶。

    $StorageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName)[0].Value    
    $endPoint = (Get-AzStorageAccount -name $StorageAccountName -ResourceGroupName $ResourceGroupName).PrimaryEndpoints.Blob    
    $StorageAccountContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey -Endpoint $endpoint    
    $StorageAccountSAS = New-AzStorageAccountSASToken -Service Blob -ResourceType Container,Service,Object -Permission "acdlrw" -Context $StorageAccountContext -Protocol HttpsOnly        
    <Path to azcopy.exe> cp "$VHDPath\$VHDFile" "$endPoint$ContainerName$StorageAccountSAS"    
    

    以下是範例輸出:

    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
    

從 VHD 建立受控磁碟

您現在將從上傳的 VHD 建立受控磁片。

  1. 設定部分參數。

    $DiskName = "<Managed disk name>"
    
  2. 從上傳的 VHD 建立受控磁片。 若要取得 vhd 的來源 URL,請移至儲存體帳戶中的容器,其中包含儲存體總管中的 vhd。 選取 VHD,然後以滑鼠右鍵按一下並選取 [ 屬性]。 在 [ Blob 屬性 ] 對話方塊中,選取 URI

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

    以下是範例輸出:。

    PS C:\WINDOWS\system32> $DiskName = "myazmd"
    PS C:\WINDOWS\system32> $StorageAccountId = (Get-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName).Id
    PS C:\WINDOWS\system32> $DiskConfig = New-AzDiskConfig -Location DBELocal -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             :
    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>
    

從受控磁片建立 VM 映射

您現在將從受控磁片建立 VM 映射。

  1. 設定部分參數。

    $DiskSize = "<Size greater than or equal to size of source managed disk>"
    $OsType = "<linux or windows>" 
    $ImageName = "<Image name>"
    
  2. 建立 VM 映射。 支援的 OS 類型為 Linux 及 Windows。

    $imageConfig = New-AzImageConfig -Location DBELocal
    $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  
    

    以下是範例輸出。

    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> 
    

使用先前建立的資源建立您的 VM

在您建立和部署 VM 之前,必須先建立一個虛擬網路,並將虛擬網路介面與該虛擬網路建立關聯。

重要

適用的規則如下:

  • 您可以只建立一個虛擬網路,甚至是跨資源群組。 虛擬網路必須與邏輯網路具有完全相同的位址空間。
  • 虛擬網路只能有一個子網。 子網的位址空間必須與虛擬網路完全相同。
  • 當您建立虛擬網路介面卡時,您只能使用靜態配置方法。 使用者必須提供私人 IP 位址。

查詢自動建立的虛擬網路

當您從裝置的本機 UI 啟用計算時, ASEVNET 系統會自動在資源群組底下建立名為的虛擬網路 ASERG

使用下列命令來查詢現有的虛擬網路:

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

建立虛擬網路介面卡

您將使用虛擬網路子網識別碼來建立虛擬網路介面卡。

  1. 設定部分參數。

    $IpConfigName = "<IP config name>"
    $NicName = "<Network interface name>"
    
  2. 建立虛擬網路介面。

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

    根據預設,系統會從啟用計算的網路動態地將 IP 指派給您的網路介面。 -PrivateIpAddress parameter如果您要將靜態 IP 配置給您的網路介面,請使用。

    以下是範例輸出:

    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>
    

(選擇性)當您在建立 VM 的虛擬網路介面卡時,可以傳遞公用 IP。 在此情況下,公用 IP 會傳回私人 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

建立 VM

您現在可以使用 VM 映射來建立 VM,並將它連接到您稍早建立的虛擬網路。

  1. 設定要用來登入您想要建立之 VM 的使用者名稱和密碼。

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

    在您建立並啟動 VM 之後,您將使用先前的使用者名稱和密碼來登入。

  2. 設定參數。

    $VmName = "<VM name>"
    $ComputerName = "<VM display name>"
    $OsDiskName = "<OS disk name>"
    
  3. 建立 VM。

    $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
    

    以下是範例輸出。

    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. 若要找出指派給您所建立 VM 的 IP,請查詢您建立的虛擬網路介面。 找出 PrivateIPAddress 並複製您 VM 的 IP。 以下是範例輸出。

    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>
    

連接至 VM

根據您是建立 Windows VM 或 Linux vm 而定,連線指示可能會不同。

連線至 Linux VM

若要連接到 Linux VM,請執行下列動作:

使用您在建立 VM 時所傳遞的私人 IP 來連線到 VM。

  1. 開啟 SSH 會話以連接到 IP 位址。

    ssh -l <username> <ip address>
    
  2. 出現提示時,請提供您在建立 VM 時所使用的密碼。

    如果您需要提供 SSH 金鑰,請使用此命令。

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

    以下是連接到 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>
    

如果您在建立 VM 時使用公用 IP 位址,您可以使用該 IP 來連線至 VM。 若要取得公用 IP,請執行下列命令:

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

在此情況下,公用 IP 與您在建立虛擬網路介面期間傳遞的私人 IP 相同。

連線至 Windows VM

若要連線到 Windows VM,請執行下列動作:

透過在 VM 建立期間傳遞的 IP,使用遠端桌面通訊協定 (RDP) 來連線至您的 Windows VM。

  1. 在您的用戶端上開啟 RDP。

  2. 移至 [ 開始],然後輸入 mstsc

  3. 在 [ 遠端桌面連線 ] 窗格中,輸入 VM 的 IP 位址,以及您在 vm 範本參數檔案中使用的存取認證。 然後選取 [連線] 。

    透過 RDP 連接到您的 Windows VM 遠端桌面連線窗格的螢幕擷取畫面。

    注意

    您可能需要核准連接至不受信任的電腦。

您現在已登入在設備上執行的 VM。

管理 VM

下列各節說明您可以在 Azure Stack Edge Pro 裝置上建立的一些常見作業。

列出正在裝置上執行的 Vm

若要傳回 Azure Stack Edge 裝置上執行的所有 Vm 清單,請執行下列命令:

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

如需此 Cmdlet 的詳細資訊,請參閱 new-azvm

開啟 VM

若要開啟正在裝置上執行的虛擬機器,請執行下列 Cmdlet:

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

如需此 Cmdlet 的詳細資訊,請參閱 new-azvm

暫止或關閉 VM

若要停止或關閉裝置上正在執行的虛擬機器,請執行下列 Cmdlet:

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

如需此 Cmdlet 的詳細資訊,請參閱 new-azvm Cmdlet

新增資料磁碟

如果 VM 上的工作負載需求增加,您可能需要新增資料磁片。 若要這樣做,請執行下列命令:

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

刪除 VM

若要從您的裝置移除虛擬機器,請執行下列 Cmdlet:

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

如需此 Cmdlet 的詳細資訊,請參閱 new-azvm Cmdlet

下一步

Azure Resource Manager Cmdlet