クロスプラットフォーム版 CData Sync を IIS にデプロイする方法



CData Sync は Microsoft Internet Information Services (IIS) にデプロイできます。これにより、企業は Sync を外部公開可能なウェブサイトとしてホストし、許可されたユーザーがリモートでアクセスできるようになります。このデプロイ方式を使用すると、CData Sync の組み込み Web サーバーのシンプルさと機能を維持しながら、セキュリティ強化、負荷分散、Web アプリケーションの一元管理など、IIS の高度な機能を活用できます。

この記事では、CData Sync を IIS にデプロイする2つの方法について説明します。推奨される方法は IIS を CData Sync のリバースプロキシとして設定する方法で、もう1つはレガシーな方法として CData Sync を IIS に直接デプロイする方法です。

IIS をリバースプロキシとして設定する(推奨)

前提条件:

  • CData Sync がインストール・設定済みのサーバー
  • IIS がインストールされたサーバー(URL Rewrite モジュールおよび Application Request Routing (ARR) モジュールが必要)
  • IIS と CData Sync サーバー間の通信を許可する適切なネットワーク権限

ステップ 1:CData Sync のインストールと設定

CData Sync がデフォルトポート、またはカスタム設定を行っている場合はそのポートでインストールされ、正常に動作していることを確認してください。先に進む前に、CData Sync の Web インターフェースに直接アクセスできることを確認しましょう。

ステップ 2:IIS と必要なモジュールのインストール

  1. リバースプロキシを設定するサーバーに IIS をインストールします。
  2. URL Rewrite モジュールと ARR モジュールがインストールされていることを確認してください。まだインストールされていない場合は、Microsoft IIS ダウンロードページからダウンロードしてインストールできます。

ステップ 3:IIS をリバースプロキシとして設定

  1. IIS マネージャーを開く:サーバーから Internet Information Services (IIS) マネージャーを起動します。
  2. サイトを選択:リバースプロキシを設定するサイトを選択または作成します。通常はDefault Web Siteを使用します。
  3. URL Rewrite の設定:
    1. IIS マネージャー内でURL Rewrite機能を開きます。
    2. Add Rule(s)…をクリックし、OKをクリックします。
    3. 利用可能なルールテンプレートの一覧からReverse Proxyを選択します。
    4. CData Sync が動作しているホスト名(IP アドレスまたはドメイン)とポートを入力します。例えば、CData Sync が同じサーバーで動作している場合は、localhost とポート番号を入力します。
  4. ARR の設定:
    1. IIS マネージャーでApplication Request Routing Cacheを開きます。
    2. 右側のパネルでServer Proxy Settingsを開きます。
    3. Enable proxyのチェックボックスをオンにし、HTTP リクエストを CData Sync サーバーに転送するように設定されていることを確認します。
  5. IIS でサーバー変数を追加:
    1. 設定対象のサイトでURL Rewriteを開きます。
    2. 以下のサーバー変数を追加します:
      • HTTP_X_FORWARDED_PROTO = https
      • HTTP_X_FORWARDED_HOST = {HTTP_HOST}
    3. 変更を保存して適用します。

    これにより、サイトの web.config ファイルに以下のようなエントリが追加されます:

    <serverVariables>
        <set name="HTTP_X_FORWARDED_PROTO" value="https" />
        <set name="HTTP_X_FORWARDED_HOST" value="{HTTP_HOST}" />
    </serverVariables>
  6. Sync でプロキシモードを有効化

    IIS の背後で動作する際に Sync が転送されたヘッダーを正しく解釈できるように、sync.properties ファイルに以下のプロパティを追加して保存します:

    cdata.http.proxyMode=true

ステップ 4:テストと検証

IIS サーバーの URL から CData Sync UI にアクセスして、設定をテストします。機能の欠落やパフォーマンスの問題がなく、すべての機能が期待どおりに動作していることを確認してください。

オプション:SSL の設定

セキュアな通信のために SSL が必要な場合:

  • HTTPS リクエストを処理するために、IIS で SSL 証明書を設定します。
  • IIS での SSL ターミネーションを設定します。これにより、SSL リクエストは IIS で復号され、HTTP として CData Sync に転送されます。または、暗号化されたリクエストを直接転送する SSL パススルーを設定することもできます。

IIS への直接デプロイ(レガシー)

Sync には組み込みの Jetty Web サーバーが含まれていますが、Microsoft IIS Web サーバーにデプロイすることも可能です。以下のセクションでは、IIS へのデプロイに必要な手順を説明します。

前提条件:

  • CData Sync がインストール・設定済みのサーバー
  • Microsoft IIS ダウンロードページから HttpPlatformHandler モジュールをインストールした IIS サーバー
  • IIS と CData Sync サーバー間の通信を許可する適切なネットワーク権限
  • Sync 用の新しいフォルダを作成します(例:C:\inetpub\sync)。
  • 作成したフォルダに web.config ファイルを作成し、以下の内容を追加します:
    <?xml version="1.0" encoding="UTF-8" ?>
    <configuration>
        <system.webServer>
            <handlers>
                <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
            </handlers>
            <httpPlatform processPath="C:\Program Files\CData\CData Sync\jre\jdk-17.0.5+8\bin\java.exe"
                          arguments="-Dcdata.http.port=%HTTP_PLATFORM_PORT% -jar &quot;C:\Program Files\CData\CData Sync\sync.jar&quot;"
                          stdoutLogEnabled="true"
                          stdoutLogFile="C:\inetpub\sync\log.txt">
            </httpPlatform>
        </system.webServer>
    </configuration>

