Oracle GoldenGate MicroservicesにアクセスするためのNGINXによるリバース・プロキシの構成

ポート番号を使用せずにOracle GoldenGate Microservicesにアクセスするための、NGINXの使用によるリバース・プロキシ・サービスの構成方法について説明します。

リバース・プロキシを使用すると、デプロイメントで単一ポート(443)を使用してマイクロサービスにアクセスできます。これにより、セキュアでないデプロイメントを介したマイクロサービスのURLのカプセル化が可能になります。

ノート:

リバース・プロキシはオプションですが、マイクロサービスへの容易なアクセスが保証され、セキュリティも強化されるためにお薦めします。

セキュアでないデプロイメント内のマイクロサービスをループバック・アドレスで実行し、NGINXインストールを使用してそれの前にHTTPリバース・プロキシを置くことができます。

リバース・プロキシを使用して構成されているOracle GoldenGate ClassicからMicroservices環境に証跡ファイルを送信する場合は、SOCKSPROXYオプションを指定してOracle GoldenGate ClassicからポンプExtractを使用します。Oracle GoldenGate MicroservicesからClassic Architectureに証跡ファイルを送信する場合は、Distribution Service構成でoggプロトコルを使用します。

『Oracle GoldenGateの管理』Oracle GoldenGate Classic ArchitectureからMicroservices Architectureへの接続およびOracle GoldenGate Microservices ArchitectureからClassic Architectureへの接続を参照してください。

Oracle GoldenGate Microservices Architectureは、リバース・プロキスを使用するように構成できます。Oracle GoldenGate MAには、ReverseProxySettingsというスクリプトが含まれています。このスクリプトによって、NGINXリバース・プロキシ・サーバーのみの構成ファイルを作成します。

たとえば、Administration Serviceがhttp://goldengate.example.com:9001にあり、Distribution Serviceがhttp://goldengate.example.com:9002にあるとします。リバース・プロキシを使用すると、すべてのマイクロサービスに1つのアドレスから簡単にアクセスできます。たとえば、Distribution Serviceの場合はhttp://goldengate.example.com/distsrvrになります。このURLは、サービスごとに異なります。また、ポートごとではなく名前ごとのものになります。

これらのオプションは、ReverseProxySettingsユーティリティを実行することで使用できます。このユーティリティで使用できるオプションは、次のとおりです。 

-o or --output

出力ファイル名。デフォルトのファイル名はogg.confです。

-Pまたは--password

Service Managerアカウントのパスワード。

-lまたは--log

ログ・ファイル名を指定し、ロギングを開始します。デフォルトではロギングしません。

--trailOnly

インバウンドの証跡データ専用に構成します。

-tまたは--type

プロキシ・サーバーのタイプ。デフォルトはNginxです。

-sまたは--no-ssl

SSLなしで構成します。

-hまたは--host

リバース・プロキシの仮想ホスト名。

-pまたは--port

リバース・プロキシのポート番号。デフォルトは80または443です。

-?または--help

使用情報を表示します。

-uまたは--user

使用するService Managerアカウントの名前

-vまたは--version

バージョンを表示します。

これらの値は、Service Managerへの接続時に使用されます。認証が有効になっている場合は必須です。

トピック:

ReverseProxySettingsを使用するための前提条件

MAでは、任意のリバース・プロキシ・サービスを使用できます。次の例では、その他のリバース・プロキシ・サービスを構成するための手順と、対象プロキシ・サーバーのドキュメントを示します。

次の前提条件では、NGINXリバース・プロキシを構成するための最小要件に関する詳細を示します。プロキシ構成に別のユーティリティを使用している場合でも、目的の環境とリバース・プロキシに対して同様の要件が必要になることがあります。

  1. NGINXをインストールします。Oracle LinuxでのNGINX Webサーバーおよびプロキシのインストールを参照してください。Oracle Linuxの場合、NGINXをインストールするコマンドは次のとおりです。

    yum -y install nginx

  2. JREのバージョンがJRE 8以降であることを確認します。

  3. Oracle GoldenGate MAをインストールします。

  4. 1つ以上のアクティブなMAデプロイメントを作成します。

  5. Oracleユーザーにsudo権限があることを確認します。

  6. NGINXインストール・ディレクトリのパスを含めるようにPATH環境変数を構成します。

NGINXを構成するためのReverseProxySettingsユーティリティの実行

Oracle GoldenGate Microservices Architectureのインストールには、ReverseProxySettingsユーティリティが含まれています。ReverseProxySettingsユーティリティは、$OGG_HOME/lib/utl/reverseproxyディレクトリにあります。

