Product Documentation

可用性の高いマルチサイトストアのセットアップ

Dec 15, 2016

特に地理的に分散した複数の展開環境からリソースを集約するストアについては、展開環境間の負荷分散とフェールオーバー、ユーザーと展開環境のマッピング、および障害回復用の展開環境を構成して、可用性の高いリソースを提供することができます。 複数の展開環境で個別のNetScaler Gatewayアプライアンスを構成している場合は、ユーザーが各展開環境にアクセスするための最適なアプライアンスを定義できます。 

StoreFront 3.5から、StoreFront管理コンソールでは共通のマルチサイトシナリオがサポートされるようになりました。 お客様の要件に合う場合は、この管理コンソールを使用することをお勧めします。 

ユーザーマッピングおよびアグリゲーションの構成

StoreFront管理コンソールでは、次の操作を行うことができます。

  • 展開環境へのユーザーのマッピング:Active Directoryグループメンバーシップに基づいて、特定の展開環境へのアクセス権を持つユーザーを制限できます。 
  • 展開環境の集計:集計対象のリソースがある展開環境を指定できます。 集計された展開環境のリソースは、単一の高可用性リソースとしてユーザーに示されます。
  • 展開環境へのゾーンの関連付け:StoreFrontでは、グローバルな負荷分散構成のNetScaler Gatewayを使用してアクセスされた場合、リソースの起動時に、ゲートウェイゾーンに一致するゾーンの展開環境が優先されます。

重要:複数サーバーによる展開環境では、複数のサーバー上で同時にサーバーグループの構成を変更しないでください。 展開内のほかのサーバー上でCitrix StoreFront管理コンソールを同時に実行していないことを確認してください。 変更が完了したら、構成の変更をサーバーグループに反映させて、展開内のほかのサーバーを更新します。

  1. すべてのXenDesktopおよびXenApp展開環境の詳細を使用してストアが正しく構成されていることを確認します。 ストアへの展開環境の追加について詳しくは、「ストアに表示するリソースを管理するには」を参照してください。
  2. Windowsの[スタート]画面または[アプリ]画面で、[Citrix StoreFront]タイルをクリックします。
  3. Citrix StoreFront管理コンソールの左ペインで[ストア]ノードを選択して、[操作]ペインの[Delivery Controllerの管理]をクリックします。
  4. 2つ以上のControllerが定義されている場合、[ユーザーマッピングおよびマルチサイトアグリゲーション構成]>[構成]の順にクリックします。
  5. [ユーザーをControllerにマップ]をクリックして、Delivery Controllerをユーザーが使えるようにするのか画面上で選択します。
  6. [リソースをまとめる]をクリックしてコントローラーを選択し、[アグリゲート]をクリックしてDelivery Controllerをまとめるかどうかを指定します。 Delivery Controllerのアグリゲーションを有効にすると、同じ表示名とパスのDelivery Controllerのアプリケーションおよびデスクトップは、Citrix Receiverに単一のアプリケーション/デスクトップとして表示されます。
  7. [集計済みコントローラーの設定]チェックボックスのいずれかまたはオンにして、[OK]をクリックします。

コントローラーの公開_同一のリソース - オンにすると、集計済みセットにあるいずれか1つのみのコントローラーのリソースが列挙されます。 オフにすると、(利用できるリソースのユーザーのセット全体を集計するために)集計済みセットにあるすべてのコントローラーのリソースが列挙されます。 このオプションをオンにするとリソース列挙時のパフォーマンスが向上します。ただし、リソースのリストが集計済みのすべての展開環境全体で同一であることが確実でない限り、お勧めしません。

複数のコントローラーでリソースを負荷分散します - オンにすると、利用可能なコントローラーに起動が均一に分散されます。 オフにすると、起動はユーザーマッピングダイアログ画面で指定された最初のコントローラーに割り当てられ、その起動が失敗した場合は以降のコントローラーにフェールオーバーします。

詳細構成

多くの一般的なマルチサイトおよび高可用性操作をStoreFront管理コンソールで構成できますが、以前のバージョンのStoreFrontと同じ方法で構成ファイルを使ってStoreFrontを引き続き構成することもできます。

