このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
次の例では、Keepalivedを使用して、プライマリ・サーバーで障害が発生した場合に、HAProxyサービスをバックアップ・サーバーにフェイルオーバーします。
「図17.5」では、2つのHAProxyサーバーが示されています。これらは、10.0.0.11
および10.0.0.12
として外部に面しているネットワーク(10.0.0.0/24
)に接続され、192.168.1.11
および192.168.1.12
として内部ネットワーク(192.168.1.0/24
)に接続されています。 一方のHAProxyサーバー(10.0.0.11
)は、仮想IPアドレス10.0.0.10
を使用してKeepalivedプライマリ・サーバーとして構成され、もう一方(10.0.0.12
)はKeepalivedバックアップ・サーバーとして構成されます。 2つのwebサーバー、websvr1
(192.168.1.71
)およびwebsvr2
(192.168.1.72
)には、内部ネットワークでアクセスできます。 IPアドレス10.0.0.10
は、インターネット上でルーティングできないプライベート・アドレス範囲10.0.0.0/24
にあります。 アップストリーム・ネットワーク・アドレス変換(NAT)ゲートウェイまたはプロキシ・サーバーが、インターネットとの間のアクセスを提供します。
10.0.0.11
と10.0.0.12
の両方でのHAProxy構成は、第17.3項、「HAProxyを使用した単純なロード・バランシングの構成」と非常によく似ています。 HAProxyが受信リクエストをリスニングするIPアドレスは、Keepalivedが制御する仮想IPアドレスです。
global daemon log 127.0.0.1 local0 debug maxconn 50000 nbproc 1 defaults mode http timeout connect 5s timeout client 25s timeout server 25s timeout queue 10s # Handle Incoming HTTP Connection Requests on the virtual IP address controlled by Keepalived listen http-incoming mode http bind 10.0.0.10:80 # Use each server in turn, according to its weight value balance roundrobin # Verify that service is available option httpchk OPTIONS * HTTP/1.1\r\nHost:\ www # Insert X-Forwarded-For header option forwardfor # Define the back-end servers, which can handle up to 512 concurrent connections each server websvr1 192.168.1.71:80 weight 1 maxconn 512 check server websvr2 192.168.1.72:80 weight 1 maxconn 512 check
また、図17.6に示すように、HAProxyとKeepalivedをWebサーバーで直接構成することもできます。 前述の例と同様に、一方のHAProxyサーバー(10.0.0.11
)が仮想IPアドレス10.0.0.10
を使用してKeepalivedプライマリ・サーバーとして構成され、もう一方の10.0.0.12
はKeepalivedバックアップ・サーバーとして構成されます。 プライマリ・サーバーのHAProxyサービスは、ポート80でリスニングし、ポート8080でリスニングするhttpd
サービスのいずれかに着信リクエストを転送します。
HAProxyの構成は、webサーバーのIPアドレスとポートを除き、前述の例と同じです。
... server websvr1 10.0.0.11:8080 weight 1 maxconn 512 check server websvr2 10.0.0.12:8080 weight 1 maxconn 512 check
各サーバーのファイアウォールは、ポート8080で受信TCPリクエストを受け入れるよう構成する必要があります。
どちらの構成例のKeepalived構成も、17.6項「Keepalivedを使用した単純な仮想IPアドレス・フェイルオーバーの構成」に示されている構成と似ています。
プライマリ(マスター)サーバーのKeepalived構成は次のとおりです:
global_defs {
notification_email {
root@mydomain.com
}
notification_email_from haproxy1@mydomain.com
smtp_server localhost
smtp_connect_timeout 30
}
vrrp_instance VRRP1 {
state MASTER
# Specify the network interface to which the virtual address is assigned
interface eth0
# The virtual router ID must be unique to each VRRP instance that you define
virtual_router_id 41
# Set the value of priority higher on the master server than on a backup server
priority 200
advert_int 1
authentication {
auth_type PASS
auth_pass 1066
}
virtual_ipaddress {
10.0.0.10/24
}
}
バックアップ・サーバーの構成は、notification_email_from
、state
、priority
およびinterface
(システム・ハードウェア構成が異なる場合)の値を除けば同じです。
global_defs {
notification_email {
root@mydomain.com
}
notification_email_from haproxy2@mydomain.com
smtp_server localhost
smtp_connect_timeout 30
}
vrrp_instance VRRP1 {
state BACKUP
# Specify the network interface to which the virtual address is assigned
interface eth0
virtual_router_id 41
# Set the value of priority lower on the backup server than on the master server
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1066
}
virtual_ipaddress {
10.0.0.10/24
}
}
プライマリ・サーバー(haproxy1
)が失敗した場合、keepalived
は、バックアップ・サーバー(haproxy2
)上のeth0
インタフェースに仮想IPアドレス10.0.0.10/24
を割り当てます。これがプライマリ・サーバーになります。
HAProxyおよびKeepalivedのインストールおよび構成方法の詳細は、第17.2項、「HAProxyのインストールと構成」および第17.5項、「Keepalivedのインストールと構成」を参照してください。