2022年11月28日月曜日

ロード・バランサを構成しORDSの可用性を確保する(2) - ロード・バランサの作成

Customer Managed ORDSが実行されている2つのコンピュート・インスタンスのフロントとなる ロード・バランサを作成します。バックエンドはHTTP接続をポート8080で待ち受けます。ロード・バランサはHTTPS接続を標準のポート443で待ち受けます。サーバー証明書として、OCIの証明書サービスで作成したものを使用します。


ロード・バランサの作成


OCIのコンソールよりネットワーキングロード・バランサを開きます。ロード・バランサの作成をクリックします。


ロード・バランサ・タイプの選択として、ロード・バランサを選択します。ロード・バランサの作成をクリックします。


ロード・バランサ名は任意です。今回はlb-testservとしました。可視性タイプの選択パブリックパブリックIPアドレスの割当てエフェメラルIPアドレスを選択します。Always Free枠のロード・バランサのシェイプ最小帯域幅および最大帯域幅は、ともに10Mbpsです。

ネットワーキングの選択に含まれる仮想クラウド・ネットワークおよびサブネットとして、あらかじめ作成済みのネットワークを指定します。

へ進みます。


ロード・バランシング・ポリシーの指定として重み付けラウンド・ロビンを選択します。

バックエンドの追加をクリックしてバックエンドを追加します。


画面右にドロワーが開きます。ロード・バランサのバックエンドとなるコンピュート・インスタンス(今回の例ではCMRODS1CMORDS2)を選択します。

選択したバックエンドの追加をクリックし、ドロワーを閉じます。


バックエンド・サーバーが追加されます。このとき、ポートが80になっていたら8080へ変更します。ORDSは、ポート番号は8080でHTTP接続を待ち受けるように構成されています。


ヘルス・チェック・ポリシーの指定に含まれるポート8080ステータス・コード302URLパス(URI)/ordsとします。バックエンドの通信はHTTPなので、SSLの使用チェックは入れません

へ進みます。


リスナー名は任意です。今回はlsnr-testservとしました。トラフィックのタイプHTTPSモニターするポートはデフォルトの443のままとします。

SSL証明書証明書リソースとして証明書サービス管理対象証明書を選択します。証明書として、先ほど作成したTestServを選択します。

へ進みます。


ロギングの管理は今回の検証の対象ではないため、エラー・ログアクセス・ログともにOFFにします。

以上で送信をクリックします。


ロード・バランサが作成されます。ロード・バランサに割り当てられたIPアドレス(パブリック)を確認します。


以上でOracle APEXに接続可能になっています。

ロード・バランサへの接続を許可するため、ロード・バランサが配置されているネットワークにポート443への接続を許可するイングレス・ルールが設定済みであることを確認します。

ポート8080への接続を許可するイングレス・ルールは、ロード・バランサにバックエンドを追加したときに自動的に追加されます。


バックエンドの削除と追加を繰り返すと、同じイングレス・ルールが複数行になります。稼働に問題はありませんが、気になる場合は重複行を削除すると良いでしょう。


接続確認



作成した環境に接続します。/etc/hostsファイルまたはそれに準ずるファイルにパブリックIPアドレスとホスト名のペアを記述します。

IPアドレスはロード・バランサのパブリックIPアドレス、ホスト名は証明書の共通名またはSANとして設定したホスト名です。

129.***.***.218 testserv.******.dev


手元のPCに設定したホスト名にて、Oracle APEXの環境に接続します。

サーバー証明書の署名を行なっているCAは、プライベートCAであるため証明書に関するエラーが発生します。対応方法は、自己署名証明書を使用してHTTPS化したときと概ね同じです。

Oracle APEXの環境作成(10) - 自己署名証明書によるHTTPS化
http://apexugj.blogspot.com/2022/11/building-oracle-apex-environment-10-https.html

エラーが発生しているサーバー証明書を表示します。


自己署名証明のときと異なり複数の証明書が表示されます。一般に、後に表示されている証明書が上位の認証局の証明書になるため、その証明書をコピーしてPCに信頼できる証明書として登録します。


以上で、Oracle APEXの環境に接続できるようになります。


自己署名証明書の場合と異なり、一度、プライベートCAの証明書を登録すると、そのCAで署名されたサーバー証明書はすべて正しいサーバー証明書として扱われます。そのため、証明書をPCに登録する作業は、サーバーの数によらず一度で済みます。