PowerShellを使用するかStoreFront構成ファイルを編集して利用できる追加機能は次のとおりです。

  • 集計対象として複数の展開環境グループを指定する機能。
    • 管理コンソールでは展開環境を単一のグループにまとめることしかできませんが、大部分の場合はこれで十分です。
    • 参加していないリソースセットを持つ複数の展開環境があるストアでは、複数グループによりパフォーマンスが向上する場合があります。
  • 集計済み展開環境に対して複雑な優先順位を指定する機能。 管理コンソールでは、集計済みの展開環境を負荷分散したり、単一のフェールオーバーリストとして使用したりできます。
  • 障害回復展開環境(他のすべての展開環境が利用できないときのみアクセスされる展開環境)を定義する機能。

警告:構成ファイルを手動で編集して詳細なマルチサイトオプションを構成すると、構成ミスを防ぐため、Citrix StoreFront管理コンソールで一部のタスクを実行できなくなります。

重要:複数サーバーの展開環境では、複数のサーバー上で同時にサーバーグループの構成を変更しないでください。 展開内のほかのサーバー上でCitrix StoreFront管理コンソールを同時に実行していないことを確認してください。 変更が完了したら、構成の変更をサーバーグループに反映させて、展開内のほかのサーバーを更新します。

  1. 障害回復用の展開環境を含め、すべてのXenDesktopおよびXenApp展開環境の詳細を使用してストアが正しく構成されていることを確認します。 ストアへの展開環境の追加について詳しくは、「ストアに表示するリソースを管理するには」を参照してください。
  2. テキストエディターを使ってストアのweb.configファイルを開きます。このファイルは通常、C:\inetpub\wwwroot\Citrix\storename\ディレクトリにあります。ここで、storenameはストアの作成時に指定した名前です。
  3. ファイル内で次のセクションを検索します。

    <resourcesWingConfigurations>
    <resourcesWingConfiguration name="Default" wingName="Default" />
    </resourcesWingConfigurations>

  4. 次のように構成します。

<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>

構成を定義するときに使用する要素は以下のとおりです。

  • 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
    リソースの一部もしくは全部が一致する、同等のXenDesktopまたはXenAppサイトのセットを指定します。 ここには、ストアに追加済みの展開環境の名前を入力します。 入力する展開環境の名前は、ストアに展開環境を追加するときに指定した名前と完全に一致する必要があります。
  • optimalGatewayForFarms
    特定の展開環境のグループで提供されるリソースにユーザーがアクセスするときに使用される最適なNetScaler Gatewayアプライアンスを定義します。 通常、展開環境に最適なアプライアンスは、その展開環境と地理的に同じ場所に配置されます。 「最適なNetScaler Gatewayアプライアンス」は、展開環境にアクセスするときに、StoreFrontにアクセスするときに経由するNetScaler Gatewayアプライアンスと異なるアプライアンスを使用する場合のみ定義します。

サブスクリプション同期の構成

異なるStoreFront展開環境のストアからユーザーのアプリケーションサブスクリプションが定期的に同期されるように構成するには、いくつかのWindows PowerShellコマンドを実行します。

注:StoreFront管理コンソールとPowerShellコンソールを同時に開くことはできません。 StoreFront管理コンソールを閉じてからPowerShellコンソールを開いてください。 同様に、PowerShellのすべてのインスタンスを閉じてからStoreFront管理コンソールを開いてください。
重要:複数サーバーによる展開環境では、複数のサーバー上で同時にサーバーグループの構成を変更しないでください。 展開内のほかのサーバー上でCitrix StoreFront管理コンソールを同時に実行していないことを確認してください。 変更が完了したら、構成の変更をサーバーグループに反映させて、展開内のほかのサーバーを更新します。

