チュートリアル: Azure portal を使用してネットワーク セキュリティ グループでネットワーク トラフィックをフィルター処理する

Azure 仮想ネットワーク内の Azure リソースが送受信するネットワーク トラフィックは、ネットワーク セキュリティ グループを使ってフィルター処理できます。

ネットワーク セキュリティ グループには、IP アドレス、ポート、およびプロトコルでネットワーク トラフィックをフィルター処理するセキュリティ規則が含まれています。 ネットワーク セキュリティ グループがサブネットに関連付けられている場合、そのサブネットにデプロイされたリソースにセキュリティ規則が適用されます。

このチュートリアルでは、次の作業を行う方法について説明します。

  • ネットワーク セキュリティ グループと規則を作成する
  • アプリケーション セキュリティ グループを作成する
  • 仮想ネットワークを作成し、ネットワーク セキュリティ グループをサブネットに関連付ける
  • 仮想マシンをデプロイし、そのネットワーク インターフェイスをアプリケーション セキュリティ グループに関連付ける
  • トラフィック フィルターをテストする

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

前提条件

  • Azure サブスクリプション

Azure へのサインイン

Azure portal にサインインします。

仮想ネットワークの作成

  1. Azure portal メニューで、[+ リソースの作成]>[ネットワーキング]>[仮想ネットワーク] の順に選択するか、ポータルの検索ボックスで "仮想ネットワーク" を検索します。

  2. [作成] を選択します

  3. [仮想ネットワークの作成][基本] タブで、次の情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [新規作成] を選択します。
    myResourceGroup」と入力します。

    を選択します。
    インスタンスの詳細
    名前 myVNet」と入力します。
    リージョン [米国東部] を選択します。
  4. [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。

  5. [作成] を選択します

アプリケーション セキュリティ グループを作成する

アプリケーション セキュリティ グループ (ASG) を使用すると、Web サーバーなど、同様の機能を持つサーバーをグループ化できます。

  1. Azure portal メニューの [+ リソースの作成]>[ネットワーキング]>[アプリケーション セキュリティ グループ] の順に選択するか、ポータルの検索ボックスで "アプリケーション セキュリティ グループ" を検索します。

  2. [作成] を選択します

  3. [アプリケーションのセキュリティ グループの作成][基本] タブで、この情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [myResourceGroup] を選択します。
    インスタンスの詳細
    名前 myAsgWebServers」と入力します。
    リージョン [(米国) 米国東部] を選択します。
  4. [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。

  5. [作成] を選択します

  6. 上記の手順を繰り返し、次の値を指定します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [myResourceGroup] を選択します。
    インスタンスの詳細
    名前 myAsgMgmtServers」と入力します。
    リージョン [(米国) 米国東部] を選択します。
  7. [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。

  8. [作成] を選択します

ネットワーク セキュリティ グループの作成

ネットワーク セキュリティ グループ (NSG) は、仮想ネットワーク内のネットワーク トラフィックをセキュリティで保護するものです。

  1. Azure portal メニューの [+ リソースの作成]>[ネットワーキング]>[ネットワーク セキュリティ グループ] の順に選択するか、ポータルの検索ボックスで "ネットワーク セキュリティ グループ" を検索します。

  2. [作成] を選択します

  3. [ネットワーク セキュリティ グループの作成][基本] タブで、この情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [myResourceGroup] を選択します。
    インスタンスの詳細
    名前 myNSG」と入力します。
    場所 [(米国) 米国東部] を選択します。
  4. [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。

  5. [作成] を選択します

ネットワーク セキュリティ グループをサブネットに関連付ける

このセクションでは、先ほど作成した仮想ネットワークのサブネットにネットワーク セキュリティ グループを関連付けます。

  1. ポータルの検索ボックスで myNsg を検索します。

  2. myNSG[設定] セクションから [サブネット] を選択します。

  3. [サブネット] ページで [+ 関連付け] を選択します。

    サブネットへのネットワーク セキュリティ グループの関連付けのスクリーンショット。

  4. [サブネットの関連付け][仮想ネットワーク] に対して [myVNet] を選択します。

  5. [サブネット] に対して [default] (既定) を選択し、[OK] を選択します。

セキュリティ規則を作成する

  1. myNSG[設定] セクションから [受信セキュリティ規則] を選択します。

  2. [受信セキュリティ規則] ページで [+ 追加] を選択します。

    ネットワーク セキュリティ グループの [受信セキュリティ規則] のスクリーンショット。

  3. myAsgWebServers アプリケーション セキュリティ グループに、ポート 80 と 443 を許可するセキュリティ規則を作成します。 [受信セキュリティ規則の追加] ページで、次の情報を入力または選択します。

    設定
    source 既定値の [Any](すべて) のままにします。
    Source port ranges 既定値の (*) のままにします。
    到着地 [アプリケーションのセキュリティ グループ] を選択します。
    宛先アプリケーションのセキュリティ グループ [myAsgWebServers] を選択します。
    サービス 既定値の [Custom](カスタム) のままにします。
    宛先ポート範囲 80,443」と入力します。
    Protocol [TCP] を選択します。
    アクション 既定値の [Allow](許可) のままにします。
    Priority 既定値の [100] のままにします。
    名前 Allow-Web-All」と入力します。

    ネットワーク セキュリティ グループの [受信セキュリティ規則の追加] のスクリーンショット。

  4. [追加] を選択します。

  5. この情報を使用して、手順 3 から 4 をもう一度完了します。

    設定
    source 既定値の [Any](すべて) のままにします。
    Source port ranges 既定値の (*) のままにします。
    到着地 [アプリケーションのセキュリティ グループ] を選択します。
    宛先アプリケーションのセキュリティ グループ [myAsgMgmtServers] を選択します。
    サービス 既定値の [Custom](カスタム) のままにします。
    宛先ポート範囲 3389」と入力します。
    Protocol [任意] をクリックします。
    アクション 既定値の [Allow](許可) のままにします。
    Priority 既定値の [110] のままにします。
    名前 Allow-RDP-All」と入力します。
  6. [追加] を選択します。

    注意

    この記事では、myAsgMgmtServers アプリケーション セキュリティ グループに割り当てられている VM 用に、RDP (ポート 3389) がインターネットに公開されています。

    運用環境では、ポート 3389 をインターネットに公開せずに、VPN、プライベート ネットワーク接続、または Azure Bastion を使用して、管理する Azure リソースに接続することをお勧めします。

    Azure Bastion の詳細については、「Azure Bastion とは」を参照してください。

手順 1 から 3 を完了したら、作成した規則を確認します。 一覧は、次の例のように表示されます。

ネットワーク セキュリティ グループのセキュリティ規則のスクリーンショット。

仮想マシンを作成する

仮想ネットワーク内に 2 つの仮想マシン (VM) を作成します。

最初の仮想マシンを作成する

  1. Azure portal メニューの [+ リソースの作成]>[コンピューティング]>[仮想マシン] の順に選択するか、ポータルの検索ボックスで "仮想マシン" を検索します。

  2. [仮想マシンの作成][基本] タブで、この情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [myResourceGroup] を選択します。
    インスタンスの詳細
    仮想マシン名 myVMWeb」と入力します。
    リージョン [(米国) 米国東部] を選択します。
    可用性のオプション 既定値の [インフラストラクチャ冗長は必要ありません] のままにします。
    セキュリティの種類 規定値である [標準] のままにします。
    Image [Windows Server 2019 Datacenter - Gen2] を選択します。
    Azure Spot インスタンス 既定値のオフのままにします。
    サイズ [Standard_D2s_V3] を選択します。
    管理者アカウント
    ユーザー名 ユーザー名を入力します。
    Password パスワードを入力します。
    パスワードの確認 パスワードを再入力します。
    受信ポートの規則
    受信ポートの選択 [なし] を選択します。
  3. [ネットワーク] タブを選択します。

  4. [ネットワーク] タブで、次の情報を入力または選択します。

    設定
    ネットワーク インターフェイス
    仮想ネットワーク [myVNet] を選択します。
    Subnet [default (10.0.0.0/24)](既定値 (10.0.0.0/24)) を選択します。
    パブリック IP 新しいパブリック IP の既定値をそのまま使用します。
    NIC ネットワーク セキュリティ グループ [なし] を選択します。
  5. [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。

  6. [作成] を選択します VM のデプロイには数分かかることがあります。

2 番目の仮想マシンを作成する

手順 1 ~ 6 をもう一度完了します。ただし、手順 2 では、仮想マシンの名前として myVMMgmt を入力します。

VM がデプロイを完了するまで待ってから、次のセクションに進みます。

ネットワーク インターフェイスを ASG に関連付ける

VM を作成したとき、Azure では各 VM 用のネットワーク インターフェイスが作成され、それが VM に接続されました。

各 VM 用のネットワーク インターフェイスを、前に作成したアプリケーション セキュリティ グループの 1 つに追加します。

  1. ポータルの検索ボックスで myVMWeb を検索します。

  2. myVMWeb VM の [設定] セクションで、[ネットワーク] を選択します。

  3. [アプリケーションのセキュリティ グループ] タブを選択し、 [アプリケーションのセキュリティ グループを構成] を選択します。

    [アプリケーションのセキュリティ グループを構成] のスクリーンショット。

  4. [アプリケーションのセキュリティ グループを構成] で、 [myAsgWebServers] を選択します。 [保存] を選択します。

    アプリケーション セキュリティ グループをネットワーク インターフェイスに関連付ける方法を示すスクリーンショット。

  5. 手順 1. および 2. をもう一度実行し、myVMMgmt 仮想マシンを検索して、myAsgMgmtServers ASG を選択します。

トラフィック フィルターをテストする

  1. ポータルの検索ボックスで myVMMgmt を検索します。

  2. [概要] ページで [接続] ボタンを選択してから [RDP] を選択します。

  3. [RDP ファイルのダウンロード] を選択します。

  4. ダウンロードした RDP ファイルを開き、 [接続] を選択します。 VM の作成時に指定したユーザー名とパスワードを入力します。

  5. [OK] を選択します。

  6. 接続処理中に証明書の警告が表示される場合があります。 警告が表示されたら、 [はい] または [続行] を選択して接続処理を続行します。

    この接続は成功します。myAsgMgmtServers アプリケーション セキュリティ グループへのインターネットからのインバウンド トラフィックが、ポート 3389 で許可されているためです。

    myVMMgmt のネットワーク インターフェイスが myAsgMgmtServers アプリケーション セキュリティ グループに関連付けられ、接続が許可されます。

  7. myVMMgmt で PowerShell セッションを開きます。 次を使用して myVMWeb に接続します。

    mstsc /v:myVmWeb
    

    myVMMgmt から myVMWeb への RDP 接続は成功します。既定では、同じネットワーク内の仮想マシンが任意のポートで相互に通信できるためです。

    インターネットから myVMWeb 仮想マシンへの RDP 接続を作成することはできません。 myAsgWebServers のセキュリティ規則により、インターネットからポート 3389 へのインバウンド接続は拒否されます。 既定では、インターネットからのインバウンド トラフィックはすべてのリソースに対して拒否されます。

  8. myVMWeb 仮想マシンに Microsoft IIS をインストールするには、myVMWeb 仮想マシンの PowerShell セッションから次のコマンドを入力します。

    Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
  9. IIS のインストールが完了したら、myVMWeb 仮想マシンから切断します。myVMMgmt 仮想マシンのリモート デスクトップ接続は保持されます。

  10. myVMMgmt VM から切断します。

  11. ポータルの検索ボックスで myVMWeb を検索します。

  12. myVMWeb[概要] ページで、VM の [パブリック IP アドレス] をメモします。 次の例に示すアドレスは 23.96.39.113 になっていますが、実際のアドレスは異なります。

    [概要] ページの仮想マシンの [パブリック IP アドレス] のスクリーンショット。

  13. インターネットから myVMWeb Web サーバーにアクセスできることを確認するには、コンピューターでインターネット ブラウザーを開き、http://<public-ip-address-from-previous-step> にアクセスします。

IIS の既定のページが表示されます。myAsgWebServers アプリケーション セキュリティ グループへのインターネットからのインバウンド トラフィックがポート 80 経由で許可されているためです。

myVMWeb 用に接続されているネットワーク インターフェイスが myAsgWebServers アプリケーション セキュリティ グループに関連付けられ、接続が許可されます。

リソースをクリーンアップする

リソース グループとそれに含まれるすべてのリソースが不要になったら、それらを削除します。

  1. ポータル上部の [検索] ボックスに「myResourceGroup」と入力します。 検索結果に [myResourceGroup] が表示されたら、それを選択します。
  2. [リソース グループの削除] を選択します。
  3. [TYPE THE RESOURCE GROUP NAME:](リソース グループ名を入力してください:) に「myResourceGroup」と入力し、 [削除] を選択します。

次のステップ

このチュートリアルでは、次の作業を行いました。

  • ネットワーク セキュリティ グループを作成し、それを仮想ネットワーク サブネットに関連付けました。
  • Web および管理用のアプリケーション セキュリティ グループを作成しました。
  • 2 つの仮想マシンを作成し、そのネットワーク インターフェイスをアプリケーション セキュリティ グループに関連付けます。
  • アプリケーション セキュリティ グループのネットワーク フィルターをテストしました。

ネットワーク セキュリティ グループについて詳しくは、ネットワーク セキュリティ グループの概要ネットワーク セキュリティ グループの管理に関する記事を参照してください。

Azure の既定では、サブネット間でトラフィックがルーティングされます。 代わりに、たとえばファイアウォールとして機能する VM を介してサブネット間でトラフィックをルーティングすることもできます。

ルート テーブルを作成する方法を学習するには、次のチュートリアルに進んでください。