WEB+DB PRESS plusシリーズインフラデザインパターン
── 安定稼動に導く127の設計方式

[表紙]インフラデザインパターン ── 安定稼動に導く127の設計方式

紙版発売
電子版発売

B5判/232ページ

定価2,948円(本体2,680円+税10%)

ISBN 978-4-7741-6286-7

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

本書は,数百プロジェクトの実績から導かれたインフラ設計の定石を,デザインパターンとしてまとめたものです。特にインフラについて経験の浅い技術者(アプリケーション開発者も含む)や,システム構築に責任を持つプロジェクトマネージャ,企業の情報システム部門でシステムの企画や導入の意思決定を行う方,ベンダーの提案や設計を評価・比較する方に向けて書かれています。

すべてのデザインパターンには,特徴を把握できる簡潔なイメージ図が掲載されています。また,各デザインパターンの「できること」だけでなく,「できないこと」や「留意点」も記載しています。インフラデザインパターンをベースに設計することで,スキルのあるインフラ技術者が行う検討に近づくことができるでしょう。

こんな方におすすめ

  • インフラについて経験の浅いエンジニア
  • システム構築に携わるエンジニア全般
  • システム構築に責任を持つプロジェクトマネージャ
  • 企業の情報システム部門でシステムの企画や導入の意識決定を行う方
  • ベンダーの提案や設計を評価・比較する方

本書に関するお知らせ

本書に関連する記事を公開しております。

この書籍に関連する記事があります!

はじめに
インフラデザインパターンは,インフラ開発における問題発生の抑制や生産性の向上,人材育成などを目的に,インフラ技術者たちが編み出した設計方式を概念化・抽象化して名前(パターン名)を付け,その特徴や留意点を記載したものです。
インフラの定石を身につけよう
ITシステムにおいて,インフラはとても重要です。「インフラ」はインフラストラクチャの略語で,下部構造や基盤を意味します。

目次

第1章 インフラデザインパターンとは何か

1.1 インフラとは

  • システム=アプリケーション+インフラ
  • インフラ=ハードウェア+OS+ミドルウェア
  • インフラ構築の難しさ

1.2 インフラ障害が何をもたらすか?

  • ANAの事例
  • ソニー・コンピュータエンタテインメントの事例
  • NTTドコモの事例
  • 東京証券取引所の事例
  • ファーストサーバの事例

1.3 インフラ構築で重要な工程はどこか?

  • 要件定義
  • 設計
  • 構築
  • テスト
  • 「要件定義」が最重要

1.4 要件定義の重要性と難しさ

  • なぜ要件定義が重要なのか?
  • 機能要求と非機能要求
  • インフラにおける要求定義の難しさ

1.5 非機能要求グレード ── 非機能要求定義の難しさを克服するツール

  • 一般的な非機能要求を網羅
  • 各非機能要求に対して「程度」を定義

1.6 インフラデザインパターン ── 要件を実現する設計方式を検討するツール

  • 特徴
    • 一目見ただけで,おおよそを理解できる
    • 選択基準が記載されている
    • 特定の製品に依存していない
    • デメリットや留意点が記載されている
  • パターンベース設計の手順
    • ❶要件を確認する
    • ❷設計方式を抽出する
    • ❸インフラ構成を検討する
    • ❹インフラ構成を確認する
  • リスク要因の確認手順 ── 検討漏れの防止
    • ❶リスク要因を抽出する
    • ❷リスクを整理する
    • ❸リスク対策を検討する
  • 要件変更への対応手順
    • ❶要件とインフラの構成要素との関係を確認する
    • ❷構成を部品化する
    • ❸変更内容を反映する

1.7 本書の構成

第2章 可用性要件の実現策 ── システムをダウンさせない

2.1 可用性対策の基本

  • 故障の防止
    • 品質の作りこみ
    • フェイルセーフ
    • SPOFの排除
    • 実績ある製品の利用
    • 単純化
    • 運用・設定の自動化
    • ITILの適用
  • 迅速な復旧
    • 運用体制の整備
    • 運用手順の整備
    • 事業継続計画・管理(BCP/BCM)
    • エラーログ
    • 監視項目の調整
    • バックアップ・リカバリの設計・チューニング
  • 文書化と継続的な改善
    • 読み手を意識した文書化
    • 継続的な改善のプロセス
  • 確認の首尾徹底

2.2 Web/APサーバの可用性設計方式

  • FTサーバ/メインフレームパターン
  • セッション共有負荷分散パターン
  • セッション非共有負荷分散パターン
  • 予備機パターン
  • パターンの比較と選定基準
  • 留意点
    • DBサーバのパターンの組み合わせ
    • 負荷分散の実現方式
    • 保守サービスによる可用性の担保
    • OSやミドルウェアの選択

