Azure クラシック CLI を使用してネットワーク セキュリティ グループ (クラシック) を作成する

NSG を使用して、仮想ネットワーク内の 1 つまたは複数の仮想マシン (VM)、ロール インスタンス、ネットワーク アダプター (NIC)、またはサブネットに対するトラフィックを制御できます。 NSG には、トラフィックの方向、プロトコル、ソース アドレスとポート、および送信先アドレスとポートに基づいて、トラフィックを許可または拒否するアクセス制御ルールが含まれています。 NSG のルールは、いつでも変更でき、変更は関連付けられているすべてのインスタンスに適用されます。

NSG の詳細については、「 what is an NSG (NSG の概要)」を参照してください。

重要

Azure リソースを使用する前に、Azure は現在、Azure Resource Manager デプロイ モデルとクラシック デプロイ モデルの 2 種類を備えていることを理解しておくことが重要です。 Azure リソースを使用する前に、必ず デプロイ モデルとツール について知識をつけておいてください。 この記事の上部にあるタブをクリックすると、さまざまなツールについてのドキュメントを参照できます。

この記事では、クラシック デプロイ モデルについて説明します。 Resource Manager デプロイ モデルで NSG を作成することもできます。

シナリオ

NSG の作成方法をわかりやすく説明するため、このドキュメントでは次のシナリオを使用しています。

VNet のシナリオ

このシナリオでは、以下のように、TestVNet 仮想ネットワークの各サブネットに対して NSG を作成します。

  • NSG-FrontEnd。 以下の 2 つの規則を含むフロントエンド NSG が FrontEnd サブネットに適用されています。
    • rdp-ruleFrontEnd サブネットに対する RDP トラフィックを許可します。
    • web-ruleFrontEnd サブネットに対する HTTP トラフィックを許可します。
  • NSG-BackEnd。 以下の 2 つの規則を含むバックエンド NSG が BackEnd サブネットに適用されています。
    • sql-ruleFrontEnd サブネットからの SQL トラフィックのみを許可します。
    • web-ruleBackEnd サブネットからのすべてのインターネット経由トラフィックを拒否します。

これらの規則の組み合わせによって、DMZ のようなシナリオが作成されます。このシナリオではバックエンドのサブネットはフロントエンドのサブネットから SQL の受信トラフィックのみを受信でき、インターネットへはアクセスできません。一方、フロントエンドのサブネットはインターネットと通信でき、受信 HTTP 要求のみを受信します。

以下の Azure CLI コマンドの例では、シナリオに基づいて単純な環境が既に作成されていものとします。 このドキュメントに表示されているコマンドを実行する場合は、まず、 VNet を作成してテスト環境を構築します。

フロントエンドのサブネットの NSG を作成する

  1. Azure CLI の使用経験がない場合は、「Azure CLI のインストールと構成」をご覧ください。

  2. クラシック モードに切り替えます。

    azure config mode asm
    
  3. NSG を作成します。

     azure network nsg create -l uswest -n NSG-FrontEnd
    
  4. インターネットからポート 3389 (RDP) へのアクセスを許可するセキュリティ規則を作成します。

    azure network nsg rule create -a NSG-FrontEnd -n rdp-rule -c Allow -p Tcp -r Inbound -y 100 -f Internet -o * -e * -u 3389
    
  5. インターネットからポート 80 (HTTP) へのアクセスを許可する規則を作成します。

    azure network nsg rule create -a NSG-FrontEnd -n web-rule -c Allow -p Tcp -r Inbound -y 200 -f Internet -o * -e * -u 80
    
  6. NSG をフロントエンドのサブネットに関連付けます。

    azure network nsg subnet add -a NSG-FrontEnd --vnet-name TestVNet --subnet-name FrontEnd
    

バックエンドのサブネットの NSG を作成します。

  1. NSG を作成します。

    azure network nsg create -l uswest -n NSG-BackEnd
    
  2. フロントエンドのサブネットからポート 1433 (SQL) へのアクセスを許可する規則を作成します。

    azure network nsg rule create -a NSG-BackEnd -n sql-rule -c Allow -p Tcp -r Inbound -y 100 -f 192.168.1.0/24 -o * -e * -u 1433
    
  3. インターネットへのアクセスを禁止する規則を作成します。

    azure network nsg rule create -a NSG-BackEnd -n web-rule -c Deny -p Tcp -r Outbound -y 200 -f * -o * -e Internet -u 80
    
  4. NSG をバックエンドのサブネットに関連付けます。

    azure network nsg subnet add -a NSG-BackEnd --vnet-name TestVNet --subnet-name BackEnd