Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Azure Network Watcher の
あれやこれや
シグマコンサルティング株式会社
冨田 順 (とみたすなお)
@harutama
http://azure.moe
2
今日の内容
• Azure Network Watcher で何ができるの
か、概要を紹介する。
• Azure のネットワークを設計するに当
たっての注意点を紹介する。
3
4
本セッションの内容は 2017年6月23日 時点での情報に
基づいて作成されています。
2017年3月31日
5
できること
• クラウド上で作成した仮想ネットワーク
でのパケットの流れを追いかける。
– IPフローの確認
– 次ホップ
– セキュリティグループビュー
– パケットキャプチャ
6
Network Watcher の有効化
7
「ネットワーキング」カテゴリの中
8
リージョンに対して有効化
9
今回の環境
10
lucky
192.168.30.4
prairie
192.168.10.4
beaver
192.168.20.4
サブネット
riku 192.168.10.0/24
サブネット
kawa 192.168.20.0/24...
おさらい その1
11
おさらい その1
12
ネットワークセキュリティグループ
(NSG)
何をするもの?
• 要するにファイアーウォールの設定
– IPアドレス(CIDR形式)とポートの組み合わせ
に対して、通信の許可・不許可を設定。
13
NICとサブネットに設定します
14
仮想マシン
ネットワーク
インターフェイス
(NIC)
サブネット
インターネット
例えばこんな構成
15https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-networks-nsg
参考
16
ネットワーク セキュリティ グループによるネットワーク トラフィックのフィル
タリング
https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-networks-...
IPフローの確認 と
セキュリティグループビュー
17
何をするものか?
18
IP フロー検証機能を使用すると、仮想マシンから送受信され
るパケットの許可または拒否の状況を 5 タプルの情報に基づ
いて検証できます。
パケットがセキュリティ グループにより拒否された場合、そ
のパケットを拒否した規...
デフォルトのNSG
19
SSHの通信は許可されてますが
20
HTTPは閉じられています
21
セキュリティグループビュー
22
セキュリティグループビュー
• 仮想マシンに割り当てられているNSGの
状態を一覧で見ることができます。
– サブネットの NSG
– ネットワークインターフェースの NSG
23
おさらい その2
24
おさらい その2
25
ルートテーブル
何をするもの?
• ネットワークのルーティングを自分で設
定する。
– いわゆる「User Defined Routing (UDR)」
– 既定のネットワークルーティングは Azure 側
で自動的に構成されている。
26
いつ使うのか? その1
27
ExpressRoute
Azure上の仮想マシン オンプレミス
VPN
インターネット
オンプレミスネットワークからインターネットにアクセスさせたい
いつ使うのか? その2
28
Azure上の仮想マシン 仮想アプライアンス
インターネット
仮想アプライアンス経由でインターネットにアクセスさせたい
参考
29
ユーザー定義のルートと IP 転送
https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-networks-
udr-overview
Azure ARMでNA...
次ホップ
30
何をするものか?
31
VM からのトラフィックは、NIC に関連付けられた有効な
ルートをもとに、送信先に送信されます。
次ホップは、特定の仮想マシンと NIC から次ホップの種類と
パケットの IP アドレスを取得します。
これにより、パケ...
ルートテーブルの設定
32
サブネットkawa
に対して
全ての通信(0.0.0.0/0)を
lucky(192.168.30.4)に
ルーティングさせる
設定された挙動
33
lucky
192.168.30.4
prairie
192.168.10.4
beaver
192.168.20.4
サブネット
riku 192.168.10.0/24
サブネット
kawa 192.168.20.0/...
通常のVM
34
ルーティングが設定されたVM
35
パケットキャプチャー
36
何をするものか?
37
Network Watcher の可変パケット キャプ
チャを使用すると、仮想マシンとの間で送受
信されるトラフィックを追跡するパケット
キャプチャ セッションを作成できます。
パケット キャプチャは、事後と事前に、ネッ...
パケットキャプチャーの設定
38
パケットキャプチャーの前に
• 対象の仮想マシンに対して
「Network Watcher VM エージェント」
がインストールされている必要があります。
– エージェントは Windows と Linux 向けが用意
されています。
39
仮想マシンの拡張機能
40
注意
• 今のところ、ポータルから
「Network Watcher VM エージェント」
を追加すると、高確率で失敗します。
• PowerShell などから追加しないと、ちゃ
んと入ってくれない感じです。
– https://www.po...
PowerShell でのデプロイ
42
Set-AzureRmVMExtension -ResourceGroupName "myResourceGroup1" `
-Location "WestUS" `
-VMName "myVM1" `...
Windows と Linux を自動判定
43
# 拡張機能を入れる対象のVM情報
$VMResourceGroup = '2017Interact';
$VMName = 'beaver';
# 拡張機能を入れる対象のVM情報をとってくる
...
結果は .cap ファイルで保存
44
Wireshark などで見えます
45
ネットワークの設計にあたって
46
止めてはいけない通信
• インフラストラクチャとの通信
– 168.63.129.16
• メタデータサービスと通信
– 169.254.169.254
• ストレージアカウントとの通信
– blob.*.store.core.windows....
参考 止めてはいけない通信
48
Azure 仮想マシンで送受信するネットワークパケットをキャプチャする
https://blogs.msdn.microsoft.com/ainaba-csa/2017/03/06/capture-
netwo...
NSG の罠
49
既定の規則の中にある
ソース「AzureLoadBalancer」とは
どこを指しているのでしょう?
「AzureLoadBalancer」の意味
50
×
Azure Load Balancer (L4 のロードバランサー) で
ロードバランスされて来るトラフィック
◯
Azure Load Balancer が正常姓プローブ
(サービスに対...
ドキュメント上の記述
51
参考 NSG の罠
52
ネットワーク セキュリティ グループによるネットワーク トラフィックのフィル
タリング
https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-ne...
Windowsファイアーウォールの罠
53
Windowsファイアーウォールの罠
54
• Windowsファイアーウォール
などで設定をミスして RDP
接続ができなくなると、大変な
ことになります。
個人的なオススメ
• Windows ファイアーウォールで細かい設定
をしないようにしましょう。
– ファイアーウォールは NSG に任せましょう。
管理性も良くなります。
– 「Windows ファイアーウォールを無効にしろ」
とは言ってませ...
参考 Windows ファイアーウォールの罠
56
Azure 仮想マシンへのリモート デスクトップ接続に関するトラブルシューティン
グ
https://docs.microsoft.com/ja-jp/azure/virtual-
machi...
ネットワーク設計
57
参考 ネットワーク設計
58
Azure Virtual Data Centerで学ぶ 企業向けAzureネットワーク設計
https://www.slideshare.net/ToruMakabe/azure-virtual-data-cen...
Let’s dream and then let’s build.
- Ray Ozzie
冨田 順 (@harutama)
http://twitter.com/harutama
59
Upcoming SlideShare
Loading in …5
×

Azure Network Watcher のあれやこれや

1,716 views

Published on

2017年6月24日 Interact 2017 のセッション資料
https://interact.connpass.com/event/45862/

Published in: Internet
  • Be the first to comment

Azure Network Watcher のあれやこれや

  1. 1. Azure Network Watcher の あれやこれや シグマコンサルティング株式会社 冨田 順 (とみたすなお) @harutama
  2. 2. http://azure.moe 2
  3. 3. 今日の内容 • Azure Network Watcher で何ができるの か、概要を紹介する。 • Azure のネットワークを設計するに当 たっての注意点を紹介する。 3
  4. 4. 4 本セッションの内容は 2017年6月23日 時点での情報に 基づいて作成されています。
  5. 5. 2017年3月31日 5
  6. 6. できること • クラウド上で作成した仮想ネットワーク でのパケットの流れを追いかける。 – IPフローの確認 – 次ホップ – セキュリティグループビュー – パケットキャプチャ 6
  7. 7. Network Watcher の有効化 7
  8. 8. 「ネットワーキング」カテゴリの中 8
  9. 9. リージョンに対して有効化 9
  10. 10. 今回の環境 10 lucky 192.168.30.4 prairie 192.168.10.4 beaver 192.168.20.4 サブネット riku 192.168.10.0/24 サブネット kawa 192.168.20.0/24 サブネット boss 192.168.30.0/24 仮想ネットワーク JapariPark 192.168.0.0/16 普通のLinux クライアント 普通のWindows クライアント ルーターとして 構成したLinux
  11. 11. おさらい その1 11
  12. 12. おさらい その1 12 ネットワークセキュリティグループ (NSG)
  13. 13. 何をするもの? • 要するにファイアーウォールの設定 – IPアドレス(CIDR形式)とポートの組み合わせ に対して、通信の許可・不許可を設定。 13
  14. 14. NICとサブネットに設定します 14 仮想マシン ネットワーク インターフェイス (NIC) サブネット インターネット
  15. 15. 例えばこんな構成 15https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-networks-nsg
  16. 16. 参考 16 ネットワーク セキュリティ グループによるネットワーク トラフィックのフィル タリング https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-networks- nsg 仮想マシンとネットワークリソースの関係を知る http://www.atmarkit.co.jp/ait/articles/1705/25/news036_2.html
  17. 17. IPフローの確認 と セキュリティグループビュー 17
  18. 18. 何をするものか? 18 IP フロー検証機能を使用すると、仮想マシンから送受信され るパケットの許可または拒否の状況を 5 タプルの情報に基づ いて検証できます。 パケットがセキュリティ グループにより拒否された場合、そ のパケットを拒否した規則の名前が返されます。 管理者は、任意の送信元または送信先の IP を選択でき、IP フロー検証機能を使用してインターネットまたはオンプレミ ス環境との接続の問題をすばやく診断できます。 https://docs.microsoft.com/ja-jp/azure/network-watcher/network-watcher-ip-flow-verify-overview
  19. 19. デフォルトのNSG 19
  20. 20. SSHの通信は許可されてますが 20
  21. 21. HTTPは閉じられています 21
  22. 22. セキュリティグループビュー 22
  23. 23. セキュリティグループビュー • 仮想マシンに割り当てられているNSGの 状態を一覧で見ることができます。 – サブネットの NSG – ネットワークインターフェースの NSG 23
  24. 24. おさらい その2 24
  25. 25. おさらい その2 25 ルートテーブル
  26. 26. 何をするもの? • ネットワークのルーティングを自分で設 定する。 – いわゆる「User Defined Routing (UDR)」 – 既定のネットワークルーティングは Azure 側 で自動的に構成されている。 26
  27. 27. いつ使うのか? その1 27 ExpressRoute Azure上の仮想マシン オンプレミス VPN インターネット オンプレミスネットワークからインターネットにアクセスさせたい
  28. 28. いつ使うのか? その2 28 Azure上の仮想マシン 仮想アプライアンス インターネット 仮想アプライアンス経由でインターネットにアクセスさせたい
  29. 29. 参考 29 ユーザー定義のルートと IP 転送 https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-networks- udr-overview Azure ARMでNATインスタンスを構成 https://www.cns.co.jp/cri/azure/azure%E3%81%A7%E9%AB%98%E5%8 F%AF%E7%94%A8%E6%80%A7nat%E3%82%A4%E3%83%B3%E3%82 %B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%82%92%E6%A7%8B %E6%88%90-%E3%81%9D%E3%81%AE1/ Azure Resource Manager デプロイ モデルを使用した強制トンネリングの構成 https://docs.microsoft.com/ja-jp/azure/vpn-gateway/vpn-gateway-forced- tunneling-rm
  30. 30. 次ホップ 30
  31. 31. 何をするものか? 31 VM からのトラフィックは、NIC に関連付けられた有効な ルートをもとに、送信先に送信されます。 次ホップは、特定の仮想マシンと NIC から次ホップの種類と パケットの IP アドレスを取得します。 これにより、パケットが送信先に向かっているのか、または トラフィックが失われているのかを判断するのに役立ちます。 https://docs.microsoft.com/ja-jp/azure/network-watcher/network-watcher-next-hop-overview
  32. 32. ルートテーブルの設定 32 サブネットkawa に対して 全ての通信(0.0.0.0/0)を lucky(192.168.30.4)に ルーティングさせる
  33. 33. 設定された挙動 33 lucky 192.168.30.4 prairie 192.168.10.4 beaver 192.168.20.4 サブネット riku 192.168.10.0/24 サブネット kawa 192.168.20.0/24 サブネット boss 192.168.30.0/24 仮想ネットワーク JapariPark 192.168.0.0/16 インターネット
  34. 34. 通常のVM 34
  35. 35. ルーティングが設定されたVM 35
  36. 36. パケットキャプチャー 36
  37. 37. 何をするものか? 37 Network Watcher の可変パケット キャプ チャを使用すると、仮想マシンとの間で送受 信されるトラフィックを追跡するパケット キャプチャ セッションを作成できます。 パケット キャプチャは、事後と事前に、ネッ トワークの異常を診断するのに役立ちます。 https://docs.microsoft.com/ja-jp/azure/network-watcher/network-watcher-packet-capture-overview
  38. 38. パケットキャプチャーの設定 38
  39. 39. パケットキャプチャーの前に • 対象の仮想マシンに対して 「Network Watcher VM エージェント」 がインストールされている必要があります。 – エージェントは Windows と Linux 向けが用意 されています。 39
  40. 40. 仮想マシンの拡張機能 40
  41. 41. 注意 • 今のところ、ポータルから 「Network Watcher VM エージェント」 を追加すると、高確率で失敗します。 • PowerShell などから追加しないと、ちゃ んと入ってくれない感じです。 – https://www.powershellgallery.com/pack ages/AzureRM 41
  42. 42. PowerShell でのデプロイ 42 Set-AzureRmVMExtension -ResourceGroupName "myResourceGroup1" ` -Location "WestUS" ` -VMName "myVM1" ` -Name "networkWatcherAgent" ` -Publisher "Microsoft.Azure.NetworkWatcher" ` -Type "NetworkWatcherAgentWindows" ` -TypeHandlerVersion "1.4" https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/extensions-nwa
  43. 43. Windows と Linux を自動判定 43 # 拡張機能を入れる対象のVM情報 $VMResourceGroup = '2017Interact'; $VMName = 'beaver'; # 拡張機能を入れる対象のVM情報をとってくる $VM = Get-AzureRmVM -ResourceGroupName $VMResourceGroup -Name $VMName; # 機能拡張の情報をとってくる $ExtensionPublisher = Get-AzureRmVmImagePublisher -Location $vm.Location | Where-Object { $_.PublisherName -eq 'Microsoft.Azure.NetworkWatcher' }; # VMは Linux? Windows? if($VM.OSProfile.WindowsConfiguration -ne $NULL){ $ExtensionType = 'NetworkWatcherAgentWindows'; }elseif($VM.OSProfile.LinuxConfiguration -ne $NULL){ $ExtensionType = 'NetworkWatcherAgentLinux'; } $ExtensionImageType = Get-AzureRmVMExtensionImageType -Location $VM.Location -PublisherName $ExtensionPublisher.PublisherName | Where-Object { $_.Type -eq $ExtensionType }; $ExtensionImage = Get-AzureRmVMExtensionImage -Location $VM.Location -PublisherName $ExtensionPublisher.PublisherName -Type $ExtensionType; # VMに機能拡張を適用 Set-AzureRmVMExtension -ResourceGroupName $VM.ResourceGroupName -Location $VM.Location -VMName $VM.Name -Publisher $ExtensionImage.PublisherName -ExtensionType $ExtensionImage.Type -Name 'AzureNetworkWatcherExtension' - TypeHandlerVersion '1.4';
  44. 44. 結果は .cap ファイルで保存 44
  45. 45. Wireshark などで見えます 45
  46. 46. ネットワークの設計にあたって 46
  47. 47. 止めてはいけない通信 • インフラストラクチャとの通信 – 168.63.129.16 • メタデータサービスと通信 – 169.254.169.254 • ストレージアカウントとの通信 – blob.*.store.core.windows.net • Windowsライセンス認証サーバーとの通信 – kms.core.windows.net 47
  48. 48. 参考 止めてはいけない通信 48 Azure 仮想マシンで送受信するネットワークパケットをキャプチャする https://blogs.msdn.microsoft.com/ainaba-csa/2017/03/06/capture- network-packet-from-to-azure-virtual-machine/ ExpressRoute の FAQ https://docs.microsoft.com/ja-jp/azure/expressroute/expressroute-faqs NSG による プローブの制限を確認 http://blogs.gine2.jp/kusa/archives/2591
  49. 49. NSG の罠 49 既定の規則の中にある ソース「AzureLoadBalancer」とは どこを指しているのでしょう?
  50. 50. 「AzureLoadBalancer」の意味 50 × Azure Load Balancer (L4 のロードバランサー) で ロードバランスされて来るトラフィック ◯ Azure Load Balancer が正常姓プローブ (サービスに対してハートビートを確認するための通信) を行う際の送信元
  51. 51. ドキュメント上の記述 51
  52. 52. 参考 NSG の罠 52 ネットワーク セキュリティ グループによるネットワーク トラフィックのフィル タリング https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-networks- nsg Azureの受信セキュリティ規則(タグ)でハマった話 http://qiita.com/shota_umeda/items/86b600f714021c31172a
  53. 53. Windowsファイアーウォールの罠 53
  54. 54. Windowsファイアーウォールの罠 54 • Windowsファイアーウォール などで設定をミスして RDP 接続ができなくなると、大変な ことになります。
  55. 55. 個人的なオススメ • Windows ファイアーウォールで細かい設定 をしないようにしましょう。 – ファイアーウォールは NSG に任せましょう。 管理性も良くなります。 – 「Windows ファイアーウォールを無効にしろ」 とは言ってませんし思ってません。 55
  56. 56. 参考 Windows ファイアーウォールの罠 56 Azure 仮想マシンへのリモート デスクトップ接続に関するトラブルシューティン グ https://docs.microsoft.com/ja-jp/azure/virtual- machines/windows/troubleshoot-rdp-connection 「Azure仮想マシンにログオンできない!」という悲劇からの生還 https://blogs.technet.microsoft.com/ksasaki/2014/03/21/azure1/
  57. 57. ネットワーク設計 57
  58. 58. 参考 ネットワーク設計 58 Azure Virtual Data Centerで学ぶ 企業向けAzureネットワーク設計 https://www.slideshare.net/ToruMakabe/azure-virtual-data-center-azure Microsoft Azure Virtual Data Center https://docs.microsoft.com/en-us/azure/networking/networking-virtual- datacenter
  59. 59. Let’s dream and then let’s build. - Ray Ozzie 冨田 順 (@harutama) http://twitter.com/harutama 59

×