チュートリアル: Azure portal を使用してネットワーク セキュリティ グループでネットワーク トラフィックをフィルター処理する
Azure 仮想ネットワーク内の Azure リソースが送受信するネットワーク トラフィックは、ネットワーク セキュリティ グループを使ってフィルター処理できます。
ネットワーク セキュリティ グループには、IP アドレス、ポート、およびプロトコルでネットワーク トラフィックをフィルター処理するセキュリティ規則が含まれています。 ネットワーク セキュリティ グループがサブネットに関連付けられている場合、そのサブネットにデプロイされたリソースにセキュリティ規則が適用されます。
このチュートリアルでは、次の作業を行う方法について説明します。
- ネットワーク セキュリティ グループと規則を作成する
- アプリケーション セキュリティ グループを作成する
- 仮想ネットワークを作成し、ネットワーク セキュリティ グループをサブネットに関連付ける
- 仮想マシンをデプロイし、そのネットワーク インターフェイスをアプリケーション セキュリティ グループに関連付ける
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
Azure へのサインイン
Azure portal にサインインします。
仮想ネットワークの作成
以下の手順ではリソース サブネットを持つ仮想ネットワークが作成されます。
ポータルで、[仮想ネットワーク] を検索して選択します。
[仮想ネットワーク] ページで、[+ 作成] を選択します。
[仮想ネットワークの作成] の [基本] タブで、次の情報を入力するか選択します。
設定 値 プロジェクトの詳細 サブスクリプション サブスクリプションを選択します。 Resource group [新規作成] を選択します。
[名前] に「test-rg」と入力します。
[OK] を選択します。インスタンスの詳細 Name 「vnet-1」と入力します。 リージョン [米国東部 2] を選択します。 [次へ] を選択して、[セキュリティ] タブに進みます。
[次へ] を選択して、[IP アドレス] タブに進みます。
[サブネット] のアドレス空間ボックスで、既定のサブネットを選択します。
[サブネットの編集] で次の情報を入力または選択します。
設定 値 サブネットの詳細 サブネット テンプレート 既定値の [既定] のままにします。 名前 「subnet-1」と入力します。 開始アドレス 既定値の 10.0.0.0 のままにします。 サブネットのサイズ 既定値の /24(256 アドレス) のままにします。 [保存] を選択します。
画面の下部にある [確認と作成] を選択し、検証に合格したら [作成] を選択します。
アプリケーション セキュリティ グループを作成する
アプリケーション セキュリティ グループ (ASG) を使用すると、Web サーバーなど、同様の機能を持つサーバーをグループ化できます。
ポータルの上部にある検索ボックスに、「アプリケーションのセキュリティ グループ」と入力します。 検索結果から [アプリケーションのセキュリティ グループ] を選びます。
[+ 作成] を選択します。
[アプリケーションのセキュリティ グループの作成] の [基本] タブで、この情報を入力または選択します。
設定 値 プロジェクトの詳細 サブスクリプション サブスクリプションを選択します。 Resource group test-rg を選択します。 インスタンスの詳細 名前 「asg-web」と入力します。 リージョン [米国東部 2] を選択します。 [Review + create](レビュー + 作成) を選択します。
[+ 作成] を選択します。
上記の手順を繰り返し、次の値を指定します。
設定 値 プロジェクトの詳細 サブスクリプション サブスクリプションを選択します。 Resource group test-rg を選択します。 インスタンスの詳細 名前 「asg-mgmt」と入力します。 リージョン [米国東部 2] を選択します。 [Review + create](レビュー + 作成) を選択します。
[作成] を選択します
ネットワーク セキュリティ グループの作成
ネットワーク セキュリティ グループ (NSG) は、仮想ネットワーク内のネットワーク トラフィックをセキュリティで保護するものです。
ポータルの上部にある検索ボックスに、「ネットワーク セキュリティ グループ」と入力します。 検索結果から [ネットワーク セキュリティ グループ] を選択します。
注意
[ネットワーク セキュリティ グループ] の検索結果に、[ネットワーク セキュリティ グループ (クラシック)] が表示される場合があります。 ネットワーク セキュリティ グループを選択します。
[+ 作成] を選択します。
[ネットワーク セキュリティ グループの作成] の [基本] タブで、この情報を入力または選択します。
設定 値 プロジェクトの詳細 サブスクリプション サブスクリプションを選択します。 Resource group test-rg を選択します。 インスタンスの詳細 名前 「nsg-1」と入力します。 場所 [米国東部 2] を選択します。 [Review + create](レビュー + 作成) を選択します。
[作成] を選択します
ネットワーク セキュリティ グループをサブネットに関連付ける
このセクションでは、先ほど作成した仮想ネットワークのサブネットにネットワーク セキュリティ グループを関連付けます。
ポータルの上部にある検索ボックスに、「ネットワーク セキュリティ グループ」と入力します。 検索結果から [ネットワーク セキュリティ グループ] を選択します。
[nsg-1] を選択します。
[nsg-1] の [設定] セクションから [サブネット] を選択します。
[サブネット] ページで [+ 関連付け] を選択します。
[サブネットの関連付け] で [仮想ネットワーク] として [vnet-1 (test-rg)] を選択します。
[サブネット] として [subnet-1] を選択した後に、[OK] を選択します。
セキュリティ規則を作成する
[nsg-1] の [設定] セクションから [受信セキュリティ規則] を選択します。
[受信セキュリティ規則] ページで [+ 追加] を選択します。
asg-web アプリケーション セキュリティ グループに、ポート 80 と 443 を許可するセキュリティ規則を作成します。 [受信セキュリティ規則の追加] ページで、次の情報を入力するか選択します。
設定 値 source 既定値の [Any](すべて) のままにします。 Source port ranges 既定値の (*) のままにします。 到着地 [アプリケーションのセキュリティ グループ] を選択します。 宛先アプリケーションのセキュリティ グループ [asg-web] を選択します。 サービス 既定値の [Custom](カスタム) のままにします。 宛先ポート範囲 「80,443」と入力します。 Protocol [TCP] を選択します。 アクション 既定値の [Allow](許可) のままにします。 Priority 既定値の [100] のままにします。 名前 「allow-web-all」と入力します。 [追加] を選択します。
次の情報を使用して、前の手順を完了します。
設定 値 source 既定値の [Any](すべて) のままにします。 Source port ranges 既定値の (*) のままにします。 到着地 [アプリケーションのセキュリティ グループ] を選択します。 宛先アプリケーションのセキュリティ グループ [asg-mgmt] を選択します。 サービス [RDP] を選択します。 アクション 既定値の [Allow](許可) のままにします。 Priority 既定値の [110] のままにします。 名前 「allow-rdp-all」と入力します。 [追加] を選択します。
注意
この記事では、asg-mgmt アプリケーション セキュリティ グループに割り当てられている VM では、RDP (ポート 3389) がインターネットに公開されています。
運用環境では、ポート 3389 をインターネットに公開せずに、VPN、プライベート ネットワーク接続、または Azure Bastion を使用して、管理する Azure リソースに接続することをお勧めします。
Azure Bastion の詳細については、「Azure Bastion とは」を参照してください。
仮想マシンを作成する
仮想ネットワーク内に 2 つの仮想マシン (VM) を作成します。
ポータルで、[仮想マシン] を検索して選択します。
[仮想マシン] で [+ 作成]、[Azure 仮想マシン] の順に選択します。
[仮想マシンの作成] の [基本] タブで、この情報を入力または選択します。
設定 値 プロジェクトの詳細 サブスクリプション サブスクリプションを選択します。 Resource group test-rg を選択します。 インスタンスの詳細 仮想マシン名 「vm-1」と入力します。 リージョン [(米国) 米国東部 2] を選択します。 可用性のオプション 既定値の [インフラストラクチャ冗長は必要ありません] のままにします。 セキュリティの種類 [Standard] を選択します。 Image [Windows Server 2022 Datacenter - x64 Gen2] を選択します。 Azure Spot インスタンス 既定値のオフのままにします。 サイズ サイズを選択します。 管理者アカウント ユーザー名 ユーザー名を入力します。 Password パスワードを入力します。 パスワードの確認 パスワードを再入力します。 受信ポートの規則 受信ポートの選択 [なし] を選択します。 [次へ: ディスク]、[次へ: ネットワーク] の順に選択します。
[ネットワーク] タブで、次の情報を入力または選択します。
設定 値 ネットワーク インターフェイス 仮想ネットワーク [vnet-1] を選択します。 Subnet subnet-1 (10.0.0.0/24) を選択します。 パブリック IP 新しいパブリック IP の既定値をそのまま使用します。 NIC ネットワーク セキュリティ グループ [なし] を選択します。 [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。
[作成] を選択します VM のデプロイには数分かかることがあります。
前の手順を繰り返して、vm-2 という名前の 2 つ目の仮想マシンを作成します。
ネットワーク インターフェイスを ASG に関連付ける
VM を作成したとき、Azure では各 VM 用のネットワーク インターフェイスが作成され、それが VM に接続されました。
各 VM 用のネットワーク インターフェイスを、前に作成したアプリケーション セキュリティ グループの 1 つに追加します。
ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択してから、[vm-1] を選択します。
[vm-1] の [ネットワーク] セクション から [アプリケーション セキュリティのグループ] を選択します。
[アプリケーション セキュリティのグループの追加] を選択し、[アプリケーション セキュリティのグループの追加] タブで [asg-web] を選択します。 最後に、[追加] を選択します。
vm-2 に対して前の手順を繰り返し、[アプリケーション セキュリティのグループの追加] タブで [asg-mgmt] を選択します。
トラフィック フィルターをテストする
ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。
[vm-2] を選択します。
[概要] ページで [接続] ボタンを選択してから [ネイティブ RDP] を選択します。
[RDP ファイルのダウンロード] を選択します。
ダウンロードした RDP ファイルを開き、 [接続] を選択します。 VM の作成時に指定したユーザー名とパスワードを入力します。
[OK] を選択します。
接続処理中に証明書の警告が表示される場合があります。 警告が表示されたら、 [はい] または [続行] を選択して接続処理を続行します。
この接続は成功します。インターネットからの asg-mgmt アプリケーション セキュリティ グループへの受信トラフィックが、ポート 3389 経由で許可されているためです。
vm-2 のネットワーク インターフェイスは asg-mgmt アプリケーション セキュリティ グループに関連付けられ、接続を許可します。
vm-2 上の PowerShell セッションを開きます。 次を使用して vm-1 に接続します。
mstsc /v:vm-1
vm-2 から vm-1 への RDP 接続は成功します。既定では、同じネットワーク内の仮想マシンは任意のポートで相互に通信できるためです。
インターネットから vm-1 仮想マシンへの RDP 接続を作成することはできません。 asg-web のセキュリティ規則により、インターネットからポート 3389 への受信接続は拒否されます。 既定では、インターネットからのインバウンド トラフィックはすべてのリソースに対して拒否されます。
vm-1 仮想マシンに Microsoft IIS をインストールするには、vm-1 仮想マシン上の PowerShell セッションから次のコマンドを入力します。
Install-WindowsFeature -name Web-Server -IncludeManagementTools
IIS のインストールが完了したら、vm-1 仮想マシンから切断します。その後も vm-2 仮想マシンのリモート デスクトップ接続は保持されたままです。
vm-2 VM から切断します。
ポータルの検索ボックスで vm-1 を検索します。
vm-1 の [概要] ページで、VM の [パブリック IP アドレス] をメモします。 次の例に示すアドレスは 20.230.55.178 になっていますが、実際のアドレスは異なります。
インターネットから vm-1 Web サーバーにアクセスできることを確認するには、コンピューターでインターネット ブラウザーを開き、
http://<public-ip-address-from-previous-step>
を閲覧します。
IIS の既定のページが表示されます。インターネットからの asg-web アプリケーション セキュリティ グループへの受信トラフィックがポート 80 経由で許可されているためです。
vm-1 に対してアタッチされたネットワーク インターフェイスは asg-web アプリケーション セキュリティ グループに関連付けられ、接続を許可します。
リソースをクリーンアップする
作成したリソースの使用を終えたら、リソース グループとそのすべてのリソースを削除できます。
Azure portal で、「リソース グループ」を検索して選択します。
[リソース グループ] ページで、test-rg リソース グループを選択します。
[test-rg] ページで、[リソース グループの削除] を選択します。
[削除を確認するために、リソース グループの名前を入力してください] に「test-rg」と入力して、[削除] を選びます。
次のステップ
このチュートリアルでは、次の作業を行いました。
- ネットワーク セキュリティ グループを作成し、それを仮想ネットワーク サブネットに関連付けました。
- Web および管理用のアプリケーション セキュリティ グループを作成しました。
- 2 つの仮想マシンを作成し、そのネットワーク インターフェイスをアプリケーション セキュリティ グループに関連付けます。
- アプリケーション セキュリティ グループのネットワーク フィルターをテストしました。
ネットワーク セキュリティ グループについて詳しくは、ネットワーク セキュリティ グループの概要とネットワーク セキュリティ グループの管理に関する記事を参照してください。
Azure の既定では、サブネット間でトラフィックがルーティングされます。 代わりに、たとえばファイアウォールとして機能する VM を介してサブネット間でトラフィックをルーティングすることもできます。
ルート テーブルを作成する方法を学習するには、次のチュートリアルに進んでください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示