ハブ アンド スポーク ネットワークは、高可用性の複数の場所のネットワーク インフラストラクチャの構成要素の 1 つです。 ハブ アンド スポーク ネットワークの最も一般的なデプロイは、すべてのスポーク間および送信インターネット トラフィックを中央ハブ経由でルーティングする目的で行われます。 その目的は、セキュリティ スキャンとパケット検査のために、ネットワーク仮想アプライアンス (NVA) を使用してネットワークを通過するすべてのトラフィックを検査することです。
インターネットへの送信トラフィックの場合、通常、ネットワーク仮想アプライアンスには、割り当てられたパブリック IP アドレスを持つ 1 つのネットワーク インターフェイスがあります。 送信トラフィックを検査した NVA は、トラフィックをパブリック インターフェイスからインターネットに転送します。 Azure NAT Gateway を使用すると、パブリック IP アドレスを NVA に割り当てる必要がなくなります。 NAT ゲートウェイを NVA のパブリック サブネットに関連付けると、パブリック インターフェイスのルーティングが変更され、すべての送信インターネット トラフィックが NAT ゲートウェイ経由でルーティングされます。 パブリック IP アドレスの排除により、セキュリティが向上し、複数のパブリック IP アドレスとパブリック IP プレフィックスの一方または両方を使用して、アウトバウンドの送信元ネットワーク アドレス変換 (SNAT) をスケーリングできます。
重要
この記事で使用する NVA はデモンストレーションのみを目的としており、Ubuntu 仮想マシンでシミュレートされています。 このソリューションには、NVA のデプロイの高可用性のためのロード バランサーは含まれていません。 この記事の Ubuntu 仮想マシンを、任意の NVA に置き換えてください。 ルーティングと構成の手順については、選択した NVA のベンダーにお問い合わせください。 高可用性 NVA インフラストラクチャには、ロード バランサーと可用性ゾーンをお勧めします。
このチュートリアルで学習する内容は次のとおりです。
- NAT ゲートウェイを作成します。
- ハブ アンド スポーク仮想ネットワークを作成します。
- シミュレートされたネットワーク仮想アプライアンス (NVA) を作成します。
- スポークからのすべてのトラフィックがハブを経由するように強制します。
- ハブとスポーク内のすべてのインターネット トラフィックを NAT ゲートウェイから送信するように強制します。
- NAT ゲートウェイとスポーク間ルーティングをテストします。
前提条件
Azure Cloud Shell
Azure は、ブラウザーから使用できる対話型シェル環境である Azure Cloud Shell をホストします。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 Cloud Shell にプレインストールされているコマンドを使用すると、ローカル環境に何もインストールしなくても、この記事のコードを実行できます。
Azure Cloud Shell を起動するには:
選択肢 |
例とリンク |
コードまたはコマンド ブロックの右上隅にある [使ってみる] を選択します。
[使ってみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にはコピーされません。 |
|
https://shell.azure.com に移動するか、[Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。 |
|
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。 |
|
Azure Cloud Shell を使用するには、以下のようにします。
Cloud Shell を起動します。
コード ブロック (またはコマンド ブロック) の [コピー] ボタンを選択し、コードまたはコマンドをコピーします。
Windows および Linux では Ctrl+Shift+V を選択し、macOS では Cmd+Shift+V を選択して、コードまたはコマンドをクラウドシェルセッションに貼り付けます。
「を選択し、 を入力してコードまたはコマンドを実行します。」
PowerShell をローカルにインストールして使用する場合、この記事では Azure PowerShell モジュール バージョン 1.0.0 以降が必要になります。 インストールされているバージョンを確認するには、Get-Module -ListAvailable Az
を実行します。 アップグレードが必要な場合は、Azure PowerShell モジュールをインストールを参照してください。 PowerShell をローカルで実行している場合、Connect-AzAccount
を実行して Azure との接続を作成することも必要です。
Azure アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- この記事では、Azure CLI のバージョン 2.0.28 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。
NAT ゲートウェイを作成する
すべての送信インターネット トラフィックは、NAT ゲートウェイを経由してインターネットに送られます。 次の例を使用して、ハブ アンド スポーク ネットワークの NAT ゲートウェイを作成します。
Azure portal にサインインします。
ポータルの上部にある検索ボックスに、「NAT ゲートウェイ」と入力します。 検索結果から [NAT ゲートウェイ] を選択します。
[+ 作成] を選択します。
[ネットワーク アドレス変換 (NAT) ゲートウェイを作成します] の [基本] タブで、次の情報を入力または選択します。
設定 |
値 |
プロジェクトの詳細 |
|
サブスクリプション |
サブスクリプションを選択します。 |
リソースグループ |
[新規作成] を選択します。
[名前] に「test-rg」と入力します。
[OK] を選択します。 |
インスタンスの詳細 |
|
NAT ゲートウェイ名 |
「nat-gateway」と入力します。 |
リージョン |
[米国東部 2] を選択します。 |
可用性ゾーン |
[ゾーン] または [ゾーンなし] を選択します。 |
TCP アイドル タイムアウト (分) |
既定値の [4] のままにします。 |
[次へ: 送信 IP] を選択します。
[送信 IP] の [パブリック IP アドレス] で [新しいパブリック IP アドレスの作成] を選択します。
[名前] に「public-ip-nat」と入力します。
[OK] を選択します。
[Review + create](レビュー + 作成) を選択します。
[作成] を選択します
New-AzResourceGroup を使用してリソース グループを作成します。
$rgParams = @{
Name = "test-rg"
Location = "eastus2"
}
New-AzResourceGroup @rgParams
New-AzPublicIpAddress を使って、NAT ゲートウェイ用のパブリック IP アドレスを作ります。
$publicIpParams = @{
ResourceGroupName = "test-rg"
Name = "public-ip-nat"
Sku = "Standard"
AllocationMethod = "Static"
Location = "eastus2"
Zone = 1,2,3
}
$publicIp = New-AzPublicIpAddress @publicIpParams
New-AzNatGateway を使用して NAT ゲートウェイを作成します。
$natGatewayParams = @{
ResourceGroupName = "test-rg"
Name = "nat-gateway"
PublicIpAddress = $publicIp
Sku = 'Standard'
IdleTimeoutInMinutes = 4
Location = "eastus2"
}
New-AzNatGateway @natGatewayParams
az group create を使用してリソース グループを作成します。
az group create \
--name test-rg \
--___location eastus2
az network public-ip create を使用して、NAT ゲートウェイのパブリック IP アドレスを作成します。
az network public-ip create \
--resource-group test-rg \
--name public-ip-nat \
--sku Standard \
--allocation-method Static \
--zone 1 2 3
az network nat gateway create を使用して、NAT ゲートウェイを作成します。
az network nat gateway create \
--resource-group test-rg \
--name nat-gateway \
--public-ip-addresses public-ip-nat \
--idle-timeout 4 \
--___location eastus2
ハブ仮想ネットワークの作成
ハブ仮想ネットワークは、ソリューションの中央ネットワークです。 ハブ ネットワークには、NVA アプライアンス、パブリック サブネット、プライベート サブネットが含まれています。 NAT ゲートウェイは、仮想ネットワークの作成時にパブリック サブネットに割り当てられます。 次の例の一部として、Azure Bastion ホストが構成されます。 bastion ホストは、NVA 仮想マシンと、この記事の後半でスポークにデプロイされるテスト仮想マシンに安全に接続するために使用されます。
ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。
[+ 作成] を選択します。
[仮想ネットワークの作成] の [基本] タブで、次の情報を入力するか選びます。
設定 |
値 |
プロジェクトの詳細 |
|
サブスクリプション |
サブスクリプションを選択します。 |
リソースグループ |
test-rg を選択します。 |
インスタンスの詳細 |
|
名前 |
「vnet-hub」と入力します。 |
リージョン |
[米国東部 2] を選択します。 |
[次へ] を選択して、[セキュリティ] タブに進みます。
[セキュリティ] タブの [Azure Bastion] セクションで [Azure Bastion を有効にする] を選択します。
Azure Bastion では、プライベート IP アドレスを使用して Secure Shell (SSH) またはリモート デスクトップ プロトコル (RDP) を介して、仮想ネットワーク内の VM にブラウザーで接続します。 VM には、パブリック IP アドレス、クライアント ソフトウェア、または特別な構成は必要ありません。 Azure Bastion の詳細については、Azure Bastion に関するページをご覧ください。
注
時間単位の価格は、送信データの使用状況に関係なく、Bastion がデプロイされた時点から開始します。 詳しくは、「価格」および「SKU」を参照してください。 チュートリアルまたはテストの一環で Bastion をデプロイする場合は、使用終了後にこのリソースを削除することをお勧めします。
[Azure Bastion] で、次の情報を入力または選択します。
設定 |
値 |
Azure Bastion ホスト名 |
「bastion」と入力します。 |
Azure Bastion のパブリック IP アドレス |
[Create a public IP address] (パブリック IP アドレスを作成する) を選びます。
[名前] に「public-ip-bastion」と入力します。
[OK] を選択します。 |
[次へ] を選択して、[IP アドレス] タブに進みます。
[サブネット] のアドレス空間ボックスで、既定のサブネットを選択します。
[サブネットの編集] で次の情報を入力または選択します。
設定 |
値 |
サブネットの目的 |
既定値の [既定] のままにします。 |
名前 |
「subnet-private」と入力します。 |
IPv4 |
|
IPv4 アドレス範囲 |
既定値である 10.0.0.0/16 のままにします。 |
開始アドレス |
既定値の 10.0.0.0 のままにします。 |
サイズ |
既定値の /24(256 アドレス) のままにします。 |
[保存] を選択します。
+ サブネットの追加 を選択します。
[サブネットの追加] で、次の情報を入力または選択します。
設定 |
値 |
サブネットの目的 |
既定値の [既定] のままにします。 |
名前 |
「subnet-public」と入力します。 |
IPv4 |
|
IPv4 アドレス範囲 |
既定値である 10.0.0.0/16 のままにします。 |
開始アドレス |
10.0.253.0 と入力します。 |
サイズ |
/28 (16 アドレス) を選択します。 |
セキュリティ |
|
NAT Gateway |
[nat-gateway] を選択します。 |
[追加] を選択します。
[Review + create](レビュー + 作成) を選択します。
[作成] を選択します
bastion ホストがデプロイされるまでに数分かかります。 デプロイの一環として仮想ネットワークが作成されたら、次の手順に進むことができます。
New-AzVirtualNetworkSubnetConfig を使用してサブネットを作成します。
$subnetPrivateParams = @{
Name = "subnet-private"
AddressPrefix = "10.0.0.0/24"
}
$privateSubnetConfig = New-AzVirtualNetworkSubnetConfig @subnetPrivateParams
$subnetBastionParams = @{
Name = "AzureBastionSubnet"
AddressPrefix = "10.0.1.0/26"
}
$bastionSubnetConfig = New-AzVirtualNetworkSubnetConfig @subnetBastionParams
$subnetPublicParams = @{
Name = "subnet-public"
AddressPrefix = "10.0.253.0/28"
NatGateway = (Get-AzNatGateway -ResourceGroupName "test-rg" -Name "nat-gateway")
}
$publicSubnetConfig = New-AzVirtualNetworkSubnetConfig @subnetPublicParams
New-AzVirtualNetwork を使用して、仮想ネットワークを作成します。
$vNetParams = @{
ResourceGroupName = "test-rg"
Name = "vnet-hub"
AddressPrefix = "10.0.0.0/16"
Location = "eastus2"
Subnet = $privateSubnetConfig, $bastionSubnetConfig, $publicSubnetConfig
}
$vNet = New-AzVirtualNetwork @vNetParams
New-AzPublicIpAddress を使用して、Azure Bastion ホストのパブリック IP アドレスを作成します。
$publicIpParams = @{
ResourceGroupName = "test-rg"
Name = "public-ip-bastion"
Sku = "Standard"
AllocationMethod = "Static"
Location = "eastus2"
Zone = 1,2,3
}
New-AzPublicIpAddress @publicIpParams
New-AzBastion を使用して Azure Bastion ホストを作成します。
$bastionParams = @{
ResourceGroupName = "test-rg"
Name = "bastion"
VirtualNetworkName = "vnet-hub"
PublicIpAddressName = "public-ip-bastion"
PublicIPAddressRgName = "test-rg"
VirtualNetworkRgName = "test-rg"
}
New-AzBastion @bastionParams
az network vnet create を使用して、仮想ネットワークを作成します。
az network vnet create \
--resource-group test-rg \
--name vnet-hub \
--address-prefix 10.0.0.0/16 \
--___location eastus2
az network vnet subnet create を使用してサブネットを作成します。
az network vnet subnet create \
--resource-group test-rg \
--vnet-name vnet-hub \
--name subnet-private \
--address-prefix 10.0.0.0/24
az network vnet subnet create \
--resource-group test-rg \
--vnet-name vnet-hub \
--name AzureBastionSubnet \
--address-prefix 10.0.1.0/26
az network vnet subnet create \
--resource-group test-rg \
--vnet-name vnet-hub \
--name subnet-public \
--address-prefix 10.0.253.0/28 \
--nat-gateway nat-gateway
az network public-ip create を使用して、Azure Bastion ホストのパブリック IP アドレスを作成します。
az network public-ip create \
--resource-group test-rg \
--name public-ip-bastion \
--sku Standard \
--allocation-method Static \
--zone 1 2 3
az network bastion create を使用して Azure Bastion ホストを作成します。
az network bastion create \
--resource-group test-rg \
--name bastion \
--vnet-name vnet-hub \
--public-ip-address public-ip-bastion \
--___location eastus2
シミュレートされた NVA 仮想マシンを作成する
シミュレートされた NVA は、スポークとハブの間のすべてのトラフィックとインターネットに送信されるトラフィックをルーティングする仮想アプライアンスとして機能します。 シミュレートされた NVA には Ubuntu 仮想マシンを使用します。 次の例を使用して、シミュレートされた NVA を作成し、ネットワーク インターフェイスを構成します。
ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。
[+ 作成] を選択し、[Azure 仮想マシン] を選択します。
[仮想マシンの作成] の [基本] タブで、次の情報を入力または選択します。
設定 |
値 |
プロジェクトの詳細 |
|
サブスクリプション |
サブスクリプションを選択します。 |
リソースグループ |
test-rg を選択します。 |
インスタンスの詳細 |
|
仮想マシン名 |
「vm-nva」と入力します。 |
リージョン |
[(米国) 米国東部 2] を選択します。 |
可用性のオプション |
[インフラストラクチャ冗長は必要ありません] を選択します。 |
セキュリティの種類 |
[Standard] を選択します。 |
画像 |
[Ubuntu Server 24.04 LTS - x64 Gen2] を選びます。 |
VMアーキテクチャ |
既定値の [x64] のままにします。 |
サイズ |
サイズを選択します。 |
管理者アカウント |
|
認証の種類 |
[SSH 公開キー] を選択します。 |
ユーザー名 |
ユーザー名を入力します。 |
SSH 公開キーのソース |
[新しいキーの組を生成] を選択します。 |
SSH キーの種類 |
RSA SSH 形式は既定値のままにします。 |
キーの組名 |
ssh-key を入力します。 |
受信ポートの規則 |
|
パブリック受信ポート |
[なし] を選択します。 |
[次へ: ディスク]、[次へ: ネットワーク] の順に選択します。
[ネットワーク] タブで、次の情報を入力または選択します。
設定 |
値 |
ネットワーク インターフェイス |
|
仮想ネットワーク |
[vnet-hub] を選択します。 |
サブネット |
[subnet-public (10.0.253.0/28)] を選択します。 |
パブリック IP |
[なし] を選択します。 |
NIC ネットワーク セキュリティ グループ |
[Advanced] \(詳細設定) を選択します。 |
ネットワーク セキュリティ グループを構成する |
[新規作成] を選択します。
[名前] に「nsg-nva」と入力します。
[OK] を選択します。 |
残りのオプションは既定値のままにし、[確認と作成] を選びます。
[作成] を選択します
[ 新しいキー ペアの生成 ] ダイアログ ボックスが表示されます。
[Download private key and create resource](秘密キーをダウンロードしてリソースを作成する) を選択します。
秘密キーがローカル コンピューターにダウンロードされます。 後の手順で Azure Bastion を使って仮想マシンに接続するために、秘密キーが必要です。 秘密キー ファイルの名前は、[キー ペア名] フィールドに入力した 名前 です。 この例では、秘密キー ファイルの名前は ssh-key です。
New-AzNetworkSecurityGroup を使用して、ネットワーク セキュリティ グループを作成します。
$nsgParams = @{
ResourceGroupName = "test-rg"
Name = "nsg-nva"
Location = "eastus2"
}
New-AzNetworkSecurityGroup @nsgParams
New-AzNetworkInterface を使用してネットワーク インターフェイスを作成します。
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-public"
SubnetId = (Get-AzVirtualNetwork -ResourceGroupName "test-rg" -Name "vnet-hub").Subnets[1].Id
NetworkSecurityGroupId = (Get-AzNetworkSecurityGroup -ResourceGroupName "test-rg" -Name "nsg-nva").Id
Location = "eastus2"
}
New-AzNetworkInterface @nicParams
Get-Credential を使用して VM のユーザー名とパスワードを設定し、$cred
変数に格納します。
$cred = Get-Credential
注
VM のユーザー名は必須です。 パスワードは省略でき、設定しないと使われません。 Linux VM には SSH キーの構成をお勧めします。
New-AzVMConfig を使用して VM を定義します。
$vmConfigParams = @{
VMName = "vm-nva"
VMSize = "Standard_DS4_v2"
}
$vmConfig = New-AzVMConfig @vmConfigParams
Set-AzVMOperatingSystem と Set-AzVMSourceImage を使用して、残りの VM 構成を作成します。 次の例では、Ubuntu Server 仮想マシンを作成します。
$osParams = @{
VM = $vmConfig
ComputerName = "vm-nva"
Credential = $cred
}
$vmConfig = Set-AzVMOperatingSystem @osParams -Linux -DisablePasswordAuthentication
$imageParams = @{
VM = $vmConfig
PublisherName = "Canonical"
Offer = "ubuntu-24_04-lts"
Skus = "server"
Version = "latest"
}
$vmConfig = Set-AzVMSourceImage @imageParams
Add-AzVMNetworkInterface を使用して、前に作成した NIC を VM にアタッチします。
# Get the network interface object
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-public"
}
$nic = Get-AzNetworkInterface @nicParams
$vmConfigParams = @{
VM = $vmConfig
Id = $nic.Id
}
$vmConfig = Add-AzVMNetworkInterface @vmConfigParams
New-AzVM を使用して VM を作成します。 このコマンドでは、ログイン用に仮想マシンの SSH キーが生成されます。 秘密キーの場所を記録しておきます。 後の手順で Azure Bastion を使って仮想マシンに接続するために、秘密キーが必要です。
$vmParams = @{
VM = $vmConfig
ResourceGroupName = "test-rg"
Location = "eastus2"
SshKeyName = "ssh-key"
}
New-AzVM @vmParams -GenerateSshKey
ネットワーク セキュリティ グループを作成するには、az network nsg create を使用します。
az network nsg create \
--resource-group test-rg \
--name nsg-nva \
--___location eastus2
az network nic create を使用してネットワーク インターフェイスを作成します。
az network nic create \
--resource-group test-rg \
--name nic-public \
--vnet-name vnet-hub \
--subnet subnet-public \
--network-security-group nsg-nva
仮想マシンを作成するには、az vm create を使用します。 このコマンドでは、ログイン用に仮想マシンの SSH キーが生成されます。 秘密キーの場所を記録しておきます。 後の手順で Azure Bastion を使って仮想マシンに接続するために、秘密キーが必要です。
az vm create \
--resource-group test-rg \
--name vm-nva \
--image Ubuntu2204 \
--size Standard_DS4_v2\
--admin-username azureuser \
--generate-ssh-keys \
--nics nic-public
既定では、仮想マシンのプライマリ ネットワーク インターフェイスの IP 構成は動的に設定されています。 次の例を使用して、プライマリ ネットワーク インターフェイスの IP 構成を静的に変更し、NVA のプライベート インターフェイス用のセカンダリ ネットワーク インターフェイスを追加します。
ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。
[vm-nva] を選択します。
[概要] で、仮想マシンが実行されている場合は [停止] を選びます。
[ネットワーク] を展開し、[ネットワーク設定] を選択します。
[ネットワーク] で、[ネットワーク インターフェイス] の横にあるネットワーク インターフェイス名を選びます。 インターフェイス名は、仮想マシン名とランダムな数字と文字です。 この例では、インターフェイス名は vm-nva271 です。
そのネットワーク インターフェイスのプロパティの [設定] で、 [IP 構成] を選択します。
[IP 転送を有効にする] の横にあるボックスを選択します。
[適用] を選択します。
適用アクションが完了したら、[ipconfig1] を選択します。
ipconfig1 の [プライベート IP アドレス設定] で [静的] を選択します。
プライベート IP アドレス に 10.0.253.10 と入力します。
[保存] を選択します。
保存アクションが完了したら、vm-nva のネットワーク構成に戻ります。
vm-nva の [ネットワーク設定] で [ネットワーク インターフェイスのアタッチ] を選択します。
[Create and attach network interface](ネットワーク インターフェイスの作成と接続) を選択します。
[ネットワーク インターフェイスの作成] で、次の情報を入力するか選びます:
設定 |
値 |
プロジェクトの詳細 |
|
リソースグループ |
test-rg を選択します。 |
ネットワーク インターフェイス |
|
名前 |
「nic-private」と入力します。 |
サブネット |
[subnet-private (10.0.0.0/24)] を選択します。 |
NIC ネットワーク セキュリティ グループ |
[Advanced] \(詳細設定) を選択します。 |
ネットワーク セキュリティ グループを構成する |
[nsg-nva] を選択します。 |
プライベート IP アドレスの割り当て |
[静的] を選択します。 |
プライベート IP アドレス |
「10.0.0.10」と入力します。 |
[作成] を選択します
仮想マシンを開始します。
Set-AzNetworkInterface を使用して、プライマリ ネットワーク インターフェイスで IP 転送を有効にします。
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-public"
}
$nic = Get-AzNetworkInterface @nicParams
$nic.EnableIPForwarding = $true
Set-AzNetworkInterface -NetworkInterface $nic
Set-AzNetworkInterfaceIpConfig を使用して、パブリック インターフェイスの仮想マシンのプライベート IP アドレスを静的に設定します。
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-public"
}
$nic = Get-AzNetworkInterface @nicParams
$nic.IpConfigurations[0].PrivateIpAllocationMethod = "Static"
$nic.IpConfigurations[0].PrivateIpAddress = "10.0.253.10"
Set-AzNetworkInterface -NetworkInterface $nic
Update-AzVM を使用して、nic-public インターフェイスをプライマリ インターフェイスとして指定します。
$vmParams = @{
ResourceGroupName = "test-rg"
Name = "vm-nva"
}
$vm = Get-AzVM @vmParams
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-public"
}
$nic = Get-AzNetworkInterface @nicParams
$vm.NetworkProfile.NetworkInterfaces | ForEach-Object {
$_.Primary = $false
}
$vm.NetworkProfile.NetworkInterfaces | Where-Object { $_.Id -eq $nic.Id } | ForEach-Object {
$_.Primary = $true
}
$updateParams = @{
ResourceGroupName = "test-rg"
VM = $vm
}
Update-AzVM @updateParams
New-AzNetworkInterface を使用して、セカンダリ ネットワーク インターフェイスを作成します。
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-private"
SubnetId = (Get-AzVirtualNetwork -ResourceGroupName "test-rg" -Name "vnet-hub").Subnets[0].Id
PrivateIpAddress = "10.0.0.10"
Location = "eastus2"
}
New-AzNetworkInterface @nicParams
Stop-AzVM を使用して、仮想マシンをシャットダウンして割り当てを解除します。
$vmParams = @{
ResourceGroupName = "test-rg"
Name = "vm-nva"
Force = $true
}
Stop-AzVM @vmParams
Add-AzVMNetworkInterface を使用して、セカンダリ ネットワーク インターフェイスを仮想マシンにアタッチします。
$vmParams = @{
ResourceGroupName = "test-rg"
Name = "vm-nva"
}
$vm = Get-AzVM @vmParams
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-private"
}
$nic = Get-AzNetworkInterface @nicParams
$vm = Add-AzVMNetworkInterface -VM $vm -Id $nic.Id
$updateParams = @{
ResourceGroupName = "test-rg"
VM = $vm
}
Update-AzVM @updateParams
Start-AzVM を使用して仮想マシンを起動します。
$startVmParams = @{
ResourceGroupName = "test-rg"
Name = "vm-nva"
}
Start-AzVM @startVmParams
az network nic update を使用して、プライマリ ネットワーク インターフェイスで IP 転送を有効にします。
az network nic update \
--resource-group test-rg \
--name nic-public \
--ip-forwarding true
az network nic ip-config update を使用して、仮想マシンのプライベート IP アドレスを静的に設定します。
az network nic ip-config update \
--resource-group test-rg \
--nic-name nic-public \
--name ipconfig1 \
--private-ip-address 10.0.253.10 \
--private-ip-address-version IPv4
az network nic create を使用して、セカンダリ ネットワーク インターフェイスを作成します。
az network nic create \
--resource-group test-rg \
--name nic-private \
--vnet-name vnet-hub \
--subnet subnet-private \
--private-ip-address 10.0.0.10
az vm deallocate を使用して、仮想マシンをシャットダウンして割り当てを解除します。
az vm deallocate \
--resource-group test-rg \
--name vm-nva
az vm nic add を使用して、セカンダリ ネットワーク インターフェイスを仮想マシンにアタッチします。
az vm nic add \
--resource-group test-rg \
--vm-name vm-nva \
--nics nic-private
az vm start を使用して仮想マシンを起動します。
az vm start \
--resource-group test-rg \
--name vm-nva
シミュレートされた NVA のルーティングでは、Ubuntu 仮想マシンの IP テーブルと内部 NAT が使用されます。 Azure Bastion を使用して NVA 仮想マシンに接続して、IP テーブルとルーティング構成を構成します。
Azure portal で、仮想マシンを検索して選択します。
[ 仮想マシン ] ページで、 vm-nva を選択します。
VM の [概要] ページで、[接続]、[Bastion 経由で接続] の順に選びます。
Bastion 接続の画面で、[認証の種類] を [ローカル ファイルからの SSH 秘密キー] に変更します。
仮想マシンの作成時に使った [ユーザー名] を入力します。 この例のユーザーは azureuser という名前なので、それをご自分が作成したユーザー名に置き換えます。
[ローカル ファイル] でフォルダー アイコンを選び、VM の作成時に生成された秘密キー ファイルを参照します。 秘密キー ファイルは、通常、 id_rsa
または id_rsa.pem
または ssh-key.pem
という名前です。
[接続] を選択します。
仮想マシンのプロンプトに次の情報を入力して、IP 転送を有効にします:
sudo nano /etc/sysctl.conf
Nano エディターで、行#
からnet.ipv4.ip_forward=1
を削除します。
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
Ctrl + O キーを押してファイルを保存します。
Ctrl + X キーを押してエディターを終了します。
次の情報を入力して、仮想マシンで内部 NAT を有効にします:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo apt-get update
sudo apt install iptables-persistent
[はい] を 2 回選びます。
sudo su
iptables-save > /etc/iptables/rules.v4
exit
Nano を使用して、次の情報を使用して構成を編集します。
sudo nano /etc/rc.local
構成ファイルに次の行を追加します:
/sbin/iptables-restore < /etc/iptables/rules.v4
Ctrl + O キーを押してファイルを保存します。
Ctrl + X キーを押してエディターを終了します。
仮想マシンを再起動します:
sudo reboot
ハブ ネットワークのルート テーブルを作成する
ルート テーブルは、Azure の既定のルーティングを上書きするために使用されます。 ルート テーブルを作成して、ハブのプライベート サブネット内のすべてのトラフィックがシミュレートされた NVA を経由するように強制します。
ポータルの上部にある検索ボックスに、「ルート テーブル」と入力します。 検索結果で [ルート テーブル] を選択します。
[+ 作成] を選択します。
[ルート テーブルの作成] で、次の情報を入力または選択します。
設定 |
値 |
プロジェクトの詳細 |
|
サブスクリプション |
サブスクリプションを選択します。 |
リソースグループ |
test-rg を選択します。 |
インスタンスの詳細 |
|
リージョン |
[米国東部 2] を選択します。 |
名前 |
「route-table-nat-hub」と入力します。 |
ゲートウェイのルートを伝達する |
既定値の [はい] のままにします。 |
[Review + create](レビュー + 作成) を選択します。
[作成] を選択します
ポータルの上部にある検索ボックスに、「ルート テーブル」と入力します。 検索結果で [ルート テーブル] を選択します。
[route-table-nat-hub] を選択します。
[設定] を展開し、[ルート] を選択します。
[ルート] で [+ 追加] を選択します。
[ルートの追加] で、次の情報を入力または選択します。
設定 |
値 |
ルート名 |
「default-via-nat-hub」と入力します。 |
変換先の型 |
[IP アドレス] を選択します。 |
宛先 IP アドレス/CIDR 範囲 |
「0.0.0.0/0」と入力します。 |
ネクストホップの種類 |
[仮想アプライアンス] を選択します。 |
次ホップ アドレス |
「10.0.0.10」と入力します。
これは、前の手順で NVA のプライベート インターフェイスに追加した IP アドレスです。 |
[追加] を選択します。
[設定] の [サブネット] を選択します。
[+ 関連付け] を選択します。
[サブネットの関連付け] で、次の情報を入力または選択します。
設定 |
値 |
仮想ネットワーク |
[vnet-hub (test-rg)] を選択します。 |
サブネット |
[subnet-private] を選択します。 |
[OK] を選択します。
New-AzRouteTable を使用してルート テーブルを作成します。
$routeTableParams = @{
ResourceGroupName = "test-rg"
Name = "route-table-nat-hub"
Location = "eastus2"
}
New-AzRouteTable @routeTableParams
Add-AzRouteConfig を使用して、ルート テーブルにルートを作成します。
$routeConfigParams = @{
Name = "default-via-nat-hub"
AddressPrefix = "0.0.0.0/0"
NextHopType = "VirtualAppliance"
NextHopIpAddress = "10.0.0.10"
}
$routeTableParams = @{
ResourceGroupName = "test-rg"
Name = "route-table-nat-hub"
}
$routeTable = Get-AzRouteTable @routeTableParams
$routeTable | Add-AzRouteConfig @routeConfigParams | Set-AzRouteTable
Set-AzVirtualNetworkSubnetConfig を使用して、ルート テーブルをサブネットに関連付けます。
$vnetParams = @{
ResourceGroupName = "test-rg"
Name = "vnet-hub"
}
$vnet = Get-AzVirtualNetwork @vnetParams
$subnetParams = @{
VirtualNetwork = $vnet
Name = "subnet-private"
}
$subnet = Get-AzVirtualNetworkSubnetConfig @subnetParams
$subnet.RouteTable = $routeTable
Set-AzVirtualNetwork -VirtualNetwork $vnet
az network route-table create を使用してルート テーブルを作成します。
az network route-table create \
--resource-group test-rg \
--name route-table-nat-hub \
--___location eastus2
ルート テーブルにルートを作成するには、az network route-table route create を使用します。
az network route-table route create \
--resource-group test-rg \
--route-table-name route-table-nat-hub \
--name default-via-nat-hub \
--address-prefix 0.0.0.0/0 \
--next-hop-type VirtualAppliance \
--next-hop-ip-address 10.0.0.10
az network vnet subnet update を使用して、ルート テーブルをサブネットに関連付けます。
az network vnet subnet update \
--resource-group test-rg \
--vnet-name vnet-hub \
--name subnet-private \
--route-table route-table-nat-hub
スポーク 1 の仮想ネットワークを作成する
ハブ アンド スポーク ネットワークの最初のスポーク用に、別のリージョンに別の仮想ネットワークを作成します。
ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。
[+ 作成] を選択します。
[仮想ネットワークの作成] の [基本] タブで、次の情報を入力するか選びます。
設定 |
値 |
プロジェクトの詳細 |
|
サブスクリプション |
サブスクリプションを選択します。 |
リソースグループ |
test-rg を選択します。 |
インスタンスの詳細 |
|
名前 |
「vnet-spoke-1」と入力します。 |
リージョン |
[(米国) 米国中南部] を選択します。 |
[次へ] を選択して、[セキュリティ] タブに進みます。
[次へ] を選択して、[IP アドレス] タブに進みます。
[IP アドレス] タブの [IPv4 アドレス空間] で、[アドレス空間の削除] を選んで、自動設定されているアドレス空間を削除します。
IPv4 アドレス空間の追加 を選択します。
IPv4 アドレス空間 に 10.1.0.0 と入力します。 マスクの選択では、既定値の /16 (65,536 アドレス) のままにします。
+ サブネットの追加 を選択します。
サブネットの追加 で、次の情報を入力または選択します:
設定 |
値 |
サブネットの目的 |
既定値の [既定] のままにします。 |
名前 |
「subnet-private」と入力します。 |
IPv4 |
|
IPv4 アドレス範囲 |
既定値の 10.1.0.0/16 のままにします。 |
開始アドレス |
既定値の 10.1.0.0 のままにします。 |
サイズ |
既定値の /24(256 アドレス) のままにします。 |
[追加] を選択します。
[Review + create](レビュー + 作成) を選択します。
[作成] を選択します
New-AzVirtualNetwork を使用して、仮想ネットワークを作成します。
$vnetParams = @{
ResourceGroupName = "test-rg"
Name = "vnet-spoke-1"
AddressPrefix = "10.1.0.0/16"
Location = "southcentralus"
}
New-AzVirtualNetwork @vnetParams
Add-AzVirtualNetworkSubnetConfig を使用してサブネットを作成します。
$vnetParams = @{
ResourceGroupName = "test-rg"
Name = "vnet-spoke-1"
}
$vnet = Get-AzVirtualNetwork @vnetParams
$subnetParams = @{
VirtualNetwork = $vnet
Name = "subnet-private"
AddressPrefix = "10.1.0.0/24"
}
Add-AzVirtualNetworkSubnetConfig @subnetParams
Set-AzVirtualNetwork -VirtualNetwork $vnet
az network vnet create を使用して、仮想ネットワークを作成します。
az network vnet create \
--resource-group test-rg \
--name vnet-spoke-1 \
--address-prefix 10.1.0.0/16 \
--___location southcentralus
az network vnet subnet create を使用してサブネットを作成します。
az network vnet subnet create \
--resource-group test-rg \
--vnet-name vnet-spoke-1 \
--name subnet-private \
--address-prefix 10.1.0.0/24
ハブとスポーク 1 の間にピアリングを作成する
仮想ネットワーク ピアリングは、ハブをスポーク 1 に接続し、スポーク 1 をハブに接続するために使用されます。 次の例を使用して、ハブとスポーク 1 の間に双方向のネットワーク ピアリングを作成します。
ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。
[vnet-hub] を選択します。
[ 設定] を展開し、[ ピアリング] を選択します。
[+ 追加] を選択します。
[ピアリングの追加] で、次の情報を入力するか選びます。
設定 |
値 |
リモート仮想ネットワークの概要 |
|
[Peering link name](ピアリング リンク名) |
「vnet-spoke-1-to-vnet-hub」と入力します。 |
仮想ネットワークのデプロイ モデル |
既定値の [リソース マネージャー] のままにします。 |
サブスクリプション |
サブスクリプションを選択します。 |
仮想ネットワーク |
[vnet-spoke-1 (test-rg)] を選択します。 |
リモート仮想ネットワーク ピアリングの設定 |
|
'vnet-spoke-1' に 'vnet-hub' へのアクセスを許可する |
既定値の 選択済みのままにします。 |
'vnet-spoke-1' が 'vnet-hub' から転送されたトラフィックを受信することを許可する |
チェックボックスを オンにします。 |
'vnet-spoke-1' のゲートウェイまたはルート サーバーがトラフィックを 'vnet-hub' に転送することを許可する |
既定値の 未選択 のままにします。 |
'vnet-spoke-1' が 'vnet-hub' のリモート ゲートウェイまたはルート サーバーを使用できるようにする |
既定値の 未選択 のままにします。 |
ローカル仮想ネットワークの概要 |
|
[Peering link name](ピアリング リンク名) |
「vnet-hub-to-vnet-spoke-1」と入力します。 |
ローカル仮想ネットワーク ピアリングの設定 |
|
'vnet-hub' に 'vnet-spoke-1' へのアクセスを許可する |
既定値の 選択済みのままにします。 |
'vnet-hub' が 'vnet-spoke-1' から転送されたトラフィックを受信することを許可する |
チェックボックスを オンにします。 |
'vnet-hub' のリモート ゲートウェイまたはルート サーバーがトラフィックを 'vnet-spoke-1' に転送することを許可する |
既定値の 未選択 のままにします。 |
'vnet-hub' が 'vnet-spoke-1' のリモート ゲートウェイまたはルート サーバーを使用できるようにする |
既定値の 未選択 のままにします。 |
[追加] を選択します。
[最新の情報に更新] を選び、[ピアリングの状態] が [接続済み] であることを確認します。
Add-AzVirtualNetworkPeering を使用して、ハブからスポーク 1 へのピアリングを作成します。
# Create peering from hub to spoke one
$hubVnetParams = @{
ResourceGroupName = "test-rg"
Name = "vnet-hub"
}
$hubVnet = Get-AzVirtualNetwork @hubVnetParams
$spokeVnetParams = @{
ResourceGroupName = "test-rg"
Name = "vnet-spoke-1"
}
$spokeVnet = Get-AzVirtualNetwork @spokeVnetParams
$hubToSpokeParams = @{
Name = "vnet-hub-to-vnet-spoke-1"
VirtualNetwork = $hubVnet
RemoteVirtualNetworkId = $spokeVnet.Id
AllowForwardedTraffic = $true
}
Add-AzVirtualNetworkPeering @hubToSpokeParams
# Create peering from spoke one to hub
$spokeToHubParams = @{
Name = "vnet-spoke-1-to-vnet-hub"
VirtualNetwork = $spokeVnet
RemoteVirtualNetworkId = $hubVnet.Id
AllowForwardedTraffic = $true
}
Add-AzVirtualNetworkPeering @spokeToHubParams
az network vnet peering create を使用して、ハブからスポーク 1 へのピアリングを作成します。
# Create peering from hub to spoke one
az network vnet peering create \
--name vnet-hub-to-vnet-spoke-1 \
--resource-group test-rg \
--vnet-name vnet-hub \
--remote-vnet vnet-spoke-1 \
--allow-vnet-access \
--allow-forwarded-traffic
# Create peering from spoke one to hub
az network vnet peering create \
--name vnet-spoke-1-to-vnet-hub \
--resource-group test-rg \
--vnet-name vnet-spoke-1 \
--remote-vnet vnet-hub \
--allow-vnet-access \
--allow-forwarded-traffic
スポーク 1 のネットワーク ルート テーブルを作成する
ルート テーブルを作成して、すべてのスポーク間トラフィックとインターネットのエグレス トラフィックがハブ仮想ネットワーク内のシミュレートされた NVA を経由するように強制します。
ポータルの上部にある検索ボックスに、「ルート テーブル」と入力します。 検索結果で [ルート テーブル] を選択します。
[+ 作成] を選択します。
[ルート テーブルの作成] で、次の情報を入力または選択します。
設定 |
値 |
プロジェクトの詳細 |
|
サブスクリプション |
サブスクリプションを選択します。 |
リソースグループ |
test-rg を選択します。 |
インスタンスの詳細 |
|
リージョン |
[米国中南部] を選択します。 |
名前 |
「route-table-nat-spoke-1」と入力します。 |
ゲートウェイのルートを伝達する |
既定値の [はい] のままにします。 |
[Review + create](レビュー + 作成) を選択します。
[作成] を選択します
ポータルの上部にある検索ボックスに、「ルート テーブル」と入力します。 検索結果で [ルート テーブル] を選択します。
[route-table-nat-spoke-1] を選択します。
[ 設定] を展開し、[ルート] を選択 します。
[ルート] で [+ 追加] を選択します。
[ルートの追加] で、次の情報を入力または選択します。
設定 |
値 |
ルート名 |
「default-via-nat-spoke-1」と入力します。 |
変換先の型 |
[IP アドレス] を選択します。 |
宛先 IP アドレス/CIDR 範囲 |
「0.0.0.0/0」と入力します。 |
ネクストホップの種類 |
[仮想アプライアンス] を選択します。 |
次ホップ アドレス |
「10.0.0.10」と入力します。
これは、前の手順で NVA のプライベート インターフェイスに追加した IP アドレスです。 |
[追加] を選択します。
[設定] の [サブネット] を選択します。
[+ 関連付け] を選択します。
[サブネットの関連付け] で、次の情報を入力または選択します。
設定 |
値 |
仮想ネットワーク |
[vnet-spoke-1 (test-rg)] を選択します。 |
サブネット |
[subnet-private] を選択します。 |
[OK] を選択します。
New-AzRouteTable を使用してルート テーブルを作成します。
$routeTableParams = @{
ResourceGroupName = "test-rg"
Name = "route-table-nat-spoke-1"
Location = "southcentralus"
}
New-AzRouteTable @routeTableParams
Add-AzRouteConfig を使用して、ルート テーブルにルートを作成します。
$routeConfigParams = @{
Name = "default-via-nat-spoke-1"
AddressPrefix = "0.0.0.0/0"
NextHopType = "VirtualAppliance"
NextHopIpAddress = "10.0.0.10"
}
$routeTableParams = @{
ResourceGroupName = "test-rg"
Name = "route-table-nat-spoke-1"
}
$routeTable = Get-AzRouteTable @routeTableParams
$routeTable | Add-AzRouteConfig @routeConfigParams | Set-AzRouteTable
Set-AzVirtualNetworkSubnetConfig を使用して、ルート テーブルをサブネットに関連付けます。
$vnetParams = @{
ResourceGroupName = "test-rg"
Name = "vnet-spoke-1"
}
$vnet = Get-AzVirtualNetwork @vnetParams
$subnetParams = @{
VirtualNetwork = $vnet
Name = "subnet-private"
}
$subnet = Get-AzVirtualNetworkSubnetConfig @subnetParams
$subnet.RouteTable = $routeTable
Set-AzVirtualNetwork -VirtualNetwork $vnet
az network route-table create を使用してルート テーブルを作成します。
az network route-table create \
--resource-group test-rg \
--name route-table-nat-spoke-1 \
--___location southcentralus
ルート テーブルにルートを作成するには、az network route-table route create を使用します。
az network route-table route create \
--resource-group test-rg \
--route-table-name route-table-nat-spoke-1 \
--name default-via-nat-spoke-1 \
--address-prefix 0.0.0.0/0 \
--next-hop-type VirtualAppliance \
--next-hop-ip-address 10.0.0.10
az network vnet subnet update を使用して、ルート テーブルをサブネットに関連付けます。
az network vnet subnet update \
--resource-group test-rg \
--vnet-name vnet-spoke-1 \
--name subnet-private \
--route-table route-table-nat-spoke-1
スポーク 1 のテスト用の仮想マシンを作成する
NAT ゲートウェイを経由した送信インターネット トラフィックとハブ アンド スポーク ネットワーク内のスポーク間トラフィックをテストするために、Windows Server 2022 仮想マシンが使用されます。 次の例を使用して、Windows Server 2022 仮想マシンを作成します。
ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。
[+ 作成] を選択し、[Azure 仮想マシン] を選択します。
[仮想マシンの作成] の [基本] タブで、次の情報を入力または選択します。
設定 |
値 |
プロジェクトの詳細 |
|
サブスクリプション |
サブスクリプションを選択します。 |
リソースグループ |
test-rg を選択します。 |
インスタンスの詳細 |
|
仮想マシン名 |
「vm-spoke-1」と入力します。 |
リージョン |
[(米国) 米国中南部] を選択します。 |
可用性のオプション |
[インフラストラクチャ冗長は必要ありません] を選択します。 |
セキュリティの種類 |
[Standard] を選択します。 |
画像 |
[Windows Server 2022 Datacenter - x64 Gen2] を選択します。 |
VMアーキテクチャ |
既定値の [x64] のままにします。 |
サイズ |
サイズを選択します。 |
管理者アカウント |
|
認証の種類 |
[パスワード] を選択します。 |
ユーザー名 |
ユーザー名を入力します。 |
パスワード |
パスワードを入力します。 |
パスワードの確認 |
パスワードを再入力します。 |
受信ポートの規則 |
|
パブリック受信ポート |
[なし] を選択します。 |
[次へ: ディスク]、[次へ: ネットワーク] の順に選択します。
[ネットワーク] タブで、次の情報を入力または選択します。
設定 |
値 |
ネットワーク インターフェイス |
|
仮想ネットワーク |
[vnet-spoke-1] を選択します。 |
サブネット |
[subnet-private (10.1.0.0/24)] を選びます。 |
パブリック IP |
[なし] を選択します。 |
NIC ネットワーク セキュリティ グループ |
[Advanced] \(詳細設定) を選択します。 |
ネットワーク セキュリティ グループを構成する |
[新規作成] を選択します。
「nsg-spoke-1」と入力します。 |
受信の規則 |
[+ 受信規則の追加] を選択します。
[サービス] で、[HTTP] を選択します。
[追加] を選択します。
[OK] を選択します。 |
[OK] を選択します。
残りのオプションは既定値のままにし、[確認と作成] を選びます。
[作成] を選択します
New-AzNetworkSecurityGroup を使用して、ネットワーク セキュリティ グループを作成します。
$nsgParams = @{
ResourceGroupName = "test-rg"
Name = "nsg-spoke-1"
Location = "southcentralus"
}
New-AzNetworkSecurityGroup @nsgParams
New-AzNetworkSecurityRuleConfig を使用して、HTTP の受信 NSG ルールを作成します。
$nsgParams = @{
ResourceGroupName = "test-rg"
Name = "nsg-spoke-1"
}
$nsg = Get-AzNetworkSecurityGroup @nsgParams
$ruleParams = @{
Name = "allow-http"
Priority = 1000
Direction = "Inbound"
Access = "Allow"
Protocol = "Tcp"
SourceAddressPrefix = "*"
SourcePortRange = "*"
DestinationAddressPrefix = "*"
DestinationPortRange = "80"
}
$nsg | Add-AzNetworkSecurityRuleConfig @ruleParams
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
New-AzNetworkInterface を使用してネットワーク インターフェイスを作成します。
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-1"
SubnetId = (Get-AzVirtualNetwork -ResourceGroupName "test-rg" -Name "vnet-spoke-1").Subnets[0].Id
NetworkSecurityGroupId = (Get-AzNetworkSecurityGroup -ResourceGroupName "test-rg" -Name "nsg-spoke-1").Id
Location = "southcentralus"
}
New-AzNetworkInterface @nicParams
Get-Credential を使用して VM のユーザー名とパスワードを設定し、$cred
変数に格納します。
$cred = Get-Credential
New-AzVMConfig を使用して VM を定義します。
$vmConfigParams = @{
VMName = "vm-spoke-1"
VMSize = "Standard_DS4_v2"
}
$vmConfig = New-AzVMConfig @vmConfigParams
Set-AzVMOperatingSystem と Set-AzVMSourceImage を使用して、残りの VM 構成を作成します。 次の例では、Windows Server 仮想マシンを作成します。
$osParams = @{
VM = $vmConfig
ComputerName = "vm-spoke-1"
Credential = $cred
}
$vmConfig = Set-AzVMOperatingSystem @osParams -Windows
$imageParams = @{
VM = $vmConfig
PublisherName = "MicrosoftWindowsServer"
Offer = "WindowsServer"
Skus = "2022-Datacenter"
Version = "latest"
}
$vmConfig = Set-AzVMSourceImage @imageParams
Add-AzVMNetworkInterface を使用して、前に作成した NIC を VM にアタッチします。
# Get the network interface object
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-1"
}
$nic = Get-AzNetworkInterface @nicParams
$vmConfigParams = @{
VM = $vmConfig
Id = $nic.Id
}
$vmConfig = Add-AzVMNetworkInterface @vmConfigParams
New-AzVM を使用して VM を作成します。
$vmParams = @{
VM = $vmConfig
ResourceGroupName = "test-rg"
Location = "southcentralus"
}
New-AzVM @vmParams
ネットワーク セキュリティ グループを作成するには、az network nsg create を使用します。
az network nsg create \
--resource-group test-rg \
--name nsg-spoke-1 \
--___location eastus2
az network nsg rule create を使用して、HTTP 用の受信 NSG ルールを作成します。
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-spoke-1 \
--name allow-http \
--priority 1000 \
--direction Inbound \
--access Allow \
--protocol Tcp \
--destination-port-ranges 80
az network nic create を使用してネットワーク インターフェイスを作成します。
az network nic create \
--resource-group test-rg \
--name nic-1 \
--vnet-name vnet-1 \
--subnet subnet-private \
--network-security-group nsg-spoke-1
az vm create を使用して Windows Server 2022 仮想マシンを作成します。
az vm create \
--resource-group test-rg \
--name vm-spoke-1 \
--image Win2022Datacenter \
--size Standard_DS2_v2 \
--admin-username azureuser \
--nics nic-1
次の手順に進む前に、仮想マシンがデプロイを完了するまで待ちます。
スポーク 1 のテスト用の仮想マシンに IIS をインストールする
NAT ゲートウェイを経由した送信インターネット トラフィックとハブ アンド スポーク ネットワーク内のスポーク間トラフィックをテストするため、Windows Server 2022 仮想マシンに IIS をインストールします。
ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。
[vm-spoke-1] を選択します。
[操作] を展開し、[コマンドの実行] を選択します。
[RunPowerShellScript] を選択します。
[実行コマンド スクリプト] に次のスクリプトを入力します。
# Install IIS server role
Install-WindowsFeature -name Web-Server -IncludeManagementTools
# Remove default htm file
Remove-Item C:\inetpub\wwwroot\iisstart.htm
# Add a new htm file that displays server name
Add-Content -Path "C:\inetpub\wwwroot\iisstart.htm" -Value $("Hello World from " + $env:computername)
[実行] を選択します。
スクリプトが完了するまで待ってから次の手順に進んでください。 スクリプトが完了するまでには数分かかる場合があります。
スクリプトが完了すると、出力の表示は次のようになります。
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {Common HTTP Features, Default Document, D...
Set-AzVMExtension を使用して、仮想マシンに IIS をインストールします。
$vmExtensionParams = @{
ResourceGroupName = "test-rg"
VMName = "vm-spoke-1"
Name = "CustomScriptExtension"
Publisher = "Microsoft.Compute"
Type = "CustomScriptExtension"
TypeHandlerVersion = "1.10"
Settings = @{
"commandToExecute" = "powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path 'C:\inetpub\wwwroot\default.htm' -Value vm-spoke-1"
}
}
Set-AzVMExtension @vmExtensionParams
az vm extension set を使用して、仮想マシンに IIS をインストールします。
az vm extension set \
--publisher Microsoft.Compute \
--version 1.8 \
--name CustomScriptExtension \
--vm-name vm-spoke-1 \
--resource-group test-rg \
--settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\default.htm\" -Value $($env:computername)"}'
2 番目のスポークの仮想ネットワークを作成する
ハブ アンド スポーク ネットワークの 2 番目のスポーク用の 2 番目の仮想ネットワークを作成します。
ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。
[+ 作成] を選択します。
[仮想ネットワークの作成] の [基本] タブで、次の情報を入力するか選びます。
設定 |
値 |
プロジェクトの詳細 |
|
サブスクリプション |
サブスクリプションを選択します。 |
リソースグループ |
test-rg を選択します。 |
インスタンスの詳細 |
|
名前 |
「vnet-spoke-2」と入力します。 |
リージョン |
[(米国) 米国西部 2] を選択します。 |
[次へ] を選択して、[セキュリティ] タブに進みます。
[次へ] を選択して、[IP アドレス] タブに進みます。
[IP アドレス] タブの [IPv4 アドレス空間] で、[アドレス空間の削除] を選んで、自動設定されているアドレス空間を削除します。
IPv4 アドレス空間の追加 を選択します。
IPv4 アドレス空間 に 10.2.0.0 と入力します。 マスクの選択では、既定値の /16 (65,536 アドレス) のままにします。
+ サブネットの追加 を選択します。
サブネットの追加 で、次の情報を入力または選択します:
設定 |
値 |
サブネットの目的 |
既定値の [既定] のままにします。 |
名前 |
「subnet-private」と入力します。 |
IPv4 |
|
IPv4 アドレス範囲 |
既定値の 10.2.0.0/16のままにします。 |
開始アドレス |
既定値の 10.2.0.0のままにします。 |
サイズ |
既定値の /24(256 アドレス) のままにします。 |
[追加] を選択します。
[Review + create](レビュー + 作成) を選択します。
[作成] を選択します
New-AzVirtualNetwork を使用して、仮想ネットワークを作成します。
$vnetParams = @{
ResourceGroupName = "test-rg"
Name = "vnet-spoke-2"
AddressPrefix = "10.2.0.0/16"
Location = "westus2"
}
New-AzVirtualNetwork @vnetParams
Add-AzVirtualNetworkSubnetConfig を使用してサブネットを作成します。
$vnetParams = @{
ResourceGroupName = "test-rg"
Name = "vnet-spoke-2"
}
$vnet = Get-AzVirtualNetwork @vnetParams
$subnetParams = @{
VirtualNetwork = $vnet
Name = "subnet-private"
AddressPrefix = "10.2.0.0/24"
}
Add-AzVirtualNetworkSubnetConfig @subnetParams
Set-AzVirtualNetwork -VirtualNetwork $vnet
az network vnet create を使用して、仮想ネットワークを作成します。
az network vnet create \
--resource-group test-rg \
--name vnet-spoke-2 \
--address-prefix 10.2.0.0/16 \
--___location westus2
az network vnet subnet create を使用してサブネットを作成します。
az network vnet subnet create \
--resource-group test-rg \
--vnet-name vnet-spoke-2 \
--name subnet-private \
--address-prefix 10.2.0.0/24
ハブとスポーク 2 の間にピアリングを作成する
ハブとスポーク 2 の間に双方向の仮想ネットワーク ピアを作成します。
ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。
[vnet-hub] を選択します。
[設定] で [ピアリング] を選択します。
[+ 追加] を選択します。
ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。
[vnet-hub] を選択します。
[設定] で [ピアリング] を選択します。
[+ 追加] を選択します。
[ピアリングの追加] で、次の情報を入力するか選びます。
設定 |
値 |
リモート仮想ネットワークの概要 |
|
[Peering link name](ピアリング リンク名) |
「vnet-spoke-2-to-vnet-hub」と入力します。 |
仮想ネットワークのデプロイ モデル |
既定値の [リソース マネージャー] のままにします。 |
サブスクリプション |
サブスクリプションを選択します。 |
仮想ネットワーク |
[vnet-spoke-2 (test-rg)] を選択します。 |
リモート仮想ネットワーク ピアリングの設定 |
|
'vnet-spoke-2' に 'vnet-hub' へのアクセスを許可する |
既定値の 選択済みのままにします。 |
'vnet-spoke-2' が 'vnet-hub' から転送されたトラフィックを受信することを許可する |
チェックボックスを オンにします。 |
'vnet-spoke-2' のゲートウェイまたはルート サーバーがトラフィックを 'vnet-hub' に転送することを許可する |
既定値の 未選択 のままにします。 |
'vnet-spoke-2' が 'vnet-hub' のリモート ゲートウェイまたはルート サーバーを使用できるようにする |
既定値の 未選択 のままにします。 |
ローカル仮想ネットワークの概要 |
|
[Peering link name](ピアリング リンク名) |
「vnet-hub-to-vnet-spoke-2」と入力します。 |
ローカル仮想ネットワーク ピアリングの設定 |
|
'vnet-hub' に 'vnet-spoke-2' へのアクセスを許可する |
既定値の 選択済みのままにします。 |
'vnet-hub' が 'vnet-spoke-2' から転送されたトラフィックを受信することを許可する |
チェックボックスを オンにします。 |
'vnet-hub' のゲートウェイまたはルート サーバーが 'vnet-spoke-2' にトラフィックを転送することを許可する |
既定値の 未選択 のままにします。 |
'vnet-hub' が 'vnet-spoke-2' のリモート ゲートウェイまたはルート サーバーを使用できるようにする |
既定値の 未選択 のままにします。 |
[追加] を選択します。
[最新の情報に更新] を選び、[ピアリングの状態] が [接続済み] であることを確認します。
Add-AzVirtualNetworkPeering を使用して、ハブからスポーク 2 へのピアリングを作成します。
# Create peering from hub to spoke two
$hubVnetParams = @{
ResourceGroupName = "test-rg"
Name = "vnet-hub"
}
$hubVnet = Get-AzVirtualNetwork @hubVnetParams
$spokeVnetParams = @{
ResourceGroupName = "test-rg"
Name = "vnet-spoke-2"
}
$spokeVnet = Get-AzVirtualNetwork @spokeVnetParams
$hubToSpokeParams = @{
Name = "vnet-hub-to-vnet-spoke-2"
VirtualNetwork = $hubVnet
RemoteVirtualNetworkId = $spokeVnet.Id
AllowForwardedTraffic = $true
}
Add-AzVirtualNetworkPeering @hubToSpokeParams
# Create peering from spoke two to hub
$spokeToHubParams = @{
Name = "vnet-spoke-2-to-vnet-hub"
VirtualNetwork = $spokeVnet
RemoteVirtualNetworkId = $hubVnet.Id
AllowForwardedTraffic = $true
}
Add-AzVirtualNetworkPeering @spokeToHubParams
az network vnet peering create を使用して、ハブからスポーク 2 へのピアリングを作成します。
# Create peering from hub to spoke two
az network vnet peering create \
--name vnet-hub-to-vnet-spoke-2 \
--resource-group test-rg \
--vnet-name vnet-hub \
--remote-vnet vnet-spoke-2 \
--allow-vnet-access \
--allow-forwarded-traffic
# Create peering from spoke two to hub
az network vnet peering create \
--name vnet-spoke-2-to-vnet-hub \
--resource-group test-rg \
--vnet-name vnet-spoke-2 \
--remote-vnet vnet-hub \
--allow-vnet-access \
--allow-forwarded-traffic
スポーク 2 のネットワーク ルート テーブルを作成する
ルート テーブルを作成して、すべての送信インターネット トラフィックとスポーク間トラフィックがハブ仮想ネットワーク内のシミュレートされた NVA を経由するように強制します。
ポータルの上部にある検索ボックスに、「ルート テーブル」と入力します。 検索結果で [ルート テーブル] を選択します。
[+ 作成] を選択します。
[ルート テーブルの作成] で、次の情報を入力または選択します。
設定 |
値 |
プロジェクトの詳細 |
|
サブスクリプション |
サブスクリプションを選択します。 |
リソースグループ |
test-rg を選択します。 |
インスタンスの詳細 |
|
リージョン |
[米国西部 2] を選択します。 |
名前 |
「route-table-nat-spoke-2」と入力します。 |
ゲートウェイのルートを伝達する |
既定値の [はい] のままにします。 |
[Review + create](レビュー + 作成) を選択します。
[作成] を選択します
ポータルの上部にある検索ボックスに、「ルート テーブル」と入力します。 検索結果で [ルート テーブル] を選択します。
[route-table-nat-spoke-2] を選択します。
[設定] で [ルート] を選びます。
[ルート] で [+ 追加] を選択します。
[ルートの追加] で、次の情報を入力または選択します。
設定 |
値 |
ルート名 |
「default-via-nat-spoke-2」と入力します。 |
変換先の型 |
[IP アドレス] を選択します。 |
宛先 IP アドレス/CIDR 範囲 |
「0.0.0.0/0」と入力します。 |
ネクストホップの種類 |
[仮想アプライアンス] を選択します。 |
次ホップ アドレス |
「10.0.0.10」と入力します。
これは、前の手順で NVA のプライベート インターフェイスに追加した IP アドレスです。 |
[追加] を選択します。
[設定] の [サブネット] を選択します。
[+ 関連付け] を選択します。
[サブネットの関連付け] で、次の情報を入力または選択します。
設定 |
値 |
仮想ネットワーク |
[vnet-spoke-2 (test-rg)] を選択します。 |
サブネット |
[subnet-private] を選択します。 |
[OK] を選択します。
New-AzRouteTable を使用してルート テーブルを作成します。
$routeTableParams = @{
ResourceGroupName = "test-rg"
Name = "route-table-nat-spoke-2"
Location = "westus2"
}
New-AzRouteTable @routeTableParams
Add-AzRouteConfig を使用して、ルート テーブルにルートを作成します。
$routeParams = @{
Name = "default-via-nat-spoke-2"
AddressPrefix = "0.0.0.0/0"
NextHopType = "VirtualAppliance"
NextHopIpAddress = "10.0.0.10"
}
$routeTableParams = @{
ResourceGroupName = "test-rg"
Name = "route-table-nat-spoke-2"
}
$routeTable = Get-AzRouteTable @routeTableParams
$routeTable | Add-AzRouteConfig @routeParams | Set-AzRouteTable
Set-AzVirtualNetworkSubnetConfig を使用して、ルート テーブルをサブネットに関連付けます。
$vnetParams = @{
ResourceGroupName = "test-rg"
Name = "vnet-spoke-2"
}
$vnet = Get-AzVirtualNetwork @vnetParams
$subnetParams = @{
VirtualNetwork = $vnet
Name = "subnet-private"
}
$subnet = Get-AzVirtualNetworkSubnetConfig @subnetParams
$subnet.RouteTable = $routeTable
Set-AzVirtualNetwork -VirtualNetwork $vnet
az network route-table create を使用してルート テーブルを作成します。
az network route-table create \
--resource-group test-rg \
--name route-table-nat-spoke-2 \
--___location westus2
ルート テーブルにルートを作成するには、az network route-table route create を使用します。
az network route-table route create \
--resource-group test-rg \
--route-table-name route-table-nat-spoke-2 \
--name default-via-nat-spoke-2 \
--address-prefix 0.0.0.0/0 \
--next-hop-type VirtualAppliance \
--next-hop-ip-address 10.0.0.10
az network vnet subnet update を使用して、ルート テーブルをサブネットに関連付けます。
az network vnet subnet update \
--resource-group test-rg \
--vnet-name vnet-spoke-2 \
--name subnet-private \
--route-table route-table-nat-spoke-2
スポーク 2 のテスト用の仮想マシンを作成する
スポーク 2 のテスト用の仮想マシンとして Windows Server 2022 仮想マシンを作成します。
ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。
[+ 作成] を選択し、[Azure 仮想マシン] を選択します。
[仮想マシンの作成] の [基本] タブで、次の情報を入力または選択します。
設定 |
値 |
プロジェクトの詳細 |
|
サブスクリプション |
サブスクリプションを選択します。 |
リソースグループ |
test-rg を選択します。 |
インスタンスの詳細 |
|
仮想マシン名 |
「vm-spoke-2」と入力します。 |
リージョン |
[(米国) 米国西部 2] を選択します。 |
可用性のオプション |
[インフラストラクチャ冗長は必要ありません] を選択します。 |
セキュリティの種類 |
[Standard] を選択します。 |
画像 |
[Windows Server 2022 Datacenter - x64 Gen2] を選択します。 |
VMアーキテクチャ |
既定値の [x64] のままにします。 |
サイズ |
サイズを選択します。 |
管理者アカウント |
|
認証の種類 |
[パスワード] を選択します。 |
ユーザー名 |
ユーザー名を入力します。 |
パスワード |
パスワードを入力します。 |
パスワードの確認 |
パスワードを再入力します。 |
受信ポートの規則 |
|
パブリック受信ポート |
[なし] を選択します。 |
[次へ: ディスク]、[次へ: ネットワーク] の順に選択します。
[ネットワーク] タブで、次の情報を入力または選択します。
設定 |
値 |
ネットワーク インターフェイス |
|
仮想ネットワーク |
[vnet-spoke-2] を選択します。 |
サブネット |
[subnet-private (10.2.0.0/24)] を選択します。 |
パブリック IP |
[なし] を選択します。 |
NIC ネットワーク セキュリティ グループ |
[Advanced] \(詳細設定) を選択します。 |
ネットワーク セキュリティ グループを構成する |
[新規作成] を選択します。
「nsg-spoke-2」と入力します。 |
受信の規則 |
[+ 受信規則の追加] を選択します。
[サービス] で、[HTTP] を選択します。
[追加] を選択します。
[OK] を選択します。 |
残りのオプションは既定値のままにし、[確認と作成] を選びます。
[作成] を選択します
New-AzNetworkSecurityGroup を使用して、ネットワーク セキュリティ グループを作成します。
$nsgParams = @{
ResourceGroupName = "test-rg"
Name = "nsg-spoke-2"
Location = "westus2"
}
New-AzNetworkSecurityGroup @nsgParams
New-AzNetworkSecurityRuleConfig を使用して、HTTP の受信 NSG ルールを作成します。
$ruleParams = @{
Name = "allow-http"
Priority = 1000
Direction = "Inbound"
Access = "Allow"
Protocol = "Tcp"
SourceAddressPrefix = "*"
SourcePortRange = "*"
DestinationAddressPrefix = "*"
DestinationPortRange = "80"
}
$nsg = Get-AzNetworkSecurityGroup -ResourceGroupName "test-rg" -Name "nsg-spoke-2"
$nsg | Add-AzNetworkSecurityRuleConfig @ruleParams
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
New-AzNetworkInterface を使用してネットワーク インターフェイスを作成します。
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-2"
SubnetId = (Get-AzVirtualNetwork -ResourceGroupName "test-rg" -Name "vnet-spoke-2").Subnets[0].Id
NetworkSecurityGroupId = (Get-AzNetworkSecurityGroup -ResourceGroupName "test-rg" -Name "nsg-spoke-2").Id
Location = "westus2"
}
New-AzNetworkInterface @nicParams
Get-Credential を使用して VM のユーザー名とパスワードを設定し、$cred
変数に格納します。
$cred = Get-Credential
New-AzVMConfig を使用して VM を定義します。
$vmConfigParams = @{
VMName = "vm-spoke-2"
VMSize = "Standard_DS4_v2"
}
$vmConfig = New-AzVMConfig @vmConfigParams
Set-AzVMOperatingSystem と Set-AzVMSourceImage を使用して、残りの VM 構成を作成します。 次の例では、Windows Server 仮想マシンを作成します。
$osParams = @{
VM = $vmConfig
ComputerName = "vm-spoke-2"
Credential = $cred
}
$vmConfig = Set-AzVMOperatingSystem @osParams -Windows
$imageParams = @{
VM = $vmConfig
PublisherName = "MicrosoftWindowsServer"
Offer = "WindowsServer"
Skus = "2022-Datacenter"
Version = "latest"
}
$vmConfig = Set-AzVMSourceImage @imageParams
Add-AzVMNetworkInterface を使用して、前に作成した NIC を VM にアタッチします。
# Get the network interface object
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-2"
}
$nic = Get-AzNetworkInterface @nicParams
$vmConfigParams = @{
VM = $vmConfig
Id = $nic.Id
}
$vmConfig = Add-AzVMNetworkInterface @vmConfigParams
New-AzVM を使用して VM を作成します。
$vmParams = @{
VM = $vmConfig
ResourceGroupName = "test-rg"
Location = "westus2"
}
New-AzVM @vmParams
ネットワーク セキュリティ グループを作成するには、az network nsg create を使用します。
az network nsg create \
--resource-group test-rg \
--name nsg-spoke-2 \
--___location eastus2
az network nsg rule create を使用して、HTTP 用の受信 NSG ルールを作成します。
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-spoke-2 \
--name allow-http \
--priority 1000 \
--direction Inbound \
--access Allow \
--protocol Tcp \
--destination-port-ranges 80
az network nic create を使用してネットワーク インターフェイスを作成します。
az network nic create \
--resource-group test-rg \
--name nic-2 \
--vnet-name vnet-1 \
--subnet subnet-private \
--network-security-group nsg-spoke-2
az vm create を使用して Windows Server 2022 仮想マシンを作成します。
az vm create \
--resource-group test-rg \
--name vm-spoke-2 \
--image Win2022Datacenter \
--size Standard_DS2_v2 \
--admin-username azureuser \
--nics nic-2
次の手順に進む前に、仮想マシンのデプロイが完了するのを待ちます。
スポーク 2 のテスト用の仮想マシンに IIS をインストールする
NAT ゲートウェイを経由した送信インターネット トラフィックとハブ アンド スポーク ネットワーク内のスポーク間トラフィックをテストするため、Windows Server 2022 仮想マシンに IIS をインストールします。
ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。
[vm-spoke-2] を選択します。
[操作] で、[実行コマンド] を選択します。
[RunPowerShellScript] を選択します。
[実行コマンド スクリプト] に次のスクリプトを入力します。
# Install IIS server role
Install-WindowsFeature -name Web-Server -IncludeManagementTools
# Remove default htm file
Remove-Item C:\inetpub\wwwroot\iisstart.htm
# Add a new htm file that displays server name
Add-Content -Path "C:\inetpub\wwwroot\iisstart.htm" -Value $("Hello World from " + $env:computername)
[実行] を選択します。
スクリプトが完了するまで待ってから次の手順に進んでください。 スクリプトが完了するまでには数分かかる場合があります。
スクリプトが完了すると、出力* に次のように表示されます。
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {Common HTTP Features, Default Document, D...
Set-AzVMExtension を使用して、仮想マシンに IIS をインストールします。
$vmExtensionParams = @{
ResourceGroupName = "test-rg"
VMName = "vm-spoke-2"
Name = "CustomScriptExtension"
Publisher = "Microsoft.Compute"
Type = "CustomScriptExtension"
TypeHandlerVersion = "1.10"
Settings = @{
"commandToExecute" = "powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path 'C:\inetpub\wwwroot\default.htm' -Value vm-spoke-2"
}
}
Set-AzVMExtension @vmExtensionParams
az vm extension set を使用して、仮想マシンに IIS をインストールします。
az vm extension set \
--publisher Microsoft.Compute \
--version 1.8 \
--name CustomScriptExtension \
--vm-name vm-spoke-2 \
--resource-group test-rg \
--settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
NAT ゲートウェイをテストする
送信インターネット トラフィックが NAT ゲートウェイから出ることを確認するには、前の手順で作成した Windows Server 2022 仮想マシンに接続します。
NAT ゲートウェイのパブリック IP アドレスを取得する
この記事後半の検証手順のために、NAT ゲートウェイのパブリック IP アドレスを取得します。
Azure Portal ( https://portal.azure.com ) にサインインします。
ポータルの上部にある検索ボックスに、「パブリック IP」と入力します。 検索結果から [パブリック IP アドレス] を選択します。
[public-ip-nat] を選択します。
[IP アドレス] の値を書き留めます。 この記事で使用される例は 203.0.113.25 です。
スポーク 1 から NAT ゲートウェイをテストする
Windows Server 2022 仮想マシンで Microsoft Edge を使用して https://whatsmyip.com に接続し、NAT ゲートウェイの機能を確認します。
ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。
[vm-spoke-1] を選択します。
[概要] で、[接続] を選んでから [Bastion 経由で接続] を選びます。
仮想マシンの作成時に入力したユーザー名とパスワードを入力します。
[接続] を選択します。
デスクトップの読み込みが完了したら、Microsoft Edge を開きます。
アドレス バーに「https://whatsmyip.com」と入力します。
表示される送信 IP アドレスが、以前に取得した NAT ゲートウェイの IP と同じであることを確認します。
vm-spoke-1 への bastion 接続を開いたままにします。
スポーク 2 から NAT ゲートウェイをテストする
Windows Server 2022 仮想マシンで Microsoft Edge を使用して https://whatsmyip.com に接続し、NAT ゲートウェイの機能を確認します。
ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。
[vm-spoke-2] を選択します。
[概要] で、[接続] を選んでから [Bastion 経由で接続] を選びます。
仮想マシンの作成時に入力したユーザー名とパスワードを入力します。
[接続] を選択します。
デスクトップの読み込みが完了したら、Microsoft Edge を開きます。
アドレス バーに「https://whatsmyip.com」と入力します。
表示される送信 IP アドレスが、以前に取得した NAT ゲートウェイの IP と同じであることを確認します。
vm-spoke-2 への bastion 接続を開いたままにします。
スポーク間のルーティングをテストする
スポーク 1 からスポーク 2、スポーク 2 からスポーク 1 へのトラフィックは、ハブ仮想ネットワーク内のシミュレートされた NVA を経由してルーティングされます。 次の例を使用して、ハブ アンド スポーク ネットワークのスポーク間のルーティングを確認します。
スポーク 1 からスポーク 2 へのルーティングをテストする
Microsoft Edge を使用して、前の手順でインストールした vm-spoke-2 上の Web サーバーに接続します。
vm-spoke-1 への開いている bastion 接続に戻ります。
Microsoft Edge を開いていない場合は開きます。
アドレス バーに「10.2.0.4」と入力します。
IIS ページが vm-spoke-2 から表示されていることを確認します。
vm-spoke-1 への bastion 接続を閉じます。
スポーク 2 からスポーク 1 へのルーティングをテストする
Microsoft Edge を使用して、前の手順でインストールした vm-spoke-1 上の Web サーバーに接続します。
vm-spoke-2 への開いている bastion 接続に戻ります。
Microsoft Edge を開いていない場合は開きます。
アドレス バーに「10.1.0.4」と入力します。
IIS ページが vm-spoke-1 から表示されていることを確認します。
vm-spoke-1 への bastion 接続を閉じます。
作成したリソースを使用し終えたら、リソース グループとそのすべてのリソースを削除できます。
Azure portal で、「リソース グループ」を検索して選択します。
[リソース グループ] ページで、test-rg リソース グループを選択します。
[test-rg] ページで、[リソース グループの削除] を選択します。
[削除を確認するために、リソース グループの名前を入力してください] に「test-rg」と入力して、[削除] を選びます。
Remove-AzResourceGroup を使用してリソース グループを削除します。
$rgParams = @{
Name = "test-rg"
Force = $true
}
Remove-AzResourceGroup @rgParams
az group delete を使用してリソース グループを削除します。
az group delete \
--name test-rg \
--yes \
--no-wait
次のステップ
高可用性ネットワーク仮想アプライアンスとして Azure ゲートウェイ ロード バランサーを使用する方法については、次の記事に進みます: