LoginSignup
1
0

OCI Load Balancer と Oracle Linux 9 でロードバランシングを体験 その4 Load Blanacer作成・設定

Last updated at Posted at 2024-04-11

【お知らせ】この記事はこちらの記事と連動しております。

OCI Full Stack Disaster Recovery (FSDR) が Load Balancer 対応になったので試してみた

こちらの記事を試すための 事前準備 の方法をステップバイステップで記述したものであり、こちらで利用しているLoad Balancerと、Oracle Linux 9の構成を最速で構成する手順 です。

この一連の記事に沿ってリソースを作成するだけでも、OCIで Load BalancerOracle Linux 9Webサーバを構築して、ロードバランシングを体験することができます。

この記事は、その4 Load Blancer 作成・設定 です。

この手順を完了すれば、OCI上に簡単なネットワークをつくり、コンピュートのVMインスタンスを作成し、そのインスタンスに外部(インターネット)からSSHでアクセスできるようになります。

OCI の ObLoad Balancer に関しては以下のスライド資料とマニュアルページを参照してください。

■資料

目次

その1 はじめに
その2 ネットワーク(VCN)とVM 作成
その3 VM上の Oracle Linux 9 に apache、PHPインストール、設定
その4 Load Blancer 作成・設定
その5 オブジェクト・ストレージ、ブロック・ボリューム 作成・設定

の構成でお届けしています。

Load Balancer 作成前準備

周辺構成図

図のようなLoad Balancerを利用するシステムを作っていきます。

image.png

構成情報

Tokyo Region

Load Balancer
 名前: lb_01
 バックエンド・セット: bs_lb_01
 バックエンド: instance-01, instance-02
 可視性タイプの選択:パブリック
 リスナー名:Listener_lb_01
 トラフィックタイプ:HTTP

FSDRを試す場合はスタンバイ側(この場合は Seoul Region)にも Load Balancer を用意しておく必要があります。

Seoul Region

Load Balancer
 名前: lb_01
 VCN: vcn01_icn
 バックエンド・セット: bs_lb_01_icn

仮想クラウドネットワーク (VCN) と、コンピュートVM はすでに下記のようなリソースが作られている前提です。

まだ作成されてない場合は その2 ネットワーク(VCN)とVM 作成 を参考に準備します。

Tokyo Region

VCN
名前: vcn01
 IPv4 CIDRブロック: 10.0.0.0/16
public_subnet
 IPv4 CIDRブロック: 10.0.0.0/24
private_subnet
 IPv4 CIDRブロック: 10.0.1.0/24
セキュリティーリスト
 イングレスルール 追加
  ソースCIDR: 0.0.0.0/0
  宛先ポート範囲: Port 80,433
インターネット・ゲートウェイ
 internet_gw01
デフォルトルート
 internet_gw01
VM
 instance-01
  Private IP: 10.0.0.101  
 instance-02
  Private IP: 10.0.0.102

Seoul Region

VCN
名前: vcn01_icn
 IPv4 CIDRブロック: 192.168.0.0/16
public_subnet
 IPv4 CIDRブロック: 192.168.0.0/24
private_subnet
 IPv4 CIDRブロック: 192.168.1.0/24
セキュリティーリスト
 イングレスルール 追加
  ソースCIDR: 0.0.0.0/0
  宛先ポート範囲: Port 80,433
インターネット・ゲートウェイ
 internet_gw01_icn
デフォルトルート
 internet_gw01

コンピュートVM を移動インスタンスとして、FSDRにメンバー登録する場合はスタンバイ側のリージョンにあらかじめ VM を用意しておく必要はありません。

Load Balancer 作成

ロード・バランサーの作成ボタンを押す

「ロード・バランサーの作成」ボタンを押します。

image.png

詳細の追加

ロードバランサ名を付ける

ロードバランサ名を付けます。
この場合 lb_01 です。
可視性タイプの選択は パブリック とします(デフォルトなのでそのまま)

※ 可視性をパブリックにしないとインターネット側からは直接アクセスできません。

image.png

帯域幅の選択(オプション)

帯域幅を選ぶことができます。
フレキシブルシェイプは最小帯域幅と最大帯域幅をあらかじめ設定しておくことが可能です。

image.png

利用する帯域幅によって費用が変わってきます。
こちらのページでLoad Balancerの数と、帯域幅を入力すると概算費用を見積もることが可能です。

Flexible Load Balancingの価格
https://www.oracle.com/jp/cloud/networking/load-balancing/pricing/

ここでは、そのまま 最小帯域幅、最大帯域幅とも 10Mbpsで作成を進めます。

VNCとサブネット選択

仮想クラウドネットワーク(VCN)とLoad Balancerを配置するサブネットを選択します。

ここでは
 仮想クラウドネットワーク: VCN01
 サブネット:public_subnet
を選択します。

image.png

作成していない場合は、こちらの記事 を参考にあらかじめVCNとサブネットを作成しておきましょう。

バックエンドの選択

ロード・バランシング・ポリシーの指定: 重みづけラウンドロビン (デフォルト)
としておき

バックエンドの追加 ボタンを押します。

ロード・バランシング・ポリシー の種類と動作に関しては ロード・バランサ・ポリシー
https://docs.oracle.com/ja-jp/iaas/Content/Balance/Reference/lbpolicies.htm 等を参考にしてください。

image.png

追加するバックエンドサーバーを選択します。
この場合
 instance-01
 instance-02
を選択します。

image.png
image.png

