こんにちは、今日はOracle Cloud Infrastructureのロード・バランサを使ってみたいと思います。VCNの理解がまだできていないのですが、試しにロード・バランサでウェブサーバーを2つ管理したいと思います。
Oracle DatabaseのRACやASMを少し学んだ際に、分散という言葉をたくさん目にしました。エンタープライズ向け製品、また大型サービスの場合、いかにシステムダウンやサーバーダウンを回避しなければならないかということでロード・バランサに興味が出ました。
下準備
コンパートメントの作成
まず、rootコンパートメント下にdemocleというコンパートメントを作成しました。
仮想クラウドネットワーク(VCN)の作成
democleコンパートメント内に仮想クラウドネットワークを作成します。democle_vcnという名前の仮想ネットワークを作成しました。各種設定は以下の通りです。
インターネットゲートウェイを作成し、VCNのルートテーブルにインターネットゲートウェイのルートルールを作成しました。
サブネットの作成
Webサーバー(vmインスタンス)用のサブネットとロード・バランサ用のサブネットを作成し、イングレスルールにtcp/80を追加しました。(この辺りまだ理解ができていません)
VMインスタンスの作成
OCIのVMインスタンス作成は何度も当ブログで取り上げましたが、簡単に書いていきます。コンピュート・インスタンスの作成から、democle1とdemocle2を作成しました。どちらもdemocleコンパートメント、democle_vcn、vm-subnetを選択しました。もちろんパブリックIPアドレスの割り当てを行っています。
Webサーバーの設定
作成したVMインスタンスdemocle1とdemocle2にssh接続を行い、Apache, PHPのインストールを行います。この辺も過去記事で扱っているので、そちらを参考に。
それぞれのインスタンスにWebサーバーを立て、democle1をサーバー1、democle2をサーバー2としました。それぞれindex.phpに’Server1′,’Server2’と出力するように書きます。
ロード・バランサの作成
ここは初めて触ります。
OCIコンソールからネットワーク:ロード・バランサに行き、ロード・バランサの作成を行います。マイクロであればAlways Free対象なので無料で作成できます。
VCNには先ほど作成したdemocle_vcn、サブネットにはロード・バランサ用に作成したlb-subnetを選択しました。
バッグエンドの選択画面で、先ほど作成したインスタンスを選択します。ロードバランシングポリシーには重み付けラウンド・ロビンを指定しました。ヘルスチェックポリシーはデフォルトのままとしておきます。
最後にリスナーで処理するトラフィックのタイプをHTTPに変更して、送信ボタンを押します。
ロード・バランサが作成されました!作成されたロード・バランサのパブリックIPアドレスにアクセスしてみます。
更新ボタンを押すたびにServer1とServer2で交互に表示されます。ロード・バランシングができていますね。IPアドレスの先頭のみ出していますが、変わっていないことがわかると思います。
おわりに
今日はサーバーを分散して管理するOracle Cloudのロード・バランサを使ってみました。結構簡単にできました。さらにセキュリティルール等を追加しなければなりませんが、今回は省略しています。
とりあえずロードバランサを触ってみたかったのです。冒頭でも言いましたが、VCNの理解とセキュリティ周りの理解がまだできていないのでもう少し勉強してみます。
本日も最後までご覧いただきありがとうございました。
コメント