コラム
毎週発行されているパートナーNewsより選り抜きの記事をご紹介!

第十一回 『セキュリティポリシー:システム構築』
● アプリケーション構築手法(その1)
■ セキュリティポリシー:システム構築

企業内におけるIT化は隅々にまで浸透しつつあり、価値発現が高度に行われようとしています。その中核部分はソフトウェアであり、企業内全体の生産性を高める上で、導入し利用、構築するソフトウェアの選定は重要な要素を占めると言えます。ソフトウェア開発はセキュリティの項目とは、直接関係しないが、IT担当部門が評価、検証し推奨するソフトウェアを全社的に利用して貰う事は、セキュリティの脆弱性を排除する上で重要です。
利用者が安心し信頼して利用できるソフトウェア環境の提供とアプリケーションを構築するための選択肢の提供をIT担当部門の責務として行い、導入ソフトウェアのスタンダード化による管理コストの低減と最適なソフトウェアの導入による企業内全体の生産性の向上を図るために、アプリケーション構築手法を規定する必要があります。


● コンピュータ導入ソフトウェアの考え方

・ サーバの冗長性
1. DB系サーバの冗長性
(1)システム重要度3:フォールトトレラント方式
可用性を保つべきシステム/ネットワークはシステムの利用範囲と頻度、取り扱うデータの重要性からビジネスインパクトを勘案し、バランスを保ちながら、投資に対する効率化を図ります。
フォールトトレラント方式は、真のクラスタ処理により、システムの一部に何らかの障害が発生した場合でも、障害発生ノードの切り離し、リカバリを生き残ったノードで行うことにより、システムを停止せずに継続処理することが可能となります。
クラスタ化されたノードは協調同期を取ってパラレルランニングを行うため、たとえ任意のノードで障害が発生しても、アプリケーションは変わることなく実行され続けられます。リカバリ及び保守においても、システム全体を停止させずに容量の追加や定期保守、故障したコンポーネントを取り除く作業が可能です。
停止が許されないシステムにおけるフォールトトレラント方式は、Oracle RAC(Real Application Cluster)を推奨します。

(2)システム重要度2:ホットスタンバイ方式
ホットスタンバイ方式は、同じ構成のシステムを複数系統用意しておき、片方(主系・本番系)を作動させ、もう片方(待機系・予備系)は更新ログの通信を行い、同じ更新を行いながら待機状態にしておきます。待機系は主系と常に同じ状態を保っておき、主系に障害が発生すると即座に待機系に処理を引き継がせます。
ホットスタンバイ方式の特長として、遠隔地でのスタンバイDBとの連携が可能であることにあります。
スイッチオーバでの処理の再開を許されるシステムにおけるホットスタンバイ方式は、ODG(Oracle Data Guard)を推奨します。

(3)システム重要度1:コールドスタンバイ方式
コールドスタンバイ方式は、同じ構成のシステムを2系統用意しておき、片方(主系・本番系)を動作させ、もう片方(待機系・予備系)は動作させずに待機状態にしておきます。主系に障害が発生すると、待機系が主系を殺して待機系にDBのマウントをしなおした上で立ち上がり、処理が切り替わります。一連の相手ノードの状態監視(ハートビート)、フェイルオーバはクラスタソフトが司ります。コールドスタンバイ方式はホットスタンバイ方式に比べて主系と待機系の同期が不要な分コストが安いが、システム停止時間が長くなります。
拡張性には、ハードウェアの増設やリプレイスだけでは無く、プラットフォーム、ネットワークサービスのアップグレードも、その範囲に入れます。
待機系のフェイルオーバによるリマウントでの再開を許されるシステムにおけるコールドスタンバイ方式は、Polyserve MatrixHAを推奨します。MatrixHAはNTTコムウェアにて独占販売を行なっており、技術情報の提供、フェイルオーバ時のスクリプトの提供等、適用に重要なサービスの提供が可能となります。

2. ファイル系サーバの冗長性
ファイル系サーバの冗長性は、NASを使用して実現します。NASはネットワークに直接接続してファイルサービスを提供するストレージ装置で、共有ディスクとして使用することが可能です。
NASは、端末からファイルサーバへの処理依頼時に使用するファイルを格納するファイルサーバ専用機で、ファイルサーバ障害時には、端末からNAS上に格納されたデータにアクセスして処理を継続させる事が出来ます。NASを採用する事で、ファイルサーバの冗長性を図る事が出来ます。

3. 遠隔地での冗長性(スタンバイDB+NAS)
地震などの災害が発生してもビジネスを継続化させるために、リモートサイトを準備し、ディザスタ・リカバリを確立する必要があります。
リモートサイトには、DBシステムとファイルシステムの複製を構築し、DBシステムには前述したODGで提供されるスタンバイDB機能を、ファイルシステムにはNASの採用を推奨します。
スタンバイDBは、本番稼動しているDB(プライマリDB)のREDOログ(更新ログ)を遠隔サイトのマシンに反映させる機能で、ログの反映はログをそのまま反映するフィジカル・スタンバイと一旦SQLに戻した上で反映を行うロジカル・スタンバイとがあります。
DBへの反映はプライマリDBに障害が起きた場合にスタンバイDBをプライマリとして起動し直す仕組みで冗長性を図ります。
遠隔地にデータを複製しておくことで、災害時にリモートサイトで迅速に業務を再開する事が可能となります。

