このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
次の例では、直接ルーティング(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サーバーにリダイレクトされ、直接応答します。
/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_kind
がDR
(直接ルーティング)に設定されていることを除けば、17.7項「NATモードでのKeepalivedを使用したロード・バランシングの構成」と同様で、Keepalivedサーバーが、クライアントからのすべてのインバウンド・ネットワーク・トラフィックを処理してからバックエンド・サーバーにルーティングし、バックエンド・サーバーがKeepalivedサーバーをバイパスしてクライアントに直接返信します。 この構成では、Keepalivedサーバーにかかる負荷は軽減されますが、各バックエンド・サーバーに外部アクセスが必要であるうえ、攻撃の前面に晒される可能性があるため、セキュリティは弱くなります。 一部の実装では、追加のネットワーク・インタフェースを使用し、Webサーバーごとに、レスポンス・ネットワーク・トラフィックを処理するための専用ゲートウェイがあります。
バックアップ・サーバーの構成は、notification_email_from
、state
、priority
および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つの構成変更が必要です。
第17.8.1項、「Keepalived DRモード・ロード・バランシングのためのファイアウォール・ルールの構成」の説明に従って、ロード・バランサとして構成する各Keepalivedサーバー(プライマリとバックアップ)にファイアウォール・ルールを構成します。
第17.8.2項、「Keepalived DRモード・ロード・バランシングのためのバックエンド・サーバーの構成」の説明に従って、Keepalivedロード・バランサで使用する各バックエンド・サーバーのネットワーク・インタフェースに対して、
arp_ignore
およびarp_announce
ARPパラメータと仮想IPアドレスを構成します。
Keepalivedをインストールおよび構成する方法の詳細は、17.5項「Keepalivedのインストールと構成」を参照してください。