Puppet

概要

Puppetとは、システム設定やソフトウェアの導入(インストール)などを自動化、効率化する構成管理ツールの一つ。オープンソースソフトウェアとして公開されている。

従来はシステム管理者が個別に操作していた、ソフトウェアパッケージの導入やオペレーティングシステム(OS)の設定変更、ユーザーアカウントの管理などを「マニフェスト」(manifest)と呼ばれる設定ファイルに基づいて自動的に処理してくれる。

マニフェストは管理者によって記述される設定ファイルで、自動化したい操作をシステムの個々の要素があるべき姿として記述していく。Puppet自体はプログラミング言語のRubyで開発されており、マニフェストはRubyを元に独自に規定された独自のドメイン固有言語DSL)で記述する。

マニフェストが対象とすることができるシステム要素を「リソースタイプ」と呼び、標準ではファイル(file)、ユーザー(user)、グループ(group)、ソフトウェアパッケージ(package)、OS上で稼働するサービス(service)などが用意されている。独自にカスタムリソースタイプを定義して追加することもできる。

管理者が操作しているコンピュータ自体を設定対象とするスタンドアローン版の他に、マニフェストを他のコンピュータに配布して自動設定するクライアントサーバ版も用意されている。管理者はPuppet Serverにマニフェストを配置して多数のクライアント一斉配信することができ、クライアント側のコンピュータに組み込まれたPuppet Agentがこれを受信して設定を適用する。

Puppetは同名の企業(Puppet Inc.)によって開発されており、2005年に最初のバージョンが公開された。Linuxをはじめとする各種のUNIX系OSやmacOS、Windowsに対応する。オープンソース版は小規模システムが対象でApache Licenseに基づいて(以前はGPLだった)配布されているが、同社では大規模システムで運用可能なEnterprise(エンタープライズ)版を販売している。

(2021.8.18更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。