ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Directory Server Enterprise Edition管理者ガイド
11g リリース1 (11.1.1.7.0)
B72439-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

18 Directory Proxy Serverのロード・バランシングおよびクライアント・アフィニティ

ロード・バランシングおよびクライアント・アフィニティの詳細は、Oracle Directory Server Enterprise Editionのリファレンスの第16章のDirectory Proxy Serverのロード・バランシングおよびクライアント・アフィニティに関する章を参照してください。この章の内容は、次のとおりです。

18.1 ロード・バランシングの構成

ロード・バランシングの詳細は、Oracle Directory Server Enterprise Editionのリファレンスロード・バランシングに関する項を参照してください。この項では、ロード・バランシングの構成方法を説明し、構成例を提供します。

18.1.1 ロード・バランシング・アルゴリズムを選択するには

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

  1. LDAPデータソース・プールのプロパティを表示することによって、現在のロード・バランシング・アルゴリズムを取得します。

    $ dpconf get-ldap-data-source-pool-prop -h host -p port pool-name
    

    LDAPデータソース・プールのデフォルトのプロパティは、次のとおりです。

    
    client-affinity-bind-dn-filters         : any
    client-affinity-criteria                : connection
    client-affinity-ip-address-filters      : any
    client-affinity-policy                  : write-affinity-after-write
    client-affinity-timeout                 : 20s
    description                             : Example data source pool
    enable-client-affinity                  : false
    load-balancing-algorithm                : proportional
    minimum-total-weight                    : 100
    proportion                              : 100
    sample-size                             : 100
    

    デフォルトでは、ロード・バランシング・アルゴリズムはproportionalです。

  2. アルゴリズムを使用するようにLDAPデータソース・プールを構成します。

    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
      load-balancing-algorithm:selected-algorithm
    

    ここで、selected-algorithmは、次のいずれかです。

    • failover

    • operational-affinity

    • proportional

    • saturation

    • adaptive failover

    • fastest server

    アルゴリズムの詳細は、Oracle Directory Server Enterprise Editionのリファレンスロード・バランシングの概要に関する項を参照してください。

  3. Directory Proxy Serverのインスタンスを再起動します。

    $ dpadm restart instance-path
    

18.1.2 ロード・バランシングの重みを構成するには

failover、operational-affinity、proportional、saturationおよびadaptive failoverの各アルゴリズムに対して、データソース・プールの他のすべてのアタッチされたデータソースの重みに対するアタッチされたデータソースの重みを構成します。アタッチされたデータソースすべての重みを考慮します。データソースの操作のタイプがdisabledの重みの場合、そのタイプのリクエストはそのデータソースに送信されません。データソースの重みが0(ゼロ)の場合、リクエストはそのデータソースに配布されません。

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

  1. データソース・プールにアタッチされるデータソースのリストを表示します。

    $ dpconf list-attached-ldap-data-sources -h host -p port pool-name
    
  2. アタッチされるデータソースの1つのプロパティを表示します。

    $ dpconf get-attached-ldap-data-source-prop pool-name \
     attached-data-source-name
    

    アタッチされるデータソースのプロパティは、各タイプの操作の重みを定義します。アタッチされるデータソースのデフォルトの重みは、次のとおりです。

    add-weight        :  disabled  
    bind-weight       :  disabled  
    compare-weight    :  disabled  
    delete-weight     :  disabled  
    modify-dn-weight  :  disabled  
    modify-weight     :  disabled  
    search-weight     :  disabled 
    
  3. アタッチされるデータソースの1つの重みを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name \
     attached-data-source-name add-weight:value \
     bind-weight:value compare-weight:value delete-weight:value \
     modify-dn-weight:value modify-weight:value search-weight:value
    
  4. 他のアタッチされるデータソースに関して、「アタッチされるデータソースの1つのプロパティを表示します。」および「アタッチされるデータソースの1つの重みを構成します。」を繰り返します。

  5. アタッチされるデータソースのキー・パラメータを比較します。

    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    

    たとえば、データソース・プールに、次の重みのデータソースを含むことができます。

    $ dpconf list-attached-ldap-data-sources -h host1 -p 1389 -v myPool
    SRC_NAME add-weight bind-weight compare-weight delete-weight 
    -------- ---------- ----------- -------------- ------------- 
    DS-1     disabled   3               disabled       disabled      
    DS-2     2          2           2              2             
    DS-3     1          1           1              1             
    
    modify-dn-weight modify-weight search-weight
    ---------------- ------------- -------------
    disabled         disabled      disabled
    2                2             2
    1                1             1
    