バックエンドの追加が完了したら 「次」 のボタンを押してリスナーの構成 画面に行きます。

image.png

リスナーの構成

リスナー名:Listener_lb_01
リスナーで処理するトラフィックタイプ:HTTP

とします。

「次」 を押しロギングの管理画面に進みます。

image.png

ロギングの管理

エラーログのみ記録する場合

エラー・ログ:有効
デフォルト・ログ・グループの自動作成: (ロググループが存在しない場合)
ログ名: lb_01_error
アクセス・ログ:有効化されていません(デフォルト)

等とします。

image.png

すでに、ロググループが存在している場合、既存のロググループの中からロググループを選択します。
アクセスログも記録したい場合は、アクセス・ログ有効化してください。

image.png

Load Balancer の作成開始

ここまでで設定に問題がないようであれば 「送信」 をクリックし、Load Balancerの作成を開始します。

image.png

Load Balancer 作成完了

Load Balancer の作成が問題なく終了し、バックエンドの状態も問題ない場合は下のような画面になります。

Load Balancerのパブリック IPアドレスの値が

IPアドレス: xxx.xxx.xxx.xxx (パブリック)

のように表示されているはずですので、コピーしてひかえておきます。
後ほどこのIPにブラウザから接続して動作を確認します。

image.png

Load Balancer 作成失敗(トラブルシュート)

万一 Load Balancer の作成に失敗した場合は、作業リクエスト のところにエラーが出ていないかなどを確認して原因を特定します。

image.png

バックエンドの状態確認

バックエンドの状態を確認するとクリティカルとなっている場合があります。
これは、例えばバックエンドセットに登録されているコンピュートVMが起動されていない場合、ヘルスチェックによってクリティカルの状態となります。

またバックエンド・セットが複数存在している場合、どれか1つのバックエンド・セットがクリティカルな状態であれば、全体的なヘルスはやはりクリティカルとなるようです。

バックエンド・セットの状態確認をしましょう。

image.png

バックエンド・セットの状態確認

バックエンド・セットのバックエンド・サーバーにコンピュートVMが登録されてないと、不完全-バックエンドなし などというヘルス・ステータスになっている場合があります。
画面左のリソースメニューにもバックエンド(0)ゼロ0が表示されている場合があります。

バックエンド(0)の場合
もし、これまでのステップで、バックエンドに、コンピュートVMのサーバを追加し忘れていたりした場合は、バックエンドにVMを追加しましょう(笑)

バックエンドの追加でバックエンド・サーバーのセットに含めるコンピュートVMインスタンスを指定します。

image.png

バックエンド・サーバ(コンピュートVM)の状態確認

バックエンド・サーバーのセットにコンピュートVMインスタンスが追加されると、バックエンドのヘルスステータスは保留となり、サーバーのステータスを確認後、ステータスが更新されます。

image.png

バックエンドに追加したVMが起動していないと当然、スタータスはクリティカルになります。

万一、VMを起動し忘れていた場合は、VMを起動しましょう(笑)

VMが起動しているのに、いくら待ってもバックエンドのヘルスがクリティカルな場合は、VMが正常に起動しているか、VMの指定されたポートにアクセスできるか、前の記事 その3 VM上の Oracle Linux 9 に apache、PHPインストール、設定 に戻って再度確認してみましょう。

Load Balancerのヘルスチェックポリシー確認

今回の記事のように、コンピュートVMにApacheとPhpをインストール、起動した程度でこのヘルスチェック・ポリシーを変更する必要に迫られることは、まずありえません。
それ故深追いはしませんが、参考までに Load Balancerのヘルスチェックポリシーについても見ておきましょう。

私が確認した時点では、ヘルスチェック・ポリシーのデフォルトは以下のようになっています。

image.png

バックエンド・セットの詳細 画面で 「ヘルス・チェックの更新」 ボタンを押すとヘルス・チェックのポリシーを設定、編集することが可能になります。
image.png

参照マニュアルページは以下になります。
ロード・バランサのヘルス・チェック・ポリシーの編集

VMの設定、Load Balancerの設定をテスト

ここまで全て問題なく設定できているようであれば、先ほど控えておいた Load BalancerのパブリックIPにWebブラウザで接続をしてみましょう。

トラフィック・分散ポリシーを 重み付けラウンド・ロビンにしているので、この例では、ブラウザで Load Balancer パブリック IP 131.186.61.113(例) にアクセスし、リロードすると Server IP が 10.0.0.101と、10.0.0.102 と交互に表示されトラフィック・分散ポリシーの設定通りバックエンドサーバにアクセスしていることがわかります。

バックエンドのコンピュートVMには、前の記事 その3 VM上の Oracle Linux 9 に apache、PHPインストール、設定 にてVMにWebサーバ(apache+php等)を設定してあります。

image.png

交互に別のプライベートIPアドレスが表示されればテストOKです。

以上、DR構成のプライマリリージョンの東京リージョンに、ネットワーク、VM、Load Balancerを配置して、アクセスして接続をテストしてみました。

次は前準備の最終段階、その5 オブジェクト・ストレージ、ブロック・ボリューム 作成・設定になります。

次の記事

その5 オブジェクト・ストレージ、ブロック・ボリューム 作成・設定 になります。

前の記事

その3 VM上の Oracle Linux 9 に apache、PHPインストール、設定

連動記事

OCI Full Stack Disaster Recovery (FSDR) が Load Balancer 対応になったので試してみた
https://qiita.com/Assemble_EX-80/items/92262c337290d57b670c

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0