2.3 DBサーバの可用性設計方式

  • FTサーバ/メインフレームパターン
  • 並列DBクラスタパターン
  • N+1クラスタ構成パターン
  • 相互待機クラスタ構成パターン
  • パターンの比較と選定基準
  • 留意点
    • 業務復旧までの時間
    • サーバ内の部品レベルでの冗長化の検討
    • 障害検知方法の検討
    • ベンダー間の責任分界点および切り分け方法の明確化

2.4 仮想サーバ冗長化の設計方式

  • クラスタソフトウェアパターン
  • ハイパーバイザHA機能パターン
  • ライブマイグレーションパターン
  • パターンの比較と選定基準
  • 留意点
    • リソース量の検討
    • ストレージやネットワークの冗長化

2.5 LANの可用性設計方式

  • 高信頼コアスイッチパターン
  • 動的ルーティングパターン
  • VLANパターン
  • 予備機パターン
  • パターンの比較と選定基準
  • 留意点
    • 可用性対策の検討順序
    • 切り戻し手順の検討
    • 設計・運用体制の整備

2.6 WANの可用性設計方式

  • 両現用WANパターン
  • 片現用WANパターン
  • アクセス回線二重化パターン
  • インターネットVPNパターン
  • ISDNバックアップパターン
  • パターンの比較と選定基準
  • 留意点
    • WANのサービス内容の検討
    • WANの回線サービス種別の検討

2.7 インターネット接続の設計方式

  • BGPマルチホーミングパターン
  • デュアル接続パターン
  • シングル接続パターン
  • パターンの比較と選定基準
  • 留意点

2.8 データバックアップの可用性設計方式

  • ストレージレプリケーションパターン
  • SANによるストレージコピーパターン
  • NASによるストレージコピーパターン
  • SANによるスナップショットパターン
  • NASによるスナップショットパターン
  • ネットバックアップパターン
  • サーバフリーバックアップパターン
  • パターンの比較と選定基準
  • 留意点
    • パターンごとのバックアップ方法
    • ネットワークの選択
    • 遠隔地での保管
    • バックアップ世代数・保管期間の検討
    • バックアップ対象

2.9 災害対策の設計方式

  • 広域クラスタパターン
  • 完全待機による片現用DRパターン
  • 縮退運転による片現用DRパターン
  • バックアップ転送パターン
  • リモートミラー方式タイプ
    • ストレージ機能によるリモートミラータイプ
    • ソフトウェアレプリケーションタイプ
    • RDBMSのレプリケーションタイプ
    • RDBMSのログ転送タイプ
  • バックアップデータ転送タイプ
    • ファイル転送タイプ
    • リモートテープバックアップタイプ
  • タイプの留意点
  • パターンの比較と選定基準
  • 留意点
    • WAN回線の契約
    • 拠点間の距離
    • データ整合性の確保
    • 運用上の注意点

2.10 まとめ

    第3章 セキュリティ要件の実現策 ── システムを脅威から守る

3.1 セキュリティ対策の基本

  • 攻撃手法
  • 暗号化
  • 認証
  • アクセス制御
    • 任意アクセス制御
    • ロールベースアクセス制御
    • 強制アクセス制御
    • ネットワークセキュリティ
    • ファイアウォールの導入
    • DMZの構築
    • IDSの導入

3.2 不正アクセス対策の設計方式

  • ファイアウォールパターン
  • ファイアウォール1台のDMZパターン
  • ファイアウォール2台のDMZパターン
  • DMZ+IDSパターン
  • DMZ+IPSパターン
  • パターンの比較と選定基準
  • 留意点

3.3 本人性確認の認証方式の設計方式

  • 生体認証パターン
  • ワンタイムパスワードパターン
  • ICカード+パスワードパターン
  • ICカード/トークンパターン
  • IDパスワードパターン
  • パターンの比較と選定基準
  • 留意点
    • 信頼性対策の検討
    • 代替認証方式の検討

3.4 ID管理・運用方式の設計方式

  • シングルサインオンパターン
  • 統合IDによる個別ログインパターン
  • 個別IDによる個別ログインパターン
  • パターンの比較と選定基準
  • 留意点

3.5 情報漏えい対策の設計方式

  • シンクライアントパターン
  • 外部記憶装置制御パターン
  • 保存データ暗号化パターン
  • 秘密分散パターン
  • 通信路暗号化パターン
  • パターンの比較と選定基準
  • 留意点

3.6 まとめ

    第4章 性能・拡張性要件の実現策 ── システムの性能低下を防ぐ

4.1 性能・拡張性対策の基本

  • サイジングの重要性
  • サイジングにおける拡張性の考慮
  • サイジングの手順
    • ❶性能要件を整理する
    • ❷机上サイジングを行う
    • ❸実機サイジングを行う
    • ❹ハードウェアの比較・選定を行う