18.1.3 ロード・バランシングの構成例

この項では、それぞれのロード・バランシング・アルゴリズムを構成する手順の例について説明します。

18.1.3.1 ロード・バランシングの比例アルゴリズムを構成するには

比例アルゴリズムの説明は、Oracle Directory Server Enterprise Editionのリファレンスロード・バランシングの比例アルゴリズムに関する項を参照してください。

この例では、データソースds-1が、他の2つのデータソースの2倍の重みで構成されます。

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

開始する前に

アタッチされるデータソースを最低3つ含むデータソース・プールを確保してください。データソースおよびデータソース・プールの作成方法の詳細は、「LDAPデータ・ビューの作成」を参照してください。

  1. ロード・バランシングに比例アルゴリズムを使用するようにデータソース・プールを構成します。

    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
      load-balancing-algorithm:proportional
    
  2. 最初のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:2 bind-weight:2 compare-weight:2 delete-weight:2 modify-dn-weight:2 \
     modify-weight:2 search-weight:2
    
  3. 2番目のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
    
  4. 3番目のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
    
  5. アタッチされるデータソースのキー・パラメータを比較します。

    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    SRC_NAME add-weight bind-weight compare-weight delete-weight 
    -------- ---------- ----------- -------------- ------------- 
    ds-1     2          2           2              2             
    ds-2     1          1           1              1             
    ds-3     1          1           1              1             
    
    modify-dn-weight modify-weight search-weight
    ---------------- ------------- -------------
    2                2             2
    1                1             1
    1                1             1
    
  6. Directory Proxy Serverのインスタンスを再起動します。

    $ dpadm restart instance-path
    

18.1.3.2 ロード・バランシングの飽和アルゴリズムを構成するには

飽和アルゴリズムの説明は、Oracle Directory Server Enterprise Editionのリファレンスロード・バランシングの飽和アルゴリズムに関する項を参照してください。

この例では、データソースds-1がバインド操作の大部分を実行しますが、その他のタイプの操作は実行しません。3つのデータソースは、次の重みで構成されます。

  • ds-1は、バインド操作に対して重み3で構成され、その他のタイプの操作に対して無効にされます。

  • ds-2は、すべての操作に対して重み2で構成されます。

  • ds-3は、すべての操作に対して重み1で構成されます。

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

開始する前に

アタッチされるデータソースを最低3つ含むデータソース・プールを確保してください。データソースおよびデータソース・プールの作成方法の詳細は、「LDAPデータ・ビューの作成」を参照してください。

  1. ロード・バランシングに飽和アルゴリズムを使用するようにデータソース・プールを構成します。

    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     load-balancing-algorithm:saturation
    
  2. 最初のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:disabled bind-weight:3 compare-weight:disabled delete-weight:disabled \
     modify-dn-weight:disabled modify-weight:disabled search-weight:disabled
    
  3. 2番目のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:2 bind-weight:2 compare-weight:2 delete-weight:2 modify-dn-weight:2 \
     modify-weight:2 search-weight:2
    
  4. 3番目のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
    
  5. アタッチされるデータソースのキー・パラメータを比較します。

    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    SRC_NAME add-weight bind-weight compare-weight delete-weight 
    -------- ---------- ----------- -------------- ------------- 
    ds-1     disabled   3               disabled       disabled      
    ds-2     2          2           2              2             
    ds-3     1          1           1              1             
    
    modify-dn-weight modify-weight search-weight
    ---------------- ------------- -------------
    disabled         disabled      disabled
    2                2             2
    1                1             1
    
  6. Directory Proxy Serverのインスタンスを再起動します。

    $ dpadm restart instance-path
    

18.1.3.3 グローバル・アカウント・ロックアウトの操作アフィニティ・アルゴリズムを構成するには

このアルゴリズムの説明は、Oracle Directory Server Enterprise Editionのリファレンスグローバル・アカウント・ロックアウトの操作アフィニティ・アルゴリズムに関する項を参照してください。

この例には、3つのデータソースがあります。データソースds-1は、すべてのバインド・リクエストを受信するように構成されます。

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

開始する前に

