ラボの回答キー: ハイブリッド ネットワーク インフラストラクチャの実装
メモ: このラボをご自分のペースでクリックして進めることができる、 ラボの対話型シミュレーション が用意されています。 対話型シミュレーションとホストされたラボの間に若干の違いがある場合がありますが、示されている主要な概念とアイデアは同じです。
演習 1: Azure で仮想ネットワーク ルーティングを実装する
タスク 1: ラボ インフラストラクチャ リソースをプロビジョニングする
- SEA-ADM1 に接続してから、必要に応じて、講師から提供された資格情報でサインインします。
- SEA-ADM1 で Microsoft Edge を起動して
https://portal.azure.com
にある Azure portal を開き、このラボで使用するサブスクリプションの所有者ロールを持つユーザー アカウントの資格情報を使用してサインインします。 - Azure portal で、[検索] テキストボックスの横にあるツール バー アイコンを選択して、[Cloud Shell] ペインを開きます。
-
Bash または PowerShell の選択を求めるメッセージが表示されたら、 [PowerShell] を選択します。
注: Cloud Shell を起動するのが初めてで、”ストレージがマウントされていません” というメッセージが表示される場合は、このラボで使用しているサブスクリプションを選択し、[ストレージの作成] を選択します。
- [Cloud Shell] ペインのツール バーで、[ファイルのアップロード/ダウンロード] アイコンを選び、ドロップダウン メニューで [アップロード] を選び、ファイル C:\Labfiles\Lab08\L08-rg_template.json と C:\Labfiles\Lab08\L08-rg_template.parameters.json を Cloud Shell ホーム ディレクトリにアップロードします。
-
[Cloud Shell] ペインで以下のコマンドを実行し、ラボ環境をホストする最初のリソース グループを作成します (
<Azure_region>
のプレースホルダーは、デプロイに使う予定の Azure リージョン名に置き換えてください)。注: (Get-AzLocation).Location コマンドを実行すると、使用可能な Azure リージョンの名前を一覧表示できます。
$location = '<Azure_region>' $rgName = 'AZ800-L0801-RG' New-AzResourceGroup -Name $rgName -Location $location
-
[Cloud Shell] ペインで以下のコマンドを実行し、アップロードしたテンプレートとパラメーターのファイルを使って、3 つの仮想ネットワークと 4 つの Azure VM をそこに作成します。
New-AzResourceGroupDeployment ` -ResourceGroupName $rgName ` -TemplateFile $HOME/L08-rg_template.json ` -TemplateParameterFile $HOME/L08-rg_template.parameters.json
注: デプロイが完了するまで待ってから、次の手順に進んでください。 これには 3 分ほどかかります。
-
[Cloud Shell] ペインで以下のコマンドを実行し、前の手順でデプロイした Azure VM に Network Watcher 拡張機能をインストールします。
$rgName = 'AZ800-L0801-RG' $location = (Get-AzResourceGroup -ResourceGroupName $rgName).location $vmNames = (Get-AzVM -ResourceGroupName $rgName).Name foreach ($vmName in $vmNames) { Set-AzVMExtension ` -ResourceGroupName $rgName ` -Location $location ` -VMName $vmName ` -Name 'networkWatcherAgent' ` -Publisher 'Microsoft.Azure.NetworkWatcher' ` -Type 'NetworkWatcherAgentWindows' ` -TypeHandlerVersion '1.4' }
注: デプロイが完了するのを待たず、代わりに次の手順に進んでください。 Network Watcher 拡張機能のインストールには 5 分ほどかかります。
タスク 2: ハブ アンド スポーク ネットワーク トポロジを構成する
- SEA-ADM1 で Azure portal を表示する Microsoft Edge ウィンドウで、別のタブを開き、
https://portal.azure.com
で Azure portal に移動します。 - Azure portal で、ツール バーの [リソース、サービス、ドキュメントの検索] テキスト ボックスで、[仮想ネットワーク] を検索して選択します。
- 仮想ネットワークの一覧で az800l08-vnet0 を選びます。
- az800l08-vnet0 仮想ネットワーク ページの [設定] セクションで [ピアリング] を選び、 [+ 追加] を選びます。
-
次の設定を指定し (その他は既定値のままにします)、[追加] を選びます。
設定 値 この仮想ネットワーク: ピアリング リンク名 az800l08-vnet0_to_az800l08-vnet1 Traffic to remote virtual network 許可 (既定) Traffic forwarded from remote virtual network 許可 (既定) 仮想ネットワーク ゲートウェイまたは Route Server なし (既定値) リモート仮想ネットワーク: ピアリング リンク名 az800l08-vnet1_to_az800l08-vnet0 仮想ネットワークのデプロイ モデル リソース マネージャー リモート仮想ネットワーク: 仮想ネットワーク az800l08-vnet1 Traffic to remote virtual network 許可 (既定) Traffic forwarded from remote virtual network 許可 (既定) 仮想ネットワーク ゲートウェイ なし (既定値) 注: 操作が完了するまで待ちます。
注: この手順で、2 つのピアリング (1 つは az800l08-vnet0 から az800l08-vnet1 へ、もう 1 つは az800l08-vnet1 から az800l08-vnet0 へ) を確立します。
注: このラボで後ほど実装するスポーク仮想ネットワーク間のルーティングを容易にするために、 [トラフィック転送を許可する] を有効にする必要があります。
- az800l08-vnet0 仮想ネットワーク ページの [設定] セクションで [ピアリング] を選び、 [+ 追加] を選びます。
-
次の設定を指定し (その他は既定値のままにします)、[追加] を選びます。
設定 値 この仮想ネットワーク: ピアリング リンク名 az800l08-vnet0_to_az800l08-vnet2 Traffic to remote virtual network 許可 (既定) Traffic forwarded from remote virtual network 許可 (既定) 仮想ネットワーク ゲートウェイ なし (既定値) リモート仮想ネットワーク: ピアリング リンク名 az800l08-vnet2_to_az800l08-vnet0 仮想ネットワークのデプロイ モデル リソース マネージャー リモート仮想ネットワーク: 仮想ネットワーク az800l08-vnet2 Traffic to remote virtual network 許可 (既定) Traffic forwarded from remote virtual network 許可 (既定) 仮想ネットワーク ゲートウェイ なし (既定値) 注: この手順で、2 つのピアリング (1 つは az800l08-vnet0 から az800l08-vnet2 へ、もう 1 つは az800l08-vnet2 から az800l08-vnet0へ) を確立します。 これでハブ アンド スポーク トポロジの設定は完了です (az800l08-vnet0 仮想ネットワークがハブの役割を果たし、az800l08-vnet1 と az800l08-vnet2 はそのスポークです)。
タスク 3: 仮想ネットワーク ピアリングの推移性をテストする
注: このタスクを開始する前に、この演習の最初のタスクで呼び出したスクリプトが正常に完了したことを確認します。
- Azure portal で、「Network Watcher」を検索して選びます。
- [Network Watcher] ページで [接続のトラブルシューティング] に移動します。
-
[Network Watcher - 接続のトラブルシューティング] ページで、次の設定でチェックを開始します (その他は既定値のままにします)。
設定 値 サブスクリプション このラボで使用している Azure サブスクリプションの名前 リソース グループ AZ800-L0801-RG 送信元の種類 仮想マシン 仮想マシン az800l08-vm0 宛先 手動で指定 URI、FQDN、または IPv4 10.81.0.4 Protocol TCP 宛先ポート 3389 注: 10.81.0.4 は、az800l08-vm1 のプライベート IP アドレスを表します。 このテストでは TCP ポート 3389 を使っています。これは、Azure 仮想マシンではリモート デスクトップが既定で有効であり、仮想ネットワーク内および仮想ネットワーク間でアクセスできるためです。
-
[チェック] を選び、接続チェックの結果が返されるまで待ちます。 状態が “到達可能” であることを確認します。 ネットワーク パスを確認します。接続が直接であり、仮想マシン間に中間ホップがないことに注意してください。
注: ハブ仮想ネットワークが最初のスポーク仮想ネットワークと直接ピアリングされていることから、このようになります。
-
[Network Watcher - 接続のトラブルシューティング] ページで、次の設定でチェックを開始します (その他は既定値のままにします)。
設定 値 サブスクリプション このラボで使用している Azure サブスクリプションの名前 リソース グループ AZ800-L0801-RG 送信元の種類 仮想マシン 仮想マシン az800l08-vm0 宛先 手動で指定 URI、FQDN、または IPv4 10.82.0.4 Protocol TCP 宛先ポート 3389 注: 10.82.0.4 は、az800l08-vm2 のプライベート IP アドレスを表します。
-
[チェック] を選び、接続チェックの結果が返されるまで待ちます。 状態が “到達可能” であることを確認します。 ネットワーク パスを確認します。接続が直接であり、仮想マシン間に中間ホップがないことに注意してください。
注: ハブ仮想ネットワークが 2 つ目のスポーク仮想ネットワークと直接ピアリングされていることから、このようになります。
-
[Network Watcher - 接続のトラブルシューティング] ページで、次の設定を指定し (その他は既定値のままにします)、もう一度チェックを開始します。
注: [仮想マシン] ドロップダウン リストに仮想マシン az800l08-vm1 を表示するには、必要に応じてブラウザー ページを更新します。
設定 値 サブスクリプション このラボで使用している Azure サブスクリプションの名前 リソース グループ AZ800-L0801-RG 送信元の種類 仮想マシン 仮想マシン az800l08-vm1 宛先 手動で指定 URI、FQDN、または IPv4 10.82.0.4 Protocol TCP 宛先ポート 3389 -
[チェック] を選び、接続チェックの結果が返されるまで待ちます。 状態が “到達不能” であることに注意してください。
注: 2 つのスポーク仮想ネットワークが相互にピアリングされておらず、仮想ネットワーク ピアリングが推移的ではないことから、このようになります。
タスク 4: ハブ アンド スポーク トポロジでルーティングを構成する
- Azure portal で、「仮想マシン」を検索して選びます。
- [仮想マシン] ページで、仮想マシンの一覧から az800l08-vm0 を選びます。
- az800l08-vm0 仮想マシン ページの [設定] セクションで [ネットワーク] を選びます。
- “ネットワーク インターフェイス” ラベルの横にある az800l08-nic0 リンクを選び、az800l08-nic0 ネットワーク インターフェイス ページの [設定] セクションで **[IP 構成] ** を選びます。
-
[IP 転送] を [有効] に設定し、[保存] を選んで変更を保存します。
注: 2 つのスポーク仮想ネットワーク間のトラフィックをルーティングするルーターとして az800l08-vm0 が機能するには、この設定が必要です。
注: 次に、ルーティングをサポートするために、az800l08-vm0 仮想マシンのオペレーティング システムを構成する必要があります。
- Azure portal で、az800l08-vm0 の Azure 仮想マシン ページに戻ります。
- az800l08-vm0 ページの [操作] セクションで [コマンドの実行] を選び、コマンドの一覧で [RunPowerShellScript] を選びます。
-
[コマンド スクリプトの実行] ページで次のコマンドを入力し、[実行] を選び、Remote Access Windows Server ロールをインストールします。
Install-WindowsFeature RemoteAccess -IncludeManagementTools
注: コマンドが正常に完了したことの確認を待ちます。
-
[コマンド スクリプトの実行] ページの [PowerShell スクリプト] セクションで、先ほど入力したコマンドを次のコマンドに置き換え、[実行] を選び、Routing ロール サービスをインストールします。
Install-WindowsFeature -Name Routing -IncludeManagementTools -IncludeAllSubFeature Install-WindowsFeature -Name "RSAT-RemoteAccess-Powershell" Install-RemoteAccess -VpnType RoutingOnly Get-NetAdapter | Set-NetIPInterface -Forwarding Enabled
注: コマンドが正常に完了したことの確認を待ちます。
注: 次は、スポーク仮想ネットワーク上でユーザー定義のルートを作成および構成する必要があります。
- Azure portal のツール バーの [リソース、サービス、ドキュメントの検索] テキスト ボックスで、[ルート テーブル] を検索して選択し、[ルート テーブル] ページで [+ 作成] を選択します。
-
次の設定でルート テーブルを作成します (その他は既定値のままにします)。
設定 値 サブスクリプション このラボで使用している Azure サブスクリプションの名前 リソース グループ AZ800-L0801-RG 場所 仮想ネットワークを作成した Azure リージョンの名前 名前 az800l08-rt12 ゲートウェイのルートを伝達する No -
[確認と作成] を選択し、次に [作成] を選択します。
注: ルートテーブルが作成されるまで待ちます。 これには 1 分ほどかかります。
- [リソースに移動] を選択します。
- az800l08-rt12 ルート テーブル ページの [設定] セクションで、[ルート]、[+ 追加] の順に選びます。
-
次の設定を使って新しいルートを追加します。
設定 値 ルート名 az800l08-route-vnet1-to-vnet2 アドレス プレフィックス送信先 [IP アドレス] 宛先 IP アドレス/CIDR 範囲 10.82.0.0/20 ネクストホップの種類 仮想アプライアンス 次ホップ アドレス 10.80.0.4 注: 10.80.0.4 は、az800l08-vm0 のプライベート IP アドレスを表します。
- [追加] を選択します。
- az800l08-rt12 ルート テーブル ページに戻り、 [設定] セクションで、 [サブネット] 、 [+ 関連付け] の順に選びます。
-
ルート テーブル az800l08-rt12 を次のサブネットに関連付けます。
設定 値 仮想ネットワーク az800l08-vnet1 サブネット subnet0 - [OK] を選択します。
- [ルート テーブル] ページに戻り、[+ 作成] を選びます。
-
次の設定でルート テーブルを作成します (その他は既定値のままにします)。
設定 値 サブスクリプション このラボで使用している Azure サブスクリプションの名前 リソース グループ AZ800-L0801-RG リージョン 仮想ネットワークを作成した Azure リージョンの名前 名前 az800l08-rt21 ゲートウェイのルートを伝達する No -
[確認と作成] を選択し、次に [作成] を選択します。
注: ルートテーブルが作成されるまで待ちます。 これには 3 分ほどかかります。
- [リソースに移動] を選択します。
- az800l08-rt21 ルート テーブル ページの [設定] セクションで、[ルート]、[+ 追加] の順に選びます。
-
次の設定を使って新しいルートを追加します。
設定 値 ルート名 az800l08-route-vnet2-to-vnet1 アドレス プレフィックス 10.81.0.0/20 ネクストホップの種類 仮想アプライアンス 次ホップ アドレス 10.80.0.4 - [追加] を選択します。
- az800l08-rt21 ルート テーブル ページに戻り、 [設定] セクションで、 [サブネット] 、 [+ 関連付け] の順に選びます。
-
ルート テーブル az800l08-rt21 を次のサブネットに関連付けます。
設定 値 仮想ネットワーク az800l08-vnet2 サブネット subnet0 - [OK] を選択します。
- Azure portal で [Network Watcher - 接続のトラブルシューティング] ページに戻ります。
-
[Network Watcher - 接続のトラブルシューティング] ページで、次の設定でチェックを開始します (その他は既定値のままにします)。
設定 値 サブスクリプション このラボで使用している Azure サブスクリプションの名前 リソース グループ AZ800-L0801-RG 送信元の種類 仮想マシン 仮想マシン az800l08-vm1 宛先 手動で指定 URI、FQDN、または IPv4 10.82.0.4 Protocol TCP 宛先ポート 3389 -
[チェック] を選び、接続チェックの結果が返されるまで待ちます。 状態が “到達可能” であることを確認します。 ネットワーク パスを確認します。トラフィックが az800l08-nic0 ネットワーク アダプターに割り当てられた 10.80.0.4 を経由してルーティングされていることに注意してください。
注: スポーク仮想ネットワーク間のトラフィックが、ルーターとして機能するハブ仮想ネットワーク内にある仮想マシンを経由するようになったことから、このようになります。
演習 2: Azure で DNS 名前解決を実装する
タスク 1: Azure プライベート DNS 名前解決を構成する
- SEA-ADM1 上で Microsoft Edge ウィンドウに Azure portal を表示し、ツール バーの [リソース、サービス、ドキュメントの検索] テキスト ボックスで、「プライベート DNS ゾーン」を検索して選び、[プライベート DNS ゾーン] ページで、[+ 作成] を選びます。
-
次の設定でプライベート DNS ゾーンを作成します。
設定 値 サブスクリプション このラボで使用している Azure サブスクリプションの名前 リソース グループ 新しいリソース グループの名前 AZ800-L0802-RG 名前 contoso.org リソース グループの場所 このラボの前の演習でリソースをデプロイしたものと同じ Azure リージョン -
[確認と作成] を選択し、次に [作成] を選択します。
注: プライベート DNS ゾーンが作成されるまで待ちます。 これには 2 分ほどかかります。
- [リソースに移動] を選んで contoso.org DNS プライベート ゾーン ページを開きます。
- contoso.org プライベート DNS ゾーン ページの [設定] セクションで、[仮想ネットワーク リンク] を選びます。
-
contoso.org | [仮想ネットワーク リンク] ページで [+ 追加] を選び、次の設定を指定し (その他は既定値のままにします)、[OK] を選びます。これで、前の演習で作成した最初の仮想ネットワークの仮想ネットワーク リンクが作成されます。
設定 値 リンク名 az800l08-vnet0-link サブスクリプション このラボで使用している Azure サブスクリプションの名前 仮想ネットワーク az800l08-vnet0 (AZ800-L0801-RG) 自動登録を有効にする オン 注: 仮想ネットワーク リンクが作成されるまで待ちます。 これにかかる時間は 1 分未満です。
- 前の手順を繰り返し、(自動登録を有効にして) 仮想ネットワーク az800l08-vnet1 と az800l08-vnet2 に対して、それぞれ az800l08-vnet1-link と az800l08-vnet2-link という仮想ネットワーク リンクを作成します。
- contoso.org プライベート DNS ゾーン ページで、左側にある縦表示のメニューから [概要] を選びます。
-
contoso.org プライベート DNS ゾーン ページの [概要] セクションで、DNS レコード セットの一覧を確認し、A レコードの az800l08-vm0、az800l08-vm1、az800l08-vm2 が “自動登録” として一覧に表示されていることを確認します。
注: レコード セットが一覧に表示されない場合は、必要に応じて数分待ってからページを更新してください。
タスク 2: Azure プライベート DNS 名前解決を検証する
- SEA-ADM1 で、Azure portal を表示する Microsoft Edge ウィンドウで、[Network Watcher - 接続のトラブルシューティング] ページに戻ります。
-
[Network Watcher - 接続のトラブルシューティング] ページで、次の設定でチェックを開始します (その他は既定値のままにします)。
設定 値 サブスクリプション このラボで使用している Azure サブスクリプションの名前 リソース グループ AZ800-L0801-RG 送信元の種類 仮想マシン 仮想マシン az800l08-vm1 宛先 手動で指定 URI、FQDN、または IPv4 az800l08-vm2.contoso.org 優先 IP バージョン IPv4 Protocol TCP 宛先ポート 3389 -
[チェック] を選び、接続チェックの結果が返されるまで待ちます。 状態が “到達可能” であることを確認します。
注: ターゲットの完全修飾ドメイン名 (FQDN) が Azure プライベート DNS ゾーンを介して解決可能であることから、このようになります。
タスク 3: Azure パブリック DNS 名前解決を構成する
- SEA-ADM1 の Azure portal を表示している Microsoft Edge ウィンドウで、新しいタブを開き、
https://www.godaddy.com/domains/domain-name-search
に移動します。 - ドメイン名検索を使って、現在使われていないドメイン名を特定します。
- SEA-ADM1 上で、Azure portal を表示している Microsoft Edge タブに切り替え、ツール バーの [リソース、サービス、ドキュメントの検索] テキスト ボックスで、「DNS ゾーン」を検索して選び、[DNS ゾーン] ページで、[+ 作成] を選びます。
-
[DNS ゾーンの作成] ページで、次の設定を指定します (他の設定は既定値のままにします)。
設定 値 サブスクリプション このラボで使用している Azure サブスクリプションの名前 リソース グループ AZ800-L0802-RG 名前 このタスクの先ほど確認した DNS ドメイン名 -
[確認と作成] を選択し、次に [作成] を選択します。
注: DNS ゾーンが作成されるまで待ちます。 これには 1 分ほどかかります。
- [リソースに移動] を選び、新しく作成した DNS ゾーンのページを開きます。
- DNS ゾーン ページで、 [+ レコード セット] を選びます。
-
[レコード セットの追加] ペインで、次の設定を指定します (その他は既定値のままにします)。
設定 値 名前 www Type A エイリアスのレコード セット No TTL 1 TTL の単位 Hours IP アドレス 20.30.40.50 注: IP アドレスとそれに対応する名前は完全に任意です。 これらは、パブリック DNS レコードの実装を示す非常にシンプルな例を示すためのものです。DNS レジストラーから名前空間を購入する必要があるような現実のシナリオをエミュレートするものではありません。
- [OK] を選択します。
-
DNS ゾーン ページで、ネーム サーバー 1 の完全な名前を確認します。
注: ネームサーバー 1 の完全な名前をメモします。 これは、次のタスクで必要になります。
タスク 4: Azure パブリック DNS 名前解決を検証する
- SEA-ADM1 の [スタート] メニューで、Windows PowerShell を選択します。
-
Windows PowerShell コンソールで次のコマンドを入力し、Enter キーを押して新しく作成した DNS ゾーンの www DNS レコード セットの外部名前解決をテストします (プレースホルダー
<Name server 1>
は、このタスクで先ほどメモしたこのタスクのネーム サーバー 1 の名前に置き換えます。また、<domain name>
プレースホルダーは、このタスクで先ほど作成した DNS ドメイン名に置き換えます)。nslookup www.<domain name> <Name server 1>
-
コマンドの出力に 20.30.40.50 のパブリック IP アドレスが含まれていることを確認します。
注: nslookup コマンドでは、レコードのクエリを実行する DNS サーバーの IP アドレスを指定できるため、名前解決は期待どおりに動作します (ここでは
<Name server 1>
とします)。 一般にアクセス可能な DNS サーバーに対してクエリを実行して名前解決を行うには、DNS レジストラーにドメイン名を登録し、Azure portal のパブリック DNS ゾーン ページに記載されているネーム サーバーを、そのドメインに対応する名前空間の権限として構成する必要があります。
演習 3: Azure 環境のプロビジョニング解除
タスク 1: Cloud Shell で PowerShell セッションを開始する
- SEA-ADM1 で、Azure portal が表示されている Microsoft Edge ウィンドウに切り替えます。
- Azure portal が表示されている Microsoft Edge ウィンドウで、[Cloud Shell] アイコンを選択して [Cloud Shell] ウィンドウを開きます。
タスク 2: ラボでプロビジョニングしたすべての Azure リソースを特定する
-
[Cloud Shell] ページで次のコマンドを実行して、このラボで作成されたすべてのリソース グループのリストを表示します。
Get-AzResourceGroup -Name 'AZ800-L08*'
-
次のコマンドを実行して、このラボで作成したすべてのリソース グループを削除します。
Get-AzResourceGroup -Name 'AZ800-L08*' | Remove-AzResourceGroup -Force -AsJob
注: このコマンドは非同期で実行されるため ( -AsJob パラメーターによって決定されます)、同じ PowerShell セッション内で直後に別の PowerShell コマンドを実行できますが、リソース グループが実際に削除されるまでに数分かかります。