StoreFront の複数サイト集約の設計

寄稿者

著者: Sarah Steinhoff

StoreFront の中核となる機能は、複数のCitrix Virtual Apps and Desktops(CVAD)サイトから「共通の」アプリケーションおよびデスクトップリソースを集約および重複排除する機能です。これは一般にマルチサイト集約と呼ばれます。重複するアプリケーションとデスクトップは、一致するApplication Display Name およびApplication Category プロパティに基づいて識別されます。この機能は、バージョン 3.5 のコンソールで利用可能であり、以前は設定ファイルの編集でした。マルチサイトアグリゲーションの目的は、Citrix 管理者が冗長CVADサイトを構築できるようにすることです(スケーラビリティまたは障害ドメインの理由から)。サイトごとの重複ではなく、単一のアプリケーションまたはデスクトップアイコンをユーザーに表示することです(この機能なしで表示されます)。StoreFront は、アプリケーションおよびデスクトップの起動を、そのリソースをサポートする複数のサイトに分散する方法を制御します。

この記事では、これらの設定をエンタープライズ環境で実装する方法と、アプリケーションキーワードやサブスクリプションなどの他の関連設定と統合して、ユーザーセッションのルーティング方法とリソースの表示方法をさらに制御する方法について説明します。

概要

マルチサイト設定の構成は、StoreFront コンソールの「Delivery Controllerの管理」ウィザードを使用して行います。さまざまな構成については、製品ドキュメントを参照してください。ストアに複数のサイトが設定されている場合、「ユーザーマッピングとマルチサイト集約 構成 」の下の「構成」ボタンが有効になります。

構成オプション

選択すると、管理者は次のように、ユーザーマッピングとリソース集約を構成するように求められます。「ユーザーをControllerにマップ」リンクをクリックすると、これらの設定を適用するユーザー・グループを構成するよう管理者に促されます。[リソースの集約] リンクは、実際のマルチサイト集約設定が指定されている場所です。

ユーザーマッピングとリソース集約

複数サイト集約は、設定を適用するユーザグループが少なくとも 1 つ定義されるまで構成できません。組み込みの「Everyone」グループは、ストアに接続するすべてのユーザーに集約設定を 1 セット適用する必要がある場合に使用できます。これらの設定を構成すると、ユーザーがここで指定したグループのメンバーでない場合、そのユーザーのアプリケーションやデスクトップは列挙されません。次の 2 つのセクションでは、「リソースの集約」オプションから始めて、使用可能な構成について詳しく説明します。

集約オプション

[Aggregate resources] セクションには、列挙されたすべてのサイトが表示され、次に示すように、重複するリソースがあり、集約する必要があるものを選択するよう求められます。

リソースの集約設定

集約されたサイトには、リソースを列挙する方法と、それらのサイト間でセッションを起動する方法を制御する 2 つの追加構成があります。これらの設定は、集約対象としてマークされたすべてのサイトに適用されます。

  • コントローラは同一のリソースを公開します。この設定は列挙を制御します。2つのサイトが「一致」としてマークされている場合、StoreFront はファームを同じ「同等のファームセット」に配置します。つまり、リソースセットが同等であると見なされるため、列挙リクエストはサイト間で負荷分散(ラウンドロビン)されるため、列挙時間を節約できます。2つのサイトが「同一」としてマークされていない場合、StoreFront はXML列挙リクエストをすべてのサイトに送信し、結果のリソースセットから共通のアプリケーションとデスクトップの重複除外を実行します。
  • コントローラ間でリソースの負荷を分散する: この設定はセッションの起動を制御します。起動リクエストは、サイトが「同一」であるかどうかにかかわらず、サイト間で負荷分散されるか、フェイルオーバー順序で分散されます。セッションの共有は、負荷分散の決定よりも優先されます。したがって、ユーザーがすでにサイト B にセッションを持っていて、別のアプリケーションまたはデスクトップを起動した場合、そのセッションはサイト B でも起動します(アプリケーションまたはデスクトップが利用可能であることを前提とします)。

