My Tracking

My Tracking

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

【MicrosoftAzure】自習書シリーズをやってみる④(~ネットワークインターフェイスとパブリックIPアドレスの作成~)

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

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

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

今回は、MicrosoftAzure上にネットワークインターフェイスとパブリックIPアドレスの作成を行う。

目次

学習目標とする構成

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

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

参考書籍

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

IPアドレスについて

グローバルインターネットに接続するためのIPアドレス。 ※パブリックIPアドレスは、パブリックIPアドレス リソースを作成して割り当てる。

仮想ネットワーク内で通信するためのIPアドレス

「自習書」の内容に準じ、今回は、 仮想マシンに、下記のとおり、プライベートIP アドレスを静的に割り当て、 パブリックIPアドレスは、Azure側で割り当てられた動的なアドレスを利用する。

仮想マシンの種類 仮想マシン 配置するサブネット名 ネットワーク インターフェイス プライベート IP アドレス
Webサーバー Web01 Frontend-SN Web01-NIC 192.168.1.4
DBサーバー SQL01 Backend-SN SQL01-NIC 192.168.1.36

「New-AzureRmPublicIpAddress」コマンドによるパブリックIPアドレスリソースの作成

パブリックIPアドレスは、New-AzureRmPublicIpAddress で作成する。

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

パラメータ 説明 今回の設定値
ResourceGroupName パブリックIP アドレスを作成するリソースグループ AW-RG
Location 仮想マシンを作成する地域 japanwest
Name パブリック IP アドレスの名前 Web01-IP
DomainNameLabel 仮想ネットワーク名を作成するリソースグループ名 「mylab-we-ps」(Azure で一意な名前)
AllocationMethod パブリック IP アドレスの割り当て方法を Dynamic または Static から選択 Dynamic

「New-AzureRmNetworkInterface」コマンドによるネットワークインターフェイスの作成

ネットワークインターフェイスは、New-AzureRmNetworkInterface で作成する。

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

パラメータ 説明 今回の設定値
ResourceGroupName パブリックIP アドレスを作成するリソースグループ AW-RG
Location 仮想マシンを作成する地域 japanwest
Name パブリック IP アドレスの名前 Web01-IP
PrivateIpAddress ネットワーク インターフェイスに割り当てるプライベート IP (192.168.1.4(WEBサーバ用) および192.168.1.36(DBサーバ用)
PublicIpAddress ネットワーク インターフェイスに割り当てるパブリック IP アドレスを指定 Get-AzureRmVirtualNetworkSubnetConfig で取得
Subnet ネットワーク インターフェイスを作成するサブネットを指定 New-AzureRmPublicIpAddress で取得

WEBサーバ用のIPアドレスリソースおよびNICリソースの作成

上述した一連のコマンドを下記のスクリプトで実行する。 まずは、WEBサーバ用のリソースを作成する。

#リソースグループ 
$rg = "AW-RG"
#地域 
$location = "japanwest"

# パブリックIPアドレス 
$PublicIpAddressName = "Web01-IP"
$dnsNameforPublicIp = "mylab-we-ps"
$allocationMethod = "Dynamic" 

# 仮想ネットワーク 
$virtualNetworkName = "AW-VNet"
$subnetName = "Frontend-SN"

# NIC
$nicName = "Web01-NIC"
$privateIpAddress = "192.168.1.4"
 
# パブリック IP アドレスの作成 
$pip = New-AzureRmPublicIpAddress `
        -AllocationMethod $allocationMethod -ResourceGroupName $rg `
        -DomainNameLabel $dnsNameforPublicIP `
        -Location $location -Name $PublicIPAddressName 
        
# NICを配置するサブネットの取得 
$vnet = Get-AzureRmVirtualNetwork -Name $virtualNetworkName `
        -ResourceGroupName $rg 
        
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name $subnetName `
          -VirtualNetwork $vnet
          
# NICの作成 
$nic = New-AzureRmNetworkInterface -ResourceGroupName $rg `
       -Location $location -Name $nicName -Subnet $subnet `
       -PrivateIpAddress $privateIpAddress -PublicIpAddress $pip

スクリプトの詳細は「自習書シリーズ」に丁寧な解説があるが、上記のとおり、

New-AzureRmNetworkInterfaceのパラメータに渡す「-PublicIpAddress」には、 New-AzureRmPublicIpAddressコマンドの戻り値、「-Subnet」には Get-AzureRmVirtualNetworkSubnetConfigコマンドの戻り値を取得しうえで、 最終的に、New-AzureRmNetworkInterfaceコマンドを実行する。

なお、実行時の出力例は特になし(実行した際はこんな感じだった。)

警告: The output object type of this cmdlet will be modified in a future release.
警告: The output object type of this cmdlet will be modified in a future release.

DBサーバ用のIPアドレスリソースおよびNICリソースの作成

次に、DBサーバ用のリソースを作成する。

#リソースグループ 
$rg = "AW-RG"
#地域 
$location = "japanwest"

# パブリックIPアドレス 
$PublicIpAddressName = "SQL01-IP"
$dnsNameforPublicIp = "mylab-sql-ps"
$allocationMethod = "Dynamic" 

# 仮想ネットワーク 
$virtualNetworkName = "AW-VNet"
$subnetName = "Backend-SN"

# NIC
$nicName = "SQL01-NIC"
$privateIpAddress = "192.168.1.36"
 
# パブリック IP アドレスの作成 
$pip = New-AzureRmPublicIpAddress `
        -AllocationMethod $allocationMethod -ResourceGroupName $rg `
        -DomainNameLabel $dnsNameforPublicIP `
        -Location $location -Name $PublicIPAddressName 
        
# NICを配置するサブネットの取得 
$vnet = Get-AzureRmVirtualNetwork -Name $virtualNetworkName `
        -ResourceGroupName $rg 
        
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name $subnetName `
          -VirtualNetwork $vnet
          
# NICの作成 
$nic = New-AzureRmNetworkInterface -ResourceGroupName $rg `
       -Location $location -Name $nicName -Subnet $subnet `
       -PrivateIpAddress $privateIpAddress -PublicIpAddress $pip

作成したリソースの確認

上述のリソース作成時の表示がとくにされなかったが、 作成したリソースを確認する場合は、下記のとおり。

Get-AzureRmResource | ? {$_.ResourceGroupName -eq $rg } | Select Name, ResourceType  

出力例は下記のとおり。

Name                ResourceType                       
----                ------------                       
SQL01-NIC           Microsoft.Network/networkInterfaces
Web01-NIC           Microsoft.Network/networkInterfaces
SQL01-IP            Microsoft.Network/publicIPAddresses
Web01-IP            Microsoft.Network/publicIPAddresses
AW-VNet             Microsoft.Network/virtualNetworks  
simalabmstorageacct Microsoft.Storage/storageAccounts