ネットワークの場所サービスを使用したワークスペースへの接続の最適化(Technical Preview)

注:

この機能は、現在Technical Preview段階です。Technical Preview機能は、テスト環境でのみ使用することをお勧めします。

Citrix Cloudのネットワークの場所サービスを使用すると、利用者のワークスペースで利用できるアプリとデスクトップへの内部トラフィックを最適化して、HDXセッションを高速化できます。通常、内部ネットワークと外部ネットワークの両方のユーザーが、外部ゲートウェイを経由してVDAに接続する必要があります。これは外部ユーザーにとっては妥当な処理ですが、内部ユーザーにとっては仮想リソースへの接続が遅くなります。ネットワークの場所サービスにより、内部ユーザーはゲートウェイを経由せずにVDAに直接接続できるため、内部ネットワークトラフィックの遅延が短縮されます。

ネットワークの場所サービスを設定するには、シトリックスが提供するネットワークの場所サービスPowerShellモジュールを使用し、環境内でVDAに対応するネットワークの場所を構成します。これらのネットワークの場所には、内部ユーザーの接続元であるネットワークのパブリックIPアドレス範囲が含まれます。利用者がワークスペースからVirtual Apps and Desktopsセッションを起動すると、Citrix Cloudでは、接続元ネットワークのパブリックIPアドレスに基づいて利用者が企業ネットワークの中にいるか、外にいるかが検出されます。利用者が内部ネットワークから接続している場合、Citrix Cloudでは接続がCitrix Gatewayを経由せずVDAに直接ルーティングされます。利用者が外部から接続している場合、Citrix Cloudでは利用者が予定どおりCitrix Gatewayを経由してルーティングされ、内部ネットワークのVDAにリダイレクトされます。

サポートされている製品

ネットワークの場所サービスは、Virtual Apps and Desktopsサービスでのみサポートされています。Citrix Managed DesktopsおよびCitrix SD-WANのサポートについては、Technical Previewを参照してください。

重要:

環境にManaged DesktopsがオンプレミスVDAとともに含まれている場合、ネットワークの場所サービスを構成すると、内部ネットワークからのManaged Desktopsの起動が失敗します。

Secure Browser、Citrix Virtual Apps Essentials、およびCitrix Virtual Desktops Essentialsの起動は、常にゲートウェイを経由してルーティングされます。そのため、これらの起動では、ネットワークの場所サービスを構成してもパフォーマンスは向上すません。

要件

ネットワークの要件

  • 社内ネットワークとゲストWifiネットワークがある場合、これらのネットワークには個別のパブリックIPアドレスが必要です。企業ネットワークとゲストネットワークが同じパブリックIPアドレスを共有している場合、ゲストネットワーク上のユーザーはVirtual Apps and Desktopsセッションを起動できません。
  • 内部ユーザーの接続元であるネットワークのパブリックIPアドレス範囲を使用する必要があります。これらのネットワーク上の内部ユーザーはVDAに直接接続する必要があります。直接接続しない場合、内部ユーザーはVDAに直接ルーティングされるため、仮想リソースを起動できなくなります。

TLSの要件

ネットワークの場所サービスに正常に接続するには、PowerShellでTLS 1.2を有効にする必要があります。PowerShellでTLS 1.2を使用させるには、次のコマンドを使用します:

```
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
```

ワークスペースの要件

Citrix Cloudでワークスペースを構成する必要があります。Virtual Apps and Desktopsサービスが [ワークスペースの構成]>[サービス統合] で有効化され、オンプレミスVDAを使用して仮想リソースをワークスペースの利用者に提供しています。

HTML5向けWorkspaceアプリの接続でTLSを有効にする

利用者がHTML5向けCitrix Workspaceアプリを使用してアプリやデスクトップを起動する場合、VDAに直接接続するには内部ネットワークでVDAのTLSを有効にする必要があります。内部クライアントとVDA間でのセキュアではない接続はWorkspaceアプリがホストされるHTTPSサイトでは許可されていないため、TLSが必要です。VDAのTLSが有効になっていない場合、ネットワークの場所サービスを使用すると内部ユーザーのHTML5ビューアーを使用した直接接続が失敗し、利用者がアプリやデスクトップを起動できなくなります。Desktop Viewerを使用した起動は影響を受けません。TLSを使用した直接VDA接続について詳しくは、シトリックスサポートKnowledge CenterのCTX134123を参照してください。

Powershellモジュールと構成

PowerShellモジュールのダウンロード