・ ネットワークの冗長性
1. ネットワーク重要度3:二重化によるHSRP(VRRP)方式
HSRPは、一つの架空な実アドレスに対して、MACアドレスの割り当てを変えることで、障害性能をあげる技術で、アクティブ系L3スイッチとスタンバイ系L3スイッチの構成をとります。
HSRPでは、各L3スイッチに1つずつIPアドレスを割当て、多重化されているL3スイッチ全体にさらに1つIPアドレスを割り当て、通信する際は全体用のIPアドレスに要求を送信します。(デフォルトゲートウェイとします)通常の通信に使用されるL3スイッチは1つで、使用中のL3スイッチが停止すると自動的に別のL3スイッチに代わって通信が行なわれます。切り替えに必要な時間は1秒程度です。

2. ネットワーク重要度2&1:コールドスタンバイ方式
コールドスタンバイ方式は、代替機をネットワークに接続した状態で電源をOFFし、障害発生時には手動で代替機の電源をONにしネットワークの使用を再開させることとします。

・ データ保管装置の冗長性
1. データ重要度3:SAN
・ データの重要度
SANは、LANから切り離した複数の外部記憶装置間および記憶装置とサーバの間を結ぶ高速なネットワークで、高い性能が要求されるサーバに用いられます。複数のサーバが連携して一つの機能を提供する場合や、一つの大容量記憶装置を複数のサーバで共有する場合に有効です。
SANを導入することにより、ディスク装置の間でデータを複写するときなど専用のネットワークが使われるため、サーバの処理性能が向上し、端末との通信に使うPublic LANの邪魔にならず、負荷を軽減することができます。
なお、ストレージ内の各LUNにはデータ重要度による、後述するRAIDテクノロジによる冗長化を図ります。

2. データ重要度2:RAID0+1&Hotspare、RAID6(ADG)&Hotspare
RAID0+1はHDD間をRAID0でストライピングした上で、RAID1で完全ミラーリングしたもので、書き込み性能と安全性の両立を図っていますが、LUN内のHDD構成台数が多くなると、後述するRAID6よりもコストがかかることとなります。 RAID6は後述するRAID5のパリティ情報を2つ持たせた技術となります。このため、複数のHDDに同時に障害が発生しても運用をとめることがありません。
Hotspareについては、LUN内に予備のHDDを用意しておき、LUN内のHDDに障害が発生した時に、自動的に障害を起こしたHDDと切り替わる機能で、切り替わると同時にRAID再構成のリカバリが自動実行されることとなります。
Hotspareを採用する場合は障害発生し切り替わったという情報を拾うことが肝要となります。放置しておくと、次の障害時Hotspareが存在せず、そのまま障害にさらされることとなります。SCSI並びにSASのHDDはHotswap機構となっているものが多く、障害発生時は運用をとめることなく、交換が可能となっています。
なお、プラットフォーム毎に堅固さが異なるため、リカバリ方式はプラットフォーム別に定義する必要があります。

3. データ重要度1:RAID1&Hotspare、RAID5&Hotspare
RAID1はミラーリングで、常に同じデータを二つのHDDに書き込みます。2台のHDDにそれぞれ同じ情報を持たせるので、1台のサーバあたり2分の1のHDD容量しか利用できないが、HDD容量に掛かるコストより、データの安全性を高める必要があるデータに対してはRAID1を採用します。
RAID5は、データにパリティ情報を持たせ、そのパリティ情報を複数のHDDに分散して格納することにより、1台のHDDに障害が発生しても、それ以外のHDDに記憶された情報により復旧することが出来ます。使用できる容量はRAID1よりは多くなるが、処理速度はパリティの生成・チェックをする事により、RAID1よりも低下します。

● 拡張性方式

・ サーバの拡張性
1. ノードの拡張性
パフォーマンスの劣化、処理時間の増大、管理効率の低下を回避するために、ノードの増設は容易に行え拡張性を図る必要があります。
 -Oracle RACの場合はノードの増設により、処理効率を高めます。
 -NASの場合はノードの増設により、共有ファイルの蓄積と端末データのバックアップを行います。

2. メモリの拡張性
プロダクト、ツールの追加に伴う、プロセス、サービスのメモリ常駐量を見越して、メモリスロットに余裕を持たせ、拡張性を図る必要があります。

3. ディスクの拡張性
データの増加に伴う、ディスク容量の圧迫とバックアップ失敗を事前に回避するために、ディスク最大容量とコントローラのスロットに余裕を持たせ、増設を容易に行えるように、拡張性を図る必要があります。

4. CPUの拡張性
CPUを使用する待ちプロセス数の増加を事前に回避するために、CPUスロットには余裕を持たせ拡張性を図ります。

5. ボードの拡張性
バックアップ装置等、将来必要とされる外部媒体を接続する選択肢を広げるために、PCI、SCSI,LANカードスロットに余裕を持たせる必要があります。

・ ネットワークの拡張性
1. LANの拡張性
サーバ、端末といったノード増設が容易に行えるように、以下の拡張性を図る必要があります。
 - サーバの増設を容易に行えるように、コアスイッチのポートに余裕を持たせます。
 - 端末の増設を容易に行えるように、フロアスイッチのポートに余裕を持たせます。
 - カスケードによるネットワークリソースの非効率利用を避けるために、カスケード上でルートに位置するスイッチのポートに余裕を持たせます。
 - サーバ、端末の増設が容易に行えるように、事前にLANケーブルは敷設して置きます。

2. WANの拡張性
トラフィックの増加に伴う、アクセス回線のリニューアルに備え、エッジネットワーク機器のWANインターフェースは、リニューアルするアクセス回線に適用できるように、交換が可能なネットワーク機器を採用します。

コラム・タイトル一覧
第十回 『セキュリティポリシー:システム構築』(2) ← → 第十ニ回 『セキュリティポリシー:システム構築』(4)