GUIでうまく処理されないユースケースには、負荷分散とフェイルオーバーの組み合わせ、または同一サイトと非同一サイトの組み合わせなどがあります。たとえば、負荷分散が必要な本番サイトが2つあり、両方の本番サイトが停止している場合にのみ使用するDRサイトが1つある場合は、GUIを使用できず、代わりにweb.configファイルを手動で変更する必要があります(eドキュメント を参照してください)。

デザインのポイント

前のセクションを要約すると、次のようになります。

  • StoreFront を通じてサイトが集約されるときに、アプリケーションおよびデスクトップの列挙には、「同一の」サイトのうち1つのみが使用されます。
  • セッションの起動は、負荷分散または集約されたサイト間でフェイルオーバー可能

ユーザーファームのマッピング

「ユーザーをコントローラにマップ」の設定は、一般に「ユーザーファームマッピング」と呼ばれます。これらの設定は、特定のユーザーグループが列挙できるサイトを制御するために使用され、それらのサイトが集約されているかどうかにかかわらず、「ユーザーファームマッピング」と呼ばれます。この機能には、主に次の 2 つの使用例があります。

  1. 列挙の制限:複数サイトの集約を行わなくても、StoreFront のユーザーのグループをサイトのサブセットに割り当てると、StoreFrontはそのグループのユーザーが認証したときにのみXML列挙リクエストを送信します。グローバル展開では、特定のユーザーがアクセスしてはならないサイトとStoreFront が通信しようとするのを防ぐため、列挙時間に重大な影響を与える可能性があります。たとえば、これらの設定を使用して、米国のユーザーを米国ベースのCVADサイトにマップし、ユーザーがログインしたときにStoreFront がグローバルに分散している他のサイトにアクセスしないようにすることができます。
  2. 集約設定の割り当て:マルチサイト集約が構成されている場合、異なるフェイルオーバー構成やサイトの異なる組み合わせなど、異なるユーザーグループに異なる構成を割り当てることが望ましい場合があります。

「ユーザーをコントローラにマップ」では、まず管理者にユーザーグループを指定し、次にユーザーグループを割り当てるサイトを指定します(ダイアログには「コントローラ」と表示されますが、ストアに定義されているサイトです)。選択したサイトが集約用に構成されているかどうかを示す列があります。さらに、集約されたサイトがフェイルオーバー用に構成されている場合(「コントローラ間のリソースの負荷分散」がオフのままの場合)、右側の矢印を使用してサイトの順序を指定できます。

ユーザマッピングの設定

ユーザーは、複数のユーザー・グループ・マッピングの一部である可能性があります。StoreFront は、構成されたユーザーグループのリストを読み取っても、一致するユーザーが見つかった後に処理を停止しません。構成されたすべてのグループが処理され、返されたすべてのサイトが列挙されます。このシナリオは、報告されたユーザーの問題をテストして再現できるように、通常はすべてのアプリケーションとデスクトップにアクセスでき、複数のユーザーグループのメンバーであるCitrix 管理者の場合に想定されます。これは、管理者(または複数のグループのメンバーである他のユーザー)に複数の設定が適用されているため、いずれかのグループのユーザーとは異なる起動動作が発生する可能性があることを意味します。 構成上の唯一の考慮事項は、2つのユーザーグループが、異なる集約設定を持つ同じサイトセットにアクセスできる場合です。個々のユーザーのコンテキストでは、サイトは1つの集約グループにのみ属することができます。そうしないと、エラーが表示されます。これは、2 つのユーザーグループマッピング間で集約グループに同じ名前を付けることで解決されます。このマッピングは、デフォルトで GUI を使用して行われますが、web.config ファイルを以前に参照したより高度な構成用に手動で変更する場合は、考慮する必要があります。

デザインのポイント

前のセクションを要約すると、次のようになります。

  • ユーザーグループをサイトに割り当てることは、集約が構成されていない場合でも、列挙トラフィックを制限し、このプロセスの完了までの時間を短縮するために使用できます。
  • 集約サイトのフェイルオーバー順序は、ユーザー・グループ割り当てウィザードで指定されます。
  • 同じ集約されたサイトの一部を含む複数のユーザー・グループ・マッピングが構成され、ユーザーが複数のグループに属している場合、集約グループの名前は同じ

