20130720 jaws yokohama-lightning_talk
Upcoming SlideShare
Loading in...5
×
 

20130720 jaws yokohama-lightning_talk

on

  • 3,097 views

JAWS-UG 横浜支部 第5回勉強会「chef on AWS ベストプラクティス」

JAWS-UG 横浜支部 第5回勉強会「chef on AWS ベストプラクティス」
Lightning Talk 「全部見せます!Chefを1ヶ月半ほど使って学んだアレコレ」

Statistics

Views

Total Views
3,097
Views on SlideShare
1,103
Embed Views
1,994

Actions

Likes
5
Downloads
13
Comments
0

5 Embeds 1,994

http://dev.classmethod.jp 1984
https://twitter.com 6
http://plus.url.google.com 2
http://dev-staging.classmethod.jp 1
http://www.google.co.jp 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

20130720 jaws yokohama-lightning_talk 20130720 jaws yokohama-lightning_talk Document Transcript

  • 全部見せます!Chefを1ヶ月半ほど使 あって学んだアレコレ JAWS-UG 横浜支部 第5回勉強会 「chef on AWS ベストプラクティス」 classmethod.jp 1 2013/07/20 Kazuki Ueki
  • 本日の内容 1ヶ月ほどAWS業務でChefを使って感じた 良いこと・悪いこともろもろ 初めて~中級者向け classmethod.jp 2
  • 自己紹介 名前:植木和樹(うえき かずき) 年齢:36歳 出身:新潟県妙高市(単身赴任中) 元製造業情報システムG常駐 主にUnixサーバエンジニア(監視、保守) 資格:IPAITサービスマネージャ IPA システムアーキテクト JAWS北陸コアメンバー(JAWS DAYS 2013~) AWS歴:約5か月(2013年5月Classmethod入社) 好きなAWSサービス:SQS classmethod.jp 3 @czkuk
  • 初めてのchef classmethod.jp 4
  • 覚え始め まずは package と service リソースから ↓ template で設定ファイルを作る ↓ attributeで設定ファイルを書き換える ↓ OpscodeのResourceページを読みながら ちょっとずつリソースの使い方を覚えていく classmethod.jp 5
  • 慣れてきたら Opscode Public Cookbooksを参考に(パクる) 定番本(超オススメ) classmethod.jp 6
  • これだけで7~8割はカバー • とあるcookbook数 63のリポジトリ • 使ってるリソースの上位 1. template (87) 2. service(79) 3. package(46) 4. cookbook_file(41) 5. directory(27) 6. link(26) 7. execute(6) classmethod.jp 7
  • まずはrecipeを書いてみよう • 学習コストは低いし将来的にも役立つ (素直な正規表現レベル) • Ohai で動的にサーバの状態取得 とか LWRP とか なるとグッと難しくなる (メールアドレスをValidationする正規表現) • 内部DSLなのでRubyでいろいろやっちゃってる Cookbookもあり (Rubyの知識が必要) classmethod.jp 8
  • Opscode Public Cookbooks or オレオレCookbooks classmethod.jp 9
  • オレオレで良い • 必要最小限のレシピ (Opscodeのは汎用的なので記述が冗長) • 特殊なことや面倒な設定が必要ならOpscodeで探す OpscodeのPHPは pear リソースが便利 • Opscodeのは自分で修正しない (READMEやAttribute読んでどう使うのか調べる) • 使えそうな部分だけパクる(2度目) classmethod.jp 10
  • レシピはどう分割する? classmethod.jp 11
  • 典型的なパターン • メイン+サブ機能型 (Apache + mod_xxx) (CloudWatch + カスタムメトリクス) • Client + Server型 (xxx::install_client xxx::install_server) • アクション型 (xxx::install、xxx::start) classmethod.jp 12
  • テストいる? classmethod.jp 13
  • いる!絶対!! • テストのないcookbookは使い捨てのシェ ルスクリプトと変わらない • ちゃんとシステムをあるべき姿に 「収束」させることを保証するためにも テストを実施すべき classmethod.jp 14
  • AWSでスクラップ&ビルドな CI環境を作ろう! YES! CloudFormation!! (近日ブログ公開!!・・・予定) classmethod.jp 15
  • テスト方法は? classmethod.jp 16
  • chefspec/serverspec classmethod.jp 17 テスト方法 chefspec serverspec テスト工程 単体テスト 結合テスト テスト対象 レシピ サーバ テスト実行 cookbook単位 run_list単位
  • chefspec • レシピの書き始めはchefspecが良い Rubyの文法間違いとかも手元でチェックできて便利 • chefspecはちょっと込み入ったことしよ うとすると難易度あがる (EncryptedDataBagとか…マジで教えてください) classmethod.jp 18
  • serverspec オススメ • chef適用後のサーバの状態を調べる • チェックがchefに依存しないので扱いや すい • serverspecのテスト対象はrun_listと同期 するのが望ましい @kenjiskywalker さんのブログを参考に classmethod.jp 19 http://blog.kenjiskywalker.org/blog/2013/07/13/serverspec-chef-cookbook/
  • Vagrantはどう? classmethod.jp 20
  • Cookbook作成時にオススメ • 環境の構築破棄、VirtualBoxとAWS環境の切り替 えが超簡単 • EC2-Classicがおすすめ デフォルトVPCでないとPublicDNSが割当らない (やり方ある?) • IAM-Roleを割り当てたEC2起動に対応してない (ソースみた感じだと。やり方ある?) EC2へアクセスする際のクレデンシャルとして設 定できる(Vagrant on EC2用?) classmethod.jp 21
  • まとめ classmethod.jp 22
  • AWSとchefは相性いいよ • 何度でも環境を作りなおせる • CloudFormationと組み合わせて 「Infrastructure as Code」 • テストが増えても物理サーバいらず = 省維持コスト classmethod.jp 23
  • ご清聴ありがとうございました classmethod.jp 24