Azure PowerShell を使用して静的プライベート IP アドレスを持つ仮想マシンを作成する

仮想マシン (VM) には、指定された範囲のプライベート IP アドレスが自動的に割り当てられます。 この範囲は、VM がデプロイされているサブネットに基づいています。 VM では、その VM が削除されるまでこのアドレスが保持されます。 Azure は、次に VM に作成されているサブネットから使用可能なプライベート IP アドレスを自動的に割り当てます。 サブネットで特定の IP アドレスが必要な場合は、VM に静的 IP アドレスを割り当てます。

前提条件

PowerShell をインストールしてローカルで使用する場合、この記事では Azure PowerShell モジュール バージョン 5.4.1 以降が必要になります。 インストールされているバージョンを確認するには、Get-Module -ListAvailable Az を実行します。 アップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。 PowerShell をローカルで実行している場合、Connect-AzAccount を実行して Azure との接続を作成することも必要です。

リソース グループを作成する

Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。

New-AzResourceGroup を使用して myResourceGroup という名前のリソース グループを eastus2 に作成します。

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

仮想マシンの作成

New-AzVM を使用して、仮想マシンを作成します。

次のコマンドでは、Windows Server の仮想マシンを作成します。 メッセージが表示されたら、仮想マシンの資格情報として使用するユーザー名とパスワードを入力します。

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

プライベート IP アドレスを静的に変更する

このセクションでは、以前に作成した仮想マシンのプライベート IP アドレスを "動的" から "静的" に変更します。

Get-AzVirtualNetwork を使用して、仮想ネットワーク構成を変数に配置します。 Get-AzVirtualNetworkSubnetConfig を使用して、サブネット構成を変数に配置します。 Get-AzNetworkInterface を使用してネットワーク インターフェイスの構成を取得し、変数に配置します。 Set-AzNetworkInterfaceIpConfig を使用して、ネットワーク インターフェイスの構成を設定します。 最後に、Set-AzNetworkInterface を使用して、仮想マシンの構成を設定します。

次のコマンドでは、仮想マシンのプライベート IP アドレスを静的に変更します。

## 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

警告

VM のオペレーティング システム内から、Azure VM に割り当てられているプライベート IP を静的に割り当てないでください。 VM に多数の IP アドレスを割り当てるときなど、必要な場合にのみ、プライベート IP の静的割り当てを行います。

オペレーティング システム内でプライベート IP アドレスを手動で設定する場合は、そのアドレスが、Azure のネットワーク インターフェイスに割り当てられているプライベート IP アドレスと一致していることを確認します。 そのようにしないと、VM への接続が失われる可能性があります。 詳細については、プライベート IP アドレス設定に関するページを参照してください。

リソースをクリーンアップする

必要なくなったら、Remove-AzResourceGroup を使用して、リソース グループとその中のすべてのリソースを削除できます。

Remove-AzResourceGroup -Name myResourceGroup -Force

次のステップ