次の方法で共有


WCF ブローカー ノードの構成

サービス指向アーキテクチャ (SOA) プログラミング モデルを使用すると、ソリューション開発者とアーキテクトは、分散コンピューティング シナリオを可能にするハイ パフォーマンス コンピューティング (HPC)、クラスター対応の対話型アプリケーションを開発できます。 クラスターで SOA アプリケーションを使用するには、少なくとも 1 つのノードを Windows Communication Foundation (WCF) ブローカー ノードとして構成する必要があります。 ブローカー ノードは、クライアント アプリケーションとコンピューティング ノードと通信できる必要があります (クラスターでの SOA ジョブの動作の詳細については、SOA ジョブ参照してください)。

このトピックには、次のものが含まれます。

WCF ブローカー ノードの基本

ヘッド ノードをブローカー ノードとして使用することも、1 つ以上のノードをブローカー ノードとしてデプロイすることもできます。 ブローカー ノードはセッションを監視および管理し、SOA クライアントとサービス ホスト間のサービス要求と応答を調整します。

重要

WCF ブローカー ノードは、SOA セッションが Online ノード状態にある場合にのみ、そのセッションを管理するために使用できます。

注:

ヘッド ノードをブローカー ノードとして使用するには、ヘッド ノードを Online ノードの状態にする必要があります。 既定では、ヘッド ノードを Online持ち込むと、コンピューティング ノードとしての動作も開始されます。 ノード ロールの変更 アクションを使用して、コンピューティング ノードの機能を無効にすることができます。 ノード ロールの変更については、ブローカー ノードののスケーリング を参照してください。

WCF ブローカー ノードとして実行するには、サーバーが次の要件を満たしている必要があります。

ブローカー ノード テンプレート

新しいブローカー ノードをクラスターに追加するには、ブローカー ノード テンプレートを作成する必要があります。 ヘッド ノードがネットワーク上の新しいノードを検出すると、[ノード管理] ビューの HPC クラスター マネージャーにノードが表示されます。 クラスター管理者はノードを承認し、ノード テンプレートを割り当てることでクラスターに参加させます。

HPC クラスター マネージャーのノード テンプレート ウィザードを使用して、ブローカー ノード、コンピューティング ノード、またはワークステーション ノード テンプレートを作成できます。 テンプレートが割り当てられると、対応するノード ロールが自動的に有効になります。

ベア メタルからブローカー ノードをデプロイする場合は、関連付けられているオペレーティング システム イメージを含むブローカー ノード テンプレートを作成できます。 ブローカー ノードとして既に構成されているサーバーを追加する場合は、関連付けられているオペレーティング システム イメージを含まないブローカー ノード テンプレートを作成できます。 詳細については、「ノード テンプレートの」を参照してください。

ブローカー ノードの事前構成

Microsoft HPC Pack をサーバーに直接インストールして、構成済みのブローカー ノードを作成できます。 サーバーには、サポートされている Windows Server オペレーティング システムの 64 ビット エディションがインストールされている必要があります。

HPC Pack をサーバーに初めてインストールするときは、ヘッド ノード、コンピューティング ノード、またはブローカー ノードを設定するオプションがあります。 ウィザードで選択した内容によって、ノードにインストールされている機能が決まります。 ブローカー ノードを作成してクラスターに参加させるオプションを選択すると、インストール ウィザードにクラスターのヘッド ノードを指定する手順が含まれます。

インストールが完了すると、ノード管理リスト ビューに、不明な 状態の WCF ブローカー ノードとして新しいノードが表示されます。 その後、オペレーティング システム イメージを含まないブローカー ノード テンプレートを割り当てることで、ノードを承認してクラスターに追加できます。

Durable Sessions と MSMQ

SOA クライアントが Durable Session API を使用してクラスター上にセッションを作成すると、ブローカー ノードはメッセージ キュー (MSMQ) を使用してメッセージを格納します。 ブローカーによって格納される応答は、意図的または意図しない切断後でも、いつでもクライアントによって取得できます。 既定では、MSMQ ストレージの制限は 8 GB です。 メッセージのサイズとクラスターで実行されている永続的なセッションの数に応じて、レコードの保持期間を変更するか、この制限を増やすことができます。 永続セッションのメッセージが使用するディスク領域の量は、次のように見積もることができます。

必要なディスク領域 = (要求の数 x 要求サイズ) + (応答の数 x 要求サイズ)

HPC クラスター マネージャーでは、ノード リスト ビューに列を追加するか、Durable Queues Total Bytes と空きディスク領域 メトリックのヒート マップ ページを作成して、メッセージ キューの合計サイズ (要求と応答) と空きディスク領域 を監視できます。

機能で、Server Manager のブローカー ノードのメッセージ キューの制限を調整できます。 次のスクリーンショットに示すように、メッセージ キュー 右クリックし、[プロパティ] クリックしてストレージの制限を変更します。

サーバー マネージャー機能の 、メッセージ キューの を編集する

