付録A 設定例: HAProxy および Keepalived を用いた Ceph Object Gateway サーバーの負荷分散
本付録では、Ceph クラスターにおける HAProxy および Keepalived の設定例を説明します。Ceph Object Gateway を使用すると、オブジェクトゲートウェイの多くのインスタンスを 1 つのゾーンに割り当てできるため、負荷の増加に合わせて拡張することができます。各オブジェクトゲートウェイは独自の IP アドレスを持つため、HAProxy および keepalived を使用して Ceph Object Gateway サーバー全体で負荷を分散できます。
この設定では、HAProxy は Ceph Object Gateway サーバー全体で負荷分散を行います。 Keepalived は、Ceph Object Gateway サーバーの仮想 IP アドレスの管理および HAProxy の監視に使用されます。
HAProxy および keepalived では、HAProxy サーバーで HTTPS を終了するユースケースがあります。Red Hat Ceph Storage (RHCS) 1.3.x は Civetweb を使用しますが、RHCS 1.3.x の実装は HTTPS をサポートしません。HAProxy サーバーを使用して HAProxy サーバーで HTTPS を終了でき、HAProxy サーバーと Civetweb ゲートウェイインスタンスの間で HTTP を使用できます。この例には、手順の一部としてこの設定が含まれます。
A.1. 前提条件
Ceph Object Gateway で HAProxy を設定するには、以下が必要になります。
- 稼働中の Ceph クラスター
- ポート 80 で実行されるよう設定された同じゾーン内の Ceph Object Gateway サーバー 2 台以上
- HAProxy および keepalived のサーバー 2 台以上
注記
この手順では、2 台以上の Ceph Object Gateway サーバーが実行され、ポート 80 上でテストスクリプトを実行すると有効な応答が返されることを前提とします。