4.2 拡張性対策の設計方式

  • コンポーネント追加パターン
  • アップグレードパターン
  • 機能分割パターン
  • 並列配置パターン
  • シェアードナッシングパターン
  • シェアードディスクパターン
  • パターンの比較と選定基準
  • 留意点

4.3 過負荷対策の設計方式

  • 流入制御パターン
  • リソース分割パターン
  • 同時実行数制御パターン
  • リソース再構成パターン
  • ネットワーク帯域制御パターン
  • パターンの比較と選定基準
  • 留意点

4.4 まとめ

    第5章 運用・保守性要件の実現策 ── システム障害を見逃さない

5.1 運用・保守性対策の基本

  • システム監視
    • 監視対象と監視項目
    • 監視メッセージの重要度
    • 監視メッセージの通知先と通知方法
    • メッセージのフィルタリング
    • メッセージの重要度変換
    • テストと監視定義のチューニング
  • ジョブ管理
    • 自動化の範囲
    • ジョブ管理ソフトウェアの導入判断
    • ジョブの一元管理
    • ジョブ管理サーバの可用性
    • ジョブ設計規約
  • バックアップ管理
    • 物理障害と論理障害の想定
    • 上流での機器構成
    • バックアップ対象に応じた設計
    • バックアップ機能の統合
    • バックアップ装置の選定
    • バックアップソフトの選定
  • 運用管理
    • People(体制・役割)
    • Process(手順)
    • Product(プロダクト)

5.2 運用・保守体制の設計方式

  • サービスレベル向上パターン
  • サービスレベル管理パターン
  • 定期監視パターン
  • パターンの比較と選定基準
  • 留意点

5.3 構成管理の設計方式

  • 検疫ネットワークパターン
  • エージェントによる構成管理パターン
  • ツール実行による構成情報パターン
  • パターンの比較と選定基準
  • 留意点

5.4 システム監視の設計方式

  • 死活監視パターン
  • エージェント監視パターン
  • リソース情報蓄積監視パターン
  • エージェントレス監視パターン
  • パターンの比較と選定基準
  • 留意点
    • 監視サーバの冗長化や階層化の検討
    • 監視用のネットワークの検討
    • 監視メッセージの検討
    • 通知方法の検討
    • そのほかの特記事項

5.5 ジョブ管理の設計方式

  • 専用ツールによるジョブ管理パターン
  • 付随機能によるジョブ管理パターン
  • OS機能によるジョブ管理パターン
  • ジョブ手動実行パターン
  • パターンの比較と選定基準
  • 留意点
    • 多くのジョブを管理する場合の対応
    • 要件に応じたジョブ管理ツールの導入

5.6 時刻同期・アンチウィルス更新の設計方式

  • バックエンド回線利用による自動同期パターン
  • フロントエンド回線利用による自動同期パターン
  • 手動同期パターン
  • パターンの比較と選定基準
  • 留意点

5.7 まとめ

    第6章 インフラ構成の設計方式

6.1 Webシステムのネットワーク構成の設計方式

  • 4セグメント構成パターン
  • 3セグメント構成パターン
  • 2セグメント構成パターン
  • 5セグメント構成パターン
  • パターンの比較と選定基準
  • 留意点
    • ネットワーク使用率の考慮
    • L3スイッチなどによるサブネット分割
    • ミラーポートを備えたスイッチ機器の導入
    • 拡張性を考慮に入れたIPアドレス体系の検討
    • サーバNICのマルチパス化(チーミング)の検討
    • そのほかの特記事項

6.2 ストレージの構成の設計方式

  • SANパターン
  • NASパターン
  • DASパターン
  • ストレージ接続形態タイプ
    • P2Pタイプ
    • ハブタイプ
  • タイプの留意点
  • パターンの比較と選定基準
  • 留意点
    • RAIDの種類と特性
    • I/Oを最適化する製品

6.3 帳票作成の設計方式

  • リアルタイム帳票作成パターン
  • 非同期帳票作成パターン
  • バッチ帳票作成パターン
  • パターンの比較と選定基準
  • 留意点

6.4 帳票出力の設計方式

  • 帳票サーバ経由印刷パターン
  • ユーザ端末直接印刷パターン
  • 電子ファイル出力パターン
  • パターンの比較と選定基準
  • 留意点
    • 出力形式の検討
    • WAN回線の検討

6.5 帳票インフラ配置の設計方式

  • 分散管理+分散印刷パターン
  • 集中管理+分散印刷パターン
  • 集中管理+集中印刷パターン
  • パターンの比較と選定基準
  • 留意点
    • プリンタに関する制限
    • 文字コードに関する制限

6.6 データ活用・情報分析の設計方式

  • データマート+BI構成データウェアハウスパターン
  • BI構成データウェアハウスパターン
  • EUCパターン
  • パターンの比較と選定基準
  • 留意点
    • 性能対策の検討
    • データ更新方法の検討
    • そのほかの特記事項
    • 補足:メタデータ管理
    • 補足:データウェアハウスアプライアンス製品

6.7 連携インフラの構成の設計方式

  • サービスバスパターン
  • データハブパターン
  • P2Pパターン
  • パターンの比較と選定基準
  • 留意点
    • 性能の検証
    • 連携システム数と費用の相関
    • そのほかの特記事項

6.8 まとめ

    第7章 クラウドコンピューティングを使った実現策

7.1 クラウドにおける性能・拡張性設計方式

  • サーバスケールアップ/ダウンパターン
  • ディスクリソース量の増減パターン
  • オートスケールパターン
  • ジョブ対応スケールアウト/インパターン
  • スケジュール対応スケールアウト/インパターン
  • 手動スケールアウト/インパターン
  • パターンの比較
  • 留意点
    • オートスケールによるコストの増加
    • 仮想サーバの課金体系

7.2 クラウドにおけるバックアップの可用性設計方式

  • スナップショットパターン
  • データセンターレプリケーションパターン
  • 地域間高速データ転送パターン
  • 仮想サーバ複製パターン
  • システム複製パターン
  • パターンの比較
  • 留意点

7.3 クラウドにおける仮想サーバの可用性設計方式

  • 仮想サーバ冗長化パターン
  • ルーティング変更パターン
  • バックアップサイト切り替えパターン
  • 固定IPアドレス付け替えパターン
  • NATサーバ冗長化パターン
  • 仮想ディスク付け替えパターン
  • パターンの比較
  • 留意点

7.4 まとめ

    第8章 [実践]パターンベース設計

8.1 インフラ構成の検討手順

  • ❶ビジネス要求・ステークホルダー要求の確認
  • ❷機能要件・非機能要件の抽出
  • ❸リスクおよび留意点の対策検討
  • ❹概念的システム構成の設計
  • ❺論理的システム構成の設計

8.2 地理情報システム

  • ❶ビジネス要求・ステークホルダー要求の確認
  • ❷機能要件・非機能要件の抽出
    • 機能要件の抽出
    • 非機能要件の抽出
  • ❸リスクおよび留意点の対策検討
  • ❹概念的システム構成の設計
  • ❺論理的システム構成の設計

8.3 統合DBシステム

  • ❶ビジネス要求・ステークホルダー要求の例
  • ❷機能要件・非機能要件の抽出
    • 機能要件の抽出
    • 非機能要件の抽出
  • ❸リスクおよび留意点の対策検討
  • ❹概念的システム構成の設計
  • ❺論理的システム構成の設計

8.4 まとめ

著者プロフィール

杉原健郎(すぎはらたけお)

1998年NTTデータ入社。10年以上にわたり,数多くの大規模ミッションクリティカルシステムのインフラ開発を担当。特命技術支援部隊を兼務した経験からノウハウの横展開の重要さを痛感。デスマーチなど不条理の撲滅を目指し,ものごとの本質と幸せを追求するようになる。好きな生き方はロック。2児のパパ,PMP(2004年~),理学修士(早稲田大学大学院卒)。


吉田一幸(よしだかずゆき)

2008年NTTデータ入社。金融機関や通信事業者向けの大規模システムにおいてインフラの設計・構築に従事。2012年より,インフラデザインパターンを始めとした,インフラの設計方法論およびパターンベース設計手法の整備・開発を担当する。


岩崎賢治(いわさきけんじ)

2010年NTTデータ入社。入社直後に担当したセキュリティシステムの構築・運用の経験から,ITILや情報セキュリティマネジメントの領域において一家言を持つ。2012年からはインフラデザインパターンを用いた設計手法の確立・整備を担当する。


三浦広志(みうらひろし)

1995年NTTデータ入社。2003年同社オープンソース開発センタ,2006年には独立行政法人情報処理推進機構(IPA)OSSセンターに非常勤研究員として参画。『Web Site Expert #31』(技術評論社)への寄稿のほか,訳書に『詳解Linuxカーネル 第1版』(オライリー・ジャパン)がある。LinuxカーネルなどのOSS開発に貢献し,2013年現在OpenStackに取り組んでいる。


吉田佐智男(よしださちお)

1987年NTT入社。オープン系システムによる基幹システム構築に黎明期より携わる。多くの成功とトラブルの経験に基づくノウハウを展開するべく,インフラデザインパターンの開発に当初から関わる。現在NTTデータ基盤システム事業本部にて先進技術調査,技術戦略策定を推進。