Tworzenie maszyny wirtualnej ze statycznym prywatnym adresem IP przy użyciu Azure PowerShell

Maszyna wirtualna jest automatycznie przypisywana prywatny adres IP z określonego zakresu. Ten zakres jest oparty na podsieci, w której wdrożono maszynę wirtualną. Maszyna wirtualna przechowuje adres do momentu usunięcia maszyny wirtualnej. Platforma Azure dynamicznie przypisuje następny dostępny prywatny adres IP z podsieci, w której tworzysz maszynę wirtualną. Przypisz statyczny adres IP do maszyny wirtualnej, jeśli chcesz mieć określony adres IP w podsieci.

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Utwórz bezpłatne konto.
  • Azure PowerShell zainstalowane lokalnie lub Cloud Shell Azure

Jeśli postanowisz zainstalować program PowerShell i używać go lokalnie, ten artykuł wymaga modułu Azure PowerShell w wersji 5.4.1 lub nowszej. Uruchom polecenie Get-Module -ListAvailable Az, aby dowiedzieć się, jaka wersja jest zainstalowana. Jeśli konieczne będzie uaktualnienie, zobacz Instalowanie modułu Azure PowerShell. Jeśli używasz programu PowerShell lokalnie, musisz też uruchomić polecenie Connect-AzAccount, aby utworzyć połączenie z platformą Azure.

Tworzenie grupy zasobów

Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.

Utwórz grupę zasobów za pomocą polecenia New-AzResourceGroup o nazwie myResourceGroup w lokalizacji eastus2 .

## Create resource group. ##
$rg =@{
    Name = 'myResourceGroup'
    Location = 'eastus2'
}
New-AzResourceGroup @rg

Tworzenie maszyny wirtualnej

Utwórz maszynę wirtualną za pomocą polecenia New-AzVM.

Następujące polecenie tworzy maszynę wirtualną z systemem Windows Server. Po wyświetleniu monitu podaj nazwę użytkownika i hasło do użycia jako poświadczenia dla maszyny wirtualnej:

## Create virtual machine. ##
$vm = @{
    ResourceGroupName = 'myResourceGroup'
    Location = 'East US 2'
    Name = 'myVM'
    PublicIpAddressName = 'myPublicIP'
}
New-AzVM @vm

Zmienianie prywatnego adresu IP na statyczny

W tej sekcji zmienisz prywatny adres IP z dynamicznego na statyczny dla utworzonej wcześniej maszyny wirtualnej.

Użyj polecenia Get-AzVirtualNetwork , aby umieścić konfigurację sieci wirtualnej w zmiennej. Użyj polecenia Get-AzVirtualNetworkSubnetConfig , aby umieścić konfigurację podsieci w zmiennej. Użyj polecenia Get-AzNetworkInterface , aby uzyskać konfigurację interfejsu sieciowego i umieścić go w zmiennej. Użyj polecenia Set-AzNetworkInterfaceIpConfig , aby ustawić konfigurację interfejsu sieciowego. Na koniec użyj polecenia Set-AzNetworkInterface , aby ustawić konfigurację maszyny wirtualnej.

Następujące polecenie zmienia prywatny adres IP maszyny wirtualnej na statyczny:

## Place virtual network configuration into a variable. ##
$net = @{
    Name = 'myVM'
    ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net

## Place subnet configuration into a variable. ##
$sub = @{
    Name = 'myVM'
    VirtualNetwork = $vnet
}
$subnet = Get-AzVirtualNetworkSubnetConfig @sub

## Get name of network interface and place into a variable ##
$int1 = @{
    Name = 'myVM'
    ResourceGroupName = 'myResourceGroup'
}
$vm = Get-AzVM @int1

## Place network interface configuration into a variable. ##
$nic = Get-AzNetworkInterface -ResourceId $vm.NetworkProfile.NetworkInterfaces.Id

## Set interface configuration. ##
$config =@{
    Name = 'myVM'
    PrivateIpAddress = '192.168.1.4'
    Subnet = $subnet
}
$nic | Set-AzNetworkInterfaceIpConfig @config -Primary

## Save interface configuration. ##
$nic | Set-AzNetworkInterface

Ostrzeżenie

Z poziomu systemu operacyjnego maszyny wirtualnej nie należy statycznie przypisywać prywatnego adresu IP przypisanego do maszyny wirtualnej platformy Azure. Przypisz statyczny prywatny adres IP tylko wtedy, gdy jest to konieczne, na przykład podczas przypisywania wielu adresów IP do maszyn wirtualnych.

Jeśli ręcznie ustawisz prywatny adres IP w systemie operacyjnym, upewnij się, że jest on zgodny z prywatnym adresem IP przypisanym do interfejsu sieciowego platformy Azure. W przeciwnym razie możesz utracić łączność z maszyną wirtualną. Dowiedz się więcej o ustawieniach prywatnych adresów IP .

Czyszczenie zasobów

Gdy grupa zasobów i wszystkie zawarte w niej zasoby nie będą już potrzebne, możesz użyć polecenia Remove-AzResourceGroup :

Remove-AzResourceGroup -Name myResourceGroup -Force

Następne kroki