プロキシの構成

データ・ストアをデプロイした後は、Oracle NoSQL Databaseプロキシを構成します。

セキュア・データ・ストアのデプロイメントから次の情報を取得します:

  • データ・ストア名。pingを参照してください。
  • データ・ストア・ヘルパー・ホスト:ポート・リストJavaダイレクト・ドライバ開発者ガイドKVStoreハンドルの取得
次に、プロキシを起動するための一般的な方法を示します:
java -jar lib/httpproxy.jar [-async <default: false>] [-config <>] [-helperHosts <>] [-hostname <>] [-httpPort <default: 80>] [-httpsPort <default: 443>] [-idleReadTimeout <default: 0>] [-kvConsistency <default: NONE_REQUIRED>] [-kvDurability <default: COMMIT_NO_SYNC>] [-kvRequestTimeout <default: -1>] [-monitorStatsEnabled <default: false>] [-numAcceptThreads <default: 3>] [-numRequestThreads <default: 32>] [-sslCertificate <>] [-sslCiphers <>] [-sslPrivateKey <>] [-sslPrivateKeyPass <>] [-sslProtocols <default: TLSv1.2,TLSv1.1,TLSv1>] [-sslSecurityDir <>] [-storeName <>] [-storeSecurityFile <>] [-verbose <default: false>]

プロキシのパラメータ

次のパラメータをコマンドライン引数として指定してプロキシを起動できます。

パラメータ 必須かどうか デフォルト値 説明
-async いいえ false プロキシでデータ・ストアの非同期インタフェースを使用するかどうかを定義します。このオプションにより、プロキシに、非同期リクエストを使用するよう指示します。これにより、必要な処理スレッドの数を減らすことができます。
-config いいえ デフォルト値はありません
プロキシ構成オプションを含むJavaプロパティ・ファイルを指定します。次の形式でオプションを指定します:
property_name=value
たとえば:
async=true
storeName=mystore
helperHosts=node01:5000
httpPort=8080
monitorStatsEnabled=true

この構成ファイルを1つのパラメータとしてCLIからhttpproxy.jarコマンドに渡すことができます。

ノート:

必ず、この表で必須と示されいるオプションすべてを含めてください。
-idleReadTimeout いいえ 30 使用されていない接続がサーバーによって終了されるまでの時間(秒)を指定します。
-kvConsistency いいえ NONE_REQUIRED

このセッションで使用される、デフォルトの読取り一貫性を構成します。Oracle NoSQL Databaseプロキシでは、リクエストで一貫性が指定されていない場合に、このパラメータが使用されます。一貫性の値は、Java APIのConsistencyクラスで定義します。

読取り操作は、構成されている値に応じて、マスターまたはレプリカ・ノードのとちらかで処理されます。次のポリシーがサポートされています:
  • ABSOLUTE - 読取り操作はマスター・ノードで処理されます。一貫性としてABSOLUTEを指定した場合は、更新された最新データの取得が保証されます。
  • NONE-REQUIRED - 読取り操作をレプリカ・ノードで処理できます。レプリカから読み取られたデータが、マスターにあるデータより古い場合があります。

一貫性の詳細は、一貫性保証を参照してください。

-kvDurability いいえ COMMIT_NO_SYNC
このセッションで使用される、デフォルトの書込み永続性設定を構成します。この
kvDurability 
パラメータにより、トランザクションのコミット時にマスターによって使用される永続性ポリシーを定義します。Oracle NoSQL Databaseプロキシでは、リクエストで永続性が指定されていない場合に、このkvDurabilityパラメータが使用されます。
  • COMMIT_NO_SYNC - データはホストのメモリー内キャッシュに書き込まれますが、マスター・ノードは、そのデータがファイル・システムのデータ・バッファまたは後続の物理ストレージに書き込まれるまで待ちません。
  • COMMIT_SYNC - データがメモリー内キャッシュに書き込まれ、ファイル・システムのデータ・バッファに転送され、永続的ストレージに同期されてから、書込み操作が正常に完了します。
  • COMMIT_WRITE_NO_SYNC - データはメモリー内キャッシュに書き込まれ、ファイル・システムのデータ・バッファに転送されますが、必ずしも物理ストレージには転送されません。

永続性の詳細は、永続性保証を参照してください。

-kvRequestTimeout いいえ -1

このセッションで使用される、デフォルトのリクエスト・タイムアウト(ミリ秒)を構成します。

Oracle NoSQL Databaseプロキシにより、特定のリクエストでのこのパラメータが、そのリクエストで指定されているタイムアウトに応じて調整されます。

デフォルト値である-1の場合は、タイムアウト値として5000が構成されます。

-monitorStatsEnabled いいえ false プロキシでの統計情報の収集を有効にします。有効にした場合、統計はログ・ファイルproxy_metric.log内に収集されます。
-sslCiphers いいえ デフォルト値はありません SSLに関連する詳細構成。
-sslProtocols いいえ TLSv1.2、TLSv1.1、TLSv1 SSLに関連する詳細構成。
-sslSecurityDir いいえ デフォルト値はありません SSLに関連する詳細構成。
-helperHosts 必須 デフォルト値はありません

