ダメSE uramonの奮闘記

インフラ関連技術など

【Chef Tips 3】 hostsファイルの設定

 hostsファイルを編集する場合、ruby_block+FileEditユーティリティを使用しても良いが、ここでは、環境(Environment)単位でhostsファイルをTemplateで作成する方法を紹介する。

 まず、開発環境を"development"、本番環境を"production"とする。そして、開発環境の場合は、"hosts_development.erb"のテンプレートを、本番環境の場合は"hosts_production.erb"のテンプレートを用意する。

template "/etc/hosts" do
  source "hosts_" + node.chef_environment + ".erb"
  owner "root"
  mode "0644"
end

 

 次に、ノードのEnvironmentを設定する。以下は、開発環境として"development"を設定する例。

{
  "chef_environment": "development",
  "run_list": [
    "recipe[hoge::fuga]"
  ],
  "normal": {
    "tags": [

    ],
  },
  "name": "node01"
}

 

ポイント

  • 開発環境、本番環境といった環境毎に同一のhostsファイルを使用する場合にここで紹介した方法が便利。
  • 事前にEnvironmentを作成しておく。(Environmentの作成の仕方はまた次回)