サブスクリプションを同期する場合は、ストア間でDelivery Controller名が一致している必要があります(大文字と小文字は区別されます)。 Delivery Controller名が異なると、同期サイト間で異なるサブスクリプションが使用される場合があります。

  1. ローカルの管理者アカウントを使ってWindows PowerShellを起動して、コマンドプロンプトで次のコマンドを実行します。これにより、StoreFrontモジュールがインポートされます。
    Import-Module "installationlocation\Management\Cmdlets\UtilsModule.psm1" Import-Module "installationlocation\Management\Cmdlets\   SubscriptionSyncModule.psm1"

    ここで、installationlocationはStoreFrontのインストール先フォルダーで、通常C:\Program Files\Citrix\Receiver StoreFront\です。

  2. 次のコマンドを入力して、同期するストアを含んでいるリモートのStoreFront展開環境を指定します。
    Add-DSSubscriptionsRemoteSyncCluster -clusterName deploymentname   -clusterAddress deploymentaddress

    ここで、deploymentnameはリモートの展開環境を識別するために定義する名前で、deploymentaddressはStoreFrontサーバーまたは負荷分散サーバーグループの外部アクセス可能なアドレスです。

  3. 次のコマンドを入力して、同期するリモートストアを指定します。
    Add-DSSubscriptionsRemoteSyncStore -clusterName deploymentname   -storeName storename

    ここで、deploymentnameは前の手順でリモート展開環境用に定義した名前であり、storenameはローカルストアおよびリモートストアの作成時に指定した名前です。 アプリケーションサブスクリプションをストア間で同期するには、両方のストアがそれぞれのStoreFront展開環境で同じ名前を持つ必要があります。

  4. 毎日特定の時刻に同期が実行されるように構成するには、次のコマンドを入力します。
    Add-DSSubscriptionsSyncSchedule -scheduleName   synchronizationname -startTime hh:mm

    ここで、synchronizationnameは作成するスケジュールを識別するために定義する名前です。 -startTimeでは、ストア間でサブスクリプションを同期する時刻を指定します。 追加の同期時刻を指定するには、このコマンドを繰り返します。

  5. 特定の間隔で定期的に同期が実行されるように構成するには、次のコマンドを入力します。
    Add-DSSubscriptionsSyncReoccuringSchedule -scheduleName   synchronizationname -startTime hh:mm:ss -repeatMinutes interval

    ここで、synchronizationnameは作成するスケジュールを識別するために定義する名前です。 -startTimeでは、繰り返しスケジュールを開始する時刻を指定します。 intervalでは、同期の実行間隔を分単位で指定します。

  6. リモートの展開環境内の各StoreFrontサーバーのMicrosoft Active Directoryドメインマシンアカウントを、現在のサーバー上のローカルWindowsユーザーグループCitrixSubscriptionSyncUsersに追加します。

    これにより、リモートの展開環境のサーバーからローカルの展開環境のサブスクリプションストアサービスにアクセスできるようになります。 CitrixSubscriptionSyncUsersグループは、手順1.でサブスクリプションの同期モジュールをインポートするときに自動的に作成されます。 ローカルユーザーグループの変更について詳しくは、http://technet.microsoft.com/ja-jp/library/cc772524.aspxを参照してください。

  7. ローカルStoreFront展開環境が複数のサーバーで構成されている場合は、Citrix StoreFront管理コンソールを使用して、グループ内のほかのサーバーに構成の変更を反映させます。

    複数サーバーで構成されるStoreFront展開環境への変更の適用について詳しくは、「サーバーグループの構成」を参照してください。

  8. リモートのStoreFront展開環境で手順1~7を繰り返し、リモート展開環境からローカル展開環境へのサブスクリプションの補完的な同期スケジュールを構成します。

    StoreFront展開環境の同期スケジュールを構成するときは、複数の展開環境で同時に同期が実行されないようにしてください。

  9. ストア間でのユーザーのアプリケーションサブスクリプションの同期を開始するには、ローカルおよびリモートの展開環境でサブスクリプションストアサービスを再起動します。 これを行うには、各展開環境のサーバー上でWindows PowerShellコマンドプロンプトを開き、次のコマンドを入力します。
    Restart-DSSubscriptionsStoreSubscriptionService
  10. 既存の同期スケジュールを削除するには、次のコマンドを入力します。 その後で展開環境のほかのStoreFrontサーバーに構成の変更を反映させて、サブスクリプションストアサービスを再起動します。
    Remove-DSSubscriptionsSchedule -scheduleName synchronizationname  

    ここで、synchronizationnameはスケジュールの作成時に定義した名前です。

  11. StoreFront展開環境に構成済みの同期スケジュールを一覧表示するには、次のコマンドを入力します。
    Get-DSSubscriptionsSyncScheduleSummary

