可用性の高いマルチサイトストアのセットアップ
重要:
複数サーバーによる展開環境では、複数のサーバー上で同時にサーバーグループの構成を変更しないでください。展開内のほかのサーバー上でCitrix StoreFront管理コンソールを同時に実行していないことを確認してください。変更が完了したら、構成の変更をサーバーグループに反映させて、展開内のほかのサーバーを更新します。
特に地理的に分散した複数の展開環境からリソースを集約するストアについては、展開環境間の負荷分散とフェールオーバー、ユーザーと展開環境のマッピング、および障害回復用の展開環境を構成して、可用性の高いリソースを提供できます。複数の展開環境で個別のCitrix Gatewayアプライアンスを構成している場合は、ユーザーが各展開環境にアクセスするための最適なアプライアンスを定義できます。
ユーザーマッピングおよびアグリゲーションの構成
StoreFront管理コンソールでは、次の操作を行うことができます。
- 展開環境へのユーザーのマッピング:Active Directoryグループメンバーシップに基づいて、特定の展開環境へのアクセス権を持つユーザーを制限できます。
- 集約する展開環境:集約するリソースがある展開環境を指定できます。集約された展開環境のリソースは、単一の高可用性リソースとしてユーザーに示されます。
- ゾーンを展開環境に関連付ける:グローバルな負荷分散構成のCitrix Gatewayでアクセスする場合、StoreFrontは、リソースを起動するときにゲートウェイゾーンに一致するゾーンの展開環境を優先します。
- すべてのCitrix Virtual Apps and Desktops展開環境の詳細を使用してストアが正しく構成されていることを確認します。ストアへの展開環境の追加について詳しくは、「ストアに表示するリソースの管理」を参照してください。
- Windowsの [スタート] 画面または [アプリ] 画面で、[Citrix StoreFront] タイルをクリックします。
- Citrix StoreFront管理コンソールの左ペインで [ストア] ノードを選択して、[操作] ペインの [Delivery Controllerの管理] をクリックします。
- 2つ以上のコントローラーが定義されている場合、[ユーザー マッピングおよびマルチサイト集合体構成]、[構成]の順にクリックします。
- [ユーザーをControllerにマップ] をクリックして、Delivery Controllerをユーザーが使えるようにするのか画面上で選択します。
-
[リソースを集約する] をクリックして、複数の展開環境からリソースを集約します。Delivery Controllerを集約する場合、同じ表示名とパスのDelivery Controllerのアプリケーションおよびデスクトップは、Citrix Workspaceアプリに単一のアプリケーション/デスクトップとして表示されます。
- Delivery Controllerを集約するには、複数のコントローラーを選択して [集約] をクリックします。
-
[集約済みコントローラーの設定] オプションを選択します:
コントローラーが同一のリソースを公開します - オンにすると、StoreFrontにより集約済みセットにあるいずれか1つのコントローラーのリソースのみが列挙されます。オフにすると、(利用できるリソースのユーザーのセット全体を集約するために)集約済みセットにあるすべてのコントローラーのリソースがStoreFrontにより列挙されます。このオプションをオンにするとリソース列挙時のパフォーマンスが向上します。ただし、リソースのリストが集約済みのすべての展開環境全体で同一であることが確実でない限り、お勧めしません。
複数のコントローラーでリソースを負荷分散します - オンにすると、利用可能なコントローラーに起動が均一に分散されます。オフにすると、起動はユーザーマッピングダイアログ画面で指定された最初のコントローラーに割り当てられ、その起動が失敗した場合は以降のコントローラーにフェールオーバーします。
-
[ユーザーマッピングおよびマルチサイト集合体構成]ダイアログボックスで、[OK] をクリックします。
- [Delivery Controllerの管理]ダイアログボックスで、[OK] をクリックします。
詳細構成
StoreFront管理コンソールで、多くの一般的なマルチサイトおよび高可用性操作を構成できます。PowerShellを使用するか、StoreFront構成ファイルを編集して、StoreFrontを構成することもできます。これにより次の追加機能が提供されます:
- 集約対象として複数の展開環境グループを指定する機能。
- 管理コンソールでは展開環境を単一のグループにまとめることしかできませんが、大部分の場合はこれで十分です。
- 参加していないリソースセットを持つ複数の展開環境があるストアでは、複数グループによりパフォーマンスが向上する場合があります。
- 集約済み展開環境に対して複雑な優先順位を指定する機能。管理コンソールでは、集約済みの展開環境を負荷分散したり、単一のフェールオーバーリストとして使用したりできます。
- 障害回復展開環境(他のすべての展開環境が利用できない時のみアクセスされる展開環境)を定義する機能。
警告:
構成ファイルを手動で編集して詳細なマルチサイトオプションを構成すると、構成ミスを防ぐため、Citrix StoreFront管理コンソールで一部のタスクを実行できなくなります。
-
障害回復用の展開環境を含め、すべてのCitrix Virtual Apps and Desktops展開環境の詳細を使用してストアが正しく構成されていることを確認します。ストアへの展開環境の追加について詳しくは、「ストアに表示するリソースの管理」を参照してください。
-
テキストエディターを使ってストアのweb.configファイルを開きます。このファイルは通常、C:\inetpub\wwwroot\Citrix\storename\ディレクトリにあります。ここで、storenameはストアの作成時に指定した名前です。
-
ファイル内で次のセクションを検索します。
<resourcesWingConfigurations> <resourcesWingConfiguration name="Default" wingName="Default" /> </resourcesWingConfigurations> <!--NeedCopy-->
-
次のように構成します。
<resourcesWingConfigurations> <resourcesWingConfiguration name="Default" wingName="Default"> <userFarmMappings> <clear /> <userFarmMapping name="user_mapping"> <groups> <group name="domain\usergroup" sid="securityidentifier" /> <group ... /> ... </groups> <equivalentFarmSets> <equivalentFarmSet name="setname" loadBalanceMode="{LoadBalanced | Failover}" aggregationGroup="aggregationgroupname"> <primaryFarmRefs> <farm name="primaryfarmname" /> <farm ... /> ... </primaryFarmRefs> <backupFarmRefs> <farm name="backupfarmname" /> <farm ... /> ... </backupFarmRefs> </equivalentFarmSet> <equivalentFarmSet ... > ... </equivalentFarmSet> </equivalentFarmSets> </userFarmMapping> <userFarmMapping> ... </userFarmMapping> </userFarmMappings> </resourcesWingConfiguration> </resourcesWingConfigurations> <!--NeedCopy-->
構成を定義する時に使用する要素は以下のとおりです。
-
userFarmMapping—展開環境のグループを指定して、それらの展開環境間の負荷分散とフェールオーバーを定義します。また、障害回復用の展開環境を定義します。指定した展開環境グループにMicrosoft Active Directoryユーザーグループをマップして、リソースへのユーザーアクセスを制御します。
-
groups—関連付けたマッピングが適用されるActive Directoryユーザーグループの名前とセキュリティID(SID)を指定します。ユーザーグループ名は、domain\usergroupの形式で指定する必要があります。複数のグループを指定する場合、そのすべてのグループに属しているユーザーのみにマッピングが適用されます。すべてのActive Directoryユーザーアカウントのアクセスを有効にするには、グループ名およびSIDにeveryoneを設定します。
-
equivalentFarmSet—負荷分散またはフェールオーバーのために集約されるリソースを提供する同等の展開環境のグループと、障害回復用の展開環境のグループを定義します。
loadBalanceMode属性により、ユーザーがどのように展開環境に割り当てられるかが定義されます。loadBalanceMode属性をLoadBalancedに設定すると、ユーザー接続が均等に分散されるように展開環境が一覧からランダムに選択されます。loadBalanceMode属性をFailoverに設定すると、展開環境が定義した順序で選択されます。これにより、使用される展開環境の数が常に最小になります。集約するソースを提供する同等の展開環境のグループの名前として、アグリゲーショングループ名(aggregationGroup)を指定します。同じアグリゲーショングループに属するすべての展開環境で提供されるリソースが集約されてユーザーに表示されます。特定のアグリゲーショングループの展開環境がほかのグループと集約されないように定義するには、アグリゲーショングループ名を空の文字列 ”“ に設定します。
identical属性は値trueおよびfalseを取り、同等の展開環境セット内のすべての展開環境のリソースセットが完全に同一であるかどうかを指定します。展開環境が同一の場合、StoreFrontは、セット内の1つのみのプライマリ展開環境からユーザーのリソースを列挙します。複数の展開環境のリソースに共通部分はあるが同一ではない場合、StoreFrontは、各展開環境から列挙して、ユーザーが利用できるリソースの完全なセットを取得します。負荷分散(起動時)は、展開が同一であるかどうかにかかわらず使用できます。identical属性のデフォルト値はfalseです。ただし、StoreFrontのアップグレード時には、アップグレード後に既存の動作が変更されないようにtrueに設定されます。
-
primaryFarmRefs - リソースの一部もしくは全部が一致する、同等のCitrix Virtual Apps and Desktopsサイトのセットを指定します。ここには、ストアに追加済みの展開環境の名前を入力します。入力する展開環境の名前は、ストアに展開環境を追加するときに指定した名前と完全に一致する必要があります。
-
optimalGatewayForFarms - 特定の展開環境のグループで提供されるリソースにユーザーがアクセスするときに使用される最適なCitrix Gatewayアプライアンスを定義します。通常、展開環境に最適なアプライアンスは、その展開環境と地理的に同じ場所に配置されます。「最適なCitrix Gatewayアプライアンス」は、展開環境にアクセスする時に、StoreFrontにアクセスする時に経由するCitrix Gatewayアプライアンスと異なるアプライアンスを使用する場合のみ定義します。
サブスクリプション同期の構成
異なるStoreFront展開環境のストアからユーザーのサブスクリプションが定期的に同期されるように構成するには、いくつかのWindows PowerShellコマンドを実行します。
注:
StoreFront管理コンソールとPowerShellコンソールを同時に開くことはできません。StoreFront管理コンソールを閉じてからPowerShellコンソールを開いてください。同様に、PowerShellのすべてのインスタンスを閉じてからStoreFront管理コンソールを開いてください。
サブスクリプションの同期を確立するときは、同期するストア間で構成されたDelivery Controllerを同一の名前にする必要があります。Delivery Controllerの名前は大文字と小文字が区別されます。Delivery Controller名が異なると、同期サイト間で異なるサブスクリプションが使用される場合があります。集約されたリソースからサブスクリプションを同期する場合、両方のストアで使用されるアグリゲーショングループの名前も一致している必要があります。Delivery Controller名とアグリゲーショングループ名では大文字と小文字が区別されます。たとえば、XenDesktop7とXendesktop7は異なります。
-
ローカル管理者権限を持つアカウントを使用して、Windows PowerShell ISEを起動します。
-
毎日特定の時刻に同期が行われるように構成するには、次のコマンドを実行します。
$RepeatMinutes = 30 Add-STFSubscriptionSynchronizationSchedule -StartTime (Get-Date -Format t) -RepeatMinutes $RepeatMinutes <!--NeedCopy-->
-StartTimeを使用して同期スケジュールの開始時間を指定します。(Get-Date -Format t)を使用すると、同期スケジュールはすぐに開始します。10:00のように指定すると、指定した時間に定期的に開始します。
-RepeatMinutesは、スケジュールを実行する頻度を設定します。たとえば、30では30分ごとにスケジュールを実行し、180では3時間ごとにスケジュールを実行します。2つのサーバーグループが互いにサブスクリプションデータを同時に取得しないように、プルスケジュールをずらすことをお勧めします。たとえば、各サーバーグループから60分ごとにデータを取得するスケジュールは、次のように構成されます。サーバーグループ1が、サーバーグループ2から01:00、02:00、03:00のようなスケジュールでデータを取得します。 サーバーグループ2は、サーバーグループ1から01:30、02:30、03:30のようなスケジュールでデータを取得します。
-
同期させるストアを含むリモートStoreFront展開を指定するには、次のコマンドを入力します。StoreFrontサーバーグループが存在するデータセンターごとにこれを構成して、他のリモートデータセンターからサブスクリプションデータを取得できるようにする必要があります。次の米国および英国のデータセンターの例を参照してください:
-
米国データセンターのStoreFrontサーバーで実行して、英国データセンターのサーバーからデータを取得します:
$StoreObject = Get-STFStoreService -SiteID 1 -VirtualPath "/Citrix/Store" Add-STFSubscriptionSynchronizationSource -FriendlyName "SyncFromUKStore" -StoreService $StoreObject -RemoteStoreFrontAddress "UKloadbalancedStoreFront.example.com" <!--NeedCopy-->
-
英国データセンターのStoreFrontサーバーで実行して、米国データセンターのサーバーからデータを取得します:
$StoreObject = Get-STFStoreService -SiteID 1 -VirtualPath "/Citrix/Store" Add-STFSubscriptionSynchronizationSource -FriendlyName "SyncFromUSStore" -StoreService $StoreObject -RemoteStoreFrontAddress "USloadbalancedStoreFront.example.com" <!--NeedCopy-->
ここで、FriendlyNameはリモートの展開環境を識別するために定義する名前で、RemoteStoreFrontAddressはStoreFrontサーバーまたは負荷分散サーバーグループのFQDNです。アプリケーションサブスクリプションを複数のストア間で同期するには、同期されるすべてのストアがそれぞれのStoreFront展開環境で同じ名前を持つ必要があります。
-
-
現在のサーバー上のローカルWindowsユーザーグループCitrixSubscriptionSyncUsersに、リモート展開の各StoreFrontサーバーのMicrosoft Active Directoryドメインマシンアカウントを追加します。
これにより、同期スケジュールを構成すると、現在のサーバーは、CitrixSubscriptionSyncUsersに表示されているリモートサーバーから新規または更新されたサブスクリプションデータを取得できます。ローカルユーザーグループの変更については、https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc772524(v=ws.11)を参照してください。
-
正常にスケジュールを構成した後、Citrix StoreFront管理コンソールまたは以下のPowershellを使用して、サブスクリプション同期スケジュールとソースをグループ内の他のすべてのサーバーに反映します。
Publish-STFServerGroupConfiguration <!--NeedCopy-->
複数サーバーで構成されるStoreFront展開環境への変更の適用について詳しくは、「サーバーグループの構成」を参照してください。
-
既存のサブスクリプション同期スケジュールを削除するには、次のコマンドを入力し、展開環境のほかのStoreFrontサーバーに構成の変更を反映させます。
Clear-STFSubscriptionSynchronizationSchedule <!--NeedCopy-->
-
特定のサブスクリプション同期ソースを削除するには、次のコマンドを実行し、展開環境のほかのStoreFrontサーバーに構成の変更を反映させます。
Remove-STFSubscriptionSynchronizationSource -FriendlyName "SyncFromUKStore" <!--NeedCopy-->
-
すべての既存のサブスクリプション同期ソースを削除するには、次のコマンドを入力し、展開環境のほかのStoreFrontサーバーに構成の変更を反映させます。
Clear-STFSubscriptionSynchronizationSource <!--NeedCopy-->
-
StoreFront展開用に現在構成されているサブスクリプション同期スケジュールを一覧表示するには、次のコマンドを実行します。
Get-STFSubscriptionSynchronizationSchedule <!--NeedCopy-->
-
StoreFront展開用に現在構成されているサブスクリプション同期ソースを一覧表示するには、次のコマンドを実行します。
Get-STFSubscriptionSynchronizationSource <!--NeedCopy-->
ストアの最適なHDXルーティングの構成
ストアの最適なゲートウェイマッピングを定義する時のファームとゾーンの違い
StoreFront 3.5より前にリリースされたバージョンでは、最適なゲートウェイはファームにのみマッピングできました。ゾーンの概念を利用すれば、Citrix Virtual Apps and Desktopsの展開環境を、Citrix Virtual Apps and Desktopsコントローラーと公開リソースが存在するデータセンターや地理的な場所に基づいて、複数のゾーンに分割できます。Citrix Virtual Apps and Desktops Studioでゾーンを定義します。StoreFrontは、Citrix Virtual Apps and Desktopsと相互運用できます。StoreFrontで定義されたすべてのゾーンが、Citrix Virtual Apps and Desktopsで定義されたゾーン名と正確に一致する必要があります。
StoreFrontでは、定義済みゾーン内に位置するすべてのDelivery Controllerに対して最適なゲートウェイマッピングを作成することもできます。最適なゲートウェイへのゾーンのマッピングは、既によく知っているファームを使用したマッピングの作成とほぼ同義です。その唯一の違いは、ゾーンは通常、もっと多くのDelivery Controllerを含む大規模なコンテナを表すものであるということです。すべてのDelivery Controllerを最適なゲートウェイマッピングに追加する必要はありません。Controllerを目的のゾーン内に配置するには、それぞれのDelivery Controllerに、既にCitrix Virtual Apps and Desktopsに定義されているゾーンと一致するゾーン名のタグを付けるだけです。1つの最適なゲートウェイを複数のゾーンにマッピングすることができますが、通常は単一のゾーンを使用してください。一般に、ゾーンはある地理的な場所にある1つのデータセンターを表します。各ゾーンには少なくとも1つの最適なCitrix Gatewayがあり、そのCitrix Gatewayがそのゾーン内のリソースへのHDX接続に使用されることが想定されます。
ゾーンについて詳しくは、「ゾーン」を参照してください。
Delivery Controllerのゾーンへの配置
ゾーン内に配置するすべてのDelivery Controllerに対して、ゾーン属性を設定します。
- Windowsの [スタート] 画面または [アプリ] 画面で、[Citrix StoreFront]タイルをクリックします。
- Citrix StoreFront管理コンソールの左ペインで [ストア] ノードを選択して、[操作] ペインの [Delivery Controllerの管理] をクリックします。
- コントローラーを選択して [編集] をクリックし、[Delivery Controllerの編集] 画面で [設定] をクリックします。
- Zones行で、2番目の列をクリックします。
- [Delivery Controllerゾーン名] 画面の [追加] をクリックして、ゾーン名を追加します。
最適なCitrix Gatewayルーティングを構成して、HDXエンジンからStoreFrontを使用して公開したリソース(XenDesktop VDAやCitrix Virtual Apps and Desktopsの公開アプリケーションなど)にアクセスするICA接続の処理を最適化します。通常、サイトの最適なゲートウェイは、同じ地理的な場所に配置されます。
「最適なCitrix Gatewayアプライアンス」は、ユーザーがStoreFrontにアクセスする時に最適なゲートウェイが使用されない展開環境でのみ定義します。起動要求をその要求元のゲートウェイ経由で返送する必要がある場合、StoreFrontがこれを自動的に行います。
ファーム使用のシナリオ例
1×UKゲートウェイ -> 1×UK StoreFront
- UKアプリおよびデスクトップ(ローカル)
- USアプリおよびデスクトップ(UKユーザーのフェールオーバーとして)
1×USゲートウェイ -> 1×US StoreFront
- USアプリおよびデスクトップ(ローカル)
- UKアプリおよびデスクトップ(USユーザーのフェールオーバーとして)
UKゲートウェイは、UKのStoreFrontを使用して、アプリやデスクトップなどのUKがホストするリソースへのリモートアクセスを提供します。
UKのStoreFrontには、UKおよびUSベース両方の定義されたCitrix Gatewayと、Delivery Controller一覧にUKおよびUS Controllerがあります。UKのユーザーは、地理的に同じ場所に配置されたゲートウェイ、StoreFront、およびファームを使用してリモートリソースにアクセスします。UKのリソースが使用不能になった場合は、フェールオーバーとして一時的にUSのリソースにアクセスできるようになります。
最適なゲートウェイルーティングがない場合、すべてのICA起動は、リソースが地理的にどこに位置しているかにかかわらず、起動要求を行ったUKゲートウェイを経由します。デフォルトでは、起動要求時にその要求元のゲートウェイがStoreFrontにより動的に識別されます。最適なゲートウェイルーティング構成によりこの動作が無視され、USリソースへの接続がUSファームに地理的に近いゲートウェイを経由するようになります。
注:
最適なゲートウェイとしてマップできるのは、各サイトのStoreFrontストアについて1つのみです。
ゾーン使用のシナリオ例
1×CAMZone -> 2×UK StoreFront
- ケンブリッジ(UK):アプリおよびデスクトップ
- フォートローダーデール(US東部):アプリおよびデスクトップ
- バンガロール(インド):アプリおよびデスクトップ
1×FTLZone -> 2×US StoreFront
- フォートローダーデール(US東部):アプリおよびデスクトップ
- ケンブリッジ(UK):アプリおよびデスクトップ
- バンガロール(インド):アプリおよびデスクトップ
1×BGLZone -> 2×IN StoreFront
- バンガロール(インド):アプリおよびデスクトップ
- ケンブリッジ(UK):アプリおよびデスクトップ
- フォートローダーデール(US東部):アプリおよびデスクトップ
図1:最適ではないゲートウェイルーティング
図2:最適なゲートウェイルーティング
Citrix StoreFront管理コンソールの使用
複数の展開環境で個別のCitrix Gatewayアプライアンスを構成した後、ユーザーが各展開環境にアクセスするための最適なアプライアンスを定義できます。
- Windowsの [スタート] 画面または [アプリ] 画面で、[Citrix StoreFront] タイルをクリックします。
- Citrix StoreFront管理コンソールの左ペインで [ストア] ノードを選択して、結果ペインでストアを選択します。[操作] ペインで、[ストア設定の構成] を選択します。
- [設定]>[最適なHDXルーティング] ページで、ゲートウェイを選択します。
- [直接アクセス] チェックボックスをオンにすることは -enabledOnDirectAccess = falseの使用と同等であり、[ゲートウェイを使用しない]を選択すると、ファームまたはゾーンにSet-DSFarmsWithNullOptimalGatewayを使用した場合と同等の操作です。
新しいゲートウェイの追加
前の手順のオプションの1つは、[ゲートウェイの追加] です。[ゲートウェイの追加] を選択すると、[Citrix Gatewayの追加]画面が表示されます。
- [全般設定] 画面で、[表示名]、[Citrix Gateway URL]、および[使用法]または[役割]設定を入力して、パブリックネットワークから接続しているユーザーに対するCitrix Gateway経由でのストアへのアクセスを構成します。認証不要なストアでは、Citrix Gatewayを介したリモートアクセスは許可されません。
- [Secure Ticket Authority(STA)] 画面で、表示されているオプションを入力します。STAは、Citrix Virtual Apps and Desktopsサーバーでホストされ、接続要求に応答してセッションチケットを発行します。セッションチケットは、Citrix Virtual Apps and Desktopsリソースへのアクセスを認証および承認するための基本機能です。
- [認証設定] 画面で、リモートユーザーが認証資格情報を提供する方法を指定する設定を入力します。
PowerShellを使用して最適なCitrix Gatewayルーティングを構成するには
PowerShell APIパラメーター
-SiteId (Int)—Site ID within IIS. StoreFrontのインストール先のIISでは、通常「1」です。
-ResourcesVirtualPath (String)—最適なゲートウェイマッピングのファームを構成するストアのパスです。
例:”/Citrix/Store”
-GatewayName (String)—StoreFrontでCitrix Gatewayを識別するために設定された名前です。
例1:ExternalGateway
例2:InternalGateway
-Hostnames (String Array)—最適なCitrix Gatewayアプライアンスの完全修飾ドメイン名(FQDN)とポート番号を指定します。
標準的なvServerポート443の例1: gateway.example.com
非標準的なvServerポート500の例2: gateway.example.com:500
-Farms (String Array)—指定するCitrix Gatewayアプライアンスを共有し、通常は同じ場所に配置されているCitrix Virtual Apps and Desktopsの展開環境の一覧を指定します。ファームには、公開リソースを提供する1つ以上のDelivery Controllerを含めることができます。
複数のDelivery Controllerを持つCitrix Virtual DesktopsサイトをStoreFrontで構成するには、「XenDesktop」を指定します。これは単一ファームを表します。フェールオーバー一覧に複数のDelivery Controllerを指定できます。
例:”XenDesktop”
XenDesktop-A.example.com
XenDesktop-B.example.com
XenDesktop-C.example.com
-Zones (String Array)—多数のDelivery Controllerを含む1つまたは複数のデータセンターを指定します。StoreFrontで、Delivery Controllerオブジェクトに、割り当て先となる適切なゾーンのタグを付ける必要があります。
-staUrls (String Array)—STAを実行しているCitrix Virtual Apps and DesktopsサーバーのURLを指定します。複数のファームを使用している場合は、各ファームのSTAサーバーをカンマで区切って入力します。
例:http://xenapp-a.example.com/scripts/ctxsta.dll
、http://xendesktop-a.example.com/scripts/ctxsta.dll
-StasUseLoadBalancing (Boolean)—trueを設定すると、すべてのSTAからセッションチケットがランダムに取得されます。これにより、すべてのSTAで要求が均等に分散されます。falseを設定すると、構成時の一覧の順序でSTAが選択されます。これにより、使用されるSTAの数が常に最小になります。
-StasBypassDuration—STA要求が失敗した場合に、そのSTAが使用できないと見なされるまでの時間を時間、分、秒で設定します。
例:02:00:00
-EnableSessionReliability (Boolean)—trueを設定すると、Receiverが再接続を試行する間、切断セッションが開いたままになります。複数のSTAを構成した展開環境でセッション画面の保持機能を常に使用できるようにするには、useTwoTickets属性をtrueに設定します。これにより、2つのSTAからチケットが取得されるため、一方のSTAが使用できなくなってもユーザーセッションが中断されなくなります。
-UseTwoTickets (Boolean)—trueを設定すると、2つのSTAからチケットが取得されるため、セッション中に一方のSTAが使用できなくなっても中断されなくなります。falseを設定すると、単一のSTAサーバーのみが使用されます。
-EnabledOnDirectAccess (Boolean)—trueに設定すると、内部ネットワーク上のローカルユーザーがStoreFrontに直接ログオンする時に、そのファームに定義されている最適なアプライアンスを介してルーティングされるようになります。falseに設定した場合:StoreFrontにCitrix Gateway経由でアクセスするユーザーを除き、最適なアプライアンスを介してルーティングされません。
PowerShellスクリプトが複数行にまたがる場合は、各行末にバッククォート文字(`)を入力してください。
ヒント:
サンプルコードを実行する前に、Windows PowerShell Integrated Scripting Environment(ISE)にコピーして形式チェッカーを使ってPowershellコードを検証することをお勧めします。
ファームの最適なゲートウェイの構成
注:
Set-DSOptimalGatewayForFarmsという以前のPowerShellコマンドレットでは、[最適なHDXルーティング]は構成できません。
この問題の回避方法は次のとおりです。
- Add-DSGlobalV10Gatewayコマンドを使用して、[最適なHDXルーティング]に使用する設定でグローバルゲートウェイを構成し、認証設定のデフォルト値を入力します。
- Add-DSStoreOptimalGatewayコマンドを使用して、最適なゲートウェイ構成を追加します。
例:
Add-DSGlobalV10Gateway -Id 2eba0524-af40-421e-9c5f-a1ccca80715f -Name LondonGateway -Address "http://example" -Logon Domain -SecureTicketAuthorityUrls @("http://staurl1", "http://staurl2")
Add-DSStoreOptimalGateway -SiteId 1 -VirtualPath /Citrix/Store1 -GatewayId 2eba0524-af40-421e-9c5f-a1ccca80715f -Farms @("Controller") -EnabledOnDirectAccess $true
例
ストアInternalのOptimalGatewayForFarmsマッピングを作成または上書きします。
& "$Env:PROGRAMFILES\Citrix\Receiver StoreFront\Scripts\ImportModules.ps1"
Set-DSOptimalGatewayForFarms -SiteId 1 `
-ResourcesVirtualPath /Citrix/Internal `
-GatewayName "gateway1" `
-Hostnames "gateway1.example.com:500" `
-Farms "XenApp","XenDesktop" `
-StaUrls "https://xenapp.example.com/scripts/ctxsta.dll","https://xendesktop.example.com/scripts/ctxsta.dll" `
-StasUseLoadBalancing:$false `
-StasBypassDuration 02:00:00 `
-EnableSessionReliability:$false `
-UseTwoTickets:$false `
-EnabledOnDirectAccess:$true
<!--NeedCopy-->
ゾーンの最適なゲートウェイの構成
例
ゾーンCAMZoneのOptimalGatewayForFarmsマッピングを作成または上書きします。
**& "$Env:PROGRAMFILES\Citrix\Receiver StoreFront\Scripts\ImportModules.ps1" **
\*\*Set-DSOptimalGatewayForFarms -SiteId 1 `\*\*
**-ResourcesVirtualPath /Citrix/Internal `
-GatewayName "gateway1" `
-Hostnames "gateway1.example.com:500" `
-Zones "CAMZone" `
-StaUrls "https://xenapp.example.com/scripts/ctxsta.dll","https://xendesktop.example.com/scripts/ctxsta.dll" `
-StasUseLoadBalancing:$false `
-StasBypassDuration 02:00:00 `
-EnableSessionReliability:$false `
-UseTwoTickets:$false `
-EnabledOnDirectAccess:$true **
<!--NeedCopy-->
例
ストアInternalで、OptimalGatewayForFarmsマッピングの一覧を返します。
Get-DSOptimalGatewayForFarms -SiteId 1 –ResourcesVirtualPath "/Citrix/Internal"
例
ストアInternalのOptimalGatewayForFarmsマッピングをすべて削除します。
Remove-DSOptimalGatewayForFarms -SiteId 1 -ResourcesVirtualPath "/Citrix/Internal"
Configure direct HDX connections for farms
例
ストアInternalで、特定ファームへのすべてのICA起動要求がゲートウェイを経由せずに送信されるようにします。
Set-DSFarmsWithNullOptimalGateway -SiteId 1 -ResourcesVirtualPath /Citrix/Store -Farms "Farm1","Farm2"
例
ストアInternalで、ゲートウェイを経由せずにICA起動要求が送信されるファームの一覧を返します。
Get-DSFarmsWithNullOptimalGateway -SiteId 1 -ResourcesVirtualPath "/Citrix/Internal"
OptimalGatewayForFarmsマッピングがStoreFrontにより使用されているかどうかを確認する
-
次のPowerShellコマンドを実行して、すべてのサーバーグループノードでStoreFrontのトレース機能を有効にします。
& "$Env:PROGRAMFILES\Citrix\Receiver StoreFront\Scripts\ImportModules.ps1"` #Traces output is to c:\Program Files\Citrix\Receiver Storefront\admin\trace\ Set-DSTraceLevel -All -TraceLevel Verbose <!--NeedCopy-->
-
StoreFrontサーバーのデスクトップで、Debug Viewツールを開きます。StoreFrontサーバーグループを使用している場合は、起動要求を受信したノードのトレース情報を取得できるように、すべてのノード上でDebug Viewツールを開く必要があります。
-
Capture Global Win32イベントを有効にします。
-
トレース出力をLOGファイルとして保存して、メモ帳などのテキストエディターで開きます。以下のサンプルシナリオを参照して、ログエントリを検索します。
-
ログの確認が終わったら、トレース機能を無効にします。トレース機能を有効にしておくと、StoreFrontサーバー上のディスク領域が消費されます。
Set-DSTraceLevel -All -TraceLevel Off
最適なゲートウェイのサンプルシナリオ
- External client logs on **Gateway1**. Launch is directed through the designated optimal gateway **Gateway2** for the farm **Farm2**.
`Set-DSOptimalGatewayForFarms -onDirectAccess=false`
Farm2 is configured to use the optimal gateway Gateway2.
Farm2 has optimal gateway on direct access disabled.
The optimal gateway Gateway2 will be used for the launch.
- Internal client logs on using StoreFront. Launch is directed through the designated optimal gatewayGateway1 for the farm Farm1.
`Set-DSOptimalGatewayForFarms -onDirectAccess=true`
No dynamically identified gateway in request. StoreFront was contacted directly.
Farm1 is configured to use the optimal gateway Gateway1.
Farm1 has optimal gateway on direct access enabled.
The optimal gateway Gateway1 will be used for the launch.
- Internal client logs on using Gateway1. Launches of resources on Farm1 are prevented from passing through any gateway and StoreFront is contacted directly.
`Set-DSFarmsWithNullOptimalGateway`
Dynamically identified gateway in request: Gateway1
Farm1 is configured to not use a gateway. No gateway will be used for launch.