My Tracking

My Tracking

記憶力の低下が気になるアラフォー男の備忘録

【MicrosoftAzure】自習書シリーズをやってみる③(~仮想ネットワークとサブネットの作成 ~)

引き続き、「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」 (以下、「自習書シリーズ」を利用した学習記。

Download Microsoft Azure 自習書一式 from Official Microsoft Download Center

前回までで、リソースグループおよびストレージアカウントまで作成したので、

今回は、MicrosoftAzure上に仮想ネットワークとサブネットを作成してみる。

目次

学習目標とする構成

「自習書シリーズ」に掲載されている 下記の構成の完成が、当面の学習の目標。

※「Azure 自習書シリーズ コマンドラインによる仮想マシンの構成と操作」より引用。

参考書籍

以下を書籍を参考にしている。

仮想ネットワークとは

仮想マシンを接続するための論理的なネットワーク。 仮想ネットワークAzure内で、自由に通信できる内部ネットワークで、 仮想マシンを仮想ネットワークに接続させることで、 自由に通信できるようになる。仮想ネットワークは、 仮想マシンの作成時に指定することになるため、 必ず、仮想マシンの作成名に仮想ネットワークを構成する必要が ある。

まず、仮想ネットワークをPowershellで構成する場合は、 以下のステップを踏む。

①仮想ネットワークは、New-AzureRmVirtualNetwork で作成
②次に、作成した仮想ネットワークにAdd-AzureRmVirtualNetworkSubnetConfig
でサブネットを作成。
③最後に、Set-AzureRmVirtualNetworkSubnetConfig で保存。

仮想ネットワークの構成とサブネット

「自習書シリーズ」の内容のとおり、下記の仮想ネットワークにサブネットを作成する。

  • 作成する仮想ネットワーク
仮想ネットワーク名 アドレス空間
AW-VNET 192.168.1.0/25
  • 仮想ネットワーク内に配置するサブネット
配置するサブネット名 アドレス空間
Frontend-SN 192.168.1.0/27
Backend-SN 192.168.1.32/27

「New-AzureRmVirtualNetwork 」コマンドによる仮想ネットワークの作成

仮想ネットワークは、New-AzureRmVirtualNetwork で作成する。

サブネットの構成が、あらかじめ作成されている場合、New-AzureRmVirtualNetwork を実行するときに、 使用する サブネットを渡すことができるようだが、今回は、先に仮想ネットワークを作成しておいて 後からサブネット構成を追加する。

「自習書シリーズ」に丁寧な解説があるが、 「New-AzureRmVirtualNetwork 」には、 主に下記の必須パラメータを 設定し、実行する。

パラメータ 説明 今回の設定値
Location 仮想マシンを作成する地域 $location
Name 仮想ネットワーク名 $virtualNetworkName
ResourceGroupName 仮想ネットワーク名を作成するリソースグループ名 $rg
AddressPrefix 仮想ネットワークに定義するアドレス空間 $addressPrefix

「Add-AzureRmVirtualNetworkSubnetConfig 」コマンドによるサブネットの作成

サブネットの構成は、Add-AzureRmVirtualNetworkSubnetConfig で作成する。

パラメータ 説明 今回の設定値
AddressPrefix サブネットに定義するアドレス空間 $subnet1Prefix および$subnet2Prefix
Name サブネット名 $subnet1Nameおよび$subnet2Name
VirtualNetwork サブネットを作成する仮想ネットワーク名 $vnet

「Set-AzureRmVirtualNetworkSubnetConfig 」コマンドによる設定の保存。

「Add-AzureRmVirtualNetworkSubnetConfig 」で実施した設定を「Set-AzureRmVirtualNetworkSubnetConfig 」コマンドで保存する。

パラメータ 説明 今回の設定値
VirtualNetwork 変更する仮想ネットワーク名 $vnet

仮想ネットワークとサブネットの作成の実行

上述した一連のコマンドを下記のスクリプトで実行する。

# リソースグループ 
$rg = "AW-RG"

# 地域 
$location = "japanwest"

# 仮想ネットワーク 
$virtualNetworkName = "AW-VNet"
$addressPrefix = "192.168.1.0/25"

# サブネット 
$subnet1Name = "Frontend-SN"
$subnet2Name = "Backend-SN"

$subnet1Prefix = "192.168.1.0/27" 
$subnet2Prefix = "192.168.1.32/27"
 
# 仮想ネットワークの作成
$vnet = New-AzureRmVirtualNetwork -Location $location -Name $virtualNetworkName `
-ResourceGroupName $rg -AddressPrefix $addressPrefix

# サブネットの作成
Add-AzureRmVirtualNetworkSubnetConfig -AddressPrefix $subnet1Prefix `
-Name $subnet1Name -VirtualNetwork $vnet 
Set-AzureRmVirtualNetworkSubnetConfig -AddressPrefix $subnet1Prefix `
-Name $subnet1Name -VirtualNetwork $vnet 
Add-AzureRmVirtualNetworkSubnetConfig -AddressPrefix $subnet2Prefix `
-Name $subnet2Name -VirtualNetwork $vnet 
Set-AzureRmVirtualNetworkSubnetConfig -AddressPrefix $subnet2Prefix `
 -Name $subnet2Name -VirtualNetwork $vnet
$vnet = Set-AzureRmVirtualNetwork -VirtualNetwork $vnet

実行時の出力例が下記のとおり。 ProvisioningStateが「Succeeded」 となっていることを確認する。

Name                   : AW-VNet
ResourceGroupName      : AW-RG
Location               : japanwest
Id                     : /subscriptions/xxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/AW-RG/providers/Microsoft.Network/virtualNetworks/AW-VNet
Etag                   : W/"xxxxxxxxxxxxxxxxxxxxxxx"
ResourceGuid           : b8b0a717-de99-4db8-94c8-dc799468f727
ProvisioningState      : Succeeded
Tags                   : 
AddressSpace           : {
                           "AddressPrefixes": [
                             "192.168.1.0/25"
                           ]
                         }
DhcpOptions            : {}
Subnets                : [
                           {
                             "Name": "Frontend-SN",
                             "AddressPrefix": "192.168.1.0/27"
                           }
                         ]
VirtualNetworkPeerings : []

Name                   : AW-VNet
ResourceGroupName      : AW-RG
Location               : japanwest
Id                     : /subscriptions/xxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/AW-RG/providers/Microsoft.Network/virtualNetworks/AW-VNet
Etag                   : W/"xxxxxxxxxxxxxxxxxxxxxxx"
ResourceGuid           : xxxxxxxxxxxxxxxxxxxxxxx
ProvisioningState      : Succeeded
Tags                   : 
AddressSpace           : {
                           "AddressPrefixes": [
                             "192.168.1.0/25"
                           ]
                         }
DhcpOptions            : {}
Subnets                : [
                           {
                             "Name": "Frontend-SN",
                             "AddressPrefix": "192.168.1.0/27"
                           }
                         ]
VirtualNetworkPeerings : []

Name                   : AW-VNet
ResourceGroupName      : AW-RG
Location               : japanwest
Id                     : /subscriptions/xxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/AW-RG/providers/Microsoft.Network/virtualNetworks/AW-VNet
Etag                   : W/"xxxxxxxxxxxxxxxxxxxxxxx"
ResourceGuid           : xxxxxxxxxxxxxxxxxxxxxxx
ProvisioningState      : Succeeded
Tags                   : 
AddressSpace           : {
                           "AddressPrefixes": [
                             "192.168.1.0/25"
                           ]
                         }
DhcpOptions            : {}
Subnets                : [
                           {
                             "Name": "Frontend-SN",
                             "AddressPrefix": "192.168.1.0/27"
                           },
                           {
                             "Name": "Backend-SN",
                             "AddressPrefix": "192.168.1.32/27"
                           }
                         ]
VirtualNetworkPeerings : []

Name                   : AW-VNet
ResourceGroupName      : AW-RG
Location               : japanwest
Id                     : /subscriptions/xxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/AW-RG/providers/Microsoft.Network/virtualNetworks/AW-VNet
Etag                   : W/"xxxxxxxxxxxxxxxxxxxxxxx"
ResourceGuid           : xxxxxxxxxxxxxxxxxxxxxxx
ProvisioningState      : Succeeded
Tags                   : 
AddressSpace           : {
                           "AddressPrefixes": [
                             "192.168.1.0/25"
                           ]
                         }
DhcpOptions            : {}
Subnets                : [
                           {
                             "Name": "Frontend-SN",
                             "AddressPrefix": "192.168.1.0/27"
                           },
                           {
                             "Name": "Backend-SN",
                             "AddressPrefix": "192.168.1.32/27"
                           }
                         ]
VirtualNetworkPeerings : []


作成した仮想ネットワークを確認する場合は、「Get-AzureRmVirtualNetwork」で確認する。

Get-AzureRmVirtualNetwork