ステップ 1:新しい Web サイトを作成

  1. IIS マネージャーを開きます。
  2. ConnectionsパネルでSitesを右クリックし、Add Websiteを選択します。
  3. 表示されるAdd Websiteダイアログに以下の情報を入力します:
    • Site name - Web サイトの名前(例:「My Sync Website」)
    • Physical path - 先ほど作成したフォルダの物理パス(例:C:\inetpub\sync)
    • Type - プロトコルタイプ(デフォルト値のhttpのままにします)
    • Port - Web サイトをバインドするポート番号。デフォルトポート(80)でも、別のポートを選択しても構いません。
  4. OKをクリックして新しい Web サイトを起動します。
  5. ブラウザで http://127.0.0.1:ポート番号 にアクセスして Sync を開きます。

注意:

  • この例ではデフォルトの Web サイトを使用しています。
  • HTTP パスに「localhost」は使用できません。代わりに IP アドレスを使用してください。

ステップ 2:ディレクトリ権限の設定

アプリケーションが完全に機能するためには、Sync アプリケーションディレクトリへのフルアクセス権が必要です。アプリケーションディレクトリには、connections、data、db、downloads、locks、logs、profiles の各フォルダが含まれています。

権限を設定するには、Sync インストールのアプリケーションディレクトリを見つけて、以下の手順に従ってください:

  1. フォルダを右クリックしてPropertiesをクリックします。SecurityタブでEdit > Addを選択します。
  2. Enter the object names to selectボックスに以下のテキストを入力します。YourApplicationPool の部分をお使いのアプリケーションプールの名前に置き換えてください(例:IIS AppPool\\DefaultAppPool):
    IIS AppPool\\[YourApplicationPool]
  3. アプリケーションプールに以下の権限があることを確認してください:Read、Write、Modify、Read & Execute、List Folder Contents

注意:以下の例のように、コマンドラインを使用してアプリケーションプールへのアクセスを許可することもできます:

icacls "www" /grant "IIS APPPOOL\\DefaultAppPool":(OI)(M)

ステップ 3:アプリケーションプロセスのアンロードを防止

IIS は、アイドルタイムアウトを超過した場合や、アプリケーションプールのリソース使用量が高すぎると判断した場合など、いくつかの理由で Web アプリケーションを終了することがあります。これにより、アプリケーションのバックグラウンドタスクが停止する可能性があります。以下の設定を変更して、アプリケーションを常に実行状態に保ちましょう:

  1. オプションの Application Initialization 機能を有効にします。
    • Windows Server 2012 R2 および Windows Server 2016 では、Server Managerを開き、Dashboard > Quick Start > Add Roles and Featuresを選択してAdd Roles and Featuresウィザードを開きます。Server Rolesのステップで、Web Server (IIS) > Web Server > Application Development > Application Initializationを選択します。
    • Windows 8 および Windows 10 では、Control Panelを開き、Programs and Features > Turn Windows Features On or Offを選択します。次に、Internet Information Services > World Wide Web Services > Application Development Features > Application Initializationを選択します。
  2. IIS マネージャーのConnectionsパネルで、Application Pools > YourApplicationPool > Advanced Settingsを選択し、以下の設定を行います:
    • General設定で、Start ModeAlwaysRunningに設定します。
    • Process Model設定で、Idle Timeoutプロパティを0に設定します。IIS 8 を使用している場合は、General設定のStart AutomaticallyプロパティがTrueに設定されていることを確認してください。
    • CPUセクションで、LimitIntervalプロパティを0に設定します。
    • Recyclingセクションで、Regular Time Intervalプロパティを0に設定します。
    • RecyclingセクションのGenerate Recycle Event Log Entryノードで、Regular Time IntervalFalseに設定します。

ステップ 4:ASP.NET アプリケーションプールのリサイクルを設定

IIS は ASP.NET アプリケーションプールのプロセスをクリーンアップするために定期的にリサイクルを行います。Recyclingセクションに移動してSpecific TimeTrueに設定することで、ピーク時間外にリサイクルをスケジュールできます。リサイクルを開始する時刻を hh:mm:ss 形式で入力してください。

ステップ 5:アプリケーションのプリロード

IIS のプリロード機能は、ユーザーが接続する前にアプリケーションを実行できるようにすることで、パフォーマンスを向上させます。この機能を有効にするには、Connections パネルで Sync に関連付けられた Web アプリケーションを右クリックし、Manage Application > Advanced Settingsを選択します。PreloadEnabled メニューでTrueを選択します。

PreloadEnabled をTrueに設定すると、IIS は Web サイトまたは仮想ディレクトリのデフォルトページへのユーザーリクエストをシミュレートし、アプリケーションを初期化します。

ステップ 6:設定の確認

アプリケーションを開いて設定を確認するには、http://127.0.0.1/ポート番号 にアクセスしてください。

オプション:SSL の設定

セキュアな通信のために SSL が必要な場合:

  • HTTPS リクエストを処理するために、IIS で SSL 証明書を設定します。
  • IIS での SSL ターミネーションを設定します。これにより、SSL リクエストは IIS で復号され、HTTP として CData Sync に転送されます。または、暗号化されたリクエストを直接転送する SSL パススルーを設定することもできます。

無料トライアルと詳細情報

CData Sync を Microsoft Internet Information Services (IIS) にデプロイする方法についてご紹介しました。CData Sync ページで詳細情報をご覧いただき、無料トライアルをダウンロードしてください。クラウドデータウェアハウスへの企業データの統合を今すぐ始めましょう!ご質問がございましたら、サポートチームがいつでもお手伝いいたします。