このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。

機械翻訳について

17.8 DRモードでのKeepalivedを使用したロード・バランシングの構成

次の例では、直接ルーティング(DR)モードでKeepalivedを使用して、2つのサーバー上に単純なフェイルオーバーおよびロード・バランシングの構成を実装します。 1つのサーバーがプライマリ・サーバーとして機能し、もう1つのサーバーがバックアップとして機能します。 プライマリ・サーバーの優先度がバックアップ・サーバーより高くなっています。 各Keepalivedサーバーには単一のネットワーク・インタフェースがあり、サーバーは2つのwebサーバーにアクセスできる同一のネットワーク・セグメント(10.0.0.0/24)に接続されます。

「図17.4」は、Keepalivedプライマリ・サーバーにネットワーク・アドレス10.0.0.11および10.0.0.1 (仮想)があることを示します。 Keepalivedバックアップ・サーバーにはネットワーク・アドレス10.0.0.12があります。 webサーバー、websvr1およびwebsvr2のネットワーク・アドレスは、それぞれ10.0.0.71および10.0.0.72です。 また、両方のwebサーバーが仮想IPアドレス10.0.0.1を使用して構成され、その宛先アドレスを使用したパケットを受信できるようになります。 受信リクエストはプライマリ・サーバーによって受信され、webサーバーにリダイレクトされ、直接応答します。

図17.4 DRモードでのロード・バランシングのためのKeepalived構成の例

この図は、Keepalivedプライマリ(マスター)サーバーにネットワーク・アドレス10.0.0.11および10.0.0.1 (仮想)があることを示しています。 Keepalivedバックアップ・サーバーのネットワーク・アドレスは10.0.0.12です。 webサーバーwebsvr1およびwebsvr2には、それぞれ10.0.0.71および10.0.0.72のネットワーク・アドレスがあります。 さらに、両方のwebサーバーが仮想IPアドレス10.0.0.1を使用して構成され、その宛先アドレスを使用したパケットを受け入れられるようにします。 受信リクエストはプライマリ・サーバーによって受信され、webサーバーにリダイレクトされ、直接応答します。


/etc/keepalived/keepalived.confでは、プライマリ(マスター)サーバー上で次の構成を使用できます:

global_defs {
   notification_email {
     root@mydomain.com
   }
   notification_email_from svr1@mydomain.com
   smtp_server localhost
   smtp_connect_timeout 30
}

vrrp_instance external {
    state MASTER
    interface eth0
    virtual_router_id 91
    priority 200
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1215
    }
    virtual_ipaddress {
        10.0.0.1/24
    }
}

virtual_server 10.0.0.1 80 {
    delay_loop 10
    protocol TCP
    lb_algo rr
#   Use direct routing
    lb_kind DR
    persistence_timeout 7200

    real_server 10.0.0.71 80 {
        weight 1
        TCP_CHECK {
          connect_timeout 5
          connect_port 80
        }
    }

    real_server 10.0.0.72 80 {
        weight 1
        TCP_CHECK {
          connect_timeout 5
          connect_port 80
        }
    }
}

仮想サーバー構成は、lb_kindDR (直接ルーティング)に設定されていることを除けば、17.7項「NATモードでのKeepalivedを使用したロード・バランシングの構成」と同様で、Keepalivedサーバーが、クライアントからのすべてのインバウンド・ネットワーク・トラフィックを処理してからバックエンド・サーバーにルーティングし、バックエンド・サーバーがKeepalivedサーバーをバイパスしてクライアントに直接返信します。 この構成では、Keepalivedサーバーにかかる負荷は軽減されますが、各バックエンド・サーバーに外部アクセスが必要であるうえ、攻撃の前面に晒される可能性があるため、セキュリティは弱くなります。 一部の実装では、追加のネットワーク・インタフェースを使用し、Webサーバーごとに、レスポンス・ネットワーク・トラフィックを処理するための専用ゲートウェイがあります。

バックアップ・サーバーの構成は、notification_email_fromstatepriorityおよびinterface (システム・ハードウェア構成が異なる場合)の値を除けば同じです。

global_defs {
   notification_email {
     root@mydomain.com
   }
   notification_email_from svr2@mydomain.com
   smtp_server localhost
   smtp_connect_timeout 30
}

vrrp_instance external {
    state BACKUP
    interface eth0
    virtual_router_id 91
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1215
    }
    virtual_ipaddress {
        10.0.0.1/24
    }
}

virtual_server 10.0.0.1 80 {
    delay_loop 10
    protocol TCP
    lb_algo rr
#   Use direct routing
    lb_kind DR
    persistence_timeout 7200

    real_server 10.0.0.71 80 {
        weight 1
        TCP_CHECK {
          connect_timeout 5
          connect_port 80
        }
    }

    real_server 10.0.0.72 80 {
        weight 1
        TCP_CHECK {
          connect_timeout 5
          connect_port 80
        }
    }
}

さらに2つの構成変更が必要です。

Keepalivedをインストールおよび構成する方法の詳細は、17.5項「Keepalivedのインストールと構成」を参照してください。