サーバーサイド技術者不足に効くChef
-
Upload
maho-takara -
Category
Internet
-
view
844 -
download
0
Transcript of サーバーサイド技術者不足に効くChef
2016年3月4日
日本IBM
クラウド・テクニカル・サービス
高良真穂
サーバーサイド技術者不足に効くCHEFを使ったサーバー構築自動化
CHEF
Knife(使わないよ)
SoftLayerのServer
¨ 高良 真穂 (たから まほ)
¨ 会社 日本アイ・ビー・エム株式会社
¤ 所属 クラウド・テクニカル・サービス
¤ 入社14年目(中途入社)
¨ 仕事
¤ インフラストラクチャ アーキテクト
¤ 過去 企業向けシステムのIT基盤の設計&構築を担当n 金融業、製造業、流通業、航空業界、HPC分野などのオンプレミ
スのシステム構築に参画
¤ 現在 クラウドでゲーム業界担当
自己紹介
¨ クラウドのプロビジョニング速度に対応
¨ エンジニアの不足対策
なぜサーバー自動設定ツール?
設計 開発 テスト 運用企画
設計
開発
テスト
運用
企画設計
開発
テスト
設計
開発
テスト
クラウド以前
クラウド後
サーバーは将来の需要を見込んだ先行設備投資
サーバーは経費で必要な分だけ注文して即利用
短いサイクルで開発とリリースを繰り返すため人材不足が深刻化
¨ クラウドのサーバーを注文後、10分で利用開始できるスピード感
クラウドのスピードを活かすサーバー設定
サーバー調達
電源工事
LAN工事
テストOS設定 M/W設定 アプリ配置
サーバー調達 テストM/W設定 アプリ配置
運用
運用
14日 1日 2日 1日
10分 2日 1日
18日
3日
サーバー調達
テストM/W設定
アプリ配置 運用
10分 5分OS
設定
25分
OS設定
1日
5分
オンプレ時代
クラウド利用
クラウド+自動設定5分
クラウド +ゴールデンイメージ
サーバー設定自動化
クラウドにより自動化
クラウドにより自動化
サーバー設定自動ツールを使うという事は、手工業からロボットラインへ移行する様なこと
手作業の様なサーバー構築 ロボットによるサーバー構築作業
人数が生産力に比例 ロボット数が生産力を決める優秀な技術者は簡単に育たない 優秀な技術者のノウハウを真似
¨ Shell Script¨ デプロイツール
¤ Jenkins¤ Capistrano
¤ UrbanCode
¨ サーバー設定自動化ツール¤ Ansible
¤ CHEF¤ Puppet labs
¤ Itamae
¨ AWS 運用自動化ツール¤ Cloud Formation
¤ OpsWorks
自動化ツールは沢山あるけど 今日はCHEFのはなし
¨ 今日の話は、スタンドアロンパターンです
CHEFの利用パターン
Chef-Server
Node
Chef-ClientKnife
ssh
Node
Chef-ClientKnife
solossh
Git
Node
Chef-Client
Knife zero
sshChef zero
Repo
ssh トンネリングで接続
Node
Chef-Client
Git
sshリモート実行
CHEF-Server構成
CHEF-solo構成 CHEF-zoro構成
スタンドアロン
設定対象
設定対象
設定対象
設定対象
設定を自動で実行したいだけの人に
はコレが便利
¨ Knife や Chef Server の面倒な設定が不要、Knife-solo のsshリモート実行環境も不要
¨ 設定の自動化のために、Chef Server を運用管理する必要がない。
¨ 設定用の Cookbook は、設定対象のサーバーの/var/chef/cookbooks に置かれるので単純明快
¨ 仮想サーバーやベアメタルのプロビジョニング・スクリプトを利用すると便利
¨ CHEF の Cookbookは、Git Server から必要なものをクローンして利用する
¨ Cookbookは、iSCSI設定、MySQL設定など単体パーツに分けて作っておくと、再利用しやすく便利
CHEFをスタンドアロンで利用するメリット
プライベートテンプレート
イメージ
カスタマーポータルからのプロビジョニング
Provisioning Script
実行 Node
ssh でログインしてCookbook適用Git
Shell Script Download
Cookbook Download
本番適用
OSイメージ
or
オートスケーリングのプロビジョニング
SoftLayerで
設定対象
¨ CHEFを利用する場合の手順と時間
¤ ポータルから仮想サーバーをオーダー (5分)
¤ CHEFのコマンドを実行 (2分)
n クックブック (https://github.com/takara9/wordpress01)
¤ WebページからWordPressの初期設定 (2分)
¨ CHEFのコマンドか実行する内容¤ Ubuntu リポジトリから最新状態に更新
¤ nginx と php-fpm の導入と設定
¤ MySQL の導入と設定 (セキュアインストール)
¤ WordPressの最新版の導入
具体的な実行例 WordPressのHP構築
¨ Ubuntu14.04 minimal Core 1, RAM 1GB
ポータルから仮想サーバーをオーダー
¨ コマンド実行手順
ログインしてCHEFを実行
実行の様子をビデオでご覧下さい
①CHEFインストール
②フォルダ作成
③クックブック取得④クックブック適用
https://youtu.be/xxUc7vRjW5kYouTube CHEFでWordPressを設定するデモ on SoftLayer
¨ WordPressの初期設定画面を開いてインストールを完了する
Cookbook適用後の作業
インストール後の初期画面
WP管理画面
構築完了!
¨ Cookbookのディレクトリ
CHEF クックブックの解説 1
/var/chef/cookbook/wordpress01
パラメータ 導入パス、ユーザーID、パスワードなど
そのまま置く設定ファイルやシェルなど
レシピ 設定の手順
固有パラメータなどを設定して配置するファイル
¨ Attribute のディレクトリ
CHEF クックブックの解説 2
/var/chef/cookbook/wordpress01
¨ filesは、固定的な設定ファイルなど
CHEF クックブックの解説 3
/var/chef/cookbook/wordpress01/files
¨ Recipes は設定手順
CHEF クックブックの解説 4
/var/chef/cookbook/wordpress01/recipes
¨ Nginx_fpm の要所説明
CHEF クックブックの解説 5
/var/chef/cookbook/wordpress01/recipes/nginx_fpm.rb
パッケージを追加インストール
設定ファイルを置く
パラーメータ値をセットしてファイルを置く
¨ Templateは Attribute の値で置き換え可能
CHEF クックブックの解説 6
/var/chef/cookbook/wordpress01/recipes/nginx_fpm.rbの例
Attribute の値で置き換えられる
¨ CHEFは学習コストが高いと言われますが、簡単に使えば、即に適用できます。
¨ Chef Server, Chef zero, Knife など使わなくても自動設定は可能なので、使いこなすことに拘らず、効率を上げられるところだけ利用
¨ レシピはパターンを覚えれば簡単
まとめ