設計上の決定:StoreFrontとマルチサイト集約の設計

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

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

概要

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

設定オプション

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

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

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

集約オプション

[リソースの集約] セクションには、次に示すように、リソースが重複して集約されるすべてのサイトが列挙され、そのサイトを選択するように求められます。

リソースの集約設定

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

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

GUIではうまく処理されないユースケースには、ロード・バランシングとフェイルオーバーの組み合わせ、または同一サイトと非同一サイトの組み合わせがあります。たとえば、負荷分散が必要な2つの本番サイトと、両方の本番サイトがダウンしている場合にのみ使用される1つのDRサイトがある場合、GUIは使用できず、代わりにweb.configファイルを手動で変更する必要があります(このファイルの適切な形式については、 Citrix Docsを参照してください )。

デザインのポイント

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

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

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

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

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

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

ユーザーマッピングの設定

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

デザインのポイント

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

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

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

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

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

デザインのポイント

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

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

サブスクリプション

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

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

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

デザインの要点

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

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

参照ドキュメント

製品ドキュメント:StoreFront マルチサイト設定

StoreFront キーワードの使用法

設計上の決定:StoreFrontとマルチサイト集約の設計