スマートスタイル TECH BLOG

データベース&クラウド技術情報

OCI ロード・バランサーのバックエンドドレインを試してみる

はじめに

今回の記事は、OCIロード・バランサーのバックエンドセットで、3台のバックエンド・サーバー構成の内、1台を「ドレイン」の対象に設定した場合、どのような挙動になるのかが気になったので、本記事で検証をしていきたいと思います。

前提条件

  • VCNを作成し、構成している
  • 複数のバックエンド・サーバを持ったバックエンド・セットを作成している
  • 各サーバーには、Apacheをインストールしている
  • ロード・バランサーからリクエストを受けると、サーバー名がブラウザに表示される

テスト環境

  • リージョン:東京リージョン
  • サブネット:ロード・バランサー用のサブネット
          Webサーバー用サブネット
  • ロード・バランサー:パブリック・ロード・バランサー
  • 負荷分散ポリシー:重みづけラウンドロビン
  • インスタンス:ApacheをインストールしたWebサーバー 3台(1117_linux1、1117_linux2、1117_linux3)
  • 以下のスクリーンショットのように、OCIロード・バランサーをセットアップして、"1117_linux2"のWebサーバーに、「ドレイン」状態に設定

重みづけラウンドロビンで動作確認

まずは、以下のスクリーンショットで、ロード・バランサーの重みづけラウンドロビンで、バックエンドサーバー(1117_linux1、1117_linux2、1117_linux3)の動作を確認したいと思います。

バックエンド・セットのヘルスのヘルスチェックは、3台とも全てOKの状態です。

ブラウザのURLに、ロード・バランサーのIPアドレスを入力します。

最初に、1117_linux1がブラウザに表示されます。

この状態で、ブラウザからロード・バランサーに対して、リクエスト(リロード)すると、重みづけラウンドロビンポリシーによって、バックエンドサーバー(1117_linux1・1117_linux2、1117_linux3)が順番に、リクエストを振り分けることが確認できました。

「ドレイン」の対象を設定

それでは、バックエンドサーバーの1117_linux2のドレイン設定を有効化していきたいと思います。

以下のスクリーンショットのように、「ドレイン」の対象にさせるインスタンスにチェックを付けます。

チェックを付けた後、【アクション】 > 【ドレイン状態の編集】を選択します。

以下のスクリーンショットの通り、"True"有効化に変更し、変更の保存を押下します。

変更後、バックエンドの「ドレイン・ステータス」が「ドレイン済」と
変更になっていることが確認できました。

「ドレイン」状態で動作を検証

バックエンドサーバーの1117_linux2が、「ドレイン」の対象に設定できたため、この状態で、再度、ブラウザのURLに、ロード・バランサーのIPアドレスを入力します。

最初に、1117_linux1が表示されます。

続いて、ブラウザからロード・バランサーにリクエスト(リロード)をすると、1117_linux3が表示され、「ドレイン」の対象に設定した1117_linux2は表示されませんでした。

この状態で、何度かリクエスト(リロード)をすると、「ドレイン」の対象に設定した1117_linux2以外のバックエンドサーバーが、交互に画面上に表示されたことが確認できました。

まとめ

「ドレイン」の設定をすると、新しいリクエストを受信しない仕組みなので、リクエストは、ドレイン設定をしているサーバー以外に、リクエストが処理していることが確認できました。

Return Top