運用フェーズへステップアップしたい
intra-martの試用・検証フェーズから開発・運用フェーズに移行したい場合、 将来的な拡張や安定的な稼働を見据えたサーバ構成が求められます。 基本的な分散構成について押さえておきましょう。
Case 1
開発環境と本番環境をしっかり分けたい
開発環境と本番環境を分離することで、 開発中の不具合や仕様変更が本番環境に影響を及ぼすリスクを軽減できます。 さらに、 検証環境を別途設けることで、 テストやデバッグを安全に行い、 本番環境への移行をスムーズに進めることができます。
この構成では、 「本番」 「検証」 「開発」の3つの独立した環境を用意します。 まず1つの環境を構築し、 その構成と同じ設定で他の環境を構築するという流れで進めていきます。
この構成で使用するサーバの種類については、 以下のとおりです。
種類 | 使用するソフトウェア (例) | 説明 |
---|---|---|
Webサーバ | Apache HTTP Server、 Internet Information Services (IIS) | Apache HTTP ServerではApacheモジュール、 IISではApplication Request Routing (ARR) を利用して、 Webサーバとintra-mart Accel Platformを連携させます。 |
APサーバ | Resin | intra-mart Accel Platformに標準で同梱されており、 アプリケーションの実行環境となります。 構成するサーバの台数に応じて、 同じWARファイルをそれぞれに配置する必要があります。 |
検索サーバ | Apache Solr | オープンソースの検索エンジンで、 IM-ContentsSearch (全文検索機能) で利用します。 本番環境・検証環境・開発環境それぞれに対して、 インストールが必要です。 |
NoSQLサーバ | Apache Cassandra | オープンソースのNoSQLサーバで、 IMBox (コミュニケーション機能) で利用します。 冗長化とデータの一貫性を確保するためには、 Cassandraを3台以上構成することを推奨します。 |
DBサーバ | PostgreSQL | オープンソースのRDBで、 初期導入や検証環境に適しています。 |
ストレージ | ― | intra-mart Accel Platformの設定により、 ファイルの格納先を任意の場所に指定できます。 |
この構成で環境を構築したい場合は、 「セットアップガイド 」を参照してください。
intra-mart Accel Platformには、 1つの環境から他の環境を自動複製する機能はありませんが、 一部設定の再利用や環境共通化を支援するツールとして、 IM-Jugglingが用意されています。 他の環境を構築したい場合は、 WARファイルの複製に加え、 ストレージやデータベースの参照先を変更するなどの設定が必要となります。 また、 ライセンスについてはWARファイルの数だけでなく、 サーバ台数・CPU数・ユーザ数などによってカウント数が異なります。 詳細は、 「ライセンスの種類と選び方」を参照してください。
Case 2
運用に備えてシステム負荷を分散させたい
安定した運用を実現するには、 同時アクセスの増加や処理負荷の偏りに対応できる構成が重要です。 そのためには、 ロードバランサを利用してユーザからのアクセスを複数のWeb/APサーバに分散させることで、 負荷の集中を防ぎます。 さらに、 複数のWeb/APサーバを1つのシステムとして連携させる「クラスタリング設定」により、 セッション情報の共有や障害時の自動切り替え (フェイルオーバー) などが可能となり、 よりスケーラブルで堅牢な環境を構築できます。
この構成では、 ロードバランサによってWeb/APサーバへのリクエストを分散し、 3つの環境から共通のデータサーバやストレージなどにアクセスする形を取ります。 まずは1つの環境を構築し、 その設定をベースに他の環境に展開します。 クラスタ構成では、 ユーザのリクエストが常に同じサーバに届くとは限らないため、 セッション情報をintra-mart Accel Platform間で共有する仕組みが必要となります。
この構成で使用するサーバの種類については、 以下のとおりです。
種類 | 使用するソフトウェア (例) | 説明 |
---|---|---|
ロードバランサ | ― | Cookieによるセッション維持機能、 HTTPレスポンス内容によるヘルスチェック機能、 ロードバランサ自体の冗長化といった機能を有する装置の利用を推奨します。 |
Webサーバ | Apache HTTP Server、 Internet Information Services (IIS) | Apache HTTP ServerではApacheモジュールを、 IISではApplication Request Routing (ARR) を利用して、 Webサーバとintra-mart Accel Platformを連携させます。 |
APサーバ | Resin | intra-mart Accel Platformに標準で同梱されており、 アプリケーションの実行環境となります。 構成するサーバの台数に応じて、 同じWARファイルをそれぞれに配置する必要があります。 |
検索サーバ | Apache Solr | オープンソースの検索エンジンで、 IM-ContentsSearch (全文検索機能) で利用します。 |
NoSQLサーバ | Apache Cassandra | オープンソースのNoSQLサーバで、 IMBox (コミュニケーション機能) で利用します。 |
DBサーバ | PostgreSQL | オープンソースのRDBで、 初期導入や検証環境に適しています。 |
ストレージ | NFS、 CIFS | すべてのWeb/APサーバから同一のディスク領域にアクセスできるように、 NFSやCIFSといった共有ストレージ環境を用意する必要があります。 |
この構成で環境を構築したい場合は、 「セットアップガイド 」を参照してください。
特に、 クラスタ構成では、 セッション情報の管理方法について十分に理解しておくことが大切です。 intra-martでは、 APサーバのセッション管理機能は使用せず、 intra-mart Accel Platformのセッション管理モジュールを利用します。 詳細は、 「セットアップガイド - 11.8. セッション管理モジュール 」を参照してください。
intra-mart Accel Platformには、 1つの環境から他の環境を自動複製する機能はありませんが、 一部設定の再利用や環境共通化を支援するツールとして、 IM-Jugglingが用意されています。 他の環境を構築したい場合は、 WARファイルの複製に加え、 ストレージやデータベースの参照先を変更するなどの設定が必要となります。 また、 ライセンスについてはWARファイルの数だけでなく、 サーバ台数・CPU数・ユーザ数などによってカウント数が異なります。 詳細は、 「ライセンスの種類と選び方」を参照してください。