アタッチされるデータソースを最低3つ含むデータソース・プールを確保してください。データソースおよびデータソース・プールの作成方法の詳細は、「LDAPデータ・ビューの作成」を参照してください。

  1. 操作アフィニティ・アルゴリズムを使用するようにデータソース・プールを構成します。

    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     load-balancing-algorithm:operational-affinity
    
  2. 最初のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:1 bind-weight:100 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
    
  3. 2番目のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
    
  4. 3番目のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
    
  5. アタッチされるデータソースのキー・パラメータを比較します。

    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    SRC_NAME add-weight bind-weight compare-weight delete-weight 
    -------- ---------- ----------- -------------- ------------- 
    ds-1     1          100         1              1             
    ds-2     1          1           1              1             
    ds-3     1          1           1              1             
    
    modify-dn-weight modify-weight search-weight
    ---------------- ------------- -------------
    1                1             1
    1                1             1
    1                1             1
    
  6. Directory Proxy Serverのインスタンスを再起動します。

    $ dpadm restart instance-path
    

18.1.3.4 キャッシュ最適化の操作アフィニティ・アルゴリズムを構成するには

このアルゴリズムの説明は、Oracle Directory Server Enterprise Editionのリファレンスキャッシュ最適化の操作アフィニティ・アルゴリズムに関する項を参照してください。

この例には、3つのデータソースがあります。すべての検索操作および比較操作は、データソースds-1によって処理されます。ds-1がリクエストに応答するとき、ターゲットのエントリは、キャッシュに格納されます。ds-1が同じリクエストに繰り返し応答する場合、データソースはキャッシュされたデータを使用できます。

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

開始する前に

アタッチされるデータソースを最低3つ含むデータソース・プールを確保してください。データソースおよびデータソース・プールの作成方法の詳細は、「LDAPデータ・ビューの作成」を参照してください。

  1. 操作アフィニティ・アルゴリズムを使用するようにデータソース・プールを構成します。

    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     load-balancing-algorithm:operational-affinity
    
  2. 最初のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:1 bind-weight:1 compare-weight:100 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:100
    
  3. 2番目のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
    
  4. 3番目のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
    
  5. アタッチされるデータソースのキー・パラメータを比較します。

    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    SRC_NAME add-weight bind-weight compare-weight delete-weight 
    -------- ---------- ----------- -------------- ------------- 
    ds-1     1          1           100            1             
    ds-2     1          1           1              1             
    ds-3     1          1           1              1             
    
    modify-dn-weight modify-weight search-weight
    ---------------- ------------- -------------
    1                1             100
    1                1             1
    1                1             1
    
  6. Directory Proxy Serverのインスタンスを再起動します。

    $ dpadm restart instance-path
    

18.1.3.5 ロード・バランシングのフェイルオーバー・アルゴリズムを構成するには

フェイルオーバー・アルゴリズムの説明は、Oracle Directory Server Enterprise Editionのリファレンスロード・バランシングのフェイルオーバー・アルゴリズムに関する項を参照してください。

この例には、3つのデータソースがあります。データソースds-1は、すべてのリクエストを受信します。ds-1で障害が発生すると、ds-1がリカバリするまでds-2がすべてのリクエストを受信します。ds-1がリカバリする前にds-2で障害が発生すると、ds-3がすべてのリクエストを受信します。

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

開始する前に

アタッチされるデータソースを最低3つ含むデータソース・プールを確保してください。データソースおよびデータソース・プールの作成方法の詳細は、「LDAPデータ・ビューの作成」を参照してください。

  1. ロード・バランシングにフェイルオーバー・アルゴリズムを使用するようにデータソース・プールを構成します。

    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     load-balancing-algorithm:failover
    
  2. 最初のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:3 bind-weight:3 compare-weight:3 delete-weight:3 modify-dn-weight:3 \
     modify-weight:3 search-weight:3
    
  3. 2番目のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:2 bind-weight:2 compare-weight:2 delete-weight:2 modify-dn-weight:2 \
     modify-weight:2 search-weight:2
    
  4. 3番目のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
    
  5. アタッチされるデータソースのキー・パラメータを比較します。

    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    SRC_NAME add-weight bind-weight compare-weight delete-weight 
    -------- ---------- ----------- -------------- ------------- 
    ds-1     3          3           3              3             
    ds-2     2          2           2              2             
    ds-3     1          1           1              1             
    
    modify-dn-weight modify-weight search-weight
    ---------------- ------------- -------------
    3                3             3
    2                2             2
    1                1             1
    
  6. Directory Proxy Serverのインスタンスを再起動します。

    $ dpadm restart instance-path
    

