LinuCレベル3 プラットフォームスペシャリスト 高可用性プラットフォームの構築 問17
高可用性プラットフォームの構築/ロードバランサーの構築HAProxyの設定ファイル haproxy.cfg に関する説明として、正しいものをすべて選べ。
当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「高可用性プラットフォームの構築」に対応。実際の試験問題ではありません)
- Aaclで定義した条件をuse_backendに指定すると、条件に合うリクエストを特定のbackendへ振り分け、残りはdefault_backendへ送れる
- Btimeout connectは、クライアントが何も送らないまま接続を保持していられる最大の時間を指定するもので、超えると切断される
- Cbackend内のserver行にbackupを付けたサーバーは、backupを付けていない全サーバーが停止したときにだけ振り分け先になる
- Dhttp-response del-headerは、クライアントから受けたリクエストのヘッダを削除してからバックエンドへ転送するための指定である
正解:A、C
解説
HAProxyでは、aclでパスやホスト名等の条件に名前を付け、use_backend <backend名> if <acl名> で条件に合うリクエストの転送先を切り替えます。どの条件にも合わないリクエストはdefault_backendで指定したbackendへ送られます。server行にbackupを付けたサーバーは、通常のサーバーがすべてダウンしたときにだけ使われる予備のサーバーになります。timeout connectはHAProxyがバックエンドのサーバーへの接続確立を待つ時間で、クライアント側の無通信の上限はtimeout clientで指定します。http-responseはバックエンドからの応答に対する処理で、リクエストのヘッダを操作するにはhttp-requestを使います。なお、backupのサーバーが複数あるときは、既定では最初の1台だけが使われ、すべてを使うにはoption allbackupsを指定します。
選択肢ごとの解説
- A正しい。aclとuse_backendで条件別に振り分け、どれにも当てはまらないリクエストはdefault_backendへ送れます。
- B誤り。timeout connectはバックエンドのサーバーへの接続確立を待つ時間です。クライアント側の無通信の上限はtimeout clientです。
- C正しい。backupを付けたサーバーは、通常のサーバーがすべて停止したときにだけ使われる予備のサーバーになります。
- D誤り。http-responseは応答に対する処理で、del-headerはクライアントへ返す応答のヘッダを削除します。リクエストにはhttp-requestを使います。