「サーバー構築自動化」は、ネットワークケーブルをつなぎ、電源スイッチをオンにするだけで、OSやアプリケーションの導入からセッティングまでが自動化される方法です。近年のシステムでは、価格性能比の良いサーバーを多数利用することが増え、管理対象の増加によりシステム管理者の仕事が煩雑になる傾向があります。本書では現代のシステムの状況にあった、システム増強の省力化と運用管理の方法を紹介します。現場にあった現実的な方法を中心とした実用的な解説書です。
1.1 システム構築業務と自動化
1.1.1 システム管理者の業務
1.1.2 システム管理における対応策
1.1.3 システム管理のタスクフロー
1.2 Run Book Automation とは
1.2.1 RBA の歴史
1.2.2 Run Book(構築手順書)
1.2.3 RBA のメリット
1.2.4 RBA の機能
1.3 自動化の範囲
1.3.1 システム構築の自動化
1.3.2 システム維持管理の自動化
1.4 実現手段
1.4.1 ツールの利用
1.4.2 ベンダーツールによる実現
1.4.3 オープンソースによる方法
1.4.4 RBA 実現に役立つプロダクト
1.5 RBA の実現
1.5.1 プロジェクトの準備
1.5.2 RBA 化の流れ
1.5.3 RBA 化されたフローの例
2.1 OLE オートメーションの活用
2.1.1 サーバーの情報管理とExcel
2.1.2 OLE オートメーションの利用
2.2 Ruby によるスクリプティング
2.2.1 Ruby からExcel を利用する
2.2.2 Internet Explorer を利用するサンプル
2.2.3 Excel 利用のサンプル(1)
2.2.4 Excel 利用のサンプル(2)
2.3 PowerShell によるスクリプティング
2.3.1 Microsoft PowerShell
2.3.2 PowerShell によるプログラム例
2.4 Excel シートへのアクセス
2.4.1 Excel のオブジェクトモデル
2.4.2 オブジェクトのメソッド/プロパティ
2.4.3 セルへのアクセス方法
2.4.4 Cells オブジェクトを利用する場合
3.1 ネットワークブートでのインストール
3.1.1 PXE ブートとは
3.1.2 テンプレートを使った方法との比較
3.2 サーバー環境の構築
3.2.1 システム構成
3.2.2 CentOS のインストール
3.2.3 tftp-server のインストール
3.2.4 OS イメージの共有
3.3 PXE サーバーの準備
3.3.1 PXE サーバーの配置
3.3.2 DHCP サーバーのインストール
3.4 Kickstart によるインストール自動化
3.4.1 Kickstart ファイルの配置
3.4.2 Kickstart ファイルの確認
3.4.3 テスト環境用のKickstart ファイル
3.4.4 実行例
3.5 Ruby とExcel による自動化
3.5.1 プログラムの概要
3.5.2 実行例
4.1 スクリプティングとVMware
4.1.1 VMware PowerCLI
4.1.2 テンプレート機能
4.2 VMware の環境構築
4.2.1 システム構成
4.2.2 仮想環境構築の流れ
4.2.3 PowerCLI のインストール
4.3 仮想マシンの作成手順
4.3.1 コマンドラインからの作成
4.3.2 PowerCLI を試してみる
4.4 Excel シートからの仮想マシンの作成
4.4.1 プログラムの機能
4.5 仮想マシンの一覧作成
4.5.1 プログラムの機能
4.6 テンプレートの自動展開
4.6.1 テンプレートの作成
5.1 Puppet とは
5.1.1 Puppet の概略
5.1.2 Puppet の担当分野
5.1.3 利用方法
5.2 システムの構築
5.2.1 システムの概要
5.2.2 サーバーのインストール
5.2.3 クライアントのインストール
5.3 Puppet を試してみる
5.3.1 マニフェスト
5.3.2 リソースタイプの調べ方
5.4 サーバーとクライアントでの利用
5.4.1 サーバーの起動の前に
5.4.2 サーバーの起動
5.4.3 クライントの起動
5.5 PXE サーバーを作る
5.5.1 ファイル構成
5.5.2 設定ファイルの記述
5.5.3 テンプレート部分
5.6 WordPress を導入する
5.6.1 ファイル構成
5.6.2 設定ファイルの記述
5.6.3 ファイルの準備
5.6.4 テンプレート部分
5.6.5 実行例
6.1 Chef とは
6.1.1 Chef の特徴
6.1.2 Ruby ベースの設定ファイル
6.2 システムの構築
6.2.1 関連パッケージのインストール
6.2.2 Chef のインストール
6.3 設定ファイルの記述
6.3.1 関連ファイルのダウンロード
6.3.2 レシピのダウンロード
6.3.3 Chef-solo の動作確認
6.4 レシピの作成
6.4.1 レシピの雛形作成
6.4.2 レシピの文法について
6.4.3 レシピの記述
6.4.4 レシピの準備
6.4.5 レシピの適用
6.5 Linux 用PXE ブートサーバーの設定
6.5.1 ディレクトリ構成
6.5.2 実行例
6.6 レシピの活用
7.1 バックアップの重要性
7.1.1 バックアップの取得
7.1.2 バックアップツールの利用
7.1.3 Amanda について
7.1.4 システム構成
7.1.5 インストールの準備
7.2 クライアントの準備
7.2.1 クライアントの入手とインストール
7.2.2 Amanda クライアントの設定
7.3 バックアップサーバーの準備
7.3.1 サーバーの入手とインストール
7.3.2 amanda.conf の設定
7.3.3 バックアップサーバーの準備
7.3.4 バックアップリストの作成
7.4 バックアップ操作
7.4.1 バックアップの実行
7.4.2 リストア作業
7.4.3 バックアップの自動化
7.5 Windows のバックアップ設定
7.5.1 Windows Client のセットアップ
7.5.2 バックアップの設定
7.5.3 バックアップの取得と確認
7.5.4 リストアについて
8.1 構成管理/変更管理の自動化
8.1.1 バージョン管理システム
8.1.2 インシデント管理システム
8.1.3 システムの導入
8.2 Subversion とは
8.2.1 インストール
8.2.2 使い方
8.2.3 サーバーの構築
8.2.4 Windows クライアントからの利用
8.3 Git とは
8.3.1 インストール
8.3.2 使い方
8.4 GitLab のインストール
8.4.1 環境構築
8.4.2 Gitolite のインストール
8.4.3 GitLab のインストール
8.5 GitLab のオペレーション
8.5.1 ユーザー登録
8.5.2 GitLab のリポジトリ操作
8.5.3 システム間の連動
9.1 ネットワーク機器の情報収集
9.1.1 ネットワーク機器の動作を確認する
9.2 telnet をエミュレーションする
9.2.1 irb での確認
9.2.2 プログラミングでの再現
9.3 ホストアクセス用のクラスを作る
9.4 実装
9.4.1 プログラム概要
9.4.2 実行結果
10.1 システム稼動レポート
10.1.1 レポートがなぜ必要か
10.1.2 レポートを自動化して本来の業務に注力する
10.2 レポートの自動化
10.2.1 レポート作成のための技術
10.2.2 SNMP
10.2.3 RRDtool
10.2.4 Cacti
10.2.5 ThinReports
10.3 システム構築
10.3.1 SNMP エージェントのインストール
10.3.2 SNMP マネージャのインストール
10.3.3 RRDtool のインストール
10.3.4 Cacti のインストール
10.3.5 ThinReports のインストール
10.4 システム設定
10.4.1 SNMP の設定
10.4.2 Cacti の設定
10.4.3 Cacti の初期化
10.5 SNMP パフォーマンスグラフの作成
10.5.1 ローカルホストのグラフ作成
10.5.2 新規デバイスの追加
10.5.3 グラフの確認
10.6 レポートの準備
10.6.1 グラフ単体での表示
10.6.2 グラフの指定
10.6.3 グラフ指定の実装
10.6.4 グラフ取得の実装
10.7 レポート作成(その1)
10.7.1 ThinReports のレイアウト
10.7.2 プログラム
10.7.3 実行例
10.8 レポート作成(その2)
10.8.1 ThinReports レイアウト
10.8.2 プログラム
10.8.3 実行例
kwy8791 さん
2013-02-20
軽く流し読みしただけだけど、これは運用に携わるインフラさんが共有した方がいい知識だと思う。ただし使用するソフトウェアはこの本で紹介されているの以外も色々あるので、そこは好みに合わせていきましょう
Junichi Chida さん
2012-12-05
管理シート自動生成は参考になりました。時間あるときに是非参考にしたいです。
p-nix さん
2013-02-03
自動化大好きにはたまらない本。Excelで書かれた各種設定をVBA、Ruby、PowerShellなどで読み込み、サーバの自動インストールのやり方など。変更履歴をGitで管理など興味深い。