ネットワークの場所を設定する前に、シトリックスが提供するネットワークの場所サービスPowerShellモジュール(nls.psm1)をCitrix Githubリポジトリからダウンロードします。このモジュールを使用して、VDAに必要な数のネットワークの場所を設定できます。

  1. Webブラウザーで、 https://github.com/citrix/sample-scripts/blob/master/workspace/nls.psm1に移動します。
  2. [ALT] キーを押しながら [Raw] ボタンをクリックします。 [Raw]ボタンが強調表示されたGithubファイルビュー
  3. コンピューター上の場所を選択し、[保存] をクリックします。

必要な構成の詳細

ネットワークの場所を設定するには、次の必須情報が必要です:

  • Citrix Cloudセキュアクライアントの顧客ID、クライアントID、およびクライアントシークレット。これらの値を取得するには、この記事の「セキュアクライアントの作成」を参照してください。
  • 内部ユーザーの接続元であるネットワークのパブリックIPアドレス範囲。これらのパブリックIPアドレス範囲について詳しくは、このページの「要件」を参照してください。

スクリプト例」で示されているように、これらの値を入力するためのスクリプトを作成できます。この記事の「ネットワークの場所の構成」で説明されているように、PowerShellコマンドラインからこれらの値を入力することもできます。

注:

PowerShellモジュールには、ハードコーディングされたタイムゾーンが含まれています。このタイムゾーンはネットワークの場所のモジュールの機能には影響しませんが、nls.psm1ファイルの行67-71を変更することで変更できます。

スクリプト例

サンプルスクリプトには、遠隔地のパブリックIPアドレス範囲の追加、変更、削除に必要なすべてのコマンドが含まれています。ただし、1つの機能を実行するためにこのすべてのコマンドを実行する必要はありません。スクリプトを実行するには、常にImport-ModuleからConnect-NLSの最初の10行を含めます。それ以降は、実行したい機能のコマンドのみを含めることができます。

Import-Module .\nls.psm1 -Force
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

$clientId = "XXXX" #Replace with your clientId
$clientSecret = "YYY"    #Replace with your clientSecret
$customer = "CCCCCC"  #Replace with your customerid


# Connect to Network Location Service
Connect-NLS -clientId $clientId -clientSecret $clientSecret -customer $customer

# Create a new Network Location Service Site (Replace with details corresponding to your branch locations)
New-NLSSite -name "New York" -tags @("EastCoast") -timezone "America/New_York" -ipv4Ranges @("1.2.3.0/24") -longitude 40.7128 -latitude -74.0060

# Get the existing Network Location Service Sites
Get-NLSSite

# Create and update a Network Location Service Site
$s = (Get-NLSSite)[0]
$s.ipv4Ranges = @("1.2.3.4/32","4.3.2.1/32")
$s | Set-NLSSite

# Remove all Network Location Service Sites
Get-NLSSite | Remove-NLSSite

(Get-NLSSite)[2] | Remove-NLSSite

セキュアクライアントの作成

  1. https://citrix.cloud.comでCitrix Cloudにサインインします。
  2. Citrix Cloudメニューから、[IDおよびアクセス管理] を選択し、次に [APIアクセス] を選択します。
  3. [セキュアクライアント] タブで、顧客IDをメモします。 顧客IDが強調表示されたセキュアクライアントコンソール
  4. クライアントの名前を入力し、[クライアントの作成] を選択します。
  5. クライアントIDとクライアントシークレットをコピーします。 セキュアクライアントIDおよびシークレットダイアログボックス

ネットワークの場所の構成

  1. PowerShellコマンドウィンドウを開き、PowerShellモジュールを保存したディレクトリに移動します。
  2. 次のモジュールをインポートします:Import-Module .\nls.psm1 -Force
  3. セキュアクライアントの作成」のセキュアクライアント情報を使用して、必要な変数を設定します:
    • $clientId = "YourSecureClientID"
    • $customer = "YourCustomerID"
    • $clientSecret = "YourSecureClientSecret"
  4. セキュアクライアント資格情報を使用してネットワークの場所サービスに接続します:

    Connect-NLS -clientId $clientId -clientSecret $clientSecret -customer $customer
    
  5. ネットワークの場所を作成し、パラメーター値を内部ユーザーの直接接続元である内部ネットワークに対応する値に置き換えます:

    New-NLSSite -name "YourSiteName" -tags @("YourTags") -timezone "YourLocationTimezone" -ipv4Ranges @("ExternalIpsOfYourNetworkSites") -longitude 12.3456 -latitude 12.3456
    
  6. 入力したネットワークの場所の情報が正しいことを確認します:Get-NLSSite
  7. ユーザーの接続元であるすべてのネットワークの場所で手順5および6を繰り返します。