ストアの最適なHDXルーティングの構成

重要:複数サーバーによる展開環境では、複数のサーバー上で同時にサーバーグループの構成を変更しないでください。 展開内のほかのサーバー上でCitrix StoreFront管理コンソールを同時に実行していないことを確認してください。 変更が完了したら、構成の変更をサーバーグループに反映させて、展開内のほかのサーバーを更新します。

ストアの最適なゲートウェイマッピングを定義する際のファームとゾーンの違い

StoreFront 3.5より前にリリースされたバージョンでは、最適なゲートウェイはファームにのみマッピングできました。  ゾーンの概念を利用すれば、XenApp 7.8またはXenDesktop 7.8の展開環境を、XenAppまたはXenDesktopコントローラと公開リソースが存在するデータセンターや地理的な場所に基づいて、複数のゾーンに分割することができます。  ゾーンは、XenAppまたはXenDesktop 7.8 Studioで定義します。 StoreFrontは現在、XenApp 7.8およびXenDesktop 7.8と相互運用できます。StoreFrontで定義されたすべてのゾーンが、XenAppおよびXenDesktopで定義されたゾーン名と正確に一致する必要があります。  

このStoreFrontのバージョンでは、定義済みゾーン内に位置するすべてのDelivery Controllerに対して最適なゲートウェイマッピングを作成することもできます。  最適なゲートウェイへのゾーンのマッピングは、既によく知っているファームを使用したマッピングの作成とほぼ同義です。  その唯一の違いは、ゾーンは通常、もっと多くのDelivery Controllerを含む大規模なコンテナーを表すものであるということです。 すべてのDelivery Controllerを最適なゲートウェイマッピングに追加する必要はありません。 Controllerを目的のゾーン内に配置するには、それぞれのDelivery Controllerに、既にXenAppまたはXenDesktopに定義されているゾーンと一致するゾーン名のタグを付けるだけです。  1つの最適なゲートウェイを複数のゾーンにマッピングすることができますが、通常は単一のゾーンを使用してください。  一般に、ゾーンはある地理的な場所にある1つのデータセンターを表します。  各ゾーンには少なくとも1つの最適なNetscaler Gatewayがあり、そのNetscaler Gatewayがそのゾーン内のリソースへのHDX接続に使用されることが想定されます。

ゾーンについて詳しくは、「ゾーン」を参照してください。

Delivery Controllerのゾーンへの配置

ゾーン内に配置するすべてのDelivery Controllerに対して、ゾーン属性を設定します。

  1. Windowsの[スタート]画面または[アプリ]画面で、[Citrix StoreFront]タイルをクリックします。
  2. Citrix StoreFront管理コンソールの左ペインで[ストア]ノードを選択して、[操作]ペインの[Delivery Controllerの管理]をクリックします。
  3. Controllerを選択し、[編集]をクリックして、[Delivery Controllerの編集]画面の[設定]をクリックします。
  4. [ゾーン]行で、2つ目の列をクリックします。
  5. [Delivery Controllerゾーン名]画面の[追加]をクリックして、ゾーン名を追加します。
localized image

ストアのNetScaler Gatewayルーティングを構成して、HDXエンジンから公開リソース(XenDesktop VDA、およびXenAppやXenDesktopの公開アプリケーション)にアクセスするICA接続の処理を最適化します。 通常、最適なゲートウェイはサイトと地理的に同じ場所に配置されます。

「最適なNetScaler Gatewayアプライアンス」は、ユーザーがStoreFrontにアクセスするときに最適なゲートウェイが使用されない展開環境でのみ定義します。 起動要求をその要求元のゲートウェイ経由で返送する必要がある場合、StoreFrontがこれを自動的に行います。

ファーム使用のシナリオ例

1×UKゲートウェイ -> 1×UK StoreFront

