Skip to content

takayukii/cookbooks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

takayukii's OpsWorks Cookbooks

個人的にOpsWorksで利用するCookbookを集約する。OpsWorksはElastic Beanstalkよりも下記の点で優位性がある。

  • Stackに複数のLayerを構築し維持する事ができる
  • Layer内のEC2インスタンスの調整(24/7のマニュアルでの伸縮、stopped状態でのインスタンスの保持、Time/Load-based)
  • Custom JSONを利用したRecipeの再利用性
  • Recipeの各ライフサイクルイベントを通した実行、任意のRecipe実行によるインスタンスのメンテナンス性
  • Knife SoloとVagrant(+ sahara plugin)を利用したローカルでの開発(Elastic Beanstalkの.ebextensionsはローカルで開発できない)

今後Chefの知見を貯めつつRecipeを再利用しながら生産性を向上させたい。

OpsWorksでのcookbookの利用

Layer毎のライフサイクルイベントに設定する

LayerのRecipesからCustom Chef Recipesとして設定する事ができる。その際のCustom JSONはStackに設定する。

{
  "applogs": {
    "paths": ["/var/log/onecoindog"]
  },
  "nginx": {
    "node_proxy": {
      "http_port": 8080,
      "https_port": 44380,
      "wss_port": 3000
    }
  }
}

コンソールから直接実行する

StackのRun CommandからUpdate Custom Cookbooksの後にExecute Recipeを実行する事でRecipeを単体で実行する事ができる。

applog::default

ここでもCustom JSONを設定する事ができる。

{
  "applogs": {
    "paths": ["/var/log/onecoindog"]
  }
}

なお、設定可能なパラメーターは各CookbookのAttributesを参照する事で把握できる。

開発方法

Knife SoloとVagrant(+ sahara plugin)を利用する。なお、本リポジトリはKnife Soloで扱うディレクトリのsite-cookbooks部分のみをリポジトリとして登録している。

  • vagrant up
  • vagrant sandbox on
  • Recipeを作成する
  • nodes/hostname.jsonのrunlistを更新する
  • knife solo cook hostname
  • Recipeの実行が成功したかどうかをvagrant sshして確認する
  • vagrant sandbox rollback

nodesファイルの例

{
  "applogs": {
    "paths": ["/var/log/hoge"]
  },
  "run_list": [
    "recipe[applogs]", "recipe[nginx]"
  ],
  "automatic": {
    "ipaddress": "192.168.33.40"
  }
}

hostnameは~/.ssh/configにて設定できる

~/.ssh/configの設定例

Host 192.168.33.40 
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /path/to/vagrant/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

OpsWorks上でのデバッグ方法

調査中

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published