直接ワークロード接続でワークスペースへの接続を最適化

注:

現在これはLimited Releaseの機能です。この機能は実稼働環境で使用できますが、適していない環境もあります。詳しくは、このページの「このLimited Releaseについて」を参照してください。

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

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

このLimited Releaseについて

直接ワークロード接続が使用するネットワークの場所サービス(NLS)は現在、Amazon Web Service US-Eastリージョンの複数のアベイラビリティゾーンでホストされています。NLSの呼び出しは、他の多くの呼び出しと並行して、デスクトップまたはアプリの起動時に行われます。NLSは、呼び出し元のパブリックIPアドレスをチェックし、ユーザーが内部か外部かを応答します。並行した他の呼び出しが返される前にNLSからの応答を受信していないまれな場合は、起動はGatewayを介してルーティングされます。

NLSは単一のPoPでホストされます。そのため、AWSのUS-Eastリージョンでリージョン全体の停止がありすべてのアベイラビリティゾーンが影響を受けている場合、NLSはオフラインになります。現時点では、AWSはリージョン全体の停止を経験したことがなく、99.999%の稼働率が保証されています。ただし、障害が発生した場合は、すべての起動は直接VDAを経由するのではなくGatewayを介してルーティングされます。US-Eastリージョンが再びオンラインになると、起動はVDA経由でルーティングされます。起動の失敗や遅延は発生しませんが、遅延は直接ワークロード接続を有効にする前に経験したレベルに戻ります。直接ワークロード接続を有効にする前に、この可能性を許容できるかを検討してください。

サポートされている製品

直接ワークロード接続は、Virtual Apps and Desktopsサービスでのみサポートされています。Citrix Managed DesktopsおよびCitrix SD-WANでのサポートについては、Limited Releaseを参照してください。

重要:

環境にCitrix Managed DesktopsがオンプレミスVDAとともに含まれている場合、直接ワークロード接続を構成すると、内部ネットワークからのCitrix 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の使用を強制するには、PowerShellモジュールの使用前に次のコマンドを使用します:

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

ワークスペースの要件

  • Citrix Cloudでワークスペースが構成されています。
  • Virtual Apps and Desktopsサービスは、[ワークスペース構成]>[サービス統合] で有効になっています。
  • オンプレミスVDAを使用して、仮想リソースをワークスペース利用者に配信します。

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

利用者がHTML5向けCitrix Workspaceアプリを使用してアプリやデスクトップを起動する場合、VDAに直接接続するには内部ネットワークでVDAのTLSを有効にすることをお勧めします。VDAでTLSが有効になっていない場合、利用者がHTML5向けWorkspaceアプリを使用すると、アプリとデスクトップの起動はGatewayを介してルーティングされます。Desktop Viewerを使用した起動は影響を受けません。TLSを使用した直接VDA接続について詳しくは、シトリックスサポートKnowledge CenterのCTX134123を参照してください。

構成の概要

直接ワークロード接続を構成するには、次のタスクを実行します:

  1. 内部ユーザーの接続元である各ブランチの場所のパブリックIPアドレス範囲を決定します。
  2. PowerShellモジュールのダウンロード」を参照してください。
  3. Citrix CloudでセキュアAPIクライアントの作成を実行し、クライアントIDとシークレットを書き留めます。
  4. PowerShellモジュールのインポートを実行し、APIクライアントの詳細を使用してネットワークの場所サービスに接続します。
  5. 前述の決定したパブリックIPアドレス範囲を使用して、ブランチの場所ごとにNLSサイトを作成します。直接ワークロード接続は、指定した内部ネットワークの場所からのすべての起動に対して自動的に有効になります。
  6. 内部ネットワーク上のデバイスからアプリまたはデスクトップを起動し、接続がGatewayを省略してVDAに直接接続されていることを確認します。

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アドレス範囲について詳しくは、このページの「要件」を参照してください。

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

  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") -ipv4Ranges @("PublicIpsOfYourNetworkSites") -longitude 12.3456 -latitude 12.3456
    

    ネットワークの場所が正常に作成されると、コマンドウィンドウにネットワークの場所の詳細が表示されます。

  6. ユーザーの接続元であるすべてのネットワークの場所で手順5を繰り返します。
  7. コマンドGet-NLSSiteを実行して、NLSで構成したすべてのサイトの一覧を返し、それらの詳細が正しいことを検証します。

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

内部起動が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]はリスト内の場所に対応する0から始まる番号で、"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」を入力します。

スクリプト例

サンプルスクリプトには、遠隔地のパブリック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") -ipv4Ranges @("1.2.3.0/24") -longitude 40.7128 -latitude -74.0060

# Get the existing Network Location Service Sites (optional)
Get-NLSSite

# Update the IP Address ranges of your first Network Location Service Site (optional)
$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 (optional)
Get-NLSSite | Remove-NLSSite

# Remove your third site (optional)
(Get-NLSSite)[2] | 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」と入力します。

追加のヘルプとサポート

トラブルシューティングのヘルプまたは質問については、Citrix営業担当者またはシトリックスサポートにお問い合わせください。