18.1.3.6 ロード・バランシングの適応フェイルオーバー・アルゴリズムを構成するには

適応フェイルオーバー・アルゴリズムの説明は、Oracle Directory Server Enterprise Editionのリファレンスロード・バランシングの適応フェイルオーバー・アルゴリズムに関する項を参照してください。

この例には、3つのデータソースがあります。データソースds-1は、すべてのリクエストを受信します。ds-1で障害が発生すると、ds-1がリカバリするまで、リクエストはds-2とds-3に分散されます。ds-1がリカバリする前にds-2またはds-3で障害が発生すると、残りのデータソースがすべてのリクエストを受信します。

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

開始する前に

アタッチされるデータソースを最低3つ含むデータソース・プールを確保してください。データソースおよびデータソース・プールの作成方法の詳細は、「LDAPデータ・ビューの作成」を参照してください。

  1. ロード・バランシングに適応フェイルオーバー・アルゴリズムを使用するようにデータソース・プールを構成します。

    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
    load-balancing-algorithm:adaptive-failover minimum-total-weight:3
    
  2. 最初のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:3 bind-weight:3 compare-weight:3 delete-weight:3 modify-dn-weight:3 \
     modify-weight:3 search-weight:3
    
  3. 2番目のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:2 bind-weight:2 compare-weight:2 delete-weight:2 modify-dn-weight:2 \
     modify-weight:2 search-weight:2
    
  4. 3番目のデータソースのプロパティを構成します。

    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
    
  5. アタッチされるデータソースのキー・パラメータを比較します。

    $ dpconf list-attached-ldap-data-sources h host -p port -v pool-name
    SRC_NAME add-weight bind-weight compare-weight delete-weight 
    -------- ---------- ----------- -------------- ------------- 
    ds-1     3          3           3              3             
    ds-2     2          2           2              2             
    ds-3     1          1           1              1             
    
    modify-dn-weight modify-weight search-weight
    ---------------- ------------- -------------
    3                3             3
    2                2             2
    1                1             1
    
  6. Directory Proxy Serverのインスタンスを再起動します。

    $ dpadm restart instance-path
    

18.1.3.7 ロード・バランシングの最速サーバー・アルゴリズムを構成するには

最速サーバー・アルゴリズムの説明は、Oracle Directory Server Enterprise Editionのリファレンスロード・バランシングの最速サーバー・アルゴリズムに関する項を参照してください。

このアルゴリズムは、ユーザーが構成したデータソースの重みを使用しません。データソースの重みは、レスポンス時間の関数として動的に計算されます。

このタスクの実行には、DSCCが使用できます。詳細は、Oracle Directory Server Enterprise Edition 11gリリース1 (11.1.1)リファレンスのロード・バランシングの最速サーバー・アルゴリズムに関する項およびDSCCオンライン・ヘルプを参照してください。

開始する前に

アタッチされるデータソースを最低3つ含むデータソース・プールを確保してください。データソースおよびデータソース・プールの作成方法の詳細は、「LDAPデータ・ビューの作成を参照してください。

  1. ロード・バランシングに最速サーバー・アルゴリズムを使用するようにデータソース・プールを構成します。

    $ dpconf set-ldap-data-source-pool-prop -host host  -p port  pool-name \
    
    load-balancing-algorithm:fastest-server proportion:100 sample-size:300
    
  2. 値が正しく設定されていることを確認します。

    $ dpconf get-ldap-data-source-pool-prop -host host  -p port  pool-name  \
    load-balancing-algorithm proportion sample-size
    load-balancing-algorithm : fastest-server
    proportion : 100
    sample-size : 300
    
  3. Directory Proxy Serverのインスタンスを再起動します。

    $ dpadm restart instance-path
    

18.1.4 ロード・バランシングを実行するためのDirectory Proxy Serverの構成

単純なロード・バランシングは、検索操作および比較操作のあるディレクトリ・セットへの送信およびその他の操作の別のセットへの送信から構成されます。Directory Proxy Serverは、すべてのクライアント操作を受信します。サーバーは、どちらのセットが読取りを受信し、どちらのセットがその他の操作を受信するかを決定する必要があります。

このロード・バランシング・シナリオを処理するためのDirectory Proxy Serverの構成の重要なステージは次のとおりです。

  1. Directory Proxy Serverのデータソースとしてディレクトリを追加します。

  2. データソースをデータソース・プールに追加します。

  3. 検索と比較を行うようにデータソースの一部を構成し、追加、バインド、削除、変更およびDNの変更の各操作を行うようにその他のデータソースを構成します。

  4. データソース・プールをデータ・ビューに追加します。

