SlideShare a Scribd company logo
1 of 90
Download to read offline
Copyright © 2013 AGREX INC.
小規模SI案件で、
AWS + Chefを使ってみて
13年9月10日火曜日
Copyright © 2013 AGREX INC.
2
プロフィール
てるい まさし
照井 将士
http://www.facebook.com/marcy.terui
(株)アグレックス
札幌事業所 システム部
1987年 東京都大田区生まれ
1992年 札幌移住
2011年  (株)アグレックス入社
担当業務
・ECサイトを中心としたWEBシステムの受託開発、運用
役職
・下っ端、雑用係
担当職務
・インフラ構築、管理という名の雑用
・アプリケーション設計、実装、テストという名の雑用
・雑用という名の雑用
・雑用という名の(ry
好きなサービス
・CloudWatch
・Route53
13年9月10日火曜日
Copyright © 2013 AGREX INC.
2
プロフィール
てるい まさし
照井 将士
http://www.facebook.com/marcy.terui
(株)アグレックス
札幌事業所 システム部
1987年 東京都大田区生まれ
1992年 札幌移住
2011年  (株)アグレックス入社
担当業務
・ECサイトを中心としたWEBシステムの受託開発、運用
役職
・下っ端、雑用係
担当職務
・インフラ構築、管理という名の雑用
・アプリケーション設計、実装、テストという名の雑用
・雑用という名の雑用
・雑用という名の(ry
好きなサービス
・CloudWatch
・Route53
道内第1号
(かもしれない)
13年9月10日火曜日
Copyright © 2013 AGREX INC.
2
プロフィール
てるい まさし
照井 将士
http://www.facebook.com/marcy.terui
(株)アグレックス
札幌事業所 システム部
1987年 東京都大田区生まれ
1992年 札幌移住
2011年  (株)アグレックス入社
担当業務
・ECサイトを中心としたWEBシステムの受託開発、運用
役職
・下っ端、雑用係
担当職務
・インフラ構築、管理という名の雑用
・アプリケーション設計、実装、テストという名の雑用
・雑用という名の雑用
・雑用という名の(ry
好きなサービス
・CloudWatch
・Route53
道内第1号
(かもしれない)
第5回優勝
(主に運で)
13年9月10日火曜日
Copyright © 2013 AGREX INC.
3
まず、知っておいてもらいたいこと
13年9月10日火曜日
Copyright © 2013 AGREX INC.
3
まず、知っておいてもらいたいこと
弊社(札幌)には、
インフラエンジニア
はいません。
13年9月10日火曜日
Copyright © 2013 AGREX INC.
3
まず、知っておいてもらいたいこと
弊社(札幌)には、
インフラエンジニア
はいません。
私はただの下っ端で雑用係です。
13年9月10日火曜日
Copyright © 2013 AGREX INC.
3
まず、知っておいてもらいたいこと
弊社(札幌)には、
インフラエンジニア
はいません。
私はただの下っ端で雑用係です。
普通にアプリケーションエンジニアしか居ないんです。
13年9月10日火曜日
Copyright © 2013 AGREX INC.
4
そんな会社に入社して…
13年9月10日火曜日
Copyright © 2013 AGREX INC.
4
そんな会社に入社して…
時期 できごと
2011年4月 入社
2011年8月 札幌事業所配属(当然、雑用係に任命)
2011年9月 雑用係の仕事に「テスト」が増える
2011年10月 雑用係の仕事に「プログラミング」が増える
2011年11月 興味本位でLinuxコマンドを覚え始める
2011年12月 雑用係の仕事に「Apache・PHPの設定」が増える
2012年1月 雑用係の仕事に「アプリケーション設計」が増える
2012年4月 雑用係の後継が入ってこなくてガッカリ
2012年6月 雑用係なりに「MySQLチューニング」の必要性を感じ始める
2012年12月
某顧客がゴールデンタイムに全国ネットで特集番組
「Nginx」「MySQLチューニング」が雑用係の仕事となる
2013年1月 インフラを自社DCメイン→AWSメインにシフト
2013年3月 チューニンガソン優勝のご褒美にJAWS DAYSご招待(社費で)
2013年4月 またも雑用係の後継が入ってこなかったorz
2013年6月 AWS認定ソリューションアーキテクトアソシエイトレベル取得
13年9月10日火曜日
Copyright © 2013 AGREX INC.
5
そして、こんな要望が頻繁に…
開発者
営業
開発リーダー
13年9月10日火曜日
Copyright © 2013 AGREX INC.
5
そして、こんな要望が頻繁に…
A社の検証環境が欲しいです。
開発者
営業
開発リーダー
13年9月10日火曜日
Copyright © 2013 AGREX INC.
5
そして、こんな要望が頻繁に…
A社の検証環境が欲しいです。
B社に見せるデモ環境ください。
開発者
営業
開発リーダー
13年9月10日火曜日
Copyright © 2013 AGREX INC.
5
そして、こんな要望が頻繁に…
A社の検証環境が欲しいです。
B社に見せるデモ環境ください。
C社のカットオーバーが近いので、
本番環境お願いします。
開発者
営業
開発リーダー
13年9月10日火曜日
Copyright © 2013 AGREX INC.
6
そして、こんな答えが頻繁に…
某ユーザ会の某支部長をやっている弊社某マネージャー
13年9月10日火曜日
Copyright © 2013 AGREX INC.
6
そして、こんな答えが頻繁に…
某ユーザ会の某支部長をやっている弊社某マネージャー
IDCに依頼しといたから…
13年9月10日火曜日
Copyright © 2013 AGREX INC.
6
そして、こんな答えが頻繁に…
某ユーザ会の某支部長をやっている弊社某マネージャー
IDCに依頼しといたから…
VPCの設定とかして、
インスタンス立てといたから…
13年9月10日火曜日
Copyright © 2013 AGREX INC.
6
そして、こんな答えが頻繁に…
某ユーザ会の某支部長をやっている弊社某マネージャー
IDCに依頼しといたから…
VPCの設定とかして、
インスタンス立てといたから…
あと照井よろしく
13年9月10日火曜日
Copyright © 2013 AGREX INC.
6
そして、こんな答えが頻繁に…
某ユーザ会の某支部長をやっている弊社某マネージャー
IDCに依頼しといたから…
VPCの設定とかして、
インスタンス立てといたから…
あと照井よろしく
まだアカウントしか作ってないけど…ってこともあったりwww
13年9月10日火曜日
Copyright © 2013 AGREX INC.
7
そして、気がついたら…
13年9月10日火曜日
Copyright © 2013 AGREX INC.
7
そして、気がついたら…
自分が管理してるっぽい
仮想サーバの数が40台
とかになってたwww
13年9月10日火曜日
Copyright © 2013 AGREX INC.
7
そして、気がついたら…
自分が管理してるっぽい
仮想サーバの数が40台
とかになってたwww
今は60くらい
13年9月10日火曜日
Copyright © 2013 AGREX INC.
7
そして、気がついたら…
自分が管理してるっぽい
仮想サーバの数が40台
とかになってたwww
今は60くらい
まあ、本番稼働始まったら、
そうそう触ることも無いんですけどねw
13年9月10日火曜日
Copyright © 2013 AGREX INC.
7
そして、気がついたら…
自分が管理してるっぽい
仮想サーバの数が40台
とかになってたwww
今は60くらい
AWSで冗長構成当たり前になって、
さらに増加率が上昇
まあ、本番稼働始まったら、
そうそう触ることも無いんですけどねw
13年9月10日火曜日
Copyright © 2013 AGREX INC.
8
そして、ある日思った…
13年9月10日火曜日
Copyright © 2013 AGREX INC.
8
そして、ある日思った…
このペースで増え続けたら
やばくね?www
13年9月10日火曜日
Copyright © 2013 AGREX INC.
8
そして、ある日思った…
このペースで増え続けたら
やばくね?www
一応、インフラエンジニアではないですからねw
13年9月10日火曜日
Copyright © 2013 AGREX INC.
8
そして、ある日思った…
このペースで増え続けたら
やばくね?www
一応、インフラエンジニアではないですからねw
色々雑用もありますし…
13年9月10日火曜日
Copyright © 2013 AGREX INC.
9
やっと本題!
13年9月10日火曜日
Copyright © 2013 AGREX INC.
9
やっと本題!
サーバの状態を管理し収束させる
自動プロビジョニングフレームワーク
13年9月10日火曜日
Copyright © 2013 AGREX INC.
10
こっちは使っていません。
13年9月10日火曜日
Copyright © 2013 AGREX INC.
10
こっちは使っていません。
OpsWorks
13年9月10日火曜日
Copyright © 2013 AGREX INC.
10
こっちは使っていません。
OpsWorks
主な理由
13年9月10日火曜日
Copyright © 2013 AGREX INC.
10
こっちは使っていません。
OpsWorks
• Default以外のVPCが使えない(→2013/9/5使えるように!)
主な理由
13年9月10日火曜日
Copyright © 2013 AGREX INC.
10
こっちは使っていません。
OpsWorks
• Default以外のVPCが使えない(→2013/9/5使えるように!)
• RDSが使えない(たぶん近いうちに使えるように?)
主な理由
13年9月10日火曜日
Copyright © 2013 AGREX INC.
10
こっちは使っていません。
OpsWorks
• Default以外のVPCが使えない(→2013/9/5使えるように!)
• RDSが使えない(たぶん近いうちに使えるように?)
• ENIが使えない?(MACアドレスを固定したいことがある)
主な理由
13年9月10日火曜日
Copyright © 2013 AGREX INC.
10
こっちは使っていません。
OpsWorks
• Default以外のVPCが使えない(→2013/9/5使えるように!)
• RDSが使えない(たぶん近いうちに使えるように?)
• ENIが使えない?(MACアドレスを固定したいことがある)
誰か方法知っていたら教えてください…
主な理由
13年9月10日火曜日
Copyright © 2013 AGREX INC.
10
こっちは使っていません。
OpsWorks
• Default以外のVPCが使えない(→2013/9/5使えるように!)
• RDSが使えない(たぶん近いうちに使えるように?)
• ENIが使えない?(MACアドレスを固定したいことがある)
誰か方法知っていたら教えてください…
主な理由
今後に期待!
13年9月10日火曜日
Copyright © 2013 AGREX INC.
11
Chefの紹介が目的ではないので軽く
13年9月10日火曜日
Copyright © 2013 AGREX INC.
11
Chefの紹介が目的ではないので軽く
• Infrastructure as Code(インフラをコードで記述できる)
13年9月10日火曜日
Copyright © 2013 AGREX INC.
11
Chefの紹介が目的ではないので軽く
• Infrastructure as Code(インフラをコードで記述できる)
• Rubyで書ける(けど、Rubyはほとんど入門レベルでOK)
13年9月10日火曜日
Copyright © 2013 AGREX INC.
11
Chefの紹介が目的ではないので軽く
• Infrastructure as Code(インフラをコードで記述できる)
• Rubyで書ける(けど、Rubyはほとんど入門レベルでOK)
• 冪等性(何回実行しても結果は同じ)
13年9月10日火曜日
Copyright © 2013 AGREX INC.
11
Chefの紹介が目的ではないので軽く
• Infrastructure as Code(インフラをコードで記述できる)
• Rubyで書ける(けど、Rubyはほとんど入門レベルでOK)
• 冪等性(何回実行しても結果は同じ)
• (本州の方では)流行っているらしい
13年9月10日火曜日
Copyright © 2013 AGREX INC.
11
Chefの紹介が目的ではないので軽く
• Infrastructure as Code(インフラをコードで記述できる)
• Rubyで書ける(けど、Rubyはほとんど入門レベルでOK)
• 冪等性(何回実行しても結果は同じ)
• (本州の方では)流行っているらしい
詳しく知りたい方は…
スライド「初めてのChefの教室」
Engine Yardさん(AWS等のIaaS + ChefでPaaSを展開)
http://www.engineyard.co.jp/blog/2013/chef-tutorial-updated/
13年9月10日火曜日
Copyright © 2013 AGREX INC.
11
Chefの紹介が目的ではないので軽く
• Infrastructure as Code(インフラをコードで記述できる)
• Rubyで書ける(けど、Rubyはほとんど入門レベルでOK)
• 冪等性(何回実行しても結果は同じ)
• (本州の方では)流行っているらしい
詳しく知りたい方は…
スライド「初めてのChefの教室」
Engine Yardさん(AWS等のIaaS + ChefでPaaSを展開)
http://www.engineyard.co.jp/blog/2013/chef-tutorial-updated/
電子書籍 伊藤直也氏著「入門Chef Solo」
(定番らしい。私もこれで覚えました)
http://www.amazon.co.jp/%E5%85%A5%E9%96%80Chef-
Solo-Infrastructure-Code-ebook/dp/B00BSPH158
実際に使ってみたい方は…
13年9月10日火曜日
Copyright © 2013 AGREX INC.
12
よく語られるChefの用途
13年9月10日火曜日
Copyright © 2013 AGREX INC.
12
よく語られるChefの用途
• 大規模サービスの運用効率化
13年9月10日火曜日
Copyright © 2013 AGREX INC.
12
よく語られるChefの用途
• 大規模サービスの運用効率化
• インフラの継続的インテグレーション
13年9月10日火曜日
Copyright © 2013 AGREX INC.
12
よく語られるChefの用途
• 大規模サービスの運用効率化
• インフラの継続的インテグレーション
• DevOps(開発と運用のコラボレーション)
13年9月10日火曜日
Copyright © 2013 AGREX INC.
12
よく語られるChefの用途
• 大規模サービスの運用効率化
• インフラの継続的インテグレーション
• DevOps(開発と運用のコラボレーション)
…はとりあえず置いておきましょう。
13年9月10日火曜日
Copyright © 2013 AGREX INC.
12
よく語られるChefの用途
• 大規模サービスの運用効率化
• インフラの継続的インテグレーション
• DevOps(開発と運用のコラボレーション)
…はとりあえず置いておきましょう。
そもそも、インフラエンジニア居ないですし…
13年9月10日火曜日
Copyright © 2013 AGREX INC.
12
よく語られるChefの用途
• 大規模サービスの運用効率化
• インフラの継続的インテグレーション
• DevOps(開発と運用のコラボレーション)
…はとりあえず置いておきましょう。
そもそも、インフラエンジニア居ないですし…
小規模SI案件には
ちょっとピントが合わないっていうか…
13年9月10日火曜日
Copyright © 2013 AGREX INC.
13
テストには出ない大事なキーワード
13年9月10日火曜日
Copyright © 2013 AGREX INC.
13
テストには出ない大事なキーワード
コード化と抽象化
13年9月10日火曜日
Copyright © 2013 AGREX INC.
14
コード化のメリット
13年9月10日火曜日
Copyright © 2013 AGREX INC.
14
コード化のメリット
• 異なる案件でサーバが何台あろうとも、
手元のコードでサーバの状態が分かる
13年9月10日火曜日
Copyright © 2013 AGREX INC.
14
コード化のメリット
• 異なる案件でサーバが何台あろうとも、
手元のコードでサーバの状態が分かる
• いつからメンテナンスされてないの?
本当に合ってるの?
っていうかどこにあるの?
という仕様書や手順書に苦労しなくて良い
13年9月10日火曜日
Copyright © 2013 AGREX INC.
14
コード化のメリット
• 異なる案件でサーバが何台あろうとも、
手元のコードでサーバの状態が分かる
• いつからメンテナンスされてないの?
本当に合ってるの?
っていうかどこにあるの?
という仕様書や手順書に苦労しなくて良い
• バージョン管理ができる
13年9月10日火曜日
Copyright © 2013 AGREX INC.
15
抽象化のメリット
13年9月10日火曜日
Copyright © 2013 AGREX INC.
15
抽象化のメリット
変更が必要な部分だけを切り出し、
あとは知らなくてもある程度決まった構成なら
誰でも作れるようにできる
13年9月10日火曜日
Copyright © 2013 AGREX INC.
15
抽象化のメリット
変更が必要な部分だけを切り出し、
あとは知らなくてもある程度決まった構成なら
誰でも作れるようにできる
Chefそのものが
そういう仕組みを
持っている
13年9月10日火曜日
Copyright © 2013 AGREX INC.
15
抽象化のメリット
変更が必要な部分だけを切り出し、
あとは知らなくてもある程度決まった構成なら
誰でも作れるようにできる
Chefそのものが
そういう仕組みを
持っている
13年9月10日火曜日
Copyright © 2013 AGREX INC.
15
抽象化のメリット
変更が必要な部分だけを切り出し、
あとは知らなくてもある程度決まった構成なら
誰でも作れるようにできる
インフラを担当できる人が
アサインできなくてもある程度なんとかできる
Chefそのものが
そういう仕組みを
持っている
13年9月10日火曜日
Copyright © 2013 AGREX INC.
15
抽象化のメリット
変更が必要な部分だけを切り出し、
あとは知らなくてもある程度決まった構成なら
誰でも作れるようにできる
インフラを担当できる人が
アサインできなくてもある程度なんとかできる
Chefそのものが
そういう仕組みを
持っている
これからしていきたい
13年9月10日火曜日
Copyright © 2013 AGREX INC.
16
結局何が言いたかったか
13年9月10日火曜日
Copyright © 2013 AGREX INC.
16
結局何が言いたかったか
雑用係を卒業して、
AWS担当になりた…
じゃなくてw
13年9月10日火曜日
Copyright © 2013 AGREX INC.
17
結局何が言いたかったか
13年9月10日火曜日
Copyright © 2013 AGREX INC.
17
結局何が言いたかったか
自動化による効率化はもちろんのこと、
それ以外にも小規模SI案件でChefを使う
メリットは十分にある
13年9月10日火曜日
Copyright © 2013 AGREX INC.
17
結局何が言いたかったか
自動化による効率化はもちろんのこと、
それ以外にも小規模SI案件でChefを使う
メリットは十分にある
AWSでインフラの調達が容易にできる
13年9月10日火曜日
Copyright © 2013 AGREX INC.
17
結局何が言いたかったか
自動化による効率化はもちろんのこと、
それ以外にも小規模SI案件でChefを使う
メリットは十分にある
AWSでインフラの調達が容易にできる
+
13年9月10日火曜日
Copyright © 2013 AGREX INC.
17
結局何が言いたかったか
自動化による効率化はもちろんのこと、
それ以外にも小規模SI案件でChefを使う
メリットは十分にある
AWSでインフラの調達が容易にできる
+
Chefでミドルウェアの管理も効率化
13年9月10日火曜日
Copyright © 2013 AGREX INC.
17
結局何が言いたかったか
自動化による効率化はもちろんのこと、
それ以外にも小規模SI案件でChefを使う
メリットは十分にある
AWSでインフラの調達が容易にできる
+
Chefでミドルウェアの管理も効率化
=
13年9月10日火曜日
Copyright © 2013 AGREX INC.
17
結局何が言いたかったか
自動化による効率化はもちろんのこと、
それ以外にも小規模SI案件でChefを使う
メリットは十分にある
AWSでインフラの調達が容易にできる
+
Chefでミドルウェアの管理も効率化
=
小規模案件を数こなして日銭を稼ぐ
地方SIerにこそ武器になる!
13年9月10日火曜日
Copyright © 2013 AGREX INC.
17
結局何が言いたかったか
自動化による効率化はもちろんのこと、
それ以外にも小規模SI案件でChefを使う
メリットは十分にある
AWSでインフラの調達が容易にできる
+
Chefでミドルウェアの管理も効率化
=
小規模案件を数こなして日銭を稼ぐ
地方SIerにこそ武器になる!
単価が小さいので、
如何にインフラにお金を
掛けないかが重要!
13年9月10日火曜日
Copyright © 2013 AGREX INC.
17
結局何が言いたかったか
自動化による効率化はもちろんのこと、
それ以外にも小規模SI案件でChefを使う
メリットは十分にある
AWSでインフラの調達が容易にできる
+
Chefでミドルウェアの管理も効率化
=
小規模案件を数こなして日銭を稼ぐ
地方SIerにこそ武器になる!
単価が小さいので、
如何にインフラにお金を
掛けないかが重要!
あと、普通にやるより
楽しいです
13年9月10日火曜日
Copyright © 2013 AGREX INC.
18
AWSの話をほとんどしていないので…
13年9月10日火曜日
Copyright © 2013 AGREX INC.
18
AWSの話をほとんどしていないので…
運用中のインスタンスに適用するの怖くない?
13年9月10日火曜日
Copyright © 2013 AGREX INC.
18
AWSの話をほとんどしていないので…
運用中のインスタンスに適用するの怖くない?
一台ずつELBから外してやれば大丈夫!
Chefを使わなくても、どんなに小さい規模でも、ELB付けて冗長化した方が運用は絶対楽です。
13年9月10日火曜日
Copyright © 2013 AGREX INC.
18
AWSの話をほとんどしていないので…
運用中のインスタンスに適用するの怖くない?
一台ずつELBから外してやれば大丈夫!
今はManagement Consoleからポチポチやりながらだけど、
APIでできるので最初に自動で外して、
最後に自動で再登録するようにしたい
Chefを使わなくても、どんなに小さい規模でも、ELB付けて冗長化した方が運用は絶対楽です。
13年9月10日火曜日
Copyright © 2013 AGREX INC.
19
AWSの話をほとんどしていないので…
RDSのパラメータをChefで管理するTIPS
include_recipe “awscli::default”
directory node[‘awscli::modify_paramater’][‘directory’] do
owner node[‘awscli::modify_paramater’][‘user’]
group node[‘awscli::modify_paramater’][‘group’]
mode 700
action :create
end
execute “modify-db-paramater-group” do
command “sh #{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh”
action :nothing
end
template “modify-db-paramater-group.sh” do
path “#{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh”
source “modify-db-paramater-group.sh.erb”
owner node[‘awscli::modify_paramater’][‘user’]
group node[‘awscli::modify_paramater’][‘group’]
mode 700
notifies :run, resource(:execute => “modify-db-paramater-group”)
end
13年9月10日火曜日
Copyright © 2013 AGREX INC.
19
AWSの話をほとんどしていないので…
RDSのパラメータをChefで管理するTIPS
include_recipe “awscli::default”
directory node[‘awscli::modify_paramater’][‘directory’] do
owner node[‘awscli::modify_paramater’][‘user’]
group node[‘awscli::modify_paramater’][‘group’]
mode 700
action :create
end
execute “modify-db-paramater-group” do
command “sh #{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh”
action :nothing
end
template “modify-db-paramater-group.sh” do
path “#{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh”
source “modify-db-paramater-group.sh.erb”
owner node[‘awscli::modify_paramater’][‘user’]
group node[‘awscli::modify_paramater’][‘group’]
mode 700
notifies :run, resource(:execute => “modify-db-paramater-group”)
end
コマンドラインツールの
セットアップを行うレシピ
(内容略)
13年9月10日火曜日
Copyright © 2013 AGREX INC.
19
AWSの話をほとんどしていないので…
RDSのパラメータをChefで管理するTIPS
include_recipe “awscli::default”
directory node[‘awscli::modify_paramater’][‘directory’] do
owner node[‘awscli::modify_paramater’][‘user’]
group node[‘awscli::modify_paramater’][‘group’]
mode 700
action :create
end
execute “modify-db-paramater-group” do
command “sh #{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh”
action :nothing
end
template “modify-db-paramater-group.sh” do
path “#{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh”
source “modify-db-paramater-group.sh.erb”
owner node[‘awscli::modify_paramater’][‘user’]
group node[‘awscli::modify_paramater’][‘group’]
mode 700
notifies :run, resource(:execute => “modify-db-paramater-group”)
end
コマンドラインツールの
セットアップを行うレシピ
(内容略)
配置場所を作成
13年9月10日火曜日
Copyright © 2013 AGREX INC.
19
AWSの話をほとんどしていないので…
RDSのパラメータをChefで管理するTIPS
include_recipe “awscli::default”
directory node[‘awscli::modify_paramater’][‘directory’] do
owner node[‘awscli::modify_paramater’][‘user’]
group node[‘awscli::modify_paramater’][‘group’]
mode 700
action :create
end
execute “modify-db-paramater-group” do
command “sh #{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh”
action :nothing
end
template “modify-db-paramater-group.sh” do
path “#{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh”
source “modify-db-paramater-group.sh.erb”
owner node[‘awscli::modify_paramater’][‘user’]
group node[‘awscli::modify_paramater’][‘group’]
mode 700
notifies :run, resource(:execute => “modify-db-paramater-group”)
end
コマンドラインツールの
セットアップを行うレシピ
(内容略)
配置場所を作成
下で生成される
シェルスクリプトを実行するコマンド
「action :nothing」とすることで
読み込むだけでは実行されない
13年9月10日火曜日
Copyright © 2013 AGREX INC.
19
AWSの話をほとんどしていないので…
RDSのパラメータをChefで管理するTIPS
include_recipe “awscli::default”
directory node[‘awscli::modify_paramater’][‘directory’] do
owner node[‘awscli::modify_paramater’][‘user’]
group node[‘awscli::modify_paramater’][‘group’]
mode 700
action :create
end
execute “modify-db-paramater-group” do
command “sh #{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh”
action :nothing
end
template “modify-db-paramater-group.sh” do
path “#{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh”
source “modify-db-paramater-group.sh.erb”
owner node[‘awscli::modify_paramater’][‘user’]
group node[‘awscli::modify_paramater’][‘group’]
mode 700
notifies :run, resource(:execute => “modify-db-paramater-group”)
end
コマンドラインツールの
セットアップを行うレシピ
(内容略)
配置場所を作成
下で生成される
シェルスクリプトを実行するコマンド
「action :nothing」とすることで
読み込むだけでは実行されない
コマンドラインでAPIを呼び出すだけの
シェルスクリプトをテンプレートから生成
「notifies :run∼」で変更があった場合にイベント通知され、
上で定義したコマンドが実行される
13年9月10日火曜日
Copyright © 2013 AGREX INC.
19
AWSの話をほとんどしていないので…
RDSのパラメータをChefで管理するTIPS
include_recipe “awscli::default”
directory node[‘awscli::modify_paramater’][‘directory’] do
owner node[‘awscli::modify_paramater’][‘user’]
group node[‘awscli::modify_paramater’][‘group’]
mode 700
action :create
end
execute “modify-db-paramater-group” do
command “sh #{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh”
action :nothing
end
template “modify-db-paramater-group.sh” do
path “#{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh”
source “modify-db-paramater-group.sh.erb”
owner node[‘awscli::modify_paramater’][‘user’]
group node[‘awscli::modify_paramater’][‘group’]
mode 700
notifies :run, resource(:execute => “modify-db-paramater-group”)
end
コマンドラインツールの
セットアップを行うレシピ
(内容略)
配置場所を作成
下で生成される
シェルスクリプトを実行するコマンド
「action :nothing」とすることで
読み込むだけでは実行されない
コマンドラインでAPIを呼び出すだけの
シェルスクリプトをテンプレートから生成
「notifies :run∼」で変更があった場合にイベント通知され、
上で定義したコマンドが実行される
※RDS上では実行できないので、
どこで管理するかだけ決める必要があります。
13年9月10日火曜日
Copyright © 2013 AGREX INC.
20
最後に独り言
13年9月10日火曜日
Copyright © 2013 AGREX INC.
20
最後に独り言
上司が東京へ拉致され…
AWSができる人が社内で1人になって…
全部1人でやるのはちょっと大変です…
インスタンス立てた後はChefで…
そこまで誰か代わりに…
13年9月10日火曜日
Copyright © 2013 AGREX INC.
20
最後に独り言
上司が東京へ拉致され…
AWSができる人が社内で1人になって…
全部1人でやるのはちょっと大変です…
インスタンス立てた後はChefで…
そこまで誰か代わりに…
あ!居た!
13年9月10日火曜日
Copyright © 2013 AGREX INC.
20
最後に独り言
上司が東京へ拉致され…
AWSができる人が社内で1人になって…
全部1人でやるのはちょっと大変です…
インスタンス立てた後はChefで…
そこまで誰か代わりに…
あ!居た! AWS
CloudFormation
13年9月10日火曜日
Copyright © 2013 AGREX INC.
21
ありがとうございました!
13年9月10日火曜日

More Related Content

Similar to 小規模SI案件で、 AWS + Chefを使ってみて

クラウド活用で実現する、開発・保守の効率化
クラウド活用で実現する、開発・保守の効率化クラウド活用で実現する、開発・保守の効率化
クラウド活用で実現する、開発・保守の効率化Hiroshi Koyama
 
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。Sho Yoshida
 
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減gree_tech
 
AWS前線、北上中! (AWS ジャパンツアー 2014 札幌)
AWS前線、北上中! (AWS ジャパンツアー 2014 札幌)AWS前線、北上中! (AWS ジャパンツアー 2014 札幌)
AWS前線、北上中! (AWS ジャパンツアー 2014 札幌)Hiroshi Koyama
 
AWS in Kansai(JAWS-UG山形2013.09.07)
AWS in Kansai(JAWS-UG山形2013.09.07)AWS in Kansai(JAWS-UG山形2013.09.07)
AWS in Kansai(JAWS-UG山形2013.09.07)Toshiyuki Konparu
 
サーバーレスにおける開発プロセス戦略(パネルディスカッション用スライド)
サーバーレスにおける開発プロセス戦略(パネルディスカッション用スライド)サーバーレスにおける開発プロセス戦略(パネルディスカッション用スライド)
サーバーレスにおける開発プロセス戦略(パネルディスカッション用スライド)真吾 吉田
 
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれからReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれからYusuke Murata
 
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.jsAmazon Web Services Japan
 
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AzareaCluster
 
5分では終わりそうにないfunctionsの話
5分では終わりそうにないfunctionsの話5分では終わりそうにないfunctionsの話
5分では終わりそうにないfunctionsの話Yoshiyuki Taniguchi
 
20130719 始めるdev ops
20130719 始めるdev ops20130719 始めるdev ops
20130719 始めるdev opsaktsk
 
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用Takuro Sasaki
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
2013/08 JAWS_UG北九州 AWSを使った儲け方
2013/08 JAWS_UG北九州 AWSを使った儲け方2013/08 JAWS_UG北九州 AWSを使った儲け方
2013/08 JAWS_UG北九州 AWSを使った儲け方Serverworks Co.,Ltd.
 
Ansible の CI を drone/Dokcker で試してみた
Ansible の CI を drone/Dokcker で試してみたAnsible の CI を drone/Dokcker で試してみた
Ansible の CI を drone/Dokcker で試してみたKenta Nishimura
 
若手エンジニアとして今年頑張ったこと
若手エンジニアとして今年頑張ったこと若手エンジニアとして今年頑張ったこと
若手エンジニアとして今年頑張ったことTsukasa Omukai
 
Alexaスキルを作ろう
Alexaスキルを作ろうAlexaスキルを作ろう
Alexaスキルを作ろう真吾 吉田
 
CloudWatch(+sns+sqs)で障害対応を自動化してみた
CloudWatch(+sns+sqs)で障害対応を自動化してみたCloudWatch(+sns+sqs)で障害対応を自動化してみた
CloudWatch(+sns+sqs)で障害対応を自動化してみたTerui Masashi
 
Storylineでデザインする心地よい会話体験
Storylineでデザインする心地よい会話体験Storylineでデザインする心地よい会話体験
Storylineでデザインする心地よい会話体験真吾 吉田
 
Engine Yard Cloud
Engine Yard CloudEngine Yard Cloud
Engine Yard CloudYusuke Ando
 

Similar to 小規模SI案件で、 AWS + Chefを使ってみて (20)

クラウド活用で実現する、開発・保守の効率化
クラウド活用で実現する、開発・保守の効率化クラウド活用で実現する、開発・保守の効率化
クラウド活用で実現する、開発・保守の効率化
 
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。
 
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
 
AWS前線、北上中! (AWS ジャパンツアー 2014 札幌)
AWS前線、北上中! (AWS ジャパンツアー 2014 札幌)AWS前線、北上中! (AWS ジャパンツアー 2014 札幌)
AWS前線、北上中! (AWS ジャパンツアー 2014 札幌)
 
AWS in Kansai(JAWS-UG山形2013.09.07)
AWS in Kansai(JAWS-UG山形2013.09.07)AWS in Kansai(JAWS-UG山形2013.09.07)
AWS in Kansai(JAWS-UG山形2013.09.07)
 
サーバーレスにおける開発プロセス戦略(パネルディスカッション用スライド)
サーバーレスにおける開発プロセス戦略(パネルディスカッション用スライド)サーバーレスにおける開発プロセス戦略(パネルディスカッション用スライド)
サーバーレスにおける開発プロセス戦略(パネルディスカッション用スライド)
 
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれからReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
 
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
 
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)
 
5分では終わりそうにないfunctionsの話
5分では終わりそうにないfunctionsの話5分では終わりそうにないfunctionsの話
5分では終わりそうにないfunctionsの話
 
20130719 始めるdev ops
20130719 始めるdev ops20130719 始めるdev ops
20130719 始めるdev ops
 
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
2013/08 JAWS_UG北九州 AWSを使った儲け方
2013/08 JAWS_UG北九州 AWSを使った儲け方2013/08 JAWS_UG北九州 AWSを使った儲け方
2013/08 JAWS_UG北九州 AWSを使った儲け方
 
Ansible の CI を drone/Dokcker で試してみた
Ansible の CI を drone/Dokcker で試してみたAnsible の CI を drone/Dokcker で試してみた
Ansible の CI を drone/Dokcker で試してみた
 
若手エンジニアとして今年頑張ったこと
若手エンジニアとして今年頑張ったこと若手エンジニアとして今年頑張ったこと
若手エンジニアとして今年頑張ったこと
 
Alexaスキルを作ろう
Alexaスキルを作ろうAlexaスキルを作ろう
Alexaスキルを作ろう
 
CloudWatch(+sns+sqs)で障害対応を自動化してみた
CloudWatch(+sns+sqs)で障害対応を自動化してみたCloudWatch(+sns+sqs)で障害対応を自動化してみた
CloudWatch(+sns+sqs)で障害対応を自動化してみた
 
Storylineでデザインする心地よい会話体験
Storylineでデザインする心地よい会話体験Storylineでデザインする心地よい会話体験
Storylineでデザインする心地よい会話体験
 
Engine Yard Cloud
Engine Yard CloudEngine Yard Cloud
Engine Yard Cloud
 

More from Terui Masashi

Reliability Engineering for Enterprise Serverless
 Reliability Engineering  for Enterprise Serverless Reliability Engineering  for Enterprise Serverless
Reliability Engineering for Enterprise ServerlessTerui Masashi
 
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことDevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことTerui Masashi
 
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)Terui Masashi
 
The Internal of Serverless Plugins
The Internal of Serverless PluginsThe Internal of Serverless Plugins
The Internal of Serverless PluginsTerui Masashi
 
Unlimited Frameworks
Unlimited FrameworksUnlimited Frameworks
Unlimited FrameworksTerui Masashi
 
Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化Terui Masashi
 
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Terui Masashi
 
Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Terui Masashi
 
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜Terui Masashi
 
R○Sに学ぶイマドキのMySQL構築運用
���������������������������������������R○Sに学ぶイマドキのMySQL構築運用���������������������������������������R○Sに学ぶイマドキのMySQL構築運用
R○Sに学ぶイマドキのMySQL構築運用Terui Masashi
 
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングクラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングTerui Masashi
 
マルチクラウド #とは
マルチクラウド #とはマルチクラウド #とは
マルチクラウド #とはTerui Masashi
 
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったLambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったTerui Masashi
 
Google App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境についてGoogle App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境についてTerui Masashi
 
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」Terui Masashi
 
ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!Terui Masashi
 
Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Terui Masashi
 
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Terui Masashi
 
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話Terui Masashi
 

More from Terui Masashi (20)

Reliability Engineering for Enterprise Serverless
 Reliability Engineering  for Enterprise Serverless Reliability Engineering  for Enterprise Serverless
Reliability Engineering for Enterprise Serverless
 
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことDevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
 
What is Serverless?
What is Serverless?What is Serverless?
What is Serverless?
 
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
 
The Internal of Serverless Plugins
The Internal of Serverless PluginsThe Internal of Serverless Plugins
The Internal of Serverless Plugins
 
Unlimited Frameworks
Unlimited FrameworksUnlimited Frameworks
Unlimited Frameworks
 
Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化
 
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
 
Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?
 
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
 
R○Sに学ぶイマドキのMySQL構築運用
���������������������������������������R○Sに学ぶイマドキのMySQL構築運用���������������������������������������R○Sに学ぶイマドキのMySQL構築運用
R○Sに学ぶイマドキのMySQL構築運用
 
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングクラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
 
マルチクラウド #とは
マルチクラウド #とはマルチクラウド #とは
マルチクラウド #とは
 
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったLambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作った
 
Google App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境についてGoogle App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境について
 
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
 
ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!
 
Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)
 
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
 
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
 

Recently uploaded

プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 

Recently uploaded (7)

プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 

小規模SI案件で、 AWS + Chefを使ってみて

  • 1. Copyright © 2013 AGREX INC. 小規模SI案件で、 AWS + Chefを使ってみて 13年9月10日火曜日
  • 2. Copyright © 2013 AGREX INC. 2 プロフィール てるい まさし 照井 将士 http://www.facebook.com/marcy.terui (株)アグレックス 札幌事業所 システム部 1987年 東京都大田区生まれ 1992年 札幌移住 2011年  (株)アグレックス入社 担当業務 ・ECサイトを中心としたWEBシステムの受託開発、運用 役職 ・下っ端、雑用係 担当職務 ・インフラ構築、管理という名の雑用 ・アプリケーション設計、実装、テストという名の雑用 ・雑用という名の雑用 ・雑用という名の(ry 好きなサービス ・CloudWatch ・Route53 13年9月10日火曜日
  • 3. Copyright © 2013 AGREX INC. 2 プロフィール てるい まさし 照井 将士 http://www.facebook.com/marcy.terui (株)アグレックス 札幌事業所 システム部 1987年 東京都大田区生まれ 1992年 札幌移住 2011年  (株)アグレックス入社 担当業務 ・ECサイトを中心としたWEBシステムの受託開発、運用 役職 ・下っ端、雑用係 担当職務 ・インフラ構築、管理という名の雑用 ・アプリケーション設計、実装、テストという名の雑用 ・雑用という名の雑用 ・雑用という名の(ry 好きなサービス ・CloudWatch ・Route53 道内第1号 (かもしれない) 13年9月10日火曜日
  • 4. Copyright © 2013 AGREX INC. 2 プロフィール てるい まさし 照井 将士 http://www.facebook.com/marcy.terui (株)アグレックス 札幌事業所 システム部 1987年 東京都大田区生まれ 1992年 札幌移住 2011年  (株)アグレックス入社 担当業務 ・ECサイトを中心としたWEBシステムの受託開発、運用 役職 ・下っ端、雑用係 担当職務 ・インフラ構築、管理という名の雑用 ・アプリケーション設計、実装、テストという名の雑用 ・雑用という名の雑用 ・雑用という名の(ry 好きなサービス ・CloudWatch ・Route53 道内第1号 (かもしれない) 第5回優勝 (主に運で) 13年9月10日火曜日
  • 5. Copyright © 2013 AGREX INC. 3 まず、知っておいてもらいたいこと 13年9月10日火曜日
  • 6. Copyright © 2013 AGREX INC. 3 まず、知っておいてもらいたいこと 弊社(札幌)には、 インフラエンジニア はいません。 13年9月10日火曜日
  • 7. Copyright © 2013 AGREX INC. 3 まず、知っておいてもらいたいこと 弊社(札幌)には、 インフラエンジニア はいません。 私はただの下っ端で雑用係です。 13年9月10日火曜日
  • 8. Copyright © 2013 AGREX INC. 3 まず、知っておいてもらいたいこと 弊社(札幌)には、 インフラエンジニア はいません。 私はただの下っ端で雑用係です。 普通にアプリケーションエンジニアしか居ないんです。 13年9月10日火曜日
  • 9. Copyright © 2013 AGREX INC. 4 そんな会社に入社して… 13年9月10日火曜日
  • 10. Copyright © 2013 AGREX INC. 4 そんな会社に入社して… 時期 できごと 2011年4月 入社 2011年8月 札幌事業所配属(当然、雑用係に任命) 2011年9月 雑用係の仕事に「テスト」が増える 2011年10月 雑用係の仕事に「プログラミング」が増える 2011年11月 興味本位でLinuxコマンドを覚え始める 2011年12月 雑用係の仕事に「Apache・PHPの設定」が増える 2012年1月 雑用係の仕事に「アプリケーション設計」が増える 2012年4月 雑用係の後継が入ってこなくてガッカリ 2012年6月 雑用係なりに「MySQLチューニング」の必要性を感じ始める 2012年12月 某顧客がゴールデンタイムに全国ネットで特集番組 「Nginx」「MySQLチューニング」が雑用係の仕事となる 2013年1月 インフラを自社DCメイン→AWSメインにシフト 2013年3月 チューニンガソン優勝のご褒美にJAWS DAYSご招待(社費で) 2013年4月 またも雑用係の後継が入ってこなかったorz 2013年6月 AWS認定ソリューションアーキテクトアソシエイトレベル取得 13年9月10日火曜日
  • 11. Copyright © 2013 AGREX INC. 5 そして、こんな要望が頻繁に… 開発者 営業 開発リーダー 13年9月10日火曜日
  • 12. Copyright © 2013 AGREX INC. 5 そして、こんな要望が頻繁に… A社の検証環境が欲しいです。 開発者 営業 開発リーダー 13年9月10日火曜日
  • 13. Copyright © 2013 AGREX INC. 5 そして、こんな要望が頻繁に… A社の検証環境が欲しいです。 B社に見せるデモ環境ください。 開発者 営業 開発リーダー 13年9月10日火曜日
  • 14. Copyright © 2013 AGREX INC. 5 そして、こんな要望が頻繁に… A社の検証環境が欲しいです。 B社に見せるデモ環境ください。 C社のカットオーバーが近いので、 本番環境お願いします。 開発者 営業 開発リーダー 13年9月10日火曜日
  • 15. Copyright © 2013 AGREX INC. 6 そして、こんな答えが頻繁に… 某ユーザ会の某支部長をやっている弊社某マネージャー 13年9月10日火曜日
  • 16. Copyright © 2013 AGREX INC. 6 そして、こんな答えが頻繁に… 某ユーザ会の某支部長をやっている弊社某マネージャー IDCに依頼しといたから… 13年9月10日火曜日
  • 17. Copyright © 2013 AGREX INC. 6 そして、こんな答えが頻繁に… 某ユーザ会の某支部長をやっている弊社某マネージャー IDCに依頼しといたから… VPCの設定とかして、 インスタンス立てといたから… 13年9月10日火曜日
  • 18. Copyright © 2013 AGREX INC. 6 そして、こんな答えが頻繁に… 某ユーザ会の某支部長をやっている弊社某マネージャー IDCに依頼しといたから… VPCの設定とかして、 インスタンス立てといたから… あと照井よろしく 13年9月10日火曜日
  • 19. Copyright © 2013 AGREX INC. 6 そして、こんな答えが頻繁に… 某ユーザ会の某支部長をやっている弊社某マネージャー IDCに依頼しといたから… VPCの設定とかして、 インスタンス立てといたから… あと照井よろしく まだアカウントしか作ってないけど…ってこともあったりwww 13年9月10日火曜日
  • 20. Copyright © 2013 AGREX INC. 7 そして、気がついたら… 13年9月10日火曜日
  • 21. Copyright © 2013 AGREX INC. 7 そして、気がついたら… 自分が管理してるっぽい 仮想サーバの数が40台 とかになってたwww 13年9月10日火曜日
  • 22. Copyright © 2013 AGREX INC. 7 そして、気がついたら… 自分が管理してるっぽい 仮想サーバの数が40台 とかになってたwww 今は60くらい 13年9月10日火曜日
  • 23. Copyright © 2013 AGREX INC. 7 そして、気がついたら… 自分が管理してるっぽい 仮想サーバの数が40台 とかになってたwww 今は60くらい まあ、本番稼働始まったら、 そうそう触ることも無いんですけどねw 13年9月10日火曜日
  • 24. Copyright © 2013 AGREX INC. 7 そして、気がついたら… 自分が管理してるっぽい 仮想サーバの数が40台 とかになってたwww 今は60くらい AWSで冗長構成当たり前になって、 さらに増加率が上昇 まあ、本番稼働始まったら、 そうそう触ることも無いんですけどねw 13年9月10日火曜日
  • 25. Copyright © 2013 AGREX INC. 8 そして、ある日思った… 13年9月10日火曜日
  • 26. Copyright © 2013 AGREX INC. 8 そして、ある日思った… このペースで増え続けたら やばくね?www 13年9月10日火曜日
  • 27. Copyright © 2013 AGREX INC. 8 そして、ある日思った… このペースで増え続けたら やばくね?www 一応、インフラエンジニアではないですからねw 13年9月10日火曜日
  • 28. Copyright © 2013 AGREX INC. 8 そして、ある日思った… このペースで増え続けたら やばくね?www 一応、インフラエンジニアではないですからねw 色々雑用もありますし… 13年9月10日火曜日
  • 29. Copyright © 2013 AGREX INC. 9 やっと本題! 13年9月10日火曜日
  • 30. Copyright © 2013 AGREX INC. 9 やっと本題! サーバの状態を管理し収束させる 自動プロビジョニングフレームワーク 13年9月10日火曜日
  • 31. Copyright © 2013 AGREX INC. 10 こっちは使っていません。 13年9月10日火曜日
  • 32. Copyright © 2013 AGREX INC. 10 こっちは使っていません。 OpsWorks 13年9月10日火曜日
  • 33. Copyright © 2013 AGREX INC. 10 こっちは使っていません。 OpsWorks 主な理由 13年9月10日火曜日
  • 34. Copyright © 2013 AGREX INC. 10 こっちは使っていません。 OpsWorks • Default以外のVPCが使えない(→2013/9/5使えるように!) 主な理由 13年9月10日火曜日
  • 35. Copyright © 2013 AGREX INC. 10 こっちは使っていません。 OpsWorks • Default以外のVPCが使えない(→2013/9/5使えるように!) • RDSが使えない(たぶん近いうちに使えるように?) 主な理由 13年9月10日火曜日
  • 36. Copyright © 2013 AGREX INC. 10 こっちは使っていません。 OpsWorks • Default以外のVPCが使えない(→2013/9/5使えるように!) • RDSが使えない(たぶん近いうちに使えるように?) • ENIが使えない?(MACアドレスを固定したいことがある) 主な理由 13年9月10日火曜日
  • 37. Copyright © 2013 AGREX INC. 10 こっちは使っていません。 OpsWorks • Default以外のVPCが使えない(→2013/9/5使えるように!) • RDSが使えない(たぶん近いうちに使えるように?) • ENIが使えない?(MACアドレスを固定したいことがある) 誰か方法知っていたら教えてください… 主な理由 13年9月10日火曜日
  • 38. Copyright © 2013 AGREX INC. 10 こっちは使っていません。 OpsWorks • Default以外のVPCが使えない(→2013/9/5使えるように!) • RDSが使えない(たぶん近いうちに使えるように?) • ENIが使えない?(MACアドレスを固定したいことがある) 誰か方法知っていたら教えてください… 主な理由 今後に期待! 13年9月10日火曜日
  • 39. Copyright © 2013 AGREX INC. 11 Chefの紹介が目的ではないので軽く 13年9月10日火曜日
  • 40. Copyright © 2013 AGREX INC. 11 Chefの紹介が目的ではないので軽く • Infrastructure as Code(インフラをコードで記述できる) 13年9月10日火曜日
  • 41. Copyright © 2013 AGREX INC. 11 Chefの紹介が目的ではないので軽く • Infrastructure as Code(インフラをコードで記述できる) • Rubyで書ける(けど、Rubyはほとんど入門レベルでOK) 13年9月10日火曜日
  • 42. Copyright © 2013 AGREX INC. 11 Chefの紹介が目的ではないので軽く • Infrastructure as Code(インフラをコードで記述できる) • Rubyで書ける(けど、Rubyはほとんど入門レベルでOK) • 冪等性(何回実行しても結果は同じ) 13年9月10日火曜日
  • 43. Copyright © 2013 AGREX INC. 11 Chefの紹介が目的ではないので軽く • Infrastructure as Code(インフラをコードで記述できる) • Rubyで書ける(けど、Rubyはほとんど入門レベルでOK) • 冪等性(何回実行しても結果は同じ) • (本州の方では)流行っているらしい 13年9月10日火曜日
  • 44. Copyright © 2013 AGREX INC. 11 Chefの紹介が目的ではないので軽く • Infrastructure as Code(インフラをコードで記述できる) • Rubyで書ける(けど、Rubyはほとんど入門レベルでOK) • 冪等性(何回実行しても結果は同じ) • (本州の方では)流行っているらしい 詳しく知りたい方は… スライド「初めてのChefの教室」 Engine Yardさん(AWS等のIaaS + ChefでPaaSを展開) http://www.engineyard.co.jp/blog/2013/chef-tutorial-updated/ 13年9月10日火曜日
  • 45. Copyright © 2013 AGREX INC. 11 Chefの紹介が目的ではないので軽く • Infrastructure as Code(インフラをコードで記述できる) • Rubyで書ける(けど、Rubyはほとんど入門レベルでOK) • 冪等性(何回実行しても結果は同じ) • (本州の方では)流行っているらしい 詳しく知りたい方は… スライド「初めてのChefの教室」 Engine Yardさん(AWS等のIaaS + ChefでPaaSを展開) http://www.engineyard.co.jp/blog/2013/chef-tutorial-updated/ 電子書籍 伊藤直也氏著「入門Chef Solo」 (定番らしい。私もこれで覚えました) http://www.amazon.co.jp/%E5%85%A5%E9%96%80Chef- Solo-Infrastructure-Code-ebook/dp/B00BSPH158 実際に使ってみたい方は… 13年9月10日火曜日
  • 46. Copyright © 2013 AGREX INC. 12 よく語られるChefの用途 13年9月10日火曜日
  • 47. Copyright © 2013 AGREX INC. 12 よく語られるChefの用途 • 大規模サービスの運用効率化 13年9月10日火曜日
  • 48. Copyright © 2013 AGREX INC. 12 よく語られるChefの用途 • 大規模サービスの運用効率化 • インフラの継続的インテグレーション 13年9月10日火曜日
  • 49. Copyright © 2013 AGREX INC. 12 よく語られるChefの用途 • 大規模サービスの運用効率化 • インフラの継続的インテグレーション • DevOps(開発と運用のコラボレーション) 13年9月10日火曜日
  • 50. Copyright © 2013 AGREX INC. 12 よく語られるChefの用途 • 大規模サービスの運用効率化 • インフラの継続的インテグレーション • DevOps(開発と運用のコラボレーション) …はとりあえず置いておきましょう。 13年9月10日火曜日
  • 51. Copyright © 2013 AGREX INC. 12 よく語られるChefの用途 • 大規模サービスの運用効率化 • インフラの継続的インテグレーション • DevOps(開発と運用のコラボレーション) …はとりあえず置いておきましょう。 そもそも、インフラエンジニア居ないですし… 13年9月10日火曜日
  • 52. Copyright © 2013 AGREX INC. 12 よく語られるChefの用途 • 大規模サービスの運用効率化 • インフラの継続的インテグレーション • DevOps(開発と運用のコラボレーション) …はとりあえず置いておきましょう。 そもそも、インフラエンジニア居ないですし… 小規模SI案件には ちょっとピントが合わないっていうか… 13年9月10日火曜日
  • 53. Copyright © 2013 AGREX INC. 13 テストには出ない大事なキーワード 13年9月10日火曜日
  • 54. Copyright © 2013 AGREX INC. 13 テストには出ない大事なキーワード コード化と抽象化 13年9月10日火曜日
  • 55. Copyright © 2013 AGREX INC. 14 コード化のメリット 13年9月10日火曜日
  • 56. Copyright © 2013 AGREX INC. 14 コード化のメリット • 異なる案件でサーバが何台あろうとも、 手元のコードでサーバの状態が分かる 13年9月10日火曜日
  • 57. Copyright © 2013 AGREX INC. 14 コード化のメリット • 異なる案件でサーバが何台あろうとも、 手元のコードでサーバの状態が分かる • いつからメンテナンスされてないの? 本当に合ってるの? っていうかどこにあるの? という仕様書や手順書に苦労しなくて良い 13年9月10日火曜日
  • 58. Copyright © 2013 AGREX INC. 14 コード化のメリット • 異なる案件でサーバが何台あろうとも、 手元のコードでサーバの状態が分かる • いつからメンテナンスされてないの? 本当に合ってるの? っていうかどこにあるの? という仕様書や手順書に苦労しなくて良い • バージョン管理ができる 13年9月10日火曜日
  • 59. Copyright © 2013 AGREX INC. 15 抽象化のメリット 13年9月10日火曜日
  • 60. Copyright © 2013 AGREX INC. 15 抽象化のメリット 変更が必要な部分だけを切り出し、 あとは知らなくてもある程度決まった構成なら 誰でも作れるようにできる 13年9月10日火曜日
  • 61. Copyright © 2013 AGREX INC. 15 抽象化のメリット 変更が必要な部分だけを切り出し、 あとは知らなくてもある程度決まった構成なら 誰でも作れるようにできる Chefそのものが そういう仕組みを 持っている 13年9月10日火曜日
  • 62. Copyright © 2013 AGREX INC. 15 抽象化のメリット 変更が必要な部分だけを切り出し、 あとは知らなくてもある程度決まった構成なら 誰でも作れるようにできる Chefそのものが そういう仕組みを 持っている 13年9月10日火曜日
  • 63. Copyright © 2013 AGREX INC. 15 抽象化のメリット 変更が必要な部分だけを切り出し、 あとは知らなくてもある程度決まった構成なら 誰でも作れるようにできる インフラを担当できる人が アサインできなくてもある程度なんとかできる Chefそのものが そういう仕組みを 持っている 13年9月10日火曜日
  • 64. Copyright © 2013 AGREX INC. 15 抽象化のメリット 変更が必要な部分だけを切り出し、 あとは知らなくてもある程度決まった構成なら 誰でも作れるようにできる インフラを担当できる人が アサインできなくてもある程度なんとかできる Chefそのものが そういう仕組みを 持っている これからしていきたい 13年9月10日火曜日
  • 65. Copyright © 2013 AGREX INC. 16 結局何が言いたかったか 13年9月10日火曜日
  • 66. Copyright © 2013 AGREX INC. 16 結局何が言いたかったか 雑用係を卒業して、 AWS担当になりた… じゃなくてw 13年9月10日火曜日
  • 67. Copyright © 2013 AGREX INC. 17 結局何が言いたかったか 13年9月10日火曜日
  • 68. Copyright © 2013 AGREX INC. 17 結局何が言いたかったか 自動化による効率化はもちろんのこと、 それ以外にも小規模SI案件でChefを使う メリットは十分にある 13年9月10日火曜日
  • 69. Copyright © 2013 AGREX INC. 17 結局何が言いたかったか 自動化による効率化はもちろんのこと、 それ以外にも小規模SI案件でChefを使う メリットは十分にある AWSでインフラの調達が容易にできる 13年9月10日火曜日
  • 70. Copyright © 2013 AGREX INC. 17 結局何が言いたかったか 自動化による効率化はもちろんのこと、 それ以外にも小規模SI案件でChefを使う メリットは十分にある AWSでインフラの調達が容易にできる + 13年9月10日火曜日
  • 71. Copyright © 2013 AGREX INC. 17 結局何が言いたかったか 自動化による効率化はもちろんのこと、 それ以外にも小規模SI案件でChefを使う メリットは十分にある AWSでインフラの調達が容易にできる + Chefでミドルウェアの管理も効率化 13年9月10日火曜日
  • 72. Copyright © 2013 AGREX INC. 17 結局何が言いたかったか 自動化による効率化はもちろんのこと、 それ以外にも小規模SI案件でChefを使う メリットは十分にある AWSでインフラの調達が容易にできる + Chefでミドルウェアの管理も効率化 = 13年9月10日火曜日
  • 73. Copyright © 2013 AGREX INC. 17 結局何が言いたかったか 自動化による効率化はもちろんのこと、 それ以外にも小規模SI案件でChefを使う メリットは十分にある AWSでインフラの調達が容易にできる + Chefでミドルウェアの管理も効率化 = 小規模案件を数こなして日銭を稼ぐ 地方SIerにこそ武器になる! 13年9月10日火曜日
  • 74. Copyright © 2013 AGREX INC. 17 結局何が言いたかったか 自動化による効率化はもちろんのこと、 それ以外にも小規模SI案件でChefを使う メリットは十分にある AWSでインフラの調達が容易にできる + Chefでミドルウェアの管理も効率化 = 小規模案件を数こなして日銭を稼ぐ 地方SIerにこそ武器になる! 単価が小さいので、 如何にインフラにお金を 掛けないかが重要! 13年9月10日火曜日
  • 75. Copyright © 2013 AGREX INC. 17 結局何が言いたかったか 自動化による効率化はもちろんのこと、 それ以外にも小規模SI案件でChefを使う メリットは十分にある AWSでインフラの調達が容易にできる + Chefでミドルウェアの管理も効率化 = 小規模案件を数こなして日銭を稼ぐ 地方SIerにこそ武器になる! 単価が小さいので、 如何にインフラにお金を 掛けないかが重要! あと、普通にやるより 楽しいです 13年9月10日火曜日
  • 76. Copyright © 2013 AGREX INC. 18 AWSの話をほとんどしていないので… 13年9月10日火曜日
  • 77. Copyright © 2013 AGREX INC. 18 AWSの話をほとんどしていないので… 運用中のインスタンスに適用するの怖くない? 13年9月10日火曜日
  • 78. Copyright © 2013 AGREX INC. 18 AWSの話をほとんどしていないので… 運用中のインスタンスに適用するの怖くない? 一台ずつELBから外してやれば大丈夫! Chefを使わなくても、どんなに小さい規模でも、ELB付けて冗長化した方が運用は絶対楽です。 13年9月10日火曜日
  • 79. Copyright © 2013 AGREX INC. 18 AWSの話をほとんどしていないので… 運用中のインスタンスに適用するの怖くない? 一台ずつELBから外してやれば大丈夫! 今はManagement Consoleからポチポチやりながらだけど、 APIでできるので最初に自動で外して、 最後に自動で再登録するようにしたい Chefを使わなくても、どんなに小さい規模でも、ELB付けて冗長化した方が運用は絶対楽です。 13年9月10日火曜日
  • 80. Copyright © 2013 AGREX INC. 19 AWSの話をほとんどしていないので… RDSのパラメータをChefで管理するTIPS include_recipe “awscli::default” directory node[‘awscli::modify_paramater’][‘directory’] do owner node[‘awscli::modify_paramater’][‘user’] group node[‘awscli::modify_paramater’][‘group’] mode 700 action :create end execute “modify-db-paramater-group” do command “sh #{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh” action :nothing end template “modify-db-paramater-group.sh” do path “#{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh” source “modify-db-paramater-group.sh.erb” owner node[‘awscli::modify_paramater’][‘user’] group node[‘awscli::modify_paramater’][‘group’] mode 700 notifies :run, resource(:execute => “modify-db-paramater-group”) end 13年9月10日火曜日
  • 81. Copyright © 2013 AGREX INC. 19 AWSの話をほとんどしていないので… RDSのパラメータをChefで管理するTIPS include_recipe “awscli::default” directory node[‘awscli::modify_paramater’][‘directory’] do owner node[‘awscli::modify_paramater’][‘user’] group node[‘awscli::modify_paramater’][‘group’] mode 700 action :create end execute “modify-db-paramater-group” do command “sh #{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh” action :nothing end template “modify-db-paramater-group.sh” do path “#{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh” source “modify-db-paramater-group.sh.erb” owner node[‘awscli::modify_paramater’][‘user’] group node[‘awscli::modify_paramater’][‘group’] mode 700 notifies :run, resource(:execute => “modify-db-paramater-group”) end コマンドラインツールの セットアップを行うレシピ (内容略) 13年9月10日火曜日
  • 82. Copyright © 2013 AGREX INC. 19 AWSの話をほとんどしていないので… RDSのパラメータをChefで管理するTIPS include_recipe “awscli::default” directory node[‘awscli::modify_paramater’][‘directory’] do owner node[‘awscli::modify_paramater’][‘user’] group node[‘awscli::modify_paramater’][‘group’] mode 700 action :create end execute “modify-db-paramater-group” do command “sh #{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh” action :nothing end template “modify-db-paramater-group.sh” do path “#{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh” source “modify-db-paramater-group.sh.erb” owner node[‘awscli::modify_paramater’][‘user’] group node[‘awscli::modify_paramater’][‘group’] mode 700 notifies :run, resource(:execute => “modify-db-paramater-group”) end コマンドラインツールの セットアップを行うレシピ (内容略) 配置場所を作成 13年9月10日火曜日
  • 83. Copyright © 2013 AGREX INC. 19 AWSの話をほとんどしていないので… RDSのパラメータをChefで管理するTIPS include_recipe “awscli::default” directory node[‘awscli::modify_paramater’][‘directory’] do owner node[‘awscli::modify_paramater’][‘user’] group node[‘awscli::modify_paramater’][‘group’] mode 700 action :create end execute “modify-db-paramater-group” do command “sh #{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh” action :nothing end template “modify-db-paramater-group.sh” do path “#{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh” source “modify-db-paramater-group.sh.erb” owner node[‘awscli::modify_paramater’][‘user’] group node[‘awscli::modify_paramater’][‘group’] mode 700 notifies :run, resource(:execute => “modify-db-paramater-group”) end コマンドラインツールの セットアップを行うレシピ (内容略) 配置場所を作成 下で生成される シェルスクリプトを実行するコマンド 「action :nothing」とすることで 読み込むだけでは実行されない 13年9月10日火曜日
  • 84. Copyright © 2013 AGREX INC. 19 AWSの話をほとんどしていないので… RDSのパラメータをChefで管理するTIPS include_recipe “awscli::default” directory node[‘awscli::modify_paramater’][‘directory’] do owner node[‘awscli::modify_paramater’][‘user’] group node[‘awscli::modify_paramater’][‘group’] mode 700 action :create end execute “modify-db-paramater-group” do command “sh #{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh” action :nothing end template “modify-db-paramater-group.sh” do path “#{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh” source “modify-db-paramater-group.sh.erb” owner node[‘awscli::modify_paramater’][‘user’] group node[‘awscli::modify_paramater’][‘group’] mode 700 notifies :run, resource(:execute => “modify-db-paramater-group”) end コマンドラインツールの セットアップを行うレシピ (内容略) 配置場所を作成 下で生成される シェルスクリプトを実行するコマンド 「action :nothing」とすることで 読み込むだけでは実行されない コマンドラインでAPIを呼び出すだけの シェルスクリプトをテンプレートから生成 「notifies :run∼」で変更があった場合にイベント通知され、 上で定義したコマンドが実行される 13年9月10日火曜日
  • 85. Copyright © 2013 AGREX INC. 19 AWSの話をほとんどしていないので… RDSのパラメータをChefで管理するTIPS include_recipe “awscli::default” directory node[‘awscli::modify_paramater’][‘directory’] do owner node[‘awscli::modify_paramater’][‘user’] group node[‘awscli::modify_paramater’][‘group’] mode 700 action :create end execute “modify-db-paramater-group” do command “sh #{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh” action :nothing end template “modify-db-paramater-group.sh” do path “#{node[‘awscli::modify_paramater’][‘directory’]}/modify-db-paramater-group.sh” source “modify-db-paramater-group.sh.erb” owner node[‘awscli::modify_paramater’][‘user’] group node[‘awscli::modify_paramater’][‘group’] mode 700 notifies :run, resource(:execute => “modify-db-paramater-group”) end コマンドラインツールの セットアップを行うレシピ (内容略) 配置場所を作成 下で生成される シェルスクリプトを実行するコマンド 「action :nothing」とすることで 読み込むだけでは実行されない コマンドラインでAPIを呼び出すだけの シェルスクリプトをテンプレートから生成 「notifies :run∼」で変更があった場合にイベント通知され、 上で定義したコマンドが実行される ※RDS上では実行できないので、 どこで管理するかだけ決める必要があります。 13年9月10日火曜日
  • 86. Copyright © 2013 AGREX INC. 20 最後に独り言 13年9月10日火曜日
  • 87. Copyright © 2013 AGREX INC. 20 最後に独り言 上司が東京へ拉致され… AWSができる人が社内で1人になって… 全部1人でやるのはちょっと大変です… インスタンス立てた後はChefで… そこまで誰か代わりに… 13年9月10日火曜日
  • 88. Copyright © 2013 AGREX INC. 20 最後に独り言 上司が東京へ拉致され… AWSができる人が社内で1人になって… 全部1人でやるのはちょっと大変です… インスタンス立てた後はChefで… そこまで誰か代わりに… あ!居た! 13年9月10日火曜日
  • 89. Copyright © 2013 AGREX INC. 20 最後に独り言 上司が東京へ拉致され… AWSができる人が社内で1人になって… 全部1人でやるのはちょっと大変です… インスタンス立てた後はChefで… そこまで誰か代わりに… あ!居た! AWS CloudFormation 13年9月10日火曜日
  • 90. Copyright © 2013 AGREX INC. 21 ありがとうございました! 13年9月10日火曜日