アプリケーションキーワード

リソースの表示と起動を制御するもう 1 つの方法は、アプリケーションの説明フィールドにキーワードを使用することです。ストア設定では、記事CTX223451で説明されているように、カスタムキーワードに基づいて表示をフィルタリングできます。また、独自の機能を持つ特別な事前定義されたキーワードがいくつかあります。そのうちの 2 つは「プライマリ」と「セカンダリ」で、複数のサイトでのセッション開始に影響します。同じアプリケーションのインスタンスが 2 つ公開されている場合、キーワード「primary」が指定されているインスタンスは、キーワード「secondary」のインスタンスよりも常に優先されます。 この設定は、前のセクションで説明したサイト集約設定よりも優先されます。つまり、これらの設定は頻繁に使用されます。

たとえば、サイトAとサイトBの2つのCVADサイトでは、ほとんどすべてのアプリケーションを主にサイトAから起動し(バックエンドアプリケーションアーキテクチャに基づく)、サイトBにフェイルオーバーする必要がありますが、主にサイトBからホストされているアプリケーションがいくつかあります。マルチサイト集約は、は、サイト A が最初にリストされ、フェールオーバー順ですべてのユーザーに対して構成されます。主にサイト B からホストする必要がある例外的なアプリケーションは、サイト B では primary キーワードを使用し、サイト A では secondary キーワードを使用して構成されます。

デザインのポイント

前のセクションを要約すると、次のようになります。

「primary」キーワードと「secondary」キーワードは、複数のサイトにわたるアプリケーションの起動をさらに制御するために使用でき、サイト集約設定よりも優先されます。

サブスクリプション

StoreFront のサブスクリプションは、ユーザーがアプリケーションを「お気に入り」に許可する方法で、各StoreFrontサーバー上のローカルデータベースに保存され、サーバーグループ全体で自動的にレプリケートされます。既定では、サブスクリプションレコードは形式<SiteName>.<DisplayName>で格納されます。これは、StoreFront がデフォルトですべてのCVADサイトからリソースを列挙し、個別に表示されるためです。2 つのリソースが異なるサイトで同じ名前で公開される場合は、それらのサブスクリプションを個別に追跡する必要があります。したがって、これらのサブスクリプションを区別するために、いくつかの種類のサイトタグが必要です。

これは、サイト全体の同一のリソースを個別に表示および追跡するのではなく、同じサブスクリプションのショートカットで集約するサイト集約によって変更されます。単一のサブスクリプションレコードが複数のサイトの同じリソースをカバーする必要があるため、Site タグはもはや意味がありません。したがって、サイト集約が構成されている場合、集約されたリソースのサブスクリプションレコードは形式<AggregationGroup>.<DisplayPath>\<DisplayName>で格納されます。

つまり、以前にサイトが個別に使用可能になった後にStoreFront マルチサイトアグリゲーションを構成すると(サブスクリプションを有効にして)、サブスクリプションレコード形式の変更により、新しく集約されたリソースのユーザーサブスクリプションが消えます。以前のサブスクリプションレコードは、アプリケーションがサイトに関連付けられなくなり、集約グループとして有効になります。この問題を回避するには、PowerShell 経由でサブスクリプションデータベースをエクスポートし、適切な形式で集約されるリソースのすべてのレコードを置き換え、サイト集約の構成後にサブスクリプションデータベースを再インポートします。それ以外の場合、ユーザーはアプリケーションに再サブスクライブする必要があります。

デザインのポイント

前のセクションを要約すると、次のようになります。

マルチサイト集約は、サブスクリプションデータベース内のユーザーサブスクリプションの形式を変更します。これは、ライブ後に集約を実装する場合に考慮する必要があります

参照ドキュメント

製品ドキュメント:StoreFront の複数サイト設定

StoreFront のキーワードの使用方法

StoreFront の複数サイト集約の設計