Chef とは?

Chef

Chef最新情報

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

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

Chefバージョンアップ情報

■2022-03-29
[VerUP]Chef 17.10.0(リリース日:2022/03/22)
■2022-03-01
[VerUP]Chef 17.9.52(リリース日:2022/02/18)
■2022-02-15
[VerUP]Chef 17.9.46(リリース日:2022/02/08)
■2022-02-10
[VerUP]Chef 17.9.42(リリース日:2022/01/28)
■2022-01-11
[VerUP]Chef 17.9.26(リリース日:2022/01/05)
■2021-12-14
[VerUP]Chef 17.8.25(リリース日:2021/12/01)
■2021-11-09
[VerUP]Chef 17.7.29(リリース日:2021/10/29)
■2021-11-02
[VerUP]Chef 17.7.22(リリース日:2021/10/26)
■2021-10-26
[VerUP]Chef 17.6.18(リリース日:2021/10/01)
■2021-10-26
[VerUP]Chef 17.5.22(リリース日:2021/09/24)

すべてを見る

更新日:2022-02-22

Chefの概要

Chef(シェフ)とはインフラにおけるサーバ構成管理や、サーバへのファイル展開作業(プロビジョニング)を自動化するオープンソース・ソフトウェアです。
物理、仮想、クラウドといったさまざまなインフラに対して、サーバのあるべき構成(OS/ミドルウエア/アプリケーションなど)をセットしておくと、サーバの台数によらずその構成どおりにインフラを自動セットアップします。
複数台のサーバに対し、何度も同じ設定作業を行う必要がなくなり、サーバのデリバリーの効率化、設定時の人的ミス防止につながる便利なソフトウェアとして、近年では「Redmine」「Jenkins」と並んでIT現場での「新3種の神器」と呼ばれるほど人気があります。

Chef自体はRubyで実装されています。Chefには、「Infrastructure as Code」という基本概念があり、インフラの構成管理の設定自体もプログラミング言語のコードとして扱い、RubyのDSL(Domain Specific Language: ドメイン固有言語)で記述します。この構成管理の情報を「レシピ(Recipe)」、レシピの集合体である「クックブック(Cookbook)」として定義します。
Chefは、米国Chef 社(旧Opscode社)がOSSプロジェクトとして開発を進めており、コミュニティによって開発された多くの「クックブック(Cookbook)」が公開され、それらを自由に再利用することができます。

Chefには、構成を管理する「Chef Infra Server」、設定対象のサーバにインストールして動作する「Chef Infra Client」によるクライアント・サーバでの集中管理形式と、ローカルマシンから直接設定対象のサーバを管理するスタンドアロン形式「Chef Solo」があります。
※2014/06/24にChef公式ブログにてChef Soloの廃止が発表され、Chef Soloの機能を備えたChef Infra Client Local Modeを利用することが推奨されています。

■Chefの構成の違い

クライアント・サーバ形式では、インフラの集中管理サーバである「Chef Infra Server」上でセットアップ対象の各サーバ情報(設定ファイル)を保存・管理し、「Chef Infra Client」が「Chef Infra Server」からの指示によってインフラを構築します。

OpenStandia Chefクライアント・サーバ形式

スタンドアロン形式は「Chef Solo(Chef Infra Client local-mode)」と呼ばれ、「Chef Infra Server」を使わずにセットアップ対象の各サーバ情報に「Chef Infra Client」と設定情報をインストールして管理します。「knife solo」というCLIツールを利用することで、複数のセットアップ対象サーバにChefをインストールし、Chef Soloを実行する環境を構築できます。

OpenStandia Chefスタンドアロン形式



Chefは多くの場合、同じ作業を実行しても同じ結果になる(※)ため、複数台のサーバに対して同じOS/ミドルウエア/アプリケーションなどをインストールし、パラメータ設定をする際などに大変便利なソフトウェアです。
そのため、最初に小さな単位でインフラを構築し、徐々にサーバ台数を追加して大規模構成に成長させていくことも容易に実現できます。
また、設定ファイルである「レシピ(Recipe)」や「クックブック(Cookbook)」は、スタンドアロン形式、クライアント・サーバ形式で共通して利用できるため、設定対象のサーバ台数が少ない場合は「Chef Solo」を利用し、サーバ台数が増加していった際には「Chef Infra Server」に切り替えるということも可能です。

近年では、国内外を問わず、インターネット広告事業、SNS事業、ゲーム事業、クラウド事業などをはじめとする大規模システムでのChefの採用事例が増加しています。数十万台規模でChefを利用しているFacebook社の事例は有名です。

※数学における冪等性(べきとうせい)という概念と同じものです。処理の内容によってはこの性質が確保されないことがあります。

TOPに戻る

Chefの主な機能

主な機能は以下のとおりです。

  • コンフィギュレーション管理機能
     - プログラミング言語(Ruby)によるインフラ設定と管理
     - 手順書(Cookbook)による作業の簡略化と共通化
  • プロビジョニング機能
     - 設定ファイルの自動配布と反映
  • システムインテグレーション機能
     - サーバ間の動的なシステムインテグレーションと大規模インフラの構築の実現
     - Chef Soloでの小規模なサーバ構築
  • データ収集機能
     - 各ノードと通信し、運用環境に関するさまざまなデータを保存
  • 世代管理機能
     - 過去の設定ファイルの保存とロールバックの実現

TOPに戻る

Chefの特徴

Chefは、次のような特徴があります。

  • 構成管理の自動化によるサーバデリバリーの効率化、設定時の人的ミス防止
  • 構成管理プロセスを記載するのではなく、最終的な設定状態を記載する
  • プログラミング言語(Ruby)を用いたインフラ構築・設定管理ができる
  • ライセンス費用はゼロで、無料で使用できる(有償保守サポートを依頼する場合は別途費用がかかる)
  • 冪等性
  • スケーラビリティ
  • 設定ファイルが多数公開されている
  • 料理を意識した用語である

TOPに戻る

Chefの動作環境

前提となる動作環境は、以下のとおりです。

  • Chef Infra Server OS
    • Amazon Linux 2 (x86_64)
    • CentOS 7、8 (x86_64)
    • Oracle Enterprise Linux 7、8 (x86_64)
    • Red Hat Enterprise Linux 7、8 (x86_64)
    • SUSE Linux Enterprise Server 12、15 (x86_64)
    • Ubuntu Server 16.04、18.04、20.04 (x86_64)
  • Chef Infra Client OS
    • IBM AIX 7.1、7.2 (powerpc)
    • Amazon Linux 2 (x86_64、aarch64)
    • CentOS 8 (x86_64、aarch64)
    • CentOS 7 (x86_64、ppc64le、ppc64、aarch64)
    • CentOS 6 (x86_64)
    • Debian 10、11(x86_64、aarch64)
    • Debian 9(x86_64)
    • FreeBSD 11、12(amd64)
    • Mac OS X 10.15、11、12 (x86_64、aarch64)
    • Oracle Enterprise Linux 7、8 (x86_64、aarch64)
    • Oracle Enterprise Linux 6 (x86_64)
    • Red Hat Enterprise Linux 8 (x86_64、s390x、aarch64)
    • Red Hat Enterprise Linux 7 (x86_64、s390x、ppc64le、ppc64、aarch64)
    • Red Hat Enterprise Linux 6 (x86_64、s390x)
    • Oracle Solaris 11.3、11.4 (sparc、i86pc)
    • SUSE Enterprise 15 (x86_64、s390x、aarch64)
    • SUSE Enterprise 12 (x86_64、s390x)
    • Ubuntu Server 16.04、18.04、20.04 (x86_64、aarch64)
    • Windows 8.1、10、11 (x86、x64)
    • Windows Server 2012、2012r2、2016、2019、2022 (x86、x64)

プラットフォームによってサポートされるアーキテクチャが細かく異なるので、 Chefのダウンロードページを参照ください。

TOPに戻る

Chefと同類のソフトウェア

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

TOPに戻る

Chefのライセンス

Chefのライセンスは、Apache License 2.0です。
Apache License(アパッチ・ライセンス)のコードが使用されていることの明記を条件に、ソースコードの自由な改変と使用、複製、再頒布などが認められています。
また、開発元にChef社が提供する「Enterprise Chef」といったノード数単位のサブスクリプションライセンスも提供されています。Chefのライセンスについてご不明な点がありましたら、お気軽にお問い合わせください。

TOPに戻る

Chefのダウンロード

Chef ダウンロードページ

TOPに戻る

参考情報

Chef 公式サイト
Chef Github

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