気が狂わないサーバ増設x10
Upcoming SlideShare
Loading in...5
×
 

気が狂わないサーバ増設x10

on

  • 554 views

Asian Automation Alience(http://kokucheese.com/event/index/160374/)にて発表した資料です。

Asian Automation Alience(http://kokucheese.com/event/index/160374/)にて発表した資料です。

Statistics

Views

Total Views
554
Views on SlideShare
321
Embed Views
233

Actions

Likes
4
Downloads
4
Comments
0

6 Embeds 233

http://kuchitama.hatenablog.com 139
http://admin.blog.fc2.com 79
http://slshmatome.blog.fc2.com 9
http://s.deeeki.com 3
http://www.slideee.com 2
http://news.google.com 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

気が狂わないサーバ増設x10 気が狂わないサーバ増設x10 Presentation Transcript

  • Asian Automation Alliance 気が狂わないサーバ 増設x10 kuchitama AsianAutomationAlliance 2014/6/28
  • Asian Automation Alliance Kuchitama • くちたま • FuRyu株式会社 • FuRyuTechBlog編集長 • 先週結婚式を挙げました
  • Kuchitama
  • Asian Automation Alliance Case.1
  • Kuchitama and more …
  • 新規サーバ構築 同じ構成で!
  • Asian Automation Alliance 作った人にお願い 前回と同じ構成で構築してもらえますか? その人辞めちゃった インフラチーム
  • Asian Automation Alliance 作った人にお願い 前回と同じ構成で構築してもらえますか? その人辞めちゃった インフラチーム 構築者=退職者
  • 既存サーバを参考に ]# find / … ]# grep … ]# printenv
  • EC2スケールアウト _人人人人人人人人人_ > /etc/profile.d <  ̄Y^Y^Y^Y^Y^Y^ ̄
  • Asian Automation Alliance Case.2
  • ある日の出来事
  • Nginx/Play •http://tech.furyu.jp/blog/?p=2069
  • AWS •Scale up •EC2/RDS インスタンスタイプ変更 •サーバのスペックアップ •Scale out •EC2インスタンス追加
  • EC2スケールアウト スケールアウト
  • EC2スケールアウト スケールアウト
  • EC2スケールアウト スケールアウト AMI作って
  • EC2スケールアウト スケールアウト AMI作って 作成
  • EC2スケールアウト スケールアウト AMI作って 作成 手動で
  • EC2スケールアウト _人人人人_ > 手動 <  ̄Y^Y^Y ̄
  • 手順1 元になるAMIを選択
  • 手順1 元になるAMIを選択 多いわ!
  • 手順2 作成したEC2インスタンスに接続
  • 手順2 作成したEC2インスタンスに接続 どれやねん!
  • 手順3から ]# ntpd stop ]# hostname hoge ]# vi /etc/hosts ]# network restart ]# ... ]# ... ]# ...
  • 手順3から ]# ntpd stop ]# hostname hoge ]# vi /etc/hosts ]# network restart ]# ... ]# ... ]# ... ・・・
  • 手順1∼3 ]# ntpd stop ]# hostname hoge ]# vi /etc/hosts ]# network restart ]# ... ]# ... ]# ...
  • 手順1∼3 ]# ntpd stop ]# hostname hoge ]# vi /etc/hosts ]# network restart ]# ... ]# ... ]# ... これをx10
  • 結果
  • Asian Automation Alliance ここから得られた課題 •見える化/読める化 •暗黙知を作らない •自動化 •ルーチンを一撃で
  • Asian Automation Alliance そこで Provisioning
  • Asian Automation Alliance Provisioning Framework
  • Asian Automation Alliance Provisioning Framework インフラ運用のコード化 Infrastructure as a code
  • Asian Automation Alliance Provisioning Framework インフラ運用のコード化 Infrastructure as a code 決められた状態に収束 何度繰り返しても同じ結果になる べき等性
  • Asian Automation Alliance 見える化/読める化 https://gist.github.com/Kuchitama/5547882
  • Asian Automation Alliance 自動化 •Chef-Serverは構築がめんどうそう •あまり構築済みのサーバをへんこうす ることはない
  • Asian Automation Alliance Provisioning •Ruby製 •Puppet(Pull/Push) •Chef(Pull) •Python製 •Ansible(Push)
  • Asian Automation Alliance Chef • Chef is an automation platform that transforms infrastructure into code. Stop thinking in terms of physical and virtual servers. With Chef, your real asset is the code that brings those servers and the services they provide to life. An automated infrastructure can accelerate your time to market, help you manage scale and complexity, and safeguard your systems. • http://www.opscode.com/chef/
  • Asian Automation Alliance Chef • OpsCode製PF • Facebookで採用 • 単一サーバで動作するChef-Solo • サーバ-クライアント構成 • ChefServer-ChefClient
  • Asian Automation Alliance Chef • ドキュメントが充実 • 入門Chefsolo オススメ • Cookbookも充実
  • Asian Automation Alliance knife • ChefのCLI • Chefと一緒にインストールされ る • Pluggable
  • Asian Automation Alliance 見える化/読める化 https://gist.github.com/Kuchitama/5547882
  • Asian Automation Alliance 自動化 •サーバの自動構築 •複数台のサーバに対応
  • Asian Automation Alliance knife-solo • knifeのプラグイン • knife-solo adds a handful of commands that aim to make working with chef-solo as powerful as chef-server. • chef-soloをchef-serverみたいに便利にしてく れるCLIツール • ver.0.3.0以降がオススメ
  • Asian Automation Alliance knife-solo • knife solo prepare {host} • chef-soloのリモートインストール • knife solo cook {host} • cookbookのリモート実行
  • Asian Automation Alliance knife-solo • knife solo prepare {host} • chef-soloのリモートインストール • echo host1 host2 host3 | xargs -n 1 knife solo prepare • knife solo cook {host} • cookbookのリモート実行 • echo host1 host2 host3 | xargs -n 1 knife solo prepare
  • Asian Automation Alliance 更に自動化
  • Asian Automation Alliance さらに自動化 •AWSの操作 •Ruby-SDK •サーバの操作 •Chef
  • Asian Automation Alliance 作った
  • Asian Automation Alliance 自動でやりたいこと •AMIからEC2を起動 •EC2でChefレシピを実行 •EC2をAMIとして保存
  • Asian Automation Alliance 更に自動化 •実行も自動化したい •タイミングはrecipeとかを更新したと きがいい → Git push時
  • Asian Automation Alliance web api
  • Asian Automation Alliance web api Push POST
  • Asian Automation Alliance 公開しました •Kuchitama/ec2_automation •https://github.com/Kuchitama/ ec2_automation
  • Asian Automation Alliance 更に更に自動化
  • Asian Automation Alliance 更に更に自動化
  • Asian Automation Alliance 処理の流れ •ec2_automationと同じことをやる •packerを使うことで… •色々なマシンイメージに対応 •色々なPFに対応(Chef以外もOK)
  • Asian Automation Alliance 公開しました •Kuchitama/packer-remote •https://github.com/Kuchitama/ packer-remote/
  • Asian Automation Alliance 実際のチームの現状
  • Asian Automation Alliance Chef未導入
  • Asian Automation Alliance 自動化コスト •暗黙知は手順書化 •初期のサーバ構築自体は機会が少ない •ルーチンはスクリプトで •毎日本番環境をAMI化 •サーバ増設時はAMIからインスタンス起動 •アプリのデプロイは元々別で自動化済 •コマンド一つで任意台数作成可能
  • Asian Automation Alliance 自動化コスト •学習コストバランス •自動化したら誰でもできる? •動かすだけならね •自動化 無知化
  • Asian Automation Alliance 弊社現状 •今のところ問題は起こってない •シェルスクリプトとAMIを使った環境 構築 •そんなことやってる間にAnsibleが
  • Asian Automation Alliance Chef-Ansible
  • Asian Automation Alliance Chef - Ansible http://tech.furyu.jp
  • Asian Automation Alliance 比較 • CookBookが充実 • ググらビリティ低い • Chef = 料理人 • Opscode -> Chef • Pull型(knife-soloで pushも可能) • Rubyの内部DSLで記述 • 日本語で本出てる • yamlで記述 • モジュールを好きな言 語で作成できる • Push型 • 公式Playbookリポジト リがない(準備中?)
  • Asian Automation Alliance Chef •公式リポジトリの充実(コミットは面倒 だけど) • http://community.opscode.com/cookbooks •Recipeの依存解決ツールがある (Berkshelf) •Ruby内部DSLで書ける(書き方、環境 の統一がしやすい) •プロキシに弱い
  • Asian Automation Alliance Ansible •好きな言語でモジュールを書ける(組織 の特色が強くなる?) •公式リポジトリみたいなのはない •プロキシの設定がしやすい •比較的環境構築が楽 •弊社でも採用
  • Asian Automation Alliance まとめ
  • Asian Automation Alliance まとめ •Chefによるプロビジョニングで • 暗黙知 -> 形式知 • ルーチン -> 自動化 •自動化の要件 • 手段/ツールが目的化しないように • ヒト/モノ/金/時間 のトレードオフ