次に示すのは、Directory Proxy Serverがポート9389でリッスンしている例です。プロキシはここで構成され、一方のDirectory Serverのインスタンスds1:1389で検索操作と比較操作を処理し、他方のDirectory Serverのインスタンスds2:2389でその他の操作を処理するようにロード・バランシングを行います。

最初の手順では、データソースを作成し、そのデータソースを有効にします。この手順では、プロキシ・サーバーの再起動が必要です。

$ dpconf create-ldap-data-source -p 9389 ds1 localhost:1389
$ dpconf create-ldap-data-source -p 9389 ds2 localhost:2389
$ dpconf set-ldap-data-source-prop -p 9389 ds1 is-enabled:true
$ dpconf set-ldap-data-source-prop -p 9389 ds2 is-enabled:true
$ dpadm restart /local/dps

2番目の手順で、データソースをデータソース・プールに追加します。

$ dpconf create-ldap-data-source-pool -p 9389 "Directory Pool"
$ dpconf attach-ldap-data-source -p 9389 "Directory Pool" ds1 ds2

3番目の手順では、検索操作と比較操作を受け入れるようにds1が構成され、その他の操作を受け入れるようにds2が構成されます。

$ dpconf set-attached-ldap-data-source-prop -p 9389 "Directory Pool" ds1 \
add-weight:disabled bind-weight:disabled compare-weight:1 delete-weight:disabled \
modify-dn-weight:disabled modify-weight:disabled search-weight:1
$ dpconf set-attached-ldap-data-source-prop -p 9389 "Directory Pool" ds2 \
add-weight:1 bind-weight:1 compare-weight:disabled delete-weight:1 \
modify-dn-weight:1 modify-weight:1 search-weight:disabled

4番目の手順では、データソース・プールがデータ・ビューに追加され、クライアント・アプリケーションのリクエストがプールにルーティングされるようになります。

$ dpconf create-ldap-data-view -p 9389 "Balanced View" "Directory Pool" \
dc=example,dc=com

18.2 クライアント・アフィニティの構成

クライアント・アフィニティは、ロード・バランシングされたデプロイメントでの伝播遅延のリスクを低減します。クライアント・アフィニティの詳細は、Oracle Directory Server Enterprise Editionのリファレンスクライアント・アフィニティに関する項を参照してください。この項では、クライアント接続とデータソースの間のアフィニティの構成方法を説明し、構成例を提供します。

18.2.1 クライアント・アフィニティを構成するには

この手順では、クライアント接続とデータソースの間のアフィニティの構成方法について説明します。

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

  1. データソース・プールのプロパティを表示することによって、現在のロード・バランシング・アルゴリズムを表示します。

    $ dpconf get-ldap-data-source-pool-prop -h host -p port pool-name
    

    データソース・プールのデフォルトのプロパティは、次のとおりです。

    
    client-affinity-bind-dn-filters         : any
    client-affinity-criteria                : connection
    client-affinity-ip-address-filters      : any
    client-affinity-policy                  : write-affinity-after-write
    client-affinity-timeout                 : 20s
    description                             : Example data source pool
    enable-client-affinity                  : false
    load-balancing-algorithm                : proportional
    minimum-total-weight                    : 100
    proportion                              : 100
    sample-size                             : 100
    

    次のパラメータがクライアント・アフィニティを構成します。client-affinity-bind-dn-filtersclient-affinity-criteriaclient-affinity-ip-address-filtersclient-affinity-policyclient-affinity-timeoutおよびenable-client-affinity。プロパティの説明およびその有効値のリストについては、次のコマンドを入力します。

    dpconf help-properties ldap-data-source-pool client-affinity-bind-dn-filters \
    client-affinity-criteria client-affinity-policy client-affinity-ip-address-filters\
     client-affinity-timeout enable-client-affinity
    

    プロパティの詳細は、次のマニュアル・ページを参照してください(client-affinity-bind-dn-filtersclient-affinity-criteriaclient-affinity-ip-address-filtersclient-affinity-policyclient-affinity-timeoutおよびenable-client-affinity)。

  2. クライアント・アフィニティを有効にします。

    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     enable-client-affinity:true
    
  3. クライアント・アフィニティのポリシーを選択します。

    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     client-affinity-policy:selected-policy
    

    ここで、selected-policyは、次のいずれかです。

    write-affinity-after-write

    最初の書込みリクエスト後の書込みリクエストのアフィニティ

    read-write-affinity-after-write

    最初の書込みリクエスト後のすべてのリクエストのアフィニティ

    read-write-affinity-after-any

    最初の読取りリクエストまたは書込みリクエスト後のすべてのリクエストのアフィニティ

    read-affinity-after-write

    書込みリクエスト後の最初の読取りリクエストのアフィニティ

  4. クライアント・アフィニティの期間を構成します。

    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     client-affinity-timeout:time-out[unit]
    

    タイムアウトのデフォルトの単位は、ミリ秒です。

    前述の設定は、検討対象の接続に対してのみ適用可能です。これは、特定のクライアントからのすべての接続に対して適用可能なわけではありません。