-> UKアプリおよびデスクトップ(ローカル)

–> USアプリおよびデスクトップ(UKユーザーのフェールオーバーとして)

  

1×USゲートウェイ -> 1×US StoreFront

-> USアプリおよびデスクトップ(ローカル)

–> UKアプリおよびデスクトップ(USユーザーのフェールオーバーとして)

UKゲートウェイは、UKでホストされるリソース(UK StoreFrontによるアプリやデスクトップ)へのリモートアクセスを提供します。

UK StoreFrontにはUKおよびUSベースのNetScaler Gatewayが定義されており、Delivery Controllerの一覧にUKおよびUSのファームが含まれています。 UKのユーザーは、地理的に同じ場所に配置されたゲートウェイ、StoreFront、およびファームを使用してリモートリソースにアクセスします。 UKのリソースが使用不能になった場合は、フェールオーバーとして一時的にUSのリソースにアクセスできるようになります。

最適なゲートウェイルーティング構成を行わない場合、すべてのICA起動要求はリソースの場所がUKでもUSでも起動要求元の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: 次善のNetScaler Gatewayルーティング
 
図2: 最適なNetScaler Gatewayルーティング

 

Citrix StoreFront管理コンソールの使用

複数の展開環境で個別のNetScaler Gatewayアプライアンスを構成した後に、ユーザーが各展開環境にアクセスするための最適なアプライアンスを定義できます。

  1. Windowsの[スタート]画面または[アプリ]画面で、[Citrix StoreFront]タイルをクリックします。
  2. Citrix StoreFront管理コンソールの左ペインで[ストア]ノードを選択して、結果ペインでストアを選択します。 [操作]ペインで、[ストア設定の構成]を選択します。
  3. [設定]>[最適な HDX ルーティング]ページで、ゲートウェイを選択します。 
  4. [直接アクセス]チェックボックスを選択すると、-enabledOnDirectAccess = falseと同等の操作になります。また、[ゲートウェイを使用しない]を選択すると、ファームまたはゾーンでSet-DSFarmsWithNullOptimalGatewayを使用する場合と同等の操作になります。
localized image

[ゲートウェイの追加]

前の手順のオプションの1つは、[ゲートウェイの追加]です。 [ゲートウェイの追加]を選択すると、[NetScaler Gatewayの追加]画面が表示されます。

  1. [全般設定]画面で、[表示名]、[NetScaler Gateway URL]、および[使用法]または[役割]設定を入力して、パブリックネットワークから接続しているユーザーに対するNetScaler Gateway経由でのストアへのアクセスを構成します。 認証不要なストアでは、NetScaler Gatewayを介したリモートアクセスは許可されません。
  2. [Secure Ticket Authority(STA)]画面で、表示されているオプションを入力します。 STAは、XenDesktopおよびXenAppサーバーでホストされ、接続要求に応答してセッションチケットを発行します。 セッションチケットは、XenDesktopおよびXenAppリソースへのアクセスを認証および承認するための基本機能です。
  3. [認証設定]画面で、リモートユーザーによる認証資格情報の提供方法を指定する設定を入力します。 

PowerShellを使用して最適なNetScaler Gatewayルーティングを構成するには

PowerShell APIパラメーター

Parameters説明
-SiteId(Int)

IISでのサイトIDです。 StoreFrontのインストール先のIISでは、通常「1」です。

-ResourcesVirtualPath(String)

最適なゲートウェイマッピングのファームを構成するストアのパスです。

例:"/Citrix/Store"

-GatewayName(String)

StoreFrontでNetscaler Gatewayを識別するために設定された名前です。

例1:ExternalGateway

例2:InternalGateway

-Hostnames(String Array)

最適なNetScaler Gatewayアプライアンスの完全修飾ドメイン名(FQDN)とポート番号を指定します。

標準的なvServerポート443の例1:gateway.example.com

非標準的なvServerポート500の例2:gateway.example.com:500

-Farms(String Array)

指定するNetScaler Gatewayアプライアンスを共有し、通常は同じ場所に配置されているXenDesktop、XenApp、およびApp Controllerの展開環境の一覧を指定します。 公開リソースを提供する1つ以上のDelivery Controllerを持つファームを指定できます。

