演習 - Azure 仮想マシンの間で SSH を使用して、仮想ネットワーク ピアリングを確認する
前のユニットでは、仮想ネットワーク間のピアリング接続を構成し、相互通信のためのリソースを有効にしました。 構成では、ハブとスポークのトポロジを使用しました。 MarketingVNet がハブで、SalesVNet と ResearchVNet がスポークでした。
ピアリング接続は非推移性であることを思い出してください。 中間の仮想ネットワークを通過して、接続された仮想ネットワークに接続がフローすることは許可されません。 SalesVNet は MarketingVNet と通信できます。 ResearchVNet は MarketingVNet と通信できます。 MarketingVNet は、SalesVNet と ResearchVNet の両方と通信できます。 許されないのは、SalesVNet と ResearchVNet の間の通信だけです。 SalesVNet と ResearchVNet はどちらも MarketingVNet に接続されていますが、相互に直接ピアリングされてはいないため、互いに通信することはできません。
ピアリング接続での接続を確認してみましょう。 まず、Azure Cloud Shell からターゲット仮想マシン (VM) の "パブリック" IP アドレスへの接続を作成します。 次に、接続先の VM の "プライベート" IP アドレスを使用して、ターゲット VM から接続先の VM に接続します。
重要
仮想ネットワーク ピアリング接続をテストするには、各 VM に割り当てられているプライベート IP アドレスに接続します。
SSH (Secure Shell) を使用して Cloud Shell から直接 VM に接続します。 SSH を使用するときは、最初に、テスト VM に割り当てられているパブリック IP アドレスを調べます。
Cloud Shell で次のコマンドを実行して、VM への接続に使用する IP アドレスを一覧表示します。
az vm list \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --query "[*].{Name:name, PrivateIP:privateIps, PublicIP:publicIps}" \ --show-details \ --output table
出力を記録しておきます。 このユニットの演習には IP アドレスが必要です。
テストを始める前に、このモジュールで学習した内容について考えてください。 どのような結果が予想されますか。 相互に通信できる VM と通信できない VM はどれですか?
SalesVM からの接続をテストする
最初のテストでは、Cloud Shell で SSH を使用して SalesVM のパブリック IP アドレスに接続します。 その後、SalesVM から MarketingVM および ResearchVM への接続を試みます。
Cloud Shell で次のコマンドを実行し、SSH を使用して SalesVM のパブリック IP アドレスに接続します。 コマンドでは、
<SalesVM public IP>
を VM の "パブリック" IP アドレスに置き換えます。ssh -o StrictHostKeyChecking=no azureuser@<SalesVM public IP>
VM を作成するときに使用したパスワードでサインインします。 SalesVM にサインインしていることが、プロンプトで示されます。
Cloud Shell で次のコマンドを実行し、SSH を使用して MarketingVM のプライベート IP アドレスに接続します。 コマンドでは、
<MarketingVM private IP>
をこの VM の "プライベート" IP アドレスに置き換えます。ssh -o StrictHostKeyChecking=no azureuser@<MarketingVM private IP>
SalesVNet 仮想ネットワークと MarketingVNet 仮想ネットワークの間のピアリング接続により、接続の試行は成功するはずです。
VM を作成するときに使用したパスワードでサインインします。
「
exit
」と入力してこの SSH セッションを閉じ、SalesVM のプロンプトに戻ります。Cloud Shell で次のコマンドを実行し、SSH を使用して ResearchVM のプライベート IP アドレスに接続します。 コマンドでは、
<ResearchVM private IP>
をこの VM の "プライベート" IP アドレスに置き換えます。ssh -o StrictHostKeyChecking=no azureuser@<ResearchVM private IP>
SalesVNet 仮想ネットワークと ResearchVNet 仮想ネットワークの間にはピアリング接続がないため、接続の試行は失敗するはずです。 接続の試行がタイムアウトするまでに、最大で 60 秒かかる場合があります。試行を強制的に停止するには、Ctrl + C キーを使用します。
「
exit
」と入力して SSH セッションを閉じ、Cloud Shell に戻ります。
ResearchVM からの接続をテストする
2 番目のテストでは、Cloud Shell で SSH を使用して ResearchVM のパブリック IP アドレスに接続します。 その後、ResearchVM から MarketingVM および SalesVM への接続を試みます。
Cloud Shell で次のコマンドを実行し、SSH を使用して ResearchVM のパブリック IP アドレスに接続します。 コマンドでは、
<ResearchVM public IP>
をこの VM の "パブリック" IP アドレスに置き換えます。ssh -o StrictHostKeyChecking=no azureuser@<ResearchVM public IP>
VM を作成するときに使用したパスワードでサインインします。 ResearchVM にサインインしていることが、プロンプトで示されます。
Cloud Shell で次のコマンドを実行し、SSH を使用して MarketingVM のプライベート IP アドレスに接続します。 コマンドでは、
<MarketingVM private IP>
をこの VM の "プライベート" IP アドレスに置き換えます。ssh -o StrictHostKeyChecking=no azureuser@<MarketingVM private IP>
ResearchVNet 仮想ネットワークと MarketingVNet 仮想ネットワークの間のピアリング接続により、接続の試行は成功するはずです。
VM を作成するときに使用したパスワードでサインインします。
「
exit
」と入力してこの SSH セッションを閉じ、ResearchVM のプロンプトに戻ります。Cloud Shell で次のコマンドを実行し、SSH を使用して SalesVM のプライベート IP アドレスに接続します。 コマンドでは、
<SalesVM private IP>
をこの VM の "プライベート" IP アドレスに置き換えます。ssh -o StrictHostKeyChecking=no azureuser@<SalesVM private IP>
ResearchVNet 仮想ネットワークと SalesVNet 仮想ネットワークの間にはピアリング接続がないため、接続の試行は失敗するはずです。 接続の試行がタイムアウトするまでに、最大で 60 秒かかる場合があります。試行を強制的に停止するには、Ctrl + C キーを使用します。
「
exit
」と入力して SSH セッションを閉じ、Cloud Shell に戻ります。
MarketingVM からの接続をテストする
最後のテストでは、Cloud Shell で SSH を使用して MarketingVM のパブリック IP アドレスに接続します。 その後、MarketingVM から ResearchVM および SalesVM への接続を試みます。
Cloud Shell で次のコマンドを実行し、SSH を使用して MarketingVM のパブリック IP アドレスに接続します。 コマンドでは、
<MarketingVM public IP>
をこの VM の "パブリック" IP アドレスに置き換えます。ssh -o StrictHostKeyChecking=no azureuser@<MarketingVM public IP>
VM を作成するときに使用したパスワードでサインインします。 MarketingVM にサインインしていることが、プロンプトで示されます。
Cloud Shell で次のコマンドを実行し、SSH を使用して ResearchVM のプライベート IP アドレスに接続します。 コマンドでは、
<ResearchVM private IP>
をこの VM の "プライベート" IP アドレスに置き換えます。ssh -o StrictHostKeyChecking=no azureuser@<ResearchVM private IP>
MarketingVNet 仮想ネットワークと ResearchVNet 仮想ネットワークの間のピアリング接続により、接続の試行は成功するはずです。
VM を作成するときに使用したパスワードでサインインします。
「
exit
」と入力してこの SSH セッションを閉じ、MarketingVM のプロンプトに戻ります。Cloud Shell で次のコマンドを実行し、SSH を使用して SalesVM のプライベート IP アドレスに接続します。 コマンドでは、
<SalesVM private IP>
をこの VM の "プライベート" IP アドレスに置き換えます。ssh -o StrictHostKeyChecking=no azureuser@<SalesVM private IP>
MarketingVNet と SalesVNet 仮想ネットワーク間にはピアリング接続があるため、この接続試行も成功するはずです。
VM を作成するときに使用したパスワードでサインインします。
「
exit
」と入力してこの SSH セッションを閉じ、MarketingVM のプロンプトに戻ります。「
exit
」と入力して SSH セッションを閉じ、Cloud Shell に戻ります。
SSH を使用したこの簡単なテストにより、ピアリングされた仮想ネットワーク間のネットワーク接続が示されます。 また、推移的な接続に対してネットワーク接続がないことも示されます。
これらのサーバーでアプリケーション サービスが実行されている場合、サーバーの接続により、VM で実行されているサービス間の通信が許可されます。 接続により、会社で必要とされる部門間のデータの共有が可能になります。