Implantar VMs no seu dispositivo Azure Stack Edge através do Azure PowerShell
APLICA-SE A: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Este artigo descreve como criar e gerenciar uma máquina virtual (VM) em seu dispositivo Azure Stack Edge, usando o Azure PowerShell.
Fluxo de trabalho de implantação da VM
O fluxo de trabalho de implantação de alto nível de implantação da VM é o seguinte:
- Conectar-se ao Azure Resource Manager do dispositivo.
- Identificar a assinatura interna no dispositivo.
- Trazer a imagem de VM.
- Criar um grupo de recursos na assinatura interna. O grupo de recursos contém a VM e todos os recursos relacionados.
- Crie uma conta de armazenamento local no dispositivo para armazenar o VHD que é usado para criar uma imagem de VM.
- Carregar uma imagem de origem do Windows/do Linux na conta de armazenamento para criar um disco gerenciado.
- Usar o disco gerenciado para criar uma imagem de VM.
- Habilitar a computação em uma porta de dispositivo para criar um comutador virtual.
- Isso criará uma rede virtual usando o comutador virtual anexado à porta na qual você habilitou a computação.
- Criar uma VM usando a imagem de VM criada anteriormente, a rede virtual e os adaptadores de rede virtual para se comunicar dentro da rede virtual e atribuir um endereço IP público para acessar remotamente a VM. Opcionalmente, inclua discos de dados para fornecer mais armazenamento para sua VM.
Pré-requisitos
Antes de implantar VMs no dispositivo Azure Stack Edge, é necessário configurar seu cliente para se conectar ao dispositivo via Azure Resource Manager sobre o Azure PowerShell. Para obter instruções detalhadas, consulte Conectar-se a Azure Resource Manager no dispositivo Azure Stack Edge.
Certifique-se de que possa usar as etapas a seguir para acessar o dispositivo a partir do cliente. Você já fez essa configuração quando se conectou ao Azure Resource Manager e, agora, está verificando se a configuração foi bem-sucedida.
Verifique se a comunicação do Azure Resource Manager está funcionando executando o seguinte comando:
Para chamar as APIs do dispositivo local para autenticar, insira:
Se tiver configurado a computação para Kubernetes, você poderá ignorar essa etapa. Caso contrário, certifique-se de que tenha habilitado uma interface de rede para computação fazendo o seguinte:
a. Na interface do usuário local, vá para configurações de Computação.
b. Selecione o adaptador de rede que será usado para criar um comutador virtual. As VMs que você criar serão anexadas a um comutador virtual anexado a essa porta e à rede associada. Certifique-se de escolher uma rede que corresponda ao endereço IP que você usará para a VM.c. Em Habilitar para computação no adaptador de rede, selecione Sim. O Azure Stack Edge criará e gerenciará um comutador virtual que corresponde a esse adaptador de rede. Não insira IPs específicos para Kubernetes no momento. A habilitação da computação pode levar vários minutos.
Observação
Se estiver criando VMs de GPU, selecione um adaptador de rede que esteja conectado à Internet. Isso permite que você instale uma extensão de GPU em seu dispositivo.
Consultar sobre uma assinatura interna no dispositivo
Para o Azure Resource Manager, há suporte apenas para uma única assinatura fixa, visível para o usuário. Essa assinatura é exclusiva por dispositivo e o nome da assinatura e a ID da assinatura não podem ser alterados.
A assinatura contém todos os recursos necessários para a criação da VM.
Importante
A assinatura é criada quando você habilita VMs do portal do Azure e ela reside localmente em seu dispositivo.
A assinatura é utilizada para implantar as VMs.
Para listar a assinatura, execute o comando a seguir:
Get-AzSubscription
Veja a seguir um exemplo de saída:
PS C:\WINDOWS\system32> Get-AzSubscription Name Id TenantId ---- -- -------- Default Provider Subscription ... ... PS C:\WINDOWS\system32>
Obter uma lista dos provedores de recursos registrados que estão em execução no dispositivo. A lista normalmente inclui computação, rede e armazenamento.
Get-AzResourceProvider
Observação
Os provedores de recursos são pré-registrados e não podem ser modificados ou alterados.
Veja a seguir um exemplo de saída:
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>
Criar um grupo de recursos
Comece criando um novo grupo de recursos do Azure e use-o como um contêiner lógico para todos os recursos relacionados à VM, como conta de armazenamento, disco, interface de rede e disco gerenciado.
Importante
Todos os recursos são criados no mesmo local que o do dispositivo e o local é configurado como DBELocal.
Defina alguns parâmetros.
$ResourceGroupName = "<Resource group name>"
Crie um grupo de recursos para os recursos criados para a VM.
New-AzResourceGroup -Name $ResourceGroupName -Location DBELocal
Veja a seguir um exemplo de saída:
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>
Criar uma conta de armazenamento local
Crie uma conta de armazenamento local usando um grupo de recursos existente. Use essa conta de armazenamento local para carregar a imagem de disco virtual ao criar uma VM.
Antes de criar uma conta de armazenamento local, é necessário configurar seu cliente para se conectar ao dispositivo via Azure Resource Manager sobre o Azure PowerShell. Para obter instruções detalhadas, consulte Conectar-se a Azure Resource Manager no dispositivo Azure Stack Edge.
Defina alguns parâmetros.
$StorageAccountName = "<Storage account name>"
Crie uma conta nova de armazenamento local no seu dispositivo.
New-AzStorageAccount -Name $StorageAccountName -ResourceGroupName $ResourceGroupName -Location DBELocal -SkuName Standard_LRS
Observação
Usando o Azure Resource Manager, você pode criar apenas contas de armazenamento local, como armazenamento com redundância local (standard ou premium). Para criar contas de armazenamento em camadas, consulte o Tutorial: transferir dados por meio de contas de armazenamento com o Azure Stack Edge Pro com GPU.
Veja um exemplo de saída:
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>
Para obter as chaves de acesso para uma conta de armazenamento local existente que você criou, forneça o nome do grupo de recursos associado e o nome da conta de armazenamento local.
Get-AzStorageAccountKey
Veja um exemplo de saída:
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>
Adicionar o URI do blob ao arquivo de host
Você já adicionou o URI de blob no arquivo de hosts para o cliente que você está usando para se conectar ao Armazenamento de Blobs do Azure em Modificar arquivo de host para resolução de nome de ponto de extremidade de Conectar-se ao Azure Resource Manager com seu dispositivo do Azure Stack Edge. Essa entrada foi usada para adicionar o URI do blob:
<Device IP address>
<storage name>.blob.<appliance name>.<dnsdomain>
Instalar certificados
Se você estiver usando HTTPS, precisa instalar os certificados apropriados em seu dispositivo. Nesse caso, instale o certificado de ponto de extremidade de blob. Para obter mais informações, consulte Usar certificados com seu Azure Stack Edge Pro com dispositivo GPU.
Carregar um VHD
Copie quaisquer imagens de disco a serem usadas em blobs de páginas na conta de armazenamento local que você antes. Você pode usar uma ferramenta como o AzCopy para carregar o disco rígido virtual (VHD) na conta de armazenamento.
Use os seguintes comandos com o AzCopy 10:
Definir alguns parâmetros, incluindo a versão apropriada das APIs para o AzCopy. Neste exemplo, o AzCopy 10 foi usado.
$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>
Copie o VHD da origem (nesse caso, o sistema local) para a conta de armazenamento que você criou em seu dispositivo na etapa anterior.
$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"
Veja um exemplo de saída:
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
Criar um disco gerenciado do VHD
Crie um disco gerenciado a partir do VHD carregado.
Defina alguns parâmetros.
$DiskName = "<Managed disk name>" $HyperVGeneration = "<Generation of the image: V1 or V2>"
Criar um disco gerenciado com base em um VHD carregado. Para obter a URL de origem do VHD, acesse o contêiner na conta de armazenamento que contém o VHD no Gerenciador de Armazenamento. Selecione o VHD, clique com o botão direito do mouse e, em seguida, selecione Propriedades. Na caixa de diálogo Propriedades de Blob, selecione o 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
Veja um exemplo de saída:.
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>
Criar uma imagem de VM com base no disco gerenciado
Agora você irá criar uma imagem de VM com base no disco gerenciado.
Defina alguns parâmetros.
$DiskSize = "<Size greater than or equal to size of source managed disk>" $OsType = "<linux or windows>" $ImageName = "<Image name>"
Criar uma imagem de VM. Os tipos de sistema operacional com suporte são Linux e 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
Veja um exemplo de saída.
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>
Criar sua VM com recursos criados anteriormente
Antes de criar e implantar a VM, você deve criar uma rede virtual e associar uma interface de rede virtual a ela.
Importante
As seguintes regras se aplicam:
- Você pode criar apenas uma rede virtual, mesmo entre grupos de recursos. A rede virtual deve ter exatamente o mesmo espaço de endereço que a rede lógica.
- A rede virtual pode ter apenas uma sub-rede. A sub-rede deve ter exatamente o mesmo espaço de endereço que a rede virtual.
- Ao criar a placa de interface de rede virtual, você pode usar apenas o método de alocação estática. O usuário precisa fornecer um endereço IP privado.
Consultar a rede virtual criada automaticamente
Quando você habilita a computação a partir da IU local do seu dispositivo, uma rede virtual chamada ASEVNET
é criada automaticamente, no grupo de recursos ASERG
.
Use o comando seguinte para consultar a rede virtual existente:
$ArmVn = Get-AzVirtualNetwork -Name ASEVNET -ResourceGroupName ASERG
Criar uma placa de adaptador de rede virtual
Crie uma placa de adaptador de rede virtual usando a ID de sub-rede da rede virtual.
Defina alguns parâmetros.
$IpConfigName = "<IP config name>" $NicName = "<Network interface name>"
Criar um adaptador de rede virtual.
$ipConfig = New-AzNetworkInterfaceIpConfig -Name $IpConfigName -SubnetId $aRmVN.Subnets[0].Id $Nic = New-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName -Location DBELocal -IpConfiguration $IpConfig
Por padrão, um IP é atribuído dinamicamente à sua interface de rede da rede habilitada para computação. Use o
-PrivateIpAddress parameter
se você estiver alocando um IP estático à sua interface de rede.Veja um exemplo de saída:
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>
Opcionalmente, enquanto você estiver criando uma placa de interface de rede virtual para uma VM, você pode passar o IP público. Nessa instância, o IP público retorna o IP privado.
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
Criar uma VM
Agora você pode usar a imagem da VM para criar uma VM e anexá-la à rede virtual que você criou anteriormente.
Defina o nome de usuário e a senha para entrar na VM que você deseja criar.
$pass = ConvertTo-SecureString "<Password>" -AsPlainText -Force; $cred = New-Object System.Management.Automation.PSCredential("<Enter username>", $pass)
Depois de criar e iniciar a VM, use o nome de usuário e a senha anteriores para entrar nela.
Defina os parâmetros.
$VmName = "<VM name>" $ComputerName = "<VM display name>" $OsDiskName = "<OS disk name>"
Crie a 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
Veja um exemplo de saída.
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
Para descobrir o IP atribuído à VM que você criou, consulte a interface de rede virtual criada. Localize o
PrivateIPAddress
e copie o IP da VM. Veja um exemplo de saída.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>
Conectar-se à VM
Conforme você tenha criado uma VM de Windows ou de Linux, as instruções de conexão podem ser diferentes.
Conectar-se a uma VM do Linux
Para conectar-se a uma VM de Linux, faça o seguinte:
Conecte-se à VM usando o IP privado que você passou durante a criação da VM.
Abra uma sessão SSH para se conectar com o endereço IP.
ssh -l <username> <ip address>
Quando for solicitada, forneça a senha que você usou ao criar a VM.
Se você precisar informar a chave SSH, use este comando.
ssh -i c:/users/Administrator/.ssh/id_rsa Administrator@5.5.41.236
Veja aqui um exemplo de saída quando você se conecta à 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>
Se você usou um endereço IP público durante a criação da VM, pode usar esse IP para se conectar à VM. Para obter o IP público, execute o seguinte comando:
$publicIp = Get-AzPublicIpAddress -Name $PublicIp -ResourceGroupName $ResourceGroupName
Nessa instância, o IP público é o mesmo que o particular passado durante a criação do adaptador de rede virtual.
Conectar-se a uma VM do Windows
Para conectar-se a uma VM de Windows, faça o seguinte:
Conecte-se à sua VM do Windows usando o Protocolo de Desktop Remoto (RDP) por meio do IP que você passou durante a criação da VM.
Em seu cliente, abra o RDP.
Acesse Iniciar e digite mstsc.
No painel Conexão de Área de Trabalho Remota, insira o endereço IP da VM e as credenciais de acesso usadas no arquivo de parâmetros do modelo de VM. Depois, selecione Conectar.
Observação
Talvez seja necessário aprovar a conexão com um computador não confiável.
Agora você está conectado à sua VM que é executada no dispositivo.
Gerenciar a VM
As seções a seguir descrevem algumas das operações comuns que você pode criar em seu dispositivo Azure Stack Edge Pro.
Listar as VMs que estão em execução no dispositivo
Para retornar uma lista de todas as VMs em execução em seu dispositivo Azure Stack Edge, execute este comando:
Get-AzVM -ResourceGroupName <String> -Name <String>
Para obter mais informações sobre esse cmdlet, consulte Get-AzVM.
Ligar a VM
Para ligar uma máquina virtual em execução em seu dispositivo, execute o seguinte cmdlet:
Start-AzVM [-Name] <String> [-ResourceGroupName] <String>
Para obter mais informações sobre esse cmdlet, consulte Start-AzVM.
Suspender ou desligar a VM
Para parar ou desligar uma máquina virtual que esteja em execução no seu dispositivo, execute o seguinte cmdlet:
Stop-AzVM [-Name] <String> [-StayProvisioned] [-ResourceGroupName] <String>
Para obter mais informações sobre esse cmdlet, consulte Stop-AzVM cmdlet.
Redimensionar a VM
Para redimensionar uma máquina virtual existente, execute os seguintes cmdlets:
Importante
Antes de redimensioná-la, interrompa a VM sem o sinalizador -StayProvisioned
.
$vm = Get-AzVM [-Name] <String> [-ResourceGroupName] <String>
$vm.HardwareProfile.VmSize = <new size> - Example: "Standard_D3_v2"
$vm | Update-AzVM
Adicionar um disco de dados
Se os requisitos de carga de trabalho em sua VM aumentarem, talvez seja necessário adicionar um disco de dados. Para fazer isso, execute o comando a seguir:
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
Excluir a VM
Para remover uma máquina virtual do seu dispositivo, execute o cmdlet a seguir:
Remove-AzVM [-Name] <String> [-ResourceGroupName] <String>
Para obter mais informações sobre esse cmdlet, consulte Remove-AzVm cmdlet.