検索
連載

環境構築自動化の手順と評価検証、Puppetの基礎知識新人インフラ技術者のためのサーバー構築/運用自動化入門(1)(2/2 ページ)

サーバー構築の自動化で利用される技術、自動化ツールとして「Kickstart」「Puppet」を紹介し、構築から運用まで、システムライフサイクル全体にわたる運用管理の自動化についても解説する連載。

Share
Tweet
LINE
Hatena
前のページへ |       

自動化ツール「Puppet」

 PuppetはRubyで実装、Apache Licenseの元で配布(2.7.0以降)されています。Puppet Labsによって開発が推進されており、商用の「Puppet Enterprise」とOSS版とがあります(本連載ではOSS版を用います)。


Puppet Labs

 PuppetはUNIX系OSのシステム管理を自動化します(Windowsでも動作しますが、UNIX系と一部違いがあります)。パッケージのインストール/アンインストール、設定ファイルやアプリケーションデータなどの配布や修正、サービスの起動設定や再起動処理、特定コマンドの実行といった、システム管理で必要な作業を人間の代わりに実行します。

 これらの作業を「Puppet言語」と呼ばれる、独自の宣言型言語によって記述します。このPuppet言語で記述されたファイルを「マニフェスト」と呼びます。特定の作業を実行するマニフェストを汎用化してモジュール化し、汎用の開発言語のライブラリのような感覚で呼び出すこともできます。

 Puppet言語ではPuppetの機能を「リソース」という概念で管理しています。例を挙げるとユーザー作成と管理をしたい場合には「ユーザーリソース」を呼び出して適切な情報を定義するといった具合です。


図4 Puppetの仕組み概略

 Puppetについては、次回以降に詳しく説明します。

自動構築の評価検証

 では、実際にここで紹介した自動化技術を利用すると、どの程度サーバーの環境構築を効率化できるのでしょうか? 筆者の所属するNTT OSSセンタでは、PXE、Kickstart、Puppetを組み合わせた仕組みを使い、Web3層(LB/Webサーバー×2台、アプリケーションサーバー×2台、DBサーバー×1台)を手作業と自動構築のニ通りで構築し、それぞれかかった時間を計測する検証を実施しましたので、ここで紹介します。


図5  評価検証したサーバー構成

 評価は公平を期すため、自動構築の場合は1台目構築時に自動構築で必要なサーバーを準備する時間を加算して計測し、2台目以降は1台目で準備したサーバーを流用する前提で計測しました。

 また作業者のスキルによる差をなくす目的で、手動と自動の双方の作業を1人の同じ作業者が実施しました。


図6 1台目の構築時間比較

図7 2台目以降の構築時間比較

 検証の結果、同じシステムを構築する場合、手動構築と比較して自動構築では3分の1の時間で作業が完了しました。作業者が不慣れであった場合はさらに差が広がると予想できます。また作業ミスによる中断も発生するかもしれません。これらの結果から、自動構築は満足できる結果をもたらせると判断しています。


図8 システム構築全工程の時間比較

次回は、サーバーの準備とPXE+Kickstart

 今回は自動構築の概要説明でした。次回からは自動構築に必要なサーバーを構築して、実際にサーバーを自動構築します。次回はPXEブートに必要なサーバーとKickstartについてお話します。お楽しみに。

K男 自動化ってどういうものか想像できたかな?

R子 う〜ん、何となく分かったような分からないような……。

K男 まあ、話だけ聞いても理解しにくいのは分かるよ。それじゃ実際にサーバー構築して実感してみよっか。体験するのが一番! とりあえず明日までに手作業で10台作っておいてね。はい、これ手順書。

R子 えっ? えええええっ!?(泣)


著者プロフィール

菅原亮(すがはら りょう)

所属:NTT OSSセンタ シニア・エキスパート

1973年生まれ。10歳の時プログラミングに目覚める。

1994年にFM-TOWNS上でLinuxを使い始めて以来、仕事趣味問わずOSSシステムを構築するようになる。

2012年よりOSSシステムの構築自動化に取り組み始め、昔の苦労を懐かしみつつ自動化の普及促進に取り組んでいる。

個人ではNTSyslog日本語対応版など主にWindows用アプリを手掛ける。

趣味は家庭菜園と料理の手動構築で愛車はシルビア。


著者プロフィール

岡本 隆史(おかもと たかし)

所属:NTT OSSセンタ シニア・エキスパート

「楽をすること」に興味があり、単純作業はスクリプト・マクロなどで

できるだけ自動化するようにしている。しかしながら、楽をするために

ツールを作成する苦労も伴い、苦労が実っているどうかは定かではない。

楽をする仕組みを共有することこそ、その本質だと気づき、環境構築の

自動化ツールの社内外への展開を行っている。


前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る