複数のDelivery Controllerを持つXenDesktopサイトを構成するには、「"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を実行しているXenDesktop、XenApp、およびVDI-in-a-Boxサーバーの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にNetScaler Gateway経由でアクセスするユーザーを除き、最適なアプライアンスを介してルーティングされません。

 

注:PowerShellスクリプトが複数行にまたがる場合は、各行末にバッククォート文字を入力してください。

サンプルコードを実行する前に、Windows PowerShell Integrated Scripting Environment(ISE)にコピーして形式チェッカーを使ってPowershellコードを検証することをお勧めします。

ファームの最適なゲートウェイの構成

例:

ストア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

 

ゾーンの最適なゲートウェイの構成

例:

ゾーン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   

例:

ストアInternalで、OptimalGatewayForFarmsマッピングの一覧を返します。

Get-DSOptimalGatewayForFarms -SiteId 1 –ResourcesVirtualPath "/Citrix/Internal"

例:

ストアInternalのOptimalGatewayForFarmsマッピングをすべて削除します。

Remove-DSOptimalGatewayForFarms -SiteId 1 -ResourcesVirtualPath "/Citrix/Internal"

ファームの直接HDX接続の構成

例:

ストアInternalで、特定ファームへのすべてのICA起動要求がゲートウェイを経由せずに送信されるようにします。

Set-DSFarmsWithNullOptimalGateway -SiteId 1 -ResourcesVirtualPath /Citrix/Store -Farms "Farm1","Farm2"

例:

ストアInternalで、ゲートウェイを経由せずにICA起動要求が送信されるファームの一覧を返します。

Get-DSFarmsWithNullOptimalGateway -SiteId 1 -ResourcesVirtualPath "/Citrix/Internal"

 

OptimalGatewayForFarmsマッピングが使用されているかどうかを確認する

  1. 次の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

  2. StoreFrontサーバーのデスクトップで、Debug Viewツールを開きます。 StoreFrontサーバーグループを使用している場合は、起動要求を受信したノードのトレース情報を取得できるように、すべてのノード上でDebug Viewツールを開く必要があります。
  3. Capture Global Win32イベントを有効にします。

  4. トレース出力をLOGファイルとして保存して、メモ帳などのテキストエディターで開きます。 以下のサンプルシナリオを参照して、ログエントリを検索します。
  5. ログの確認が終わったら、トレース機能を無効にします。トレース機能を有効にしておくと、StoreFrontサーバー上のディスク領域が消費されます。

    Set-DSTraceLevel -All -TraceLevel Off

    最適なゲートウェイのサンプルシナリオ

    • 外部クライアントはGateway1にログオンします。 ファームFarm2への起動要求が、定義されている最適なゲートウェイGateway2経由で送信されます。

      Set-DSOptimalGatewayForFarms -onDirectAccess=false

      Farm2の最適なゲートウェイとしてGateway2が構成されています。

      Farm2の最適なゲートウェイでは、直接アクセスが無効になっています。

      起動要求は、最適なゲートウェイGateway2を経由します。

    • 内部クライアントはStoreFrontを使用してログオンします。 ファームFarm1への起動要求が、定義されている最適なゲートウェイGateway1経由で送信されます。

      Set-DSOptimalGatewayForFarms -onDirectAccess=true

      動的に識別されるゲートウェイは要求内にありません。 StoreFrontには直接アクセスされます。

      Farm1の最適なゲートウェイとしてGateway1が構成されています。

      Farm1の最適なゲートウェイでは、直接アクセスが有効になっています。

      起動要求は、最適なゲートウェイGateway1を経由します。

    • 内部クライアントはGateway1を使用してログオンします。 Farm1のリソースの起動要求はいずれのゲートウェイも経由せず、StoreFrontには直接アクセスされます。

      Set-DSFarmsWithNullOptimalGateway

      要求内で動的に識別されるゲートウェイ:Gateway1

      Farm1では、ゲートウェイが使用されません。 起動要求が経由するゲートウェイはありません。