データ・ストア内のヘルパー・ノードへの接続方法を特定する、ホスト名とポートのペアを指定します。複数のヘルパー・ホストを識別するには、文字列の配列を使用します。通常、これらのホスト名とポートのペアは、データ・ストアのデプロイヤまたは管理者から入手します。

パターンの例:
hostname1:port1,hostname2:port2,...hostnameX:portX

ヘルパー・ホスト・リストのポートが、プロキシとデータ・ストア・サーバーの間の接続のファイアウォール・ルールによって開いたままであることを確認します。

-storeName 必須 デフォルト値はありません データ・ストアの名前を指定します。この名前は、データ・ストア・デプロイメント・プロセスから取得できます。
-hostname いいえ localhost プロキシ・インスタンスを起動するマシンのホスト名を指定します。

デフォルトでは、プロキシで、ホストにある使用可能なすべてのネットワーク・インタフェースがリスニングされます。ホスト名を指定すると、プロキシで、特定のインタフェースをリスニングできます。

-httpPort いいえ 80 HTTPリクエストからの非セキュアな接続を受け入れるためにプロキシで使用される、プロキシ・マシンのHTTPポートを指定します。このパラメータは、-httpsPortパラメータと相互排他的です。これらのパラメータのうち1つのみを指定できます。

ポートが、プロキシとドライバの間の接続のファイアウォール・ルールによって開いたままであることを確認します。

ノート:

ポート80を使用するには、root権限が必要です。root権限がない場合は、ポート8080を使用できます。
-httpsPort いいえ 443 HTTPSリクエストからのセキュアな接続を受け入れるためにプロキシで使用される、プロキシ・マシンのHTTPSポートを指定します。このパラメータは、-httpPortパラメータと相互排他的です。これらのパラメータのうち1つのみを指定できます。

ポートが、プロキシとドライバの間の接続のファイアウォール・ルールによって開いたままであることを確認します。

ノート:

ポート443を使用するには、root権限が必要です。root権限がない場合は、ポート8443を使用できます。
-numAcceptThreads いいえ 3 この値は、プロキシへの着信接続を処理するために使用されるスレッドのスレッド・プール・サイズを決定します。
-numRequestThreads いいえ 32 "AcceptThread"によって接続が登録され"RequestThread"に渡された後で、リクエストの入力/出力トラフィックを処理するために使用される、スレッドのスレッド・プール・サイズを決定します。
-verbose いいえ false プロキシ起動情報を表示します。値としてtrueまたはfalseを使用できます。
-sslCertificate セキュア・プロキシの場合のみ必須。 デフォルト値はありません
pemファイル形式のSSL証明書ファイルへのパスを指定します。OpenSSLを使用して自己署名証明書を生成するか、公開CAに証明書の生成リクエストを送信できます。セキュリティ・ガイドOracle NoSQL Databaseプロキシの証明書と秘密キーの生成を参照してください。

ノート:

このSSL証明書ファイルへのパスとして、絶対パス、または現在のディレクトリ(プロキシの起動元)からの相対パスを使用できます。
-sslPrivateKey セキュア・プロキシの場合のみ必須。 デフォルト値はありません SSL秘密キー・ファイルへのパスを指定します。OpenSSLを使用して秘密キーを生成するか、公開CAに秘密キーの生成リクエストを送信できます。セキュリティ・ガイドOracle NoSQL Databaseプロキシの証明書と秘密キーの生成を参照してください。

ノート:

このSSL秘密キー・ファイルへのパスとして、絶対パス、または現在のディレクトリ(プロキシの起動元)からの相対パスを使用できます。
-sslPrivateKeyPass セキュア・プロキシの場合のみ必須。 デフォルト値はありません 秘密キーが暗号化されている場合の、秘密キーのパスワードを指定します。秘密キーが暗号化されていない場合、このパラメータは必要ありません。
-storeSecurityFile セキュア・プロキシの場合のみ必須。 デフォルト値はありません データ・ストアのクライアント・ユーザーによって生成されるセキュリティ・ログイン・ファイルへのパスを指定します。データ・ストアのクライアント・ユーザーは、管理者以外のプロキシ・ユーザーである必要があります。

ノート:

ノート: ストアのセキュリティ・ファイルへのパスとして、絶対パス、または現在のディレクトリ(プロキシの起動元)からの相対パスを使用できます。

ノート:

Oracle NoSQL Databaseプロキシは、1つ以上の専用ホストで実行できます。データ・ストアのノード内でホストできます。ロード・バランサをフロント・エンドとして使用でき、これには、別々のホストにある複数のNoSQLプロキシのバックエンド・セットが1つあります。ロード・バランサの構成中に、HTTPヘルス・チェックを追加できます。Oracle NoSQL Databaseプロキシにより、HTTPヘルス・チェック用に次のURI /V2/healthが提供されます。このURIへのHTTPリクエストでは、成功レスポンス200 OKが返されます。HAプロキシの構成例は、GitHubで見つかります。