SlideShare a Scribd company logo
1 of 80
Download to read offline
入門
13年11月2日土曜日
自己紹介
小川 智和(おがわ ともかず)

•
•

13年11月2日土曜日

Twitter: @ogatomo
好きなもの:Emacs, Ruby, AWS, Railsなど
Chefについて
•

Opscode社が開発した
Configuration Management Tools

•

サーバーの設定に必要なスクリプトや設定ファイル
を一元管理

•

サーバーの初期設定や設定変更の自動化

13年11月2日土曜日
Chefの構成

13年11月2日土曜日
Chefの構成

13年11月2日土曜日
Chefの構成

13年11月2日土曜日
Chefの構成

13年11月2日土曜日
Chefの構成
chef-server

13年11月2日土曜日
Chefの構成
chef-server

chef-client
13年11月2日土曜日
Chefの構成
knife

chef-server

chef-client
13年11月2日土曜日
Chefの役割
Railsアプリのデプロイ

apache
mysql
ruby
nginx

等のインストール
& 設定

サーバー自体(CPU,HDD,メモリ)や
ネットワークの準備

13年11月2日土曜日
Chefの役割
Railsアプリのデプロイ

apache
mysql
ruby
nginx

等のインストール
& 設定

AWS
その他Cloud
サーバー自体(CPU,HDD,メモリ)や
ネットワークの準備

13年11月2日土曜日
Chefの役割
Railsアプリのデプロイ

Chef
apache
mysql
ruby
nginx

等のインストール
& 設定

AWS
その他Cloud
サーバー自体(CPU,HDD,メモリ)や
ネットワークの準備

13年11月2日土曜日
Chefの役割
Capistrano
Railsアプリのデプロイ

Chef
apache
mysql
ruby
nginx

等のインストール
& 設定

AWS
その他Cloud
サーバー自体(CPU,HDD,メモリ)や
ネットワークの準備

13年11月2日土曜日
Chefの役割
Capistrano
Railsアプリのデプロイ

Chef
apache
mysql
ruby
nginx

OS等の
違いを吸収

等のインストール
& 設定

AWS
その他Cloud
サーバー自体(CPU,HDD,メモリ)や
ネットワークの準備

13年11月2日土曜日
構築方法
13年11月2日土曜日
各種サーバー準備

先日の広島OSCで、無料クーポン頂きました!

13年11月2日土曜日
chef-server構築
chef-server

13年11月2日土曜日
chef-server構築
•

Ubuntu 12.04

•

スワップ有り(AWSのmicroだと厳しい)

•

さくらクラウド

13年11月2日土曜日
chef-server構築
http://www.opscode.com/chef/install/

URLコピー

13年11月2日土曜日
chef-server構築
•

/etc/hostsの127.0.0.1の所に、
自サーバーのホスト名を入れておく。

•

DNSにサーバーのIPとドメインも設定しておく
$ curl -O コピペしたdebファイルのURL
$ dpkg -i chef-server_11.0.8-1.ubuntu.
12.04_amd64.deb

13年11月2日土曜日
chef-server構築
DNSに設定したURLを以下の設定ファイルに入れておく
$ vi /etc/chef-server/chef-server.rb
nginx['server_name'] = "chef-demo.ogatomo.com"
nginx['url'] = "https://chef-demo.ogatomo.com"
$ chef-server-ctl reconfigure

13年11月2日土曜日
chef-server構築
/etc/chef-server/chef-validator.pem

•

上記ファイルをサーバーからダウンロード
(秘密 ファイルなので扱い注意!!)
chef-serverにClientを登録する場合などに必要

•

13年11月2日土曜日
knifeの構築
knife

13年11月2日土曜日
knifeの構築
https://chef-serverのURL

Adminにチェック

クリックして管理Client作成
13年11月2日土曜日
knifeの構築
秘密 の文字列を
全部コピー

13年11月2日土曜日
knifeの構築
以下の階層でディレクトリとファイル作成
(場所はどこでも良い)
.chef
├── knife.pem … knifeユーザーの秘密 をコピー
├── knife.rb … 空のファイルで良い
└── validation.pem … chef-serverからDLした
            chef-validator.pem

13年11月2日土曜日
knifeの構築

$ gem install chef

13年11月2日土曜日
knifeの構築
.chefと同じ階層までcdで移動後、
初期設定用コマンド実行
$ cd /path/to/.chef/../
$ knife configure
設定内容を色々聞かれます。
Overwrite /path/to/.chef/knife.rb? (Y/N) Y
Please enter the chef server URL: [http://MacMini.local:4000] https://chef-serverのURL
Please enter an existing username or clientname for the API: [togawa] knife
Please enter the validation client name: [chef-validator]
Please enter the location of the validation key: [/etc/chef/validation.pem] /path/to/.chef/
validation.pem
Please enter the path to a chef repository (or leave blank):

13年11月2日土曜日
knifeの構築
動作確認の為、登録済みClient一覧取得
$ knife client list
実行結果:
chef-validator
chef-webui
knife

13年11月2日土曜日
chef-client構築

chef-client
13年11月2日土曜日
chef-client構築
# apt-get install ruby1.9.1 ruby1.9.1-dev
build-essential
# gem install chef --no-ri ̶no-rdoc
# mkdir /etc/chef

13年11月2日土曜日
chef-client構築
以下の階層でディレクトリとファイル作成
/etc/chef
├── client.rb … chef-client用設定ファイル
└── validation.pem … chef-serverからDLした
            chef-validator.pem

13年11月2日土曜日
chef-client構築
/etc/chef/client.rb の内容
chef_server_url "https://chef-serverのURL"
node_name "Clientの名称"

13年11月2日土曜日
chef-clientの構築
$ knife client list
実行結果:
chef-validator
chef-webui
knife
Clientの名称

13年11月2日土曜日
chef-clientの構築
$ knife node list
実行結果:
Clientの名称

13年11月2日土曜日
chef-clientの構築
$ knife node edit Clientの名称 -e vi
実行結果(JSON):
{
"name": "chef-client01",
"chef_environment": "_default",
"normal": {
"tags": [
]
},
"run_list": [
],
"default": {
},
"override": {
},
………
……
…
13年11月2日土曜日

chef-clientが収集した
環境の情報
(IPアドレスや、OSの種類など)
chef-client構築
Clientをchef-serverに登録
# chef-client
/etc/chef
├── client.rb
├── client.pem … 秘密
└── validation.pem

13年11月2日土曜日

ファイルが生成
Chefの構成完了!
knife

chef-server

chef-client
13年11月2日土曜日
Cookbook
13年11月2日土曜日
Cookbookについて
サーバーの設定に必要な
スクリプト・ファイルテンプレート類

13年11月2日土曜日
Cookbookについて
サーバーの設定に必要な
スクリプト・ファイルテンプレート類

Rubyの設定スクリプト

13年11月2日土曜日
Cookbookについて
サーバーの設定に必要な
スクリプト・ファイルテンプレート類

Rubyの設定スクリプト

Recipeに渡すパラメータ

13年11月2日土曜日
Cookbookについて
サーバーの設定に必要な
スクリプト・ファイルテンプレート類

Rubyの設定スクリプト

Recipeに渡すパラメータ
Providersに渡す
パラメータの定義

13年11月2日土曜日
Cookbookについて
サーバーの設定に必要な
スクリプト・ファイルテンプレート類

Rubyの設定スクリプト

Recipeに渡すパラメータ
Providersに渡す
パラメータの定義
設定ファイルテンプレート
ファイルなど。

13年11月2日土曜日
Cookbookについて
ディレクトリ構成
my_cookbook
├── CHANGELOG.md
├── README.md
├── attributes
├── files
├── metadata.rb
├── providers
├── resources
├── recipes
└── templates

13年11月2日土曜日

Rubyの設定スクリプト

Recipeに渡すパラメータ
Providersに渡す
パラメータの定義
設定ファイルテンプレート
ファイルなど。
Cookbook(apache2)
インストール&設定するCookbook

13年11月2日土曜日
Cookbook(mysql)
インストール&設定するCookbook

13年11月2日土曜日
Cookbook(htpasswd)
Recipeに設定内容を書きやすくする為のCookbook

13年11月2日土曜日
Cookbook(htpasswd)
Basic認証用パスワードファイルを簡単に定義できる
htpasswd "/etc/nginx/htpassword" do
user "foo"
password "bar"
end

13年11月2日土曜日
Cookbook(htpasswd)
Basic認証用パスワードファイルを簡単に定義できる
htpasswd "/etc/nginx/htpassword" do
user "foo"
password "bar"
end
⇡はProvidersに定義されてます

13年11月2日土曜日
Cookbook(sudo)
Recipeに設定内容を書きやすくする為のCookbook

13年11月2日土曜日
Cookbook(sudo)
sudoの設定が簡単に!
sudo 'tomcat' do
user
"%tomcat"
runas
'app_user'
commands ['/etc/init.d/tomcat restart']
end

13年11月2日土曜日
Cookbook(sudo)
sudoの設定が簡単に!
sudo 'tomcat' do
user
"%tomcat"
runas
'app_user'
commands ['/etc/init.d/tomcat restart']
end

※設定ミスると/etc/sudoersから大事な設定が消えて、
永遠にrootになれなくなるので気をつけましょう。
13年11月2日土曜日
Cookbook(sudo)
sudoの設定が簡単に!
sudo 'tomcat' do
user
"%tomcat"
runas
'app_user'
commands ['/etc/init.d/tomcat restart']
end

※設定ミスると/etc/sudoersから大事な設定が消えて、
永遠にrootになれなくなるので気をつけましょう。
13年11月2日土曜日
その他の標準Provider
ディレクトリを作ります
directory "/tmp/folder" do
owner "root"
group "root"
mode 0755
action :create
end

13年11月2日土曜日
その他の標準Provider
ユーザーを作ります
user "admin" do
supports :manage_home => true
comment "Admin User"
uid 1234
gid "users"
home "/home/admin"
shell "/bin/bash"
password "$1$JJsvHslV$szsCjVEroftprNn4JHtDi."
end

13年11月2日土曜日
chef-client
13年11月2日土曜日
chef-clientについて
chef-server

必要なCookbookを
取得して実行

chef-client
13年11月2日土曜日
chef-clientについて
$ knife node edit Clientの名称 -e vi
実行結果(JSON):
{
"name": "chef-client01",
"chef_environment": "_default",
"normal": {
"tags": [
]
},
"run_list": [
],
"default": {
},
"override": {
},
………
……
…

Clientは自分のnodeのrun_listを
もとにcookbookを実行

13年11月2日土曜日
cookbookの準備
.chefがある場所に、
cookbook置き場を作り、cookbookをアップロード
$ mkdir cookbooks
$ cd cookbooks
$ git clone https://github.com/opscodecookbooks/apache2.git
$ knife cookbook upload apache2 -o ./

13年11月2日土曜日
run-listの編集
$ knife node edit Clientの名称 -e vi
実行結果(JSON):
{
"name": "chef-client01",
"chef_environment": "_default",
"normal": {
"tags": [
]
},
"run_list": [
recipe[apache2] ,
recipe[apache2::mod_rewrite]
],
"default": {
},
"override": {
},
………
……
13年11月2日土曜日

run_listを編集し、
apache2をインストールして
mod_rewriteを有効にする
run-listの編集
$ knife node edit Clientの名称 -e vi
実行結果(JSON):
{
"name": "chef-client01",
"chef_environment": "_default",
"normal": {
"tags": [
]
},
"run_list": [
recipe[apache2] ,
recipe[apache2::mod_rewrite]
],
"default": {
},
"override": {
},
………
……
13年11月2日土曜日

recipe[cookbook名]
or
recipe[cookbook名::recipe名]
run-listの編集
$ knife node edit Clientの名称 -e vi
実行結果(JSON):
{
"name": "chef-client01",
"chef_environment": "_default",
"normal": {
"tags": [
]
},
"run_list": [
recipe[apache2] ,
recipe[apache2::mod_rewrite]
],
"default": {
},
"override": {
},
………
……
13年11月2日土曜日

recipe[cookbook名]
… recipes/default.rbを実行
recipe[cookbook名::recipe名]
… recipes/mod_rewrite.rb
を実行
chef-client実行
Clientにsshログインし、
# chef-client
もしくはPCからknife sshコマンド実行
# knife ssh name:nodeの名称" -x Linuxユ
ーザ名 "sudo chef-client" -i SSH ファイル
-a ipaddress

13年11月2日土曜日
chef-client実行
Clientにsshログインし、
# chef-client
もしくはPCからknife sshコマンド実行
# knife ssh name:nodeの名称" -x Linuxユ
ーザ名 "sudo chef-client" -i SSH ファイル
-a ipaddress

node内のipaddressという値を使って接続
13年11月2日土曜日
DEMO
13年11月2日土曜日
nodeの用途
13年11月2日土曜日
nodeの用途
•

run_listに実行するcookbookとレシピを定義

•

cookbookに渡すパラメータを変更

•

cookbookの処理結果を保存

13年11月2日土曜日
パラメータを変更
↓こんな場合に行います
•

attributes/default.rbの設定値じゃ満足できない

•

そもそもデフォルト値だと動かない

13年11月2日土曜日
apache2の例
{
"name": "chef-client01",
"chef_environment": "_default",
"normal": {
"tags": [
],
"apache": {
"prefork": {
"startservers" : "10",
"minspareservers":"10",
"maxspareservers":"10",
"serverlimit":"512",
"maxclients":"512"
}
}
},
"run_list": [
recipe[apache2] ,
recipe[apache2::mod_rewrite]
],
……
……
13年11月2日土曜日

confに設定したい値を入れる
cookbook内では
node[:apache][:prefork][:startservers]
等の変数が使われてるので
その値をnodeで上書きする
処理結果の保存
•

cookbookの実行が途中で失敗しても、再実行が行
えるようにする。(冪等性ていうらしい)

•

自動作成したユーザーのパスワードなどを保存す
る。

13年11月2日土曜日
mysqlの例
{
"name": "chef-client01",
"chef_environment": "_default",
"normal": {
"tags": [
],
"mysql": {
"server_debian_password": ********************* ,
"server_root_password": "*********************",
"server_repl_password": "*********************"
}
},
"run_list": [
recipe[apache2] ,
recipe[apache2::mod_rewrite]
],
……
……

13年11月2日土曜日

結構な機密情報が
nodeには保存されます。。
nodeのバックアップ方法
knifeを使ってnodeをバックアップ
# knife node show node名称 ̶format
json > backup.json

nodeのリストア
# knife node from file backup.json

13年11月2日土曜日
Tips
13年11月2日土曜日
run_listが肥大化した
"run_list": [
"recipe[php]",
"recipe[apache2]",
"recipe[apache2::mod_php5]",
"recipe[apache2::mod_ssl]",
"recipe[apache2::mod_rewrite]",
"recipe[php::module_gd]",
"recipe[php::module_mysql]",
"recipe[php::module_pgsql]",
"recipe[php::module_mbstring]",
"recipe[php::module_xml]",
"recipe[php::module_mcrypt]"
]

13年11月2日土曜日
run_listが肥大化した
"run_list": [
"recipe[php]",
"recipe[apache2]",
"recipe[apache2::mod_php5]",
"recipe[apache2::mod_ssl]",
"recipe[apache2::mod_rewrite]",
"recipe[php::module_gd]",
"recipe[php::module_mysql]",
"recipe[php::module_pgsql]",
"recipe[php::module_mbstring]",
"recipe[php::module_xml]",
"recipe[php::module_mcrypt]"
]

13年11月2日土曜日

同じrun_listは
roleを定義しよう
roleを定義
# knife role create wordpress -e vim
{
"name": "wordpress",
"description": "",
"json_class": "Chef::Role",

roleのrun_listに設定
"recipe[php]",

"default_attributes": {

"recipe[apache2]",

},

"recipe[apache2::mod_php5]",

"override_attributes": {

"recipe[apache2::mod_ssl]",

},

"recipe[apache2::mod_rewrite]",

"chef_type": "role",

"recipe[php::module_gd]",

"run_list": [

"recipe[php::module_mysql]",

],

"recipe[php::module_pgsql]",

"env_run_lists": {
}
}

13年11月2日土曜日

"recipe[php::module_mbstring]",
"recipe[php::module_xml]",
"recipe[php::module_mcrypt]"
role設定後
nodeのrun_listがスッキリします
"run_list": [
"role[wordpress]"
]

13年11月2日土曜日
御清聴
ありがとうございました

13年11月2日土曜日

More Related Content

What's hot

Chef solo 入門の入門
Chef solo 入門の入門Chef solo 入門の入門
Chef solo 入門の入門正之 安宅
 
As rock deskminia300
As rock deskminia300As rock deskminia300
As rock deskminia30078tch
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較Sugawara Genki
 
JSで対戦できるゲーム作った
JSで対戦できるゲーム作ったJSで対戦できるゲーム作った
JSで対戦できるゲーム作ったAkito Moriki
 
3分でわかる(気になれる) AWS OpsWorks
3分でわかる(気になれる) AWS OpsWorks3分でわかる(気になれる) AWS OpsWorks
3分でわかる(気になれる) AWS OpsWorksYuuki Namikawa
 

What's hot (6)

Chef solo 入門の入門
Chef solo 入門の入門Chef solo 入門の入門
Chef solo 入門の入門
 
As rock deskminia300
As rock deskminia300As rock deskminia300
As rock deskminia300
 
Mina 20130417
Mina 20130417Mina 20130417
Mina 20130417
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較
 
JSで対戦できるゲーム作った
JSで対戦できるゲーム作ったJSで対戦できるゲーム作った
JSで対戦できるゲーム作った
 
3分でわかる(気になれる) AWS OpsWorks
3分でわかる(気になれる) AWS OpsWorks3分でわかる(気になれる) AWS OpsWorks
3分でわかる(気になれる) AWS OpsWorks
 

Viewers also liked

人間に与えられた時間は無限ではない
人間に与えられた時間は無限ではない人間に与えられた時間は無限ではない
人間に与えられた時間は無限ではないYuki Nagino
 
スタートアップ勉強会
スタートアップ勉強会スタートアップ勉強会
スタートアップ勉強会Ken Haneda
 
Renovate Your Retrospective - Adam England - KCDC 2015
Renovate Your Retrospective - Adam England - KCDC 2015Renovate Your Retrospective - Adam England - KCDC 2015
Renovate Your Retrospective - Adam England - KCDC 2015Adam England
 
NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobile
NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobileNS Prefix - そこから見渡す Swift 3 の景色 #startup_mobile
NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobileTomohiro Kumagai
 
Globo.com - migração do player flash para html5
Globo.com  - migração do player flash para html5Globo.com  - migração do player flash para html5
Globo.com - migração do player flash para html5Leandro Moreira
 
What is Enterprise Agile
What is Enterprise Agile What is Enterprise Agile
What is Enterprise Agile Kenji Hiranabe
 
Alexa Skills Kitを使って自作のSkillを作る
Alexa Skills Kitを使って自作のSkillを作るAlexa Skills Kitを使って自作のSkillを作る
Alexa Skills Kitを使って自作のSkillを作るJun Ichikawa
 
Immutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS LambdaImmutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS LambdaAOE
 
マルチパブリッシング プラットフォームとしてのWordPress
マルチパブリッシング プラットフォームとしてのWordPressマルチパブリッシング プラットフォームとしてのWordPress
マルチパブリッシング プラットフォームとしてのWordPress文樹 高橋
 
INSPIRE FUTURE GENERATIONS
INSPIRE FUTURE GENERATIONSINSPIRE FUTURE GENERATIONS
INSPIRE FUTURE GENERATIONSKoichi ITO
 
Webディレクター用ポートフォリオテンプレート
Webディレクター用ポートフォリオテンプレートWebディレクター用ポートフォリオテンプレート
Webディレクター用ポートフォリオテンプレートtoksato Tokunaga
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAmazon Web Services Japan
 
使った気になれるFirebase
使った気になれるFirebase使った気になれるFirebase
使った気になれるFirebaseFukase Motohiko
 

Viewers also liked (15)

人間に与えられた時間は無限ではない
人間に与えられた時間は無限ではない人間に与えられた時間は無限ではない
人間に与えられた時間は無限ではない
 
スタートアップ勉強会
スタートアップ勉強会スタートアップ勉強会
スタートアップ勉強会
 
Renovate Your Retrospective - Adam England - KCDC 2015
Renovate Your Retrospective - Adam England - KCDC 2015Renovate Your Retrospective - Adam England - KCDC 2015
Renovate Your Retrospective - Adam England - KCDC 2015
 
NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobile
NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobileNS Prefix - そこから見渡す Swift 3 の景色 #startup_mobile
NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobile
 
Globo.com - migração do player flash para html5
Globo.com  - migração do player flash para html5Globo.com  - migração do player flash para html5
Globo.com - migração do player flash para html5
 
What is Enterprise Agile
What is Enterprise Agile What is Enterprise Agile
What is Enterprise Agile
 
Alexa Skills Kitを使って自作のSkillを作る
Alexa Skills Kitを使って自作のSkillを作るAlexa Skills Kitを使って自作のSkillを作る
Alexa Skills Kitを使って自作のSkillを作る
 
Immutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS LambdaImmutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS Lambda
 
マルチパブリッシング プラットフォームとしてのWordPress
マルチパブリッシング プラットフォームとしてのWordPressマルチパブリッシング プラットフォームとしてのWordPress
マルチパブリッシング プラットフォームとしてのWordPress
 
Sakura IoT Platform
Sakura IoT PlatformSakura IoT Platform
Sakura IoT Platform
 
INSPIRE FUTURE GENERATIONS
INSPIRE FUTURE GENERATIONSINSPIRE FUTURE GENERATIONS
INSPIRE FUTURE GENERATIONS
 
Webディレクター用ポートフォリオテンプレート
Webディレクター用ポートフォリオテンプレートWebディレクター用ポートフォリオテンプレート
Webディレクター用ポートフォリオテンプレート
 
minne の API 改善
minne の API 改善minne の API 改善
minne の API 改善
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
 
使った気になれるFirebase
使った気になれるFirebase使った気になれるFirebase
使った気になれるFirebase
 

Similar to 広島Ruby勉強会#35 - Chef入門

Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む2bo 2bo
 
スマートWordPress on JAWS-UG Tokyo#17
スマートWordPress on JAWS-UG Tokyo#17スマートWordPress on JAWS-UG Tokyo#17
スマートWordPress on JAWS-UG Tokyo#17Hiro Fukami
 
httpd.conf line 1 to 7, 24
httpd.conf line 1 to 7, 24httpd.conf line 1 to 7, 24
httpd.conf line 1 to 7, 24Naoya Nakazawa
 
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~Kazuya Wada
 
サーバ構築実践入門
サーバ構築実践入門サーバ構築実践入門
サーバ構築実践入門優之 田中
 
S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較真治 米田
 
そろそろRStudioの話
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話Kazuya Wada
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試したy-uti
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会Yasutaka Hamada
 
NVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxNVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxTomoki SHISHIKURA
 
Casual convergence
Casual convergenceCasual convergence
Casual convergenceazukiwasher
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
Mtddc kyusyu-lightningtalks
Mtddc kyusyu-lightningtalksMtddc kyusyu-lightningtalks
Mtddc kyusyu-lightningtalksYuji Takayama
 
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!Midori Oge
 
20101106 ramaze発表
20101106 ramaze発表20101106 ramaze発表
20101106 ramaze発表Fukui Osamu
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOKohei Noda
 

Similar to 広島Ruby勉強会#35 - Chef入門 (20)

Openstack chef-repo
Openstack chef-repoOpenstack chef-repo
Openstack chef-repo
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 
実は怖くないDevOps
実は怖くないDevOps実は怖くないDevOps
実は怖くないDevOps
 
スマートWordPress on JAWS-UG Tokyo#17
スマートWordPress on JAWS-UG Tokyo#17スマートWordPress on JAWS-UG Tokyo#17
スマートWordPress on JAWS-UG Tokyo#17
 
Sacss sp5
Sacss sp5Sacss sp5
Sacss sp5
 
httpd.conf line 1 to 7, 24
httpd.conf line 1 to 7, 24httpd.conf line 1 to 7, 24
httpd.conf line 1 to 7, 24
 
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
 
サーバ構築実践入門
サーバ構築実践入門サーバ構築実践入門
サーバ構築実践入門
 
S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較
 
そろそろRStudioの話
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話
 
ブログる
ブログるブログる
ブログる
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試した
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
 
NVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxNVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 Linux
 
Casual convergence
Casual convergenceCasual convergence
Casual convergence
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
Mtddc kyusyu-lightningtalks
Mtddc kyusyu-lightningtalksMtddc kyusyu-lightningtalks
Mtddc kyusyu-lightningtalks
 
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!
 
20101106 ramaze発表
20101106 ramaze発表20101106 ramaze発表
20101106 ramaze発表
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
 

Recently uploaded

202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)KayaSuetake1
 
Service-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadershipService-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadershipYasuyoshi Minehisa
 
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdfストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdfmasakisaito12
 
株式会社MAVEL会社概要_アフィリエイト広告_運用型広告_LTVを予測しLOIを最適化する広告代理店
株式会社MAVEL会社概要_アフィリエイト広告_運用型広告_LTVを予測しLOIを最適化する広告代理店株式会社MAVEL会社概要_アフィリエイト広告_運用型広告_LTVを予測しLOIを最適化する広告代理店
株式会社MAVEL会社概要_アフィリエイト広告_運用型広告_LTVを予測しLOIを最適化する広告代理店ssuserfb441f
 
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチUP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチユニパー株式会社
 
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料シンフォニティ 株式会社
 
20240427 zaim academy counseling lesson .pdf
20240427 zaim academy counseling lesson .pdf20240427 zaim academy counseling lesson .pdf
20240427 zaim academy counseling lesson .pdfssuser80a51f
 
ストックマーク株式会社がお客様へご提供しているAnews概要資料のご共有.pdf
ストックマーク株式会社がお客様へご提供しているAnews概要資料のご共有.pdfストックマーク株式会社がお客様へご提供しているAnews概要資料のご共有.pdf
ストックマーク株式会社がお客様へご提供しているAnews概要資料のご共有.pdfmasakisaito12
 

Recently uploaded (8)

202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
 
Service-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadershipService-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadership
 
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdfストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
 
株式会社MAVEL会社概要_アフィリエイト広告_運用型広告_LTVを予測しLOIを最適化する広告代理店
株式会社MAVEL会社概要_アフィリエイト広告_運用型広告_LTVを予測しLOIを最適化する広告代理店株式会社MAVEL会社概要_アフィリエイト広告_運用型広告_LTVを予測しLOIを最適化する広告代理店
株式会社MAVEL会社概要_アフィリエイト広告_運用型広告_LTVを予測しLOIを最適化する広告代理店
 
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチUP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
 
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
 
20240427 zaim academy counseling lesson .pdf
20240427 zaim academy counseling lesson .pdf20240427 zaim academy counseling lesson .pdf
20240427 zaim academy counseling lesson .pdf
 
ストックマーク株式会社がお客様へご提供しているAnews概要資料のご共有.pdf
ストックマーク株式会社がお客様へご提供しているAnews概要資料のご共有.pdfストックマーク株式会社がお客様へご提供しているAnews概要資料のご共有.pdf
ストックマーク株式会社がお客様へご提供しているAnews概要資料のご共有.pdf
 

広島Ruby勉強会#35 - Chef入門