Windows Server 2008 R2のNLBで使用できるPowerShellコマンドレット (Set-NlbClusterPortRule) について

スポンサーリンク

Windows Server 2008 R2では、Active Directory (AD) やフェールオーバー クラスタリング (WSFC)、グループ ポリシーといった役割および機能がインストールされたサーバーの管理、もしくは管理したい役割および機能についてリモート サーバー管理ツールをインストールしたサーバー上で、PowerShellコマンドレットを用いて管理することが可能です。

各役割および機能に関するPowerShellコマンドレットのヘルプについて、オンライン上で公開されていますが、主に英語のみで日本語の情報はあまり公開されていないようです。

ここでは、ネットワーク負荷分散 (NLB) に関するPowerShellコマンドレットの情報について、日本語としてオンライン上で備忘録として確認したいと思い、本ブログ上で纏めてみることにしました (内容については「Get-Help」コマンドレットの-Fullオプションを用いて実行した結果を編集したものとなります)。

この記事では、「Set-NlbClusterPortRule」コマンドレットについて記載します (他のコマンドレットについては、「Windows Server 2008 R2のNLBで使用できるPowerShellコマンドレットについて」を参照)。

■名前

Set-NlbClusterPortRule

■概要

NLBクラスターのポート規則を編集します。

■構文

