LoginSignup
0
0

More than 3 years have passed since last update.

[自分用メモ] Azure、ネットワークセキュリティーグループでPublic,Privateの区画を作る

Last updated at Posted at 2020-05-03

Azure初心者の自分用のメモ。
前に一度勉強したけど、コロナとGWで久しぶりに手を動かしてみたんでレシピ的に整理。(2020/5/3時点)

前提として、Microsoft アカウントは作成済。
サブスクリプションも用意済。

  • リソースグループを作成 

    • MyRG1
  • 仮想ネットワークを作成

    • vn-yokohama , 10.0.0.0/16
    • サブネットを二つ作成
      • default , 10.0.0.0/24
      • subnet-1 , 10.0.1.0/24
      • subnet-2 , 10.0.11.0/24
  • ネットワークセキュリティーグループを作成
    - nsg-public
    - nsg-private

  • サブネットとネットワークセキュリティーグループを紐づけ
    - subnet-1 --> nsg-public
    - subnet-2 --> nsg-private

  • Virtual Machineを3台作成

    • Web Server用
      • subnet-1
      • とりあえずubuntu
      • vm-web1
        • PIP(Public IP)はあり
        • NICを指定する際に「ネットワークセキュリティーグループ」は「nsg-public」を指定
    • DB Server用
      • subnet-2
      • とりあえず ubuntu
      • vm-db1
        • PIP(Public IP)なし
        • NICを指定する際に「nsg-private]を指定
    • Test用
      • サブネットはdefault (10.0.0.0/24)
      • とりあえずubuntu
      • vm-default
      • ネットワークセキュリティーグループはなんでもよし(新規作成でOK)

テスト

  • vm-defaultへログイン
    • vm-defaultへログインしてから、vm-db1へログイン(ログインできるはず)
  • vm-web1へログイン

    • 同様に、vm-db1へのログインができることを確認
  • nsg-privatenoの以下を変更

    • 受信ポートの規則を追加
      • ソースサービスタグ:VirtualNetwork
      • ソースポート範囲: *
      • 宛先:VirtualNetwork
      • 宛先ポート範囲:*
      • プロトコル:ANY
      • アクション:拒否
      • 優先度:200
      • 名前: DenyInboundFromVNET
    • 保存。有効になるまで1分程度待機。
    • vm-default, vm-web1からvm-db1にログインできなくなっていることを確認
  • nsg-privateへ以下を追加

    • 受信ポートの規則を追加
      • ソース: IP Address
      • ソースIPアドレス:10.0.1.0/24
      • ソースポート範囲: *
      • 宛先:Any
      • 宛先ポート範囲:22
      • プロトコル:TCP
      • アクション:許可
      • 優先度:100
      • 名前: AllowSSHfromSub1
    • 保存。有効になるまで1分程度待機。
    • vm-db1へはvm-defaultからはログインできないが、vm-web1からは可能になる

 気が付いたこと

  • vm-db1にはPublic IPがないけど、インターネットへの通信ができる。(vm-db1からcurl www.google.comなどは応答される)
  • これはAzureのネットワークにSNATというNAT機能が、標準利用されているため。 オンプレやAWSなどでNATインスタンスを用意するのに比べると少し独特だが、便利だし無料。ただし性能は限定的のようなのでSNATで処理しきれないようであれば、自分でNATインスタンスを用意して利用するのだそうだ。
  • - https://blog.nnasaki.com/entry/2019/12/11/073558 - 
  • Outboundもできないようにするなら、ネットワークセキュリティーグループの送信ポートの規則でできそう。

-AWSだとソースに別の「セキュリティーグループ」を設定できるけど、Azureだとネットワーク・セキュリティーグループはまずはネットワーク。アプリケーション・セキュリティーグループというでサーバーをグルーピングして指定する。両者一長一短ありそう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0