通常の操作中、メッセージは次の方法で MSMQ から削除されます。

  • SOA クライアントは、セッションを閉じるときに、そのセッションに関連付けられているメッセージを MSMQ で削除する可能性があります。

  • 完了したセッションに関連付けられているメッセージは、ジョブ スケジューラ構成オプションのジョブ履歴設定で指定された日数が経過すると、MSMQ から自動的に削除されます。 既定では、完了したセッションのレコードは 5 日間保持されます。 「ジョブ履歴理解する」も参照してください。

ブローカー ノードでの同時セッション数の制限

ブローカー ノード上の同時セッションの数に制限を設定できます。 定義された制限に達すると、SOA クライアントが接続しようとしたときに、次の処理が行われます。

  • 新しいセッション: SOA クライアントは、次のブローカー ノードを試行します。 すべてのブローカー ノードがいっぱいの場合、セッションの作成は失敗します。

  • セッションへのアタッチ: 指定されたセッションを管理しているブローカー ノードが既に容量を持っているため、アタッチ操作はすぐに失敗します。

制限を設定するには、各ブローカー ノードの HpcbBoker.exe.config ファイルの MaxConcurrentSession 属性の値を編集します。 このファイルは、%CCP_HOME%Bin フォルダーにあります。 MaxConcurrentSession の既定値は 0 です。これは、次の XML コード切り取りで示すように、設定が無効になっていることを意味します。

  <userSettings>  
    <Microsoft.Hpc.Scheduler.Session.Internal.BrokerLauncher.BrokerLauncherSettings>  
      <setting name="MaxConcurrentSession" serializeAs="String">  
        <value>0</value>  
      </setting>  
    </Microsoft.Hpc.Scheduler.Session.Internal.BrokerLauncher.BrokerLauncherSettings>  
  </userSettings>  
  

ブローカー ノードのスケーリング

ノード ロールを変更すると、現在のニーズに応じて、コンピューティング ノードと WCF ブローカー ノードを簡単にスケーリングできます。 ノードに複数のロールの機能が含まれている場合は、HPC クラスター マネージャーでノード ロールを有効または無効にすることができます。 ノードがブローカー ノードとしてデプロイされると、ノードにはブローカー ノード ロールとコンピューティング ノード ロールの機能が含まれます。 詳細については、「Microsoft HPC Packのノード ロールについて」を参照してください。

次の手順では、WCF ブローカー ノードロールを有効にする方法について説明します。

WCF ブローカー ノードロールを有効にするには

  1. ノード管理の [ナビゲーション ウィンドウ]で、[ノードの] をクリックします。

  2. ビュー ペインでノードを右クリックし、[オフラインクリックします。

  3. [オフライン ノードの ]ダイアログ ボックスで、[はい]クリックします。 [ビュー] ウィンドウでノードの状態を確認し、ノードの状態が [オフライン に変わるまで待ってから、次の手順に進みます。

  4. ビュー ウィンドウで、ノードを右クリックし、[ロールの変更 ] をクリックします。

  5. [ノード ロールの変更] ダイアログ ボックスで、WCF ブローカー ノード選択し、[OK]クリックします。

  6. [ビュー] ウィンドウで、ノードを右クリックし、[オンラインにする]クリックします。

  7. [ナビゲーション ウィンドウ]の [ノード] の [グループ別 ]で、[WCFBrokerNodes] をクリックします。 構成したノードが一覧に表示されることを確認します。

さらに考慮すべきこと

  • SOA ワークロードのジョブ スケジューラ リソース割り当てポリシーを最適化できます。 詳細については、「ポリシー構成について」を参照してください。

  • 開発者は、サービス DLL、サービス構成ファイル、およびクライアント アプリケーションを作成します。 管理者は、サービス DLL をクラスター上のコンピューティング ノードにコピーし、ヘッド ノードにサービス構成ファイルを配置してサービスを登録します。 SOA サービスの展開と構成の詳細については、「Microsoft HPC Packでの SOA サービスの管理」を参照してください。

  • サービス構成ファイルを使用して、ブローカーが特定のサービスと対話する方法をカスタマイズできます。 たとえば、監視、メッセージ調整、負荷分散などのブローカーの動作は、個々のサービス レベルで定義できます。 詳細については、「SOA アプリケーション、インフラストラクチャおよび管理」を参照してください。

  • クライアント アプリケーションはエンド ユーザー用のインターフェイスを提供し、バックエンドでクライアント アプリケーションは SOA ジョブ をクラスターに送信し、ブローカー ノードとのセッションを開始し、サービス要求を送信して応答を受信します。 エンド ユーザーはコンピューターでアプリケーションを実行し、クラスター ノードは計算を実行します。 セッション ID はジョブ ID に対応します。

  • WCF ブローカー ノードと SOA アプリケーションの詳細については、SOA アプリケーション、インフラストラクチャと管理 ホワイト ペーパーを参照してください。

  • HPC クラスター マネージャーの使用方法については、「HPC Cluster Managerの概要」を参照してください。

その他の参照