過去二回の記事で(一回目二回目)、災害対策でクラウドを含めた複数のデータセンターを利用する際の注意点について書きましたが、大規模な仮想デスクトップのコンサルティング案件を実施させていただく中で近年よく含まれる要件が仮想デスクトップへの社外からのリモートアクセスです。

リモートアクセスの要件としては、通常業務でのモバイル利用を行う場合に加えて、最近では、パンデミック時や災害時を想定し自宅から利用させる場合なども増えてきました。後者の場合は DR 発動時にも社外からのリモートアクセスが必要となりますので、複数のデータセンターにリモートアクセスのゲートウェイを設けることになり構成に工夫が必要になります。

StoreFront の最近のバージョンからは、リモートアクセスに用いる NetScaler Gateway が複数ある場合に最適なゲートウェイを設定するための機能が追加されています。以下ではこの機能を用いて、複数のデータセンターがある場合のリモートアクセスについてまとめたいと思います。

■シングル構成

Single NetScaler Gateway
片方のデータセンターのみのシングル構成

データセンターは複数あるが、社外からのリモートアクセスのゲートウェイはどちらかにしかない、という構成です。予算の都合などでよくありがちな構成なのですが、この場合データセンターAが被災した場合にリモートアクセスはできなくなってしまいます。

また、通常の通信も、リモートアクセスのゲートウェイが無いデータセンターへのアクセスはデータセンター間をまたぐ通信となり、データセンター間回線の帯域使用量が増加します。また、ホップ数が増加することに伴う遅延なども想定されます。

■データセンターごと構成

Multiple NetScaler Gateway
データセンターごとの構成

データセンターごとに社外からのリモートアクセスのゲートウェイを用意する構成です。この構成では、データセンターBに自分のデスクトップがあることをユーザーがわかっている場合はデータセンター内に閉じた通信とすることができます。

ただし、「大阪のユーザーは関西のデータセンター」のようにわかりやすく決まっておらず、「社員番号が奇数のユーザーは関西のデータセンター」のように機械的に割り振ってユーザーには所属データセンターを通知していないような場合には、ユーザーが選択することができないため、データセンターまたぎの通信となる場合が出てきてしまいます。

これを防ぐための機能が、StoreFront の Optimal Gateway Routing (日本語ドキュメントでは「最適な NetScaler Gateway ルーティング」)の機能です。以下では単に「Optimal Gateway」と表記します。

■データセンターごと構成 + StoreFront の Optimal Gateway の構成

Optimal NetScaler Gateway Routing
Optimal Gatewayの構成

Optimal Gateway の設定を行うと、各 XenDesktop サイトごとに受け持つ NetScaler Gateway を設定できます。例えば、この図の場合、データセンターBの XenDesktop サイトではデータセンターBの NetScaler Gateway を使う、という設定が可能です。データセンターBの XenDesktop サイトにデスクトップがあるユーザーの場合、認証がどちらのセンターの NetScaler Gateway であっても ICA 接続にはデータセンターBのゲートウェイを使用します。

仕組みとしては、それほど複雑なことを行っているわけではなく、StoreFront が ICA ファイルを生成する際に、接続先のNetScaler Gateway の情報を、この設定に応じて変更するという仕組みになっています。これにより、認証先と ICA 接続先の NetScaler Gateway が異なるという構成が可能となり、最適な経路が選択できることになります。

設定は StoreFront で PowerShell を用いて行います。現在 Tech Preview が公開されている StoreFront の次期バージョンからは GUI から設定が可能になる予定です。PowerShell の構文については以下のドキュメントの記載を参照ください。

http://docs.citrix.com/ja-ja/storefront/3/configure-high-availability-for-stores/sf-configure-ha.html#par_anchortitle_dd84

■Optimal Gateway 応用編
ここまでで述べたように、接続するデータセンターに応じて NetScaler Gateway を変える、というのはこの機能の王道なわけですが、この仕組みを用いて他の用途にも応用可能です。

・認証は StoreFront に対して実行し、 ICA 接続は NetScaler Gateway 経由とする
参考KB: http://support.citrix.com/article/CTX200129

設定の際に enabledOnDirectAccess=”true” を指定することで、NetScaler Gateway で認証しなかったものについてもゲートウェイ経由の接続とすることができます。例えば、社内環境でドメインに参加した端末からの接続で、端末の認証情報を用いて
StoreFront に SSO(パススルー認証)したいが、通信経路としては暗号化したい、というような場合に使用可能です。

・認証は NetScaler Gateway 経由とするが、 ICA 接続は直接行う。

設定の際にゲートウェイを指定しないことで、 「Null Gateway」という構成となります。この場合、NetScaler Gateway で二要素などの高度な認証を行った後で、経路しては仮想デスクトップと直接通信する、という構成が可能です。

例えば、社内からのアクセスでネットワーク経路としてはセキュアだが、持ち込みの PC などから接続する場合のセキュリティを考慮し、認証は高度にしておく、というような場合に適用できます。

・認証する NetScaler Gateway ではクライアント証明書をチェックし、ICA 接続先ではチェックしない
参考 KB: http://support.citrix.com/article/CTX200193

複数のクライアント証明書を持つような環境では、NetScaler Gateway での認証時と、Citrix Receiver でのICA接続時の二回クライアント証明書の選択ダイアログが表示されてしまいます。(Windows の場合でクライアント証明書が一つの場合は、インターネットオプションで選択ダイアログを表示させないことが可能です)

そのような場合、KB の記載のようにクライアント証明書をチェックしない NetScaler Gateway を定義することで認証時のみダイアログが出るように設定可能です。KB では同じ FQDN で異なるポートを指定していますが、443ではないポートを使うのは社外からのリモートアクセスとしては現実的ではないので、別の FQDN でクライアント証明書をチェックしない NetScaler Gateway を立て、 Optimal Gateway の設定で ICA 接続先はそちらを指定する、という構成を取ることができます。

長くなってしまいましたが、StoreFront と NetScaler Gateway を組み合わせることで、柔軟かつ効率的な社外からのリモートアクセス環境を構築することが可能です。Citrix コンサルティングの案件でも、新規環境の設計や構築に加えて、既存の仮想デスクトップ環境にリモートアクセスを追加する、といったものも実施していますので、お声かけ頂ければ幸いです。


コンサルティングサービスの詳細はこちら
トレーニングや資格に関する詳細はこちら