NSX の分散ファイアウォール(DFW)には、保護対象から特定の VM を除外する
「除外リスト」があります。
今回は、vCenter 6.7a / NSX-v 6.4.1 / PowerCLI 10.1 / PowerNSX 3.0 の環境で、
あらかじめ用意した VM リストのテキストファイルをもとに、
PowerNSX で除外リストへのメンバー追加 / 削除をしてみます。
DFW 除外リストの様子。
除外リストを見ると、デフォルトでは一般的な VM の「ユーザーが除外した仮想マシン」には
何も登録されていませんが・・・
「システムが除外した仮想マシン」として、
NSX 関連の VM(NSX Controller、NSX Edge など)が自動的に除外されています。
NSX の DFW でデフォルトのルールを「ブロック」や「却下」にした場合、
ルールの考慮 / 設定もれなどで vCenter やインフラの管理機能をもつ VM の通信を
遮断してしまうことがあります。
そこで、そういった VM を 除外リストで DFW の作用から除外しておくという運用ができます。
PowerNSX での DFW 除外リスト管理。
除外対象としたい VM が多い場合には、手作業だとリストへの追加もれなどの心配があります。
そこで、あらかじめ対象 VM のリストを作成しておき、PowerNSX で追加をしてみます。
今回は、Connect-NsxServer で vCenter / NSX には接続ずみです。
まず下記のような VM 名を記載したテキストファイルを作成しておきます。
あらかじめファイルを用意することで、除外リストの追加対象をしっかり確認して、
それをモレなく実機に反映することが容易になるはずです。
vm_list.txt
PowerNSX> cat .\vm_list.txt
ctl-vm-01
ctl-vm-02
ctl-vm-03
ctl-vm-04
ctl-vm-05
ctl-vm-06
ファイルの内容をもとに、DFW の除外リストに VM を追加します。
PowerNSX> cat .\vm_list.txt | % {Get-VM -Name $_ | Add-NsxFirewallExclusionListMember}
除外リストに VM が追加されました。
PowerNSX> Get-NsxFirewallExclusionListMember
Name PowerState Num CPUs MemoryGB
---- ---------- -------- --------
ctl-vm-01 PoweredOff 1 2.000
ctl-vm-02 PoweredOff 1 2.000
ctl-vm-03 PoweredOff 1 2.000
ctl-vm-04 PoweredOff 1 2.000
ctl-vm-05 PoweredOff 1 2.000
ctl-vm-06 PoweredOff 1 2.000
vSphere Client でも、除外リストで VM の追加が確認できます。
vSphere Web Client でも、除外リストで VM の追加が確認できます。
同様に、除外リストから VM の削除もできます。
Remove-NsxFirewallExclusionListMember で
テキストファイルに記載した VM を除外リストから削除してみます。
PowerNSX> cat .\vm_list.txt | % {Get-VM -Name $_ | Remove-NsxFirewallExclusionListMember}
PowerNSX> Get-NsxFirewallExclusionListMember
PowerNSX>
たとえば、vCenter や管理セグメントに配置されたインフラ管理系の VM については
除外リストの対象とすることができます。
また、サービスや業務で直接利用されない VM については
DFW によるマイクロセグメンテーションが必ずしも必要ではないので
除外リストに入れることで、DFW ルール処理の件数を削減すると
負荷軽減が見込めそうです。
他にも、ESXi を vSAN 以外の HCI(ハイパー コンバージド インフラストラクチャ)として
利用していて、コントローラ VM (従来のストレージ コントローラの役割)が
存在する場合も、それらの除外リスト追加を検討するとよいと思います。
一方、基本的に DFW は VMkernel ポートには作用しないので、
vSAN の場合は特別に除外リストを気にすることはないはずです。
以上、PowerNSX で DFW の除外リストを管理してみる話でした。