MVP Community Camp 2014
2014/03/22
System Center User Group Japan
後藤 諭史(Satoshi GOTO)
 後藤 諭史( Satoshi GOTO )
 某 ISP 所属。
 仮想化製品が主な専門分野です。
◦ の、はずなんですが、最近はめっきり Azure 漬け……。
 Microsoft MVP - System Center Cloud and Datacenter Management
(Jul.2012 - Jun.2014)
 TwitterとBlogはこちら
◦ Twitter:@wind06106/Blog:Tech Notes(http://www.dob1.info :ドタバタしてて更新サボってます)
2
 System Centerの名前は冠していますが、インフラテクノロ
ジー全般をターゲットとした勉強会を開催しています。
◦ 仮想化テクノロジーや、管理のためのSystem Center関連技術
◦ Active Directory や Failover Cluster 等のシステム基盤技術
◦ PowerShell による運用自動化 等々
 平たくいうと 『ITPro の勉強会』です。
 各種情報発信はこちら
◦ Twitter:@scugj
◦ Web:http://www.scug.jp
◦ FaceBook:https://www.facebook.com/SCUGJ
3
 セッションの目的
◦ 詳細な解説をなかなか見ることのできない『 Hyper-V 仮想スイッチ』に
スポットを当て、その持てる機能をご理解いただく。
 セッションのゴール
◦ Hyper-V 仮想スイッチに実装された機能を利用することができる。
◦ 週明け、皆様が自社でドヤ顔(以下略
4
 セッションの目的
◦ 詳細な解説をなかなか見ることのできない『 Hyper-V 仮想スイッチ』に
スポットを当て、その持てる機能をご理解いただく。
 セッションのゴール
◦ Hyper-V 仮想スイッチに実装された機能を利用することができる。
◦ 週明け、皆様が自社でドヤ顔(以下略
5
本セッション資料ですが、個人で準備した環境において、個人的に実施した検証/結果を基に記載しています。
あくまで個人の意見/見解であり、所属する会社/組織及びマイクロソフト社とは『まったく/なにも/全
然』関係がございません。
所属する会社/組織/マイクロソフト社の正式な回答/見解ではない事に留意してください。
また、本資料を閲覧した事により問題が生じた場合、または問題が発生しかけた場合、または生じた一切の不
利益について、筆者は一切の責任を負う事はできませんのでご了承ください。
6
7
8
仮想マシン
仮想マシン
ハイパーバイザー
仮想スイッチ
9
10
 エクステンション
◦ 仮想スイッチの機能を拡張するプラグイン
 サードパーティーフォワーディングエクステンション
◦ Microsoft以外のベンダーのフォワーディングエンジンが搭載可能
◦ パケットのフォワーディング処理を 標準のフォワーディングエンジンを利用せずに行う事が可能
◦ Cisco Nexus 1000V/NEC Programmable Switch
 HNV:Hyper-V Network Virtualization
◦ Hyper-Vのネットワーク仮想化機能を実行するモジュール
11
12
TechEd North America 2013:MDC-B380
Deep Dive on Hyper-V Network Virtualization in Windows Server 2012 R2
http://media.ch9.ms/sessions/teched/na/2013/MDC-B380_Williams.pptx
13
TechEd North America 2013:MDC-B380
Deep Dive on Hyper-V Network Virtualization in Windows Server 2012 R2
http://media.ch9.ms/sessions/teched/na/2013/MDC-B380_Williams.pptx
14
 VLAN 機能
◦ 仮想マシンのイーサネットフレームにVLAN タグを付与して送出
◦ VLAN トランク
◦ プライベート VLAN
 各種セキュリティー機能
◦ ARP/ND スプーフィング
◦ DHCP ガード/ルーターガード
 ポートミラーリング
 Access Control Lists ( ACLs )
◦ Port ACLs
◦ Extended Port ACLs
 Network QoS
◦ 最小帯域幅/最大帯域幅
◦ 明示的輻輳通知 ( ECN )マーキング( Data Center TCP (DCTCP) )
http://technet.microsoft.com/ja-jp/library/hh831823.aspx
15
 各仮想マシンの設定ファイル( XML ファイル)に保存
 これにより、ライブマイグレーション等で接続仮想スイッチが変わっても、仮想スイッチ
の接続ポート設定は維持される
【VLAN設定】 【QoS設定】
16
17
 仮想スイッチに接続された仮想マシンのトラフィックをコピーし、同一仮想スイッチの任
意のポートに転送する機能のこと
 この機能により、特定の仮想マシンのトラフィックを別の仮想マシンにてキャプチャーす
ることが可能となった
 Windows Server 2012 から実装
18
 モニター対象の仮想マシン、パケットキャプチャーを実施する仮想マシンの 2 か所で設定
が必要
 設定は仮想マシンのプロパティーから
◦ キャプチャする側:移行先( Destination )
◦ キャプチャされる側:移行元( Source )
 同一の仮想スイッチ内で複数定義可能
19
 仮想スイッチのエクステンションの設定は不要
 移行元と移行先のネットワーク構成( VLAN 等)は、同一であることが必要
 移行元と移行先を複数指定した場合、キャプチャされるパケットが混在することになるの
で要注意
20
 仮想マシンが送受信するトラフィックを識別し、仮想スイッチポートの通過を許可/拒否
する機能のこと
 トラフィックの識別や破棄は仮想スイッチで行われるため、仮想マシンのOS種別は問わ
ず、また仮想マシンにアクセス制御由来の負荷は一切発生しない
 Windows Server 2012 にて『 Port Access Control Lists (ACLs) 』が実装され、
Windows Server 2012 R2 では、機能を拡張した『 Extended Port Access Control Lists
(ACLs) 』が実装された
 Port ACLs、Extended Port ACLsともに、PowerShellからの設定を実施
21
22
 Port ACLsでは、以下の項目でトラフィックの識別/設定が可能
◦ Local IP Address / Local MAC Address
◦ Remote IPAddress / Remote MAC Address
◦ Direction (トラフィックの方向)( Inbound / Outbound )
 Extended Port ACLs では、Port ACLs の項目に加え、以下の項目が設定可能
◦ Local Port
◦ Remote Port
◦ Protocol ( TCP /UDP / ICMP / IP プロトコル番号)
 Extended Port ACLs では、ACLの適用順を決める『 -weight 』オプションと、片方向のト
ラフィックを許可すると、同時に戻りパケットの許可も自動的に行われる『 -Stateful 』
オプションが指定可能
23
 Port ACLs は、 PowerShell にて設定可能
◦ IP アドレス指定時は、 CIDR 形式で指定可能
◦ Direction (トラフィックの方向)はInbound / Outbound で個別指定可能
 ポリシーの投入順序に関わらず、サブネットが小さいポリシーから適用される模様
 ポリシーが設定されていない対向との通信は『許可』
Add-VMNetworkAdapterAcl -VMName blue-sv01 -Action Deny -Direction Both -RemoteIPAddress 172.16.20.0/24
Add-VMNetworkAdapterAcl -VMName blue-sv01 -Action Allow -Direction Both -RemoteIPAddress 172.16.20.20
Direction Address Action
--------- ------- ------
Inbound Remote 172.16.20.0/24 Deny
Inbound Remote 172.16.20.20 Allow
Outbound Remote 172.16.20.0/24 Deny
Outbound Remote 172.16.20.20 Allow
24
 Extended Port ACLsは、PowerShell にて設定可能
◦ プロトコル、ポート番号が指定可能:TCP、UDP 、ICMP、プロトコル番号、無指定( Any )
◦ 適用順が指定可能:-weight
◦ Direction (トラフィックの方向)は、Inbound / Outbound で個別指定可能
 ポリシーの投入順序に関わらず、『 -weight 』の大きいポリシーから順に適用される
(最後に適用されるのは、 -weight 1 のポリシー)
 ポリシーが設定されていない対向との通信は『許可』
Add-VMNetworkAdapterExtendedAcl -VMName blue-sv01 -RemoteIPAddress 172.16.20.20 -Weight 20 -Direction
Inbound -Action allow
Add-VMNetworkAdapterExtendedAcl -VMName blue-sv01 -RemoteIPAddress 172.16.20.0/24 -Weight 10 -Direction
Inbound -Action deny
25
 Network 機器の ACLs のように、ポリシー指定していない通信はすべて不許可とする場合
には、以下の ACLs を設定する
 上記 ACLs を設定した場合には、ポリシーが書かれていない通信は全て不許可となるため、
許可する通信は行きと戻りそれぞれを明示的に指定する必要がある
 『-Stateful $True』を指定することにより、片方向の通信を許可すると、自動的に折り返
し通信を許可
Add-VMNetworkAdapterExtendedAcl -VMName blue-sv01 -Action deny -Direction Inbound -Weight 1
Add-VMNetworkAdapterExtendedAcl -VMName blue-sv01 -Action deny -Direction Outbound -Weight 1
Add-VMNetworkAdapterExtendedAcl -VMName blue-sv01 -Action deny -Direction Inbound -Weight 1
Add-VMNetworkAdapterExtendedAcl -VMName blue-sv01 -Action deny -Direction Outbound -Weight 1
Add-VMNetworkAdapterExtendedAcl -VMName blue-sv01 -Action allow -Direction Outbound -Protocol TCP
-RemotePort 80 -Stateful $true -Weight 5
Add-VMNetworkAdapterExtendedAcl -VMName blue-sv01 -Action allow -Direction Outbound -Protocol UDP
-RemotePort 53 -Stateful $true -Weight 4
26
27
 仮想マシンが送信するトラフィックの消費帯域を管理/制御する機能のこと
 仮想マシン単位で設定可能
◦ 最大帯域幅( MaximumBandwidth ):
仮想マシンが使用可能な帯域幅の最大値。bpsで指定
◦ 最小帯域の絶対値( MinimumBandwidthAbsolute ):
仮想マシンが使用可能な帯域幅の最小値。bpsで指定
◦ 最小帯域の重み( MinimumBandwidthWeight ):
仮想マシンに帯域を割り当てる際の重みづけの値。0-100の整数値で指定
 QoSの制御は仮想スイッチで行われるため、仮想マシンのOS種別は問わず、また仮想マ
シンにQoS由来の負荷は一切発生しない
 QoSの設定は、仮想マシンから見て出力方向のみ有効である点に注意
28
 絶対値と重みは同時指定不可
 設定可能な値は、仮想スイッチの設定によって
決定される
 仮想スイッチのBandwidthReservationMode が
『 Absolute 』の場合は、 仮想マシンにて
絶対値が指定可能
 仮想スイッチ作成時に、 Absolute と Weight の
どちらを使用するか指定。Weight を指定する
場合は以下のように PowerShell で仮想スイッチを作成する。
 Absolute と Weight の変更は、仮想スイッチの再作成しかない模様……
New-VMSwitch -Name "Weight Switch" -AllowManagementOS $false -NetAdapterName "NIC#02"
-MinimumBandwidthMode Weight
 基本設定は GUI / PowerShell ともに可能。
29
Set-VMNetworkAdapter -VMName "blue-sv01"-MinimumBandwidthAbsolute 104857600 -MaximumBandwidth
524288000
 BandwidthReservationMode が『 Weight 』の仮想スイッチで、仮想マシンの 最小帯域の
重みづけを指定する場合には、 PowerShell で指定する必要あり
 GUI で指定すると、以下のようなエラーが表示されるので注意
30
Set-VMNetworkAdapter -VMName "blue-sv03" -MinimumBandwidthWeight 50
31
32
 Hyper-V の仮想スイッチは、非常に高性能な仮想スイッチです
 本日紹介させていただいた機能は、全て標準機能として使用可能で、追加費用は不要です
 使ったことのない機能がありましたら、ぜひ一度テストをしてみてください
33

MVPComCamp2014:Hyper-V仮想スイッチのTips(仮)