18.2.2 クライアント・アフィニティの構成例

この項には、クライアント・アフィニティに関する構成例、レプリケーション遅延の例、書込み操作の確認例および接続ベースのルーティング例が含まれています。

18.2.2.1 データソース・プールにマスターとコンシューマが含まれている場合にレプリケーション遅延のためのクライアント・アフィニティを構成するには

この手順では、最初の書込み操作後の3秒以内に発生するすべての読取り操作および書込み操作に対するクライアント・アフィニティを構成します。

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

データソース・プールのアフィニティ・パラメータを構成します。

$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
 client-affinity-policy:read-write-affinity-after-write client-affinity-timeout:3000 \
 enable-client-affinity:true

18.2.2.2 読取り操作を使用して各書込み操作を確認するためのクライアント・アフィニティを構成するには

この手順では、各書込み操作後の最初の読取り操作に対するクライアント・アフィニティを構成します。この例は、指定されたバインドDNが読取り操作を実行することによって各書込み操作を検証するアプリケーションです。

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

データソース・プールのアフィニティ・パラメータを構成します。

$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
 client-affinity-policy:read-affinity-after-write enable-client-affinity:true

18.2.2.3 クライアント・ベースのルーティングのためのクライアント・アフィニティを構成するには

アプリケーションがプールの、ある接続を使用して更新を行い、その後別の接続を使用してそのエントリの検索を実行した場合、この検索は別の接続から実行されるため、更新に使用された接続のアフィニティ設定は使用されません。また、検索操作は、更新が実行されたサーバーとは異なるサーバーにルーティングされる可能性があります。この場合、アフィニティ機能は、同じクライアント接続内でのみ動作します。

これを解決するには、IPアドレスやバインドDNなどのクライアント・レベルでアフィニティを定義する必要があります。更新がクライアントによって実行された場合、そのクライアントからのすべての接続は、同じアフィニティ・ルールに従います。

  1. リクエストが同じクライアントからのものかどうかを判定するための基準を指定します。

    dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
    client-affinity-criteria:ip-address-and-bind-dn 
    

    すべてのオプションについては、client-affinity-criteriaに関する説明を参照してください。

    サーバーは、クライアント・リクエストのバインドDNおよびIPアドレスを照合し、エントリが基準を満たす場合、これらは同じクライアントからのものということになります。

  2. リクエストが同じクライアントからのものであるとみなすために接続のバインドDNが一致する必要がある正規表現を指定します。

    dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
    client-affinity-bind-dn-filters:"uid=boss*"
    
  3. リクエストが同じクライアントからのものであるとみなすために接続のIPアドレスが一致する必要があるIPv4アドレスまたはIPv6アドレスを指定します。

    dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
    client-affinity-ip-address-filters:129.157.192.108
    

18.2.2.4 接続ベースのルーティングのためのクライアント・アフィニティを構成するには

Directory Proxy Server 6.0より前のバージョンでは、クライアントとLDAPサーバー間で1つの接続が開いていました。接続が閉じられるまで、この同じ接続が、クライアントからのすべてのリクエストのために使用されていました。このタイプのルーティングは、接続ベースのルーティングと呼ばれます。この手順では、接続ベースのルーティングのためのクライアント・アフィニティの構成方法について説明します。

WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。

開始する前に

すべてのデータソースをデータソース・プールにアタッチし、client-cred-modeuse-client-identityに設定してください。

データソース・プールのアフィニティ・パラメータを構成します。

$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
 client-affinity-policy:read-write-affinity-after-any enable-client-affinity:true