ReverseProxySettingsユーティリティで使用できる追加のコマンドを確認するには、--helpオプションを指定してユーティリティを実行します。

$OGG_HOME/lib/utl/reverseproxy/ReverseProxySettings --help

ReverseProxySettingsユーティリティで使用可能なオプションは、次のとおりです。

-o or --output

出力ファイル名。デフォルトのファイル名はogg.confです。

-Pまたは--password

Service Managerアカウントのパスワード。

-lまたは--log

ログ・ファイル名を指定し、ロギングを開始します。デフォルトではロギングしません。

--trailOnly

インバウンドの証跡データ専用に構成します。

-tまたは--type

プロキシ・サーバーのタイプ。デフォルトはNginxです。

-sまたは--no-ssl

SSLなしで構成します。

-hまたは--host

リバース・プロキシの仮想ホスト名。

-pまたは--port

リバース・プロキシのポート番号。デフォルトは80または443です。

-?または--help

使用情報を表示します。

-uまたは--user

使用するService Managerアカウントの名前

-vまたは--version

バージョンを表示します。

ReverseProxySettingsユーティリティの実行

ReverseProxySettingsユーティリティを使用するには:

  1. NGINXリバース・プロキシ用の構成ファイルを生成するには、ReverseProxySettingsユーティリティの場所に移動します。

    cd $OGG_HOME/lib/utl/reverseproxy
  2. 次のように、ReverseProxySettingユーティリティを実行します。
    ReverseProxySettings -u adminuser -P adminpwd -o ogg.conf http://localhost:9100

    このコード・スニペットでは、adminuserはデプロイメント・ユーザー名であり、adminpwdはデプロイメントへのログインに使用されるデプロイメント・ユーザー・パスワードです。

  3. 既存のNGINX構成を、MAデプロイメントのReverseProxySettingユーティリティを使用して生成された構成に置き換えます。

    sudo mv ogg.conf /etc/nginx/conf.d/nginx.conf

    ただし、このNGINX構成は、eventsセクションがなくhttp内にmapおよびserverセクションが含まれていないと完成ではありません。

    オプションで、デフォルトのnginx.confファイルを使用することや、次のようなinclude文を追加して、生成されたogg.confを追加することができます。

    include /etc/nginx/conf.d/ogg.conf;

    この場合は、他のserversセクションをコメント・アウトする必要があります。

  4. NGINXの自己署名証明書を生成します。

    sudo sh /etc/ssl/certs/make-dummy-cert /etc/nginx/ogg.pem

    リバース・プロキシを経由する配布パスの場合は、有効な証明書を使用する必要があります。デプロイメントでの受信リクエストの処理に使用されているのと同じ証明書を指定することをお薦めします。そうしないと、パスの起動は、Distribution Serviceにおいて次のエラーで失敗します。

    2019-03-26T11:26:00.324-0700 ERROR| ERROR OGG-10351  Oracle GoldenGate Distribution
     Service for Oracle:  Generic error -1 noticed. Error description - Certificate validation
     error: Unacceptable certificate from test00abc: application verification failure. (A4)
  5. NGINX構成を検証します。

    sudo nginx -t
    コマンドが成功した場合、出力は次のようになります。
    
    NGINX: the configuration file /etc/NGINX/NGINX.conf syntax is ok
    NGINX: configuration file /etc/NGINX/NGINX.conf test is successful
  6. 新しい構成でNGINXをリロードします。

    sudo nginx -s reload

    構成ファイルに対する変更がロードされていない場合は、プロキシを停止して再起動します。

  7. NGINXが正常に設定された後にマイクロサービスにアクセスできるかどうかをテストするために、Webブラウザを開きます。

  8. 次のように、ポート番号443を使用してサービス・マネージャのプロキシURLを入力します。

    http://dc.example.com:443

    これにより、他のマイクロサービスにもアクセスできる、サービス・マネージャのログイン・ページが開きます。マイクロサービスに直接アクセスする必要がある場合は、以前に生成されたogg.confファイル内で指定されているとおり、そのマイクロサービスのプロキシURLを入力します。

NGINXリバース・プロキシの構成については、このビデオもご覧ください。

SSL終端

TLSベースの接続を使用するリバース・プロキシとオリジン・サーバーとの間に保護されていない接続がある場合、その接続はリバース・プロキシSSL終端と呼ばれます。

ノート:

SSL終端では、リバース・プロキシとオリジン・サーバーの間の接続は保護されていません。

ただし、SSLブリッジングもサポートされています。この場合は、クライアントとリバース・プロキシの間の接続が保護され、リバース・プロキシとオリジン・サーバーの間の接続も保護されます。