メインコンテンツにスキップ
バージョン: 3.0

CubeCOSでロードバランサーを作成する方法

ロードバランサーは、受信するネットワークトラフィックを複数のサーバーに分散させ、特定のサーバーに過大な負荷がかからないようにします。 これにより、アプリケーションのパフォーマンス、信頼性、および可用性が向上します。

情報

USBストレージデバイスは、デフォルトでブロックされています。 USBデバイスへのアクセスが必要な場合は、管理者としてログインした後、CLI > tuning > configure を使用して、チューニングオプション cubesys.probeusbtrue に設定してください。

前提条件

  1. Amphora ロードバランサーのイメージをダウンロード:amphora-x64-haproxy_yoga

ロードバランサーをアップロードしてインストールする

  1. SCP や WinSCP などのツールを使用して、ロードバランサーのイメージを CubeCOS クラスタの Glance イメージディレクトリ /mnt/cephfs/glance にアップロードしてください。 クラスタのVIPへの管理権限を持つコンピュータから。

    scp amphora-x64-haproxy_yoga.qcow2 root@<cluster-vip>:/mnt/cephfs/glance/
  2. SSHを使用して、CubeCOSクラスタ管理用VIPにadminとしてログインします。

  3. 次のコマンドでロードバランサーのイメージをインポートします:image import_lb

    cc1> image import_lb
    1: usb
    2: local
    Enter index: 2
    1: amphora-x64-haproxy_yoga.qcow2
    Enter index: 1
    Importing...
    [13:49:33] Converting image to RAW format ...
    (100.00/100%)
    [13:49:36] Creating image amphora-x64-haproxy ...
    [=============================>] 100%
    b726a8b9-d6a8-492c-8102-9247c252d779
    [13:50:04] Finished creating image amphora-x64-haproxy
    Importing complete. It is safe to remove the local image file.

ロードバランサーの機能をテストする

ロードバランサーのプールに属するインスタンスを少なくとも2つ設定してください。

情報

以下の手順では、Webサイトをホストするために、NginxとHTTPプロトコルを使用し、ポート80で動作する2つのRocky8 Webサーバーインスタンスを設定する方法を説明します。

/assets/network/lb_create_1.png /assets/network/lb_create_3.png

ロードバランサーを作成

  1. 「プロジェクト」>「ネットワーク」>「ロードバランサー」>「+ ロードバランサーを作成」の順に選択します。

/assets/network/lb_create_2.png

  1. ロードバランサーを作成する前に、5つの設定手順を完了する必要があります。

    • 基本設定
    • リスナーの詳細
    • プールの詳細
    • 会員詳細
    • 健康モニターの詳細
  2. 基本設定

    • *ロードバランサー名 : 希望するロードバランサー名を入力してください。
    • 説明 : ロードバランサーに関する追加の説明。
    • *所有ネットワーク:ロードバランサーに使用するネットワークインターフェースとサブネットを選択してください。
    • 管理状態:ポートの管理状態を指定します(デフォルトはオン)。

    /assets/network/lb_create_4.png

  3. リスナーの詳細

    • *リスナー名 : 希望するリスナー名を入力してください。

    • リスナーの説明 : リスナーに関する追加の説明。

    • *リスナープロトコル:リスナーに使用するプロトコルを選択してください。対応しているプロトコルタイプは以下の通りです。

      • HTTP
      • TCP
      • HTTPS
      • UDP
    • *リスナープロトコルポート : 上記で選択したプロトコルによるリスナー用のポート。

    • *リスナーの接続数制限:リスナーへの同時接続数を制限します(デフォルト -1)。

      -1 は接続制限なしを意味します_

    • 管理状態:リスナーの管理状態を指定します(デフォルトはオン)。

    • カスタムヘッダー:バックエンドメンバーに送信する前にリクエストに挿入するオプションのヘッダー

      • X-Forwarded-For : クライアントのIPアドレスを指定します
      • X-Forwarded-Port : リスナーポートを指定します

    /assets/network/lb_create_5.png

  4. プールの詳細:

    • *プール名 : 希望するプール名を入力してください。

    • プールの説明:プールに関する追加情報。

    • *プールアルゴリズム:プールに使用するアルゴリズムを選択します。 以下のアルゴリズムタイプに対応しています

      • 接続数が最も少ない
      • ラウンドロビン
      • 送信元IP
    • *プールプロトコル:プールに使用するプロトコルを選択します。 以前に設定した「Listener Protocol」の選択に基づいて。

    • 管理状態:プールの管理状態を指定します(デフォルトはオン)。

    /assets/network/lb_create_6.png

  5. 会員詳細

    「既存のポートを選択」から既存のインスタンスを選択してください。 「メンバーを追加」ボタンをクリックすると、そのメンバーが「選択したメンバー」に追加されます。

    /assets/network/lb_create_7.png

    選択したインスタンスに特定のポートを割り当てます。

    /assets/network/lb_create_8.png

  6. 健康モニタリングの詳細

    • ヘルスモニターを有効にする:ヘルスモニターを有効または無効にするスイッチ(デフォルトは「はい」)。

    • *ヘルスモニター名 : 希望するヘルスモニター名を入力してください。

    • *ヘルスモニターの遅延:各ヘルスチェックの応答に対する最大間隔(デフォルトは5)。

    • *ヘルスモニターの最大再試行回数:ヘルスチェックが連続して失敗した回数に応じて、バックエンドのクラウドサーバーの状態が「正常」から「異常」に切り替わります(デフォルトは3)。

    • *ヘルスモニターのタイムアウト:ヘルスチェックのリクエストに対する応答を待機する時間。この時間内に応答がない場合、チェックは失敗とみなされます(デフォルトは3)。

    • *ヘルスモニターの種類:ヘルスモニターに使用するプロトコルを選択してください。 以前に設定した「Listener Protocol」の選択に基づいて。

    • 管理状態:ヘルスモニターの管理状態を指定します(デフォルトはオン)。

    /assets/network/lb_create_9.png

  7. ロードバランサーを起動し、そのステータスが「作成待ち」になっていることを確認してください。

    /assets/network/lb_create_10.png

  8. ロードバランサーのステータスが「Activate」になるまでお待ちください

    /assets/network/lb_create_11.png

  9. ウェブサイトにアクセスして、ロードバランサーの信頼性を確認してください。 テスト対象のプール内のインスタンスを終了させるか、またはインスタンスに負荷を追加します。

    /assets/network/lb_create_12.png
    /assets/network/lb_create_13.png