内部起動が正しくルーティングされていることの確認

内部起動がVDAに直接アクセスしていることを確認するには、次のいずれかの方法を使用します:

  • Virtual Apps and DesktopsコンソールからVDA接続を表示します。
  • ICAファイルログを使用して、クライアント接続のアドレス指定が正しいことを確認します。

Virtual Apps and Desktopsサービスコンソール

[管理]>[監視] の順に選択し、アクティブなセッションがあるユーザーを検索します。コンソールの[セッション詳細]セクションでは、直接VDA接続はUDP接続として表示され、ゲートウェイ接続はTCP接続として表示されます。

ICAファイルログ

launch.icaファイルのログ作成を有効にするには」の説明に従い、クライアントコンピューターでICAファイルログを有効にします。セッションを開始した後、ログファイルの [Address] および [SSLProxyHost] エントリを確認します。

直接VDA接続の場合、 [Address] プロパティにはVDAのIPアドレスとポートが含まれ、[SSLProxyHost] プロパティにはVDAのFQDNとポートが含まれます。

ゲートウェイ接続の場合、 [Address] プロパティにはSTAチケットが含まれ、[SSLProxyHost] プロパティにはゲートウェイのFQDNとポートが含まれます。

ネットワークの場所の変更

  1. PowerShellコマンドウィンドウから、既存のネットワークの場所をすべて一覧表示します:Get-NLSSite
  2. 特定のネットワークの場所のIP範囲を変更するには、以下を入力します。

    (Get-NLSSite)[N] -ipv4Ranges @("1.2.3.4/32","4.3.2.1/32") | Set-NLSSite

    [N]はリスト内の場所に対応する番号で、"1.2.3.4/32","4.3.2.1/32"は使用するコンマ区切りのIP範囲です。たとえば、リストの最初の場所を変更するには、次のコマンドを入力します:

    (Get-NLSSite)[0] -ipv4Ranges @("98.0.0.1/32","141.43.0.0/24") | Set-NLSSite

ネットワークの場所の削除

  1. PowerShellコマンドウィンドウから、既存のネットワークの場所をすべて一覧表示します:Get-NLSSite
  2. ネットワークの場所をすべて削除するには、「Get-NLSSite | Remove-NLSSite」を入力します。
  3. 特定のネットワークの場所を削除するには、「(Get-NLSSite)[N] | Remove-NLSSite」を入力します。[N]は、リスト内の場所に対応する番号です。たとえば、リストの最初の場所を削除するには、「(Get-NLSSite)[0] | Remove-NLSSite」を入力します。

トラブルシューティング

Connect-NLSがエラーを返す

Connect-NLSコマンド(「ネットワークの場所の構成」の手順2)の実行中にエラーが返される場合、PowerShellでTLS 1.2を使用させる必要がある可能性があります。そのために、次のコマンドを実行します:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

VDAの起動失敗

VDAセッションの起動に失敗する場合、正しいネットワークのパブリックIPアドレス範囲を使用していることを確認してください。ネットワークの場所を構成する場合、内部ユーザーの接続元であるネットワークのパブリックIPアドレス範囲を使用する必要があります。詳しくは、この記事の「要件」を参照してください。

VDAのパブリックIPアドレスを確認するには、各VDAマシンにログオンし、https://google.comにアクセスして、検索バーに「what is my ip」と入力します。

内部VDA起動がゲートウェイを経由してルーティングされる

内部で起動されたVDAセッションが外部セッションと同様にゲートウェイを経由してルーティングされる場合、内部ユーザーの接続元であるネットワークの正しいIPアドレス範囲を使用していることを確認してください。これらは通常、VDAが存在するネットワークに対応したパブリックIPアドレス範囲です。ただし、ユーザーはVPN経由でVDAにアクセスしている場合があります。VDAのローカルIPアドレスを使用しないでください。詳しくは、この記事の「要件」を参照してください。

VDAのパブリックIPアドレスを確認するには、各VDAマシンにログオンし、https://google.comにアクセスして、検索バーに「what is my ip」と入力します。

追加のヘルプとサポート

トラブルシューティングのヘルプを依頼するか、質問があるか、またはネットワークの場所サービスに関するフィードバックを提供する場合は、ネットワークの場所サービスのTechnical Previewサポートフォーラムにアクセスし、CitrixエキスパートやCitrix Cloudコミュニティの他のメンバーに相談してください。