Set-NlbClusterPortRule [[-Port] <System.Nullable`1[[System.UInt32>]
     [-HostName <string>] [-InterfaceName <string>] [-IP <IPAddress>]
     [-NewAffinity <System.Nullable`1
          [[Microsoft.NetworkLoadBalancingClusters.PowerShell.PortRuleAffinity>]
     [-NewEndPort <System.Nullable`1[[System.Int32>] [-NewIP <IPAddress>]
     [-NewMode <System.Nullable`1
          [[Microsoft.NetworkLoadBalancingClusters.PowerShell.PortRuleFilteringMode>]
     [-NewProtocol <System.Nullable`1
          [[Microsoft.NetworkLoadBalancingClusters.PowerShell.PortRuleProtocol>]
     [-NewStartPort <System.Nullable`1[[System.Int32>]
     [-NewTimeout <System.Nullable`1[[System.UInt32>] [<CommonParameters>]

Set-NlbClusterPortRule -InputObject <PortRule[]>
     [-NewAffinity <System.Nullable`1
          [[Microsoft.NetworkLoadBalancingClusters.PowerShell.PortRuleAffinity>]
     [-NewEndPort <System.Nullable`1[[System.Int32>] [-NewIP <IPAddress>]
     [-NewMode <System.Nullable`1
          [[Microsoft.NetworkLoadBalancingClusters.PowerShell.PortRuleFilteringMode>]
     [-NewProtocol <System.Nullable`1
          [[Microsoft.NetworkLoadBalancingClusters.PowerShell.PortRuleProtocol>]
     [-NewStartPort <System.Nullable`1[[System.Int32>]
     [-NewTimeout <System.Nullable`1[[System.UInt32>] [<CommonParameters>]

■説明

Set-NlbClusterPortRuleコマンドレットは、NLBクラスターのポート規則を編集します。変更できるポート規則の構成としては、クラスターIPアドレス、ポート範囲、プロトコル、フィルター モード、アフィニティ、負荷配分、処理の優先順位、およびタイムアウトが挙げられます。

この操作により、すべてのクラスター ノードの構成が変更されます。結果として、NLBクラスターでは、すべてのノードで収束プロセスを再開し、確実に構成の変更がすべてのノードで適用され、一貫した状態に達するようにする必要があります。すべてのクラスター ノードで収束プロセスが完了し、収束した状態に戻るまで、NLBクラスターで追加の操作を開始しないでください。すべてのクラスター ノードの状態をチェックするには、Get-NlbClusterNodeコマンドレットを使用します。構成を変更した結果、クラスター ノードで収束が終了しなくなった場合は、イベント ログを参照して、クラスター ノード間の構成の不一致を解決してください。

■パラメーター

-HostName <string>
このコマンドレットの実行対象となるクラスター ホストの名前を指定します。このパラメーターを省略した場合、または “-HostName .” を使用した場合は、ローカル クラスターが想定されます。[Alias: hn]

必須false
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-InputObject <PortRule[]>
設定するクラスター ポート規則を指定します。

必須true
位置named
既定値
パイプライン入力を許可するtrue (ByValue, ByPropertyName)
ワイルドカード文字を許可するfalse

-InterfaceName <string>
NLBのバインド先のインターフェイスを指定します。これは、このコマンドレットの実行対象のクラスターのインターフェイスです。

必須false
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-IP <IPAddress>
設定するクラスター ポート規則のIPアドレスを指定します。

必須false
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-NewAffinity <System.Nullable`1
     [[Microsoft.NetworkLoadBalancingClusters.PowerShell.PortRuleAffinity>

クラスター ポート規則の新しいアフィニティを指定します。指定できるポート規則のアフィニティ値は、None、Single、およびNetworkの3つです。[Alias: na]

必須false
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-NewEndPort <System.Nullable`1[[System.Int32>
クラスター ポート規則の新しい終了ポートを指定します。有効範囲は0から65535までです。[Alias: nep]

必須false
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-NewIP <IPAddress>
クラスター ポート規則の新しいIPアドレスを指定します。[Alias: nip]

必須false
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-NewMode <System.Nullable`1
     [[Microsoft.NetworkLoadBalancingClusters.PowerShell.PortRuleFilteringMode>

クラスター ポート規則の新しいモードを指定します。複数ホスト、単一ホスト、および使用不可という3種類のフィルター モードを設定できます。[Alias: nm] [Valid set: single multiple disabled]

必須false
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-NewProtocol <System.Nullable`1
     [[Microsoft.NetworkLoadBalancingClusters.PowerShell.PortRuleProtocol>

クラスター ポート規則の新しいプロトコルを指定します。指定できるプロトコルは、TCP、UDP、またはその両方 (both) の3つです。[Alias: nprtcl]

必須false
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-NewStartPort <System.Nullable`1[[System.Int32>
クラスター ポート規則の新しい開始ポートを指定します。有効範囲は0から65535までです。[Alias: nsp]

必須false
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-NewTimeout <System.Nullable`1[[System.UInt32>
クラスター ポート規則の新しいタイムアウトを分単位で指定します。有効範囲は0から240までです。[Alias: timeout t]

必須false
位置named
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-Port <System.Nullable`1[[System.UInt32>
設定するポート規則に含まれるポート番号を指定します。有効範囲は 0 から 65535 までです。

必須false
位置1
既定値
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: VerboseDebugErrorActionErrorVariableWarningActionWarningVariableOutBuffer、およびOutVariable。詳細については、「get-help about_commonparameters」と入力してヘルプを参照してください。

■入力

Microsoft.NetworkLoadBalancingClusters.PowerShell.PortRule

■出力

Microsoft.NetworkLoadBalancingClusters.PowerShell.PortRule

■メモ

■例

例1

 Get-NlbClusterPortRule -Port 80 | Set-NlbClusterPortRule -NewStartPort 5 

例1:出力結果

IPAddress State     Start     End       Protocol  Mode      Affinity  Timeout
——— —–     —–     —       ——–  —-      ——–  ——-
All       Enabled   5         65535     Both      Multiple  Single    0

例1:説明

このコマンドは、ポート規則80の開始ポートを5に変更します。

例2

 Get-NlbClusterPortRule -Port 80 | Set-NlbClusterPortRule -NewProtocol TCP 

例2:出力結果

IPAddress State     Start     End       Protocol  Mode      Affinity  Timeout
——— —–     —–     —       ——–  —-      ——–  ——-
All       Enabled   5         65535     Tcp       Multiple  Single    0

例2:説明

このコマンドは、ポート規則80のプロトコルをTCPに変更します。

例3

 Get-NlbClusterPortRule 80 | Set-NlbClusterPortRule -NewMode Single 

例3:出力結果

IPAddress State     Start     End       Protocol  Mode      Affinity  Timeout
——— —–     —–     —       ——–  —-      ——–  ——-
All       Enabled   5         65535     Tcp       Single              0

例3:説明

このコマンドは、ポート規則のモードをSingleに変更します。

■関連するリンク

  • Add-NlbClusterPortRule
  • Disable-NlbClusterPortRule
  • Enable-NlbClusterPortRule
  • Get-NlbClusterPortRule
  • Remove-NlbClusterPortRule

[参考]