LinuCレベル2 202試験の例題と解説
2.13.2キャパシティプランニングとスケーラビリティの確保
LinuCレベル2 202試験の出題範囲から「2.13.2 キャパシティプランニングとスケーラビリティの確保」についての例題を解いてみます。スケールアウトの構成についての例題です。
例題
スケールアウトに対応できるシステム構成の説明として、誤っているものを選択してください。
- ロードバランサーを使用して、複数のサーバに負荷を分散する。
- 共有ストレージにデータを配置する。
- アクティブ/スタンバイのHAクラスタを構成する。
- スモールスタートでサービスを開始し、利用者が増えたらサーバの台数を増やす。
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「3. アクティブ/スタンバイのHAクラスタを構成する。」です。
スケールアウトとは、サービスを提供するサーバの台数を増やすことでシステムの規模を拡大することを言います。
スケールアウトに対応できるシステムでは、一般的には、同じ構成のサーバを複数台準備し、それぞれのサーバに負荷を分散できる構成とします。利用者の増大等によりキャパシティが不足してきた際には、同じ構成のサーバを増やすことでシステム拡張を行います。
スケールアウトに対応できるシステムでは、下記のようなコンポーネントを利用します。
●ロードバランサー
複数のサーバに負荷を分散するために使用します。
サービスを提供するIPアドレスを設定し、そのIPアドレスで受け付けたトラフィックを、複数のサーバに分散して転送します。サービスが提供できないサーバを自動的に切り離す機能があるものもあり、可用性の向上にも役立ちます。
アプライアンスのロードバランサー、Linux上で動作するソフトウェアのロードバランサー等を使用することができます。
●DNSラウンドロビン
DNSの仕組みを利用してサーバの負荷を分散します。
例えば、DNSの設定で、www.example.comのIPアドレスとして、192.168.100.1と192.168.100.2のどちらかを返すようにしておきます。クライアントは、www.example.comに接続する際にDNSによる名前解決を行い、192.168.100.1または192.168.100.2のどちらかのサーバに接続することになります。
通常は、停止しているサーバの切り離しをすることはできませんが、容易な負荷分散の方法として使用されることがあります。
●共有データ
複数のサーバでサービスを提供する場合、それぞれのサーバでデータを共有する必要があります。
その際に共有ストレージやデータベースを使用します。多くの場合、NFS等の複数のサーバから同時に読み書きができるストレージや、MariaDBやPostgreSQL等のリレーショナルデータベース管理システムを使用します。
●サーバ
サービスを提供するサーバです。
同じ構成のサーバを複数準備しておき、ロードバランサー等で負荷分散を行います。各サーバが利用するデータは、共有ストレージやデータベースに配置します。
例題の選択肢について解説します。
1. ロードバランサーを使用して、複数のサーバに負荷を分散する。
正しい説明です。
スケールアウトが必要になった際には、サーバを増設し、ロードバランサーの負荷分散対象を増やすことで対応することができます。
2. 共有ストレージにデータを配置する。
正しい説明です。
スケールアウトに対応できる構成では、複数台のサーバを利用することがあります。この場合、複数台のサーバでデータを共有するために、共有ストレージやデータベースを使用します。
3. アクティブ/スタンバイのHAクラスタを構成する。
誤った説明です。
アクティブ/スタンバイのHAクラスタ構成は、一般的にスケールアウトを行うことができません。システム拡張が必要になった際には、スケールアップを検討する必用があります。スケールアップとは、サーバの台数を増やすのではなく、サーバのスペックを上げることでシステム拡張を行うことを言います。
4. スモールスタートでサービスを開始し、利用者が増えたらサーバの数を増やす。
正しい説明です。
将来的にサービスが拡大することを予測できるシステムは、スケールアウトに対応できるようにして置くと便利です。例えば、最初はサーバ2台でサービスを開始し、利用者の増大に合わせてサーバを増加していくというようなことが可能となります。
スケールアウトに対応できる構成を把握し、将来を見据えたシステム設計を行えるようになりましょう。
例題作成者
株式会社デージーネット OSS研究室 大野 公善