Chef(シェフ)。構成管理(プロビジョニング)ツールです。ユーザ作成、パッケージインストール、設定ファイル編集などの展開作業を自動化します。物理環境/仮想環境/クラウド環境などの各種インフラに対応します。

オープンソースの運用管理・運用自動化/Chefとは

Chef(シェフ)。構成管理(プロビジョニング)ツールです。ユーザ作成、パッケージインストール、設定ファイル編集などの展開作業を自動化します。物理環境/仮想環境/クラウド環境などの各種インフラに対応します。

基本情報

概要

Chef(シェフ)とは、構成管理(プロビジョニング)ツールです。ユーザ作成、パッケージインストール、設定ファイル編集などの展開作業を自動化します。物理環境/仮想環境/クラウド環境などの各種インフラに対応します。

基本説明

Chefは、米Chef Software社を中心に開発されています。

システム各種設定、アプリケーション/ミドルウェア/コンポーネントなどのソフトウェアインストールを自動化できます。インフラ環境構築を簡単に行うための便利な機能が搭載されています。

Rubyで実装されているのが特徴です。インフラ構成情報もRubyを使ってコードで管理します。

Windows、Linux、Mac OSなど複数のプラットフォームに対応しています。

導入メリット

・構築/運用コストの削減
・構築/運用ノウハウの共有
・構築のやり直しがきく
・作業時間の短縮
・複数サーバへ一括適用
・作業ミスが発生しない

TOPに戻る

主な特徴

「Infrastructure as Code」

「インフラをどのように構築し、維持されるべきか」という定義は、Rubyで記述され、ソースコードのように扱います。

コードによってインフラの構成管理を行えることが、Chefの大きな特徴であり利点です。

設定階層構成「Repository」「Cookbook」「Recipe」

「Recipe」=実際に実行させる構成設定ファイル
「Cookbook」=特定の構成対象に対して必要なRecipeをまとめるための構成設定ファイルセット
「Repository」=Chefの実行に必要となる一連の「Cookbook」をまとめる入れ物

『Repository >Cookbook> Recipe』という階層関係になります。

Nginxの設定を作成したい場合は、まず「Repository」を作成して、Nginxの「Cookbook」を作成して、その中に実際のNginx設定ファイルとなる「Recipe」を作成していく形となります。

「Cookbook」

処理内容や対象とするアプリケーションごとにCookbookを作成するのが一般的です。

アプリケーションインストール設定(MySQL、Apacheなど)、ユーザ作成、システム管理など、さまざまなCookbookが公開されていて、そのまま利用することもできます。

「Recipe」

Recipeは、インフラをあるべき姿に構築し、維持する具体的なプログラムコードというイメージです。

Rubyの文法を用いて、Chef専用の命令コマンド「Resource」を使用して記述します。

Resourceを自作したり、Ruby、Perl、Python、bashなどのスクリプトを直接実行することも可能です。

「べき等性」何度繰り返しても同じ結果に

「べき等性」とは「ある操作を何度行っても結果が同じになる」という概念です。

作業手順を記述するのではなく、「システム構成をこのようにしたい」という「あるべき構成」を記述します。

ただし、自作したCookbookやRecipeの書き方によっては、べき等性が保証されないことがあります。

「クライアント・サーバ形式」と「スタンドアロン形式」

大規模インフラ構成向きの「クライアント・サーバ形式」と、小規模インフラ構成向きの「スタンドアロン形式」があります。

コマンドラインインターフェイス「Knife」

「Knife」は、Chefのコマンドラインインターフェイスです。

多数のプラグインが作成されており、「IaaS上にインスタンスを作成し、Chef環境を構築する」などの使い方も可能です。

システムの状態を容易に確認できる

設定管理は一貫してChefで行う運用であれば、コード参照のみで設定値などを確認できます。

TOPに戻る

同様製品(概要情報)

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Puppet」「Ansible」「Crowbar」など。

TOPに戻る

導入事例

Chefの利用実績としては、
・CyberAgent
・GREE
・nanapi
・Facebook
などがあります。

Facebookは、数十万台規模のサーバ群をすべてChefで管理しているとされています。

TOPに戻る

ライセンス情報

Chefのライセンスは、「Apache License 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

TOPに戻る

ダウンロード

ダウンロードページ

TOPに戻る

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

Chef最新TOPICS

【OSS】ITインフラ自動化ツール「Chef 14」リリース---Ruby 2.5ベースに、性能改善(前バージョン比で10%向上)(2018年04月09日 11:03)

Chef開発チームは、4月3日、 ITインフラ自動化ツール「Chef 14」を発表した。 【Chefとは】 構成管理(プロビジョニング)ツール https://www.ossnews.jp/oss_info/Chef 【ポイント】 ・基本的なシステム管理機能をコアに統合 ・30近くの新しいリソースをコアに追加 ・システム設定データ収集ツール「Ohai」強化 ・Ruby 2...

Chef最新CLOSEUPコラム

無料資料プレゼント

機械学習導入にあたって理解したい4つのステップ

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter