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ユーティリティを実行することで使用できます。このユーティリティで使用できるオプションは、次のとおりです。
-
-oor--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リバース・プロキシを構成するための最小要件に関する詳細を示します。プロキシ構成に別のユーティリティを使用している場合でも、目的の環境とリバース・プロキシに対して同様の要件が必要になることがあります。
-
NGINXをインストールします。Oracle LinuxでのNGINX Webサーバーおよびプロキシのインストールを参照してください。Oracle Linuxの場合、NGINXをインストールするコマンドは次のとおりです。
yum -y install nginx -
JREのバージョンがJRE 8以降であることを確認します。
-
Oracle GoldenGate MAをインストールします。
-
1つ以上のアクティブなMAデプロイメントを作成します。
-
Oracleユーザーに
sudo権限があることを確認します。 -
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ユーティリティで使用可能なオプションは、次のとおりです。
-
-oor--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ユーティリティを使用するには:
-
NGINXリバース・プロキシ用の構成ファイルを生成するには、
ReverseProxySettingsユーティリティの場所に移動します。cd $OGG_HOME/lib/utl/reverseproxy -
次のように、ReverseProxySettingユーティリティを実行します。
ReverseProxySettings -u adminuser -P adminpwd -o ogg.conf http://localhost:9100このコード・スニペットでは、
adminuserはデプロイメント・ユーザー名であり、adminpwdはデプロイメントへのログインに使用されるデプロイメント・ユーザー・パスワードです。 -
既存の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セクションをコメント・アウトする必要があります。 -
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) -
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 -
新しい構成でNGINXをリロードします。
sudo nginx -s reload構成ファイルに対する変更がロードされていない場合は、プロキシを停止して再起動します。
-
NGINXが正常に設定された後にマイクロサービスにアクセスできるかどうかをテストするために、Webブラウザを開きます。
-
次のように、ポート番号443を使用してサービス・マネージャのプロキシURLを入力します。
http://dc.example.com:443
これにより、他のマイクロサービスにもアクセスできる、サービス・マネージャのログイン・ページが開きます。マイクロサービスに直接アクセスする必要がある場合は、以前に生成された
ogg.confファイル内で指定されているとおり、そのマイクロサービスのプロキシURLを入力します。
NGINXリバース・プロキシの構成については、このビデオもご覧ください。
SSL終端
TLSベースの接続を使用するリバース・プロキシとオリジン・サーバーとの間に保護されていない接続がある場合、その接続はリバース・プロキシSSL終端と呼ばれます。
ノート:
SSL終端では、リバース・プロキシとオリジン・サーバーの間の接続は保護されていません。
ただし、SSLブリッジングもサポートされています。この場合は、クライアントとリバース・プロキシの間の接続が保護され、リバース・プロキシとオリジン・サーバーの間の接続も保護されます。