Puppet とは?

Puppet

Puppet最新情報

NRIのOpenStandiaが提供するPuppet最新情報

OSSの保守サポートサービスの内容はこちら OSSの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

Puppetバージョンアップ情報

すべてを見る

更新日:2022-01-21

Puppetの概要

Puppet(パペット)は、OS設定やアプリケーションの構築を自動化するオープンソース・ソフトウェアです。物理、仮想、クラウドといったさまざまなインフラに対して、あるべき構成(OS/ミドルウエア/アプリケーションなど)をマニフェスト(manifest)に記述しておくと、サーバの台数によらずその構成どおりにインフラを自動的にセットアップする構成管理ソフトウェアです。

サーバ構築を人手で行えばミスをする可能性があります。また、サーバ台数が多い場合は膨大な時間を費やすことになります。Puppet は、そのような作業を自動化することにより迅速な対応が可能になります。

Puppet は、2005年に Luke Kanies氏によりリリースされ、同じく 2005 年に設立された Puppet Labs 社により現在も継続して開発が行われています。Luke Kanies氏がシステム管理者として働いていた時に自分の作業を自動化することを目的に Puppet の開発を始めました。また、Luke Kanies氏は、幼少期をヒッピーコミューンで過ごしたという変わった経歴を持っています。

Puppet はリリース以降急速に普及し、現在は40000以上の企業で利用されています。また、同じく広く使われている構成管理オープンソース・ソフトウェア Chef にも影響を与えました。

Puppet は、無償のオープンソース版の他に、有償のエンタープライズ版があります。
Puppetは、クライアント・サーバ型、スタンドアロン型の二つの利用形態があり、クライアント・サーバ型の場合は Puppet Agent(クライアント) と Puppet Server(サーバ)の2種類のソフトウェアが必要です。

TOPに戻る

Puppetと同類のソフトウェア

商用ソフトウェア製品では、HP Insight Orchestration、Microsoft System Center Orchestrator 2012、OSSではChef、Ansible、Crowbarが同様の機能を提供しています。

TOPに戻る

Puppetの主な特徴

スタンドアロン型のPuppet は Ruby により記述されたアプリケーションですが、agent-server型は、Puppet ServerがClojureとJRuby、Puppet AgentがRubyで書かれています。Puppet Agentをインストールすると、スタンドアロン型のPuppetが同時にインストールされるようになっています。以前は、Puppet Serverは、Puppet Masterと言う名称で、Apache+Passengerの構成でクライアント、サーバ共にRuby MRIで記述されたアプリケーションでした。インフラ構築を行うためのスクリプトはマニフェスト(manifest)と呼ばれ、Ruby-likeなDSL(Domain Specific Language: ドメイン固有言語)で記述します。

マニフェストには対象サーバの「あるべき構成」を記述します。スタンドアロンで使用する場合は、Puppet が動作するサーバ自身に「あるべき構成」を適用しますが、クライアント・サーバ型の場合は、Puppet Serverがマニフェストを一元管理し、各ノード(サーバ)の Puppet Agent にマニフェストを配布し、各ノードはそれを適用します。

Puppet では構成管理を行う対象をリソースと呼びます。リソースには file(ファイル、ディレクイトリ、シンボリックリンク)、package(ソフトウェアパッケージ)、service(実行されるサービス)、user(システムユーザ)、group(グループ)など、さまざまなタイプが存在しています。また Puppet Forge には、5500以上もの追加リソースモジュールが公開されています。

TOPに戻る

Puppet(Puppet Agent)の動作環境


OS テスト済みバージョン 動作未確認
Debian 9, 10, 11
Fedora 32, 34(64bitパッケージのみ)
macOS 10.15 Catalina, 11 Big Sur(64bitパッケージのみ)
Microsoft Windows 10 Enterprise 8, 10
Microsoft Windows Server 2012R2, 2016, 2019 2012
Red Hat Enterprise Linux ※1 6, 7, 8, 8 Power
SUSE Linux Enterprise Server 12, 15
AlmaLinux 8(x86_64)
Rocky Linux 8(x86_64)
Ubuntu 16.04, 18.04, 18.04 AARCH, 20.04, 20.04 AARCH

※1) Amazon Linux v1(RHEL 6 パッケージを使用)、Amazon Linux v2(RHEL 7 パッケージを使用)も含まれます。


TOPに戻る

Puppet Serverの動作環境※2


OS テスト済みバージョン
Red Hat Enterprise Linux 7, 8
Debian Debian 9 (Stretch)
Debian 10 (Buster)
Ubuntu 16.04 (Xenial, amd64のみ)
18.04 (Bionic)
20.04 (Focal)
SLES 12 SP1(x86_64)

※2)パッケージが提供されていないx86_64 Linux サーバの場合は、インストール済のJava 8 または 11 を使用してソースから実行する必要があります。

TOPに戻る

主な機能

機能 オープンソース版 エンタープライズ版
レポーティング インフラの詳細をグラフィカルコンソールで可視化します。
自動コンフィグレーション インフラのあるべき状態を定義し適用します。 〇※1
オーケストレーション インフラ全体の構成の管理を自動化します。 〇※1
自動プロビジョニング 構成管理を自動化します。 〇※1
コード管理 Gitなどと連携し、コード管理を行います。 〇※1
ノード管理 ノードの分類、ライフサイクルを管理します。
Roleベースアクセスコントロール チームに権限を設定することで安全に作業を進められます。
サポート サポートの有無 コミュニティサポートのみ

※1一部のEnterprise向け機能は使用できません。

TOPに戻る

Puppetのライセンス

Puppet は、Apache2.0ライセンスです。
Apache License(アパッチ・ライセンス)のコードが使用されていることの明記を条件に、ソースコードの自由な改変と公開が認められています。

TOPに戻る

Puppetの参考情報

Try Open Source Puppet

TOPに戻る

Puppetのサポート

NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。

TOPに戻る

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO