オンプレWebシステムのインフラ構成を考えてみた

クラウドファーストが叫ばれる昨今ですが、SI業界に身を置いていると未だにオンプレ(オンプレミス、自社設備)環境のITインフラの需要の多さを感じます。
案件ごとに毎回一から構成を検討し直すのは骨が折れるので、Webシステムを前提にある程度インフラ構成をパターンかできないか検討してみました。

オンプレ環境の存在意義

システム開発において、以下のような要件がある場合、オンプレ環境でのインフラ構築が選択されるケースがあります。

  • オンプレ環境の既存システムと連携したい
  • WANやインターネットと大容量通信をしたい
  • ランニングコストを定額化したい

※ これはレアケースですが、メーカー系SIerが大人の事情で自社サービスのクラウドしか使えず、かつ同サービスの機能や信頼性があまり充実していないと、止むを得ずオンプレ環境でシステムを構築することがあります。

ビジネスとして考えるならば、上記のような需要が存在する限り、SI系のインフラエンジニアはクラウドだけでなくオンプレの知識も身に付けておくべきだと思います。

オンプレ環境の設計で気をつけること

オンプレ環境はクラウド環境よりも設計の自由度が高い分、機能要件、非機能要件のグレードが設計に大きく依存します。特に以下の点は注意が必要です。

マネージドサービスが使えない

オンプレ環境では、クラウド事業者のマネージドサービスが使えません。Webアプリケーションに関連するサーバ以外にも、DNSサーバや監視サーバは自前で構築する必要があります。

運用性

マネージドサービスが使えないので、当然ながら各サーバ、NW機器の管理はシステム管理者が行う必要があります。セキュリティパッチの適用やバックアップなどは、設計時に運用ツールや手順も含めてきちんと整備しておくべきでしょう。

可用性

クラウドサービスは、ユーザが見えない部分でインフラが冗長化されています。オンプレ環境では、コストと要件のバランスを取りながら、自前で設計する必要があります。

論理構成

前述の注意点を踏まえ、オンプレWebシステムのインフラ構成を考えてみました。

あくまでも、Webシステムに必要と思われる一般的なコンポーネントを全て詰め込んだものなので、ここに記載のサーバを全て構築する必要があるとは限りません。
また、要件によってはADサーバ等ここに記載のないサーバが追加で必要になる場合があります。

ネットワーク

ネットワークセグメントは、インターネットとの接続有無で2セグメントに分割します。内部NWからは直接インターネットに接続はできません。内部NWのサーバからインターネットに対する必要な通信は、外部NW上のネットワーク系サーバを中継させます。
ネットワークの境界にはファイアウォールを設置し、必要な通信のみ許可します。
セグメントごとにロードバランサを設置して、サーバの負荷分散を行います。

アプリケーション系サーバ

アプリケーション系サーバは、いわゆるWeb3層構成を想定します。また、最近はセッション管理などの目的でキャッシュサーバを設置することが多いです。
各サーバの役割は以下の通りです。

サーバ種別 役割
Webサーバ HTTPリクエストを受け付ける。URLに応じて、静的コンテンツ、動的コンテンツのレスポンスを行う。動的コンテンツの場合、APサーバに処理のリクエストを転送する。
APサーバ アプリケーションに対するリクエストを受け付ける。DBデータやキャッシュデータの入出力、その結果を使ったビジネスロジックの処理を行い、結果をWebサーバに返す。
DBサーバ アプリケーションの永続データを保存する。APサーバからのSQLを受け付け、結果を返す。
キャッシュサーバ アプリケーションの一時データを保存する。APサーバからのリクエストを受け付け、結果を返す。

ネットワーク系サーバ

ネットワーク系サーバは、システム内サーバからのWeb、メール、DNSのリクエストを受け付けます。要件がある場合に適宜設置します。
各サーバの役割は以下の通りです。

サーバ種別 役割
外部DNSサーバ 内部DNSサーバの外部向け名前解決を代行する。外部からの名前解決の問い合わせに対して、自システムの該当DNSレコード値を返す。
内部DNSサーバ システム内の各サーバからの名前解決を代行する。システム内の各サーバに対するDNSレコードを保持する。
外部メールサーバ 内部メールサーバからのメッセージを受け付ける。宛先メールサーバのMXレコードを名前解決し、メッセージを送信する。
内部メールサーバ システム内の各サーバからのメッセージを受け付け、外部メールサーバに転送する。
Webプロキシサーバ システム内の各サーバからの外部向けWeb通信を代行する。

運用系サーバ

運用系サーバは、システムが動作し続けるための機能を提供します。要件がある場合に適宜設置します。
各サーバの役割は以下の通りです。

サーバ種別 役割
監視サーバ システム内の各サーバの動作状況を監視する。異常発生時、システム管理にメールなどで通知する。
ログ管理サーバ システム内の各サーバ、NW機器のログを収集する。
ジョブ管理サーバ バックアップや定期リブートなどシステムの継続動作に必要な処理を定められた期間に実行する。
バックアップサーバ システムバックアップ、データバックアップを行い、リストアに必要なデータを保存する。

物理構成

物理構成は、システムの規模に応じたスペックの機器を組み合わせていきます。全パターン共通で、以下の方針としています。

  • サーバは仮想化する
  • ネットワークの境界にはファイアウォールを設置する

パターン①(極小規模)

システム概要

  • ユーザ数: 〜100人
  • 用途: 社内の業務システム
  • 機器費用: 200,000 〜 400,000円

この構成は、個人事務所や小規模オフィスを想定したものです。営業時間だけ利用できればよく、機器が故障した場合に交換復旧までのダウンタイムを許容しています。

ネットワーク

インターネットは、家庭用のベストエフォート回線を使用します。
ファイアウォールにルータの役割を兼任させ、VLAN機能で外部NWと内部NWを同居させます。
仮想基盤サーバの内部も、仮想NW機能を使用して外部NWと内部NWを同居させます。

サーバ

仮想基盤サーバを1台配置し、内部に仮想サーバを配置します。最小限の構成としてWeb3層構成であるWebサーバ、APサーバ、DBサーバを配置し、必要に応じてネットワーク系のサーバや運用系のサーバも併せて配置します。

パターン②(小規模)

システム概要

  • ユーザ数: 100 〜 1,000人
  • 用途: 社内および関連企業の業務システム
  • 機器費用: 1,500,000 〜 3,000,000円

この構成は、中小、中堅企業やその関連企業が使用する業務システムを想定しています。全ての機器を冗長化し、機器故障によるダウンタイムを最小化しています。加えて、高額なNW機器をなるべく削減し、コスト削減を狙います。

ネットワーク

インターネットは、法人向け帯域保証型のサービスを使用して回線を二重化します。
ファイアウォールはAct/Stbの冗長構成を組みます。
L2スイッチはスタック構成を組まないため、安価なモデルを採用します。
ロードバランサは専用アプライアンスではなくLVSやHAProxyなどのOSS製品を仮想マシンとして構築することでコストを削減します。

サーバ

仮想基盤サーバを2台収容し、冗長構成を組む必要がある仮想マシンは2台の物理サーバ上に分散させます。
本構成では共有ストレージが存在しないため、仮想マシンとして構築されるサーバ群は、ミドルウェアレベルでフェイルオーバクラスタやレプリケーションといった技術を使用して冗長化します。

パターン③(中規模)

システム概要

  • ユーザ数: 1,000 〜 10,000人
  • 用途: 社内および関連企業の業務システム、顧客向けサービス
  • 機器費用: 20,000,000 〜 40,000,000円

この構成は、中堅、大企業やその関連企業が使用する業務システム、および顧客向けのサービスを想定しています。
機器の二重化による可用性の向上に加え、用途別に物理的なNW機器を分離し、性能の向上を計っています。

仮想基盤サーバを増設することである程度拡張性を持たせることは可能ですが、この規模になってくると、システム負荷によってはサーバをクラウドサービスに移設したハイブリッド構成や、まるごとクラウドにシステムを構築する構成も選択肢に入ります。NWの専用アプライアンスやストレージが高額になるため、オンプレ環境ではコスト面で分が悪くなってきます。

ネットワーク

外部接続環境は、インターネットに加えてWANも接続して、社内外で通信経路を分散します。各回線は直接ファイアウォールに収容せず、回線単位でルータを設置してダイナミックルーティングプロトコルで経路を制御します。
L2スイッチ、L3スイッチはスタック構成として2台の機器を論理的に1台に見せかけます。接続機器間を襷掛けにしてリンクアグリゲーションを組むことで、帯域幅の拡大と冗長性を実現します。
ロードバランサは専用のアプライアンス機器を導入することで、ハードウェア処理による負荷分散処理の性能向上を見込んでいます。筐体の仮想化機能を使用することで、外部NW用のロードバランサと内部NW用のロードバランサを1つの筐体に収めます。

サーバ

仮想基盤サーバは2台構成とします。10GbEのNICやHBAを使用して、バックエンドでストレージを接続します。
ロードバランサで負荷分散可能な仮想サーバは2台の物理サーバ上に分散して収容します。
Act/Stb構成が必要な仮想サーバは、ストレージにシステムディスクを配置しておくことにより、2台の仮想基盤サーバ間でマイグレーションできるようにしておきます。
ログ管理サーバやバックアップサーバは、ストレージのNAS領域をマウントしてデータを保存します。

ストレージ

ストレージは、プールを分割してSANとNAS両方の機能を使えるモデルを選択します。仮想マシンのシステムディスクと、バックアップデータの保存領域の役割を持たせます。
筐体は二重化して、データ損失に備えたレプリケーションを行います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です