Chefの環境構築とレシピの生成方法

Chefとは

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

[引用] オープンソースの運用管理・運用自動化 / Chefとは より

上記に記載されている通りChefはサーバの構成管理を行うツールです。レシピと呼ばれる設定ファイルにユーザ・パッケージ等の環境を記述します。 レシピはRubyで作成します。

Chefのインストール

以下のURLを参考にインストールを行います。

docs.chef.io

macOSbrew caskでインストールを行います。

$ brew cask install chef-workstation

レシピを作成する

以下のコマンドでレシピの生成を行います

chef generate cookbook sample

するとsampleというディレクトリが生成されます。中身は以下の通りです。

.
├── CHANGELOG.md
├── LICENSE
├── Policyfile.rb
├── README.md
├── chefignore
├── kitchen.yml
├── metadata.rb
├── recipes
│   └── default.rb
├── spec
│   ├── spec_helper.rb
│   └── unit
│       └── recipes
│           └── default_spec.rb
└── test
    └── integration
        └── default
            └── default_test.rb

recipesディレクトリでレシピの作成を行います。metadata.rbではgemの依存関係などを書きます。 次に記事では実際にnginxの環境構築に関するレシピを作成していきます。