Upload
interu07
View
3.145
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
SonicGardenでの Puppet 活用事例
TIS / SonicGarden 安達 輝雄 id:interu
2010/12
Agenda
puppetとは
puppet と chefの違い
SonicGardenでの活用事例sample : SKIPaaS
まとめ
Puppetとは
Client - Server モデルの運用管理ツール
Ruby言語製(gem)
抽象化レイヤOS/Distributionの違いを吸収Windows/Linux/Unixに対応
■puppetの実装等に関する資料はこちら http://blog.sonicgarden.jp/2009/04/puppet.html
システム構成(pull型)
各Client から システム最新化のリクエスト
システム構成(push型)
Server から システム最新化の指示※指示の client からシステム最新化のリクエスト
Sample code
httpdパッケージのインストール
httpdの起動
httpd設定ファイルの更新
利用企業
puppet lab の HPより抜粋
vs Chef (strong point)
導入が簡単Only Ruby/Rubygems/puppet
対応プラットフォームが豊富
Support Windows
公開module(puppet forge)の仕組み119 found. (12/2)
管理UI(puppet dashboard)
別アプリ(rails)
セキュリティ機能がしっかりSSL, ACL
vs Chef (weak point)
Only Puppet DSLv2.6.xから Ruby DSL support
Support REST API
v2.6.xから対応
Unit test ができないRuby DSLで定義したものはunit test対応
SonicGardenでの活用事例
SKIPのSaaS提供 : SKIPaaSでpuppetを活用
SKIPaaSの概要お客様毎に仮想環境(EC2)
アプリレベルのカスタマイズに対応
textの設定ファイルでカスタマイズできる構成
セキュリティ強化機能をオプション提供Web Serverでのアクセス制御ウィルススキャンアクセスログの提供
SKIPaaS運用課題
環境構築に半日全環境のバージョンアップが大変環境ごとのカスタマイズ設定の管理が大変手作業が多く時折ミスが発生手順書の管理が煩雑
以下の実現を目指す!環境構築/メンテンナンスに要する時間の削減環境毎の設定情報の一元管理(可視化)
課題解決方法の検討
候補1EC2のAMI(OSテンプレート) + Initializeスクリプト
候補2運用管理ツールの導入
候補3
アプリ改修
運用構成
カスタマイズ可能な設定(お客様毎)
system設定(permission/owner)のチェック/更新M/W設定の配置/更新アプリケーションリリース(独自scripts)cron設定のチェック/更新 各種daemon再起動
導入効果
環境構築/管理、バージョンアップの時間短縮構築/管理台数が多いほど効果絶大
クラウド環境でのテスト容易性
テストで失敗したら環境を捨て再テストEC2のAMIを活用することでより効率的に
M/W設定の構成/バージョン管理
アプリと同じようにM/Wの設定等も全て(Git/SVN)管理属人化した情報の可視化
まとめ
システム運用管理ツール(puppet/chef)の導入複数台のサーバ管理が楽にDRYに(作業ミス/忘れも削減可能)M/W設定もバージョン管理moduleの活用が可能
これからはpuppet + MCollective