(C)Copyright 1996-2015 SAKURA Internet Inc.
壮絶!さくらのレンタルサーバ構築・運用の舞台裏
~The nightmare of on-premises~
(C)Copyright 1996-2015 SAKURA Internet Inc.
• 中山 幸治
• インターネットサービス事業部
• 主にレンサバの運用保守を担当
• 新卒でさくらに入社して今年で3年目
• 東京出身だが卒業間際に大阪に飛ばされ早2年
• 花粉症に悩まされながらなんとか安い物件をGet
• 今に至る
発表の前にお前誰だよ
(C)Copyright 1996-2015 SAKURA Internet Inc.
お前誰だよ情報は
以上です
以上です
(C)Copyright 1996-2015 SAKURA Internet Inc.
今日お話すること
何のはなしするの?
(C)Copyright 1996-2015 SAKURA Internet Inc.
サーバの構築
について
それは…
(C)Copyright 1996-2015 SAKURA Internet Inc.
サーバを構築すること
に伴う悲しみについて
具体的に言うと…
(C)Copyright 1996-2015 SAKURA Internet Inc.
からの~
え、何それは…
(C)Copyright 1996-2015 SAKURA Internet Inc.
再生の物語について
お話したいと思います
破壊と再生
(C)Copyright 1996-2015 SAKURA Internet Inc.
• 業務でTerraform使ってウハウハしていた時代
• 突然の業務引継ぎ
• 物理サーバの構築担当へジョブチェンジ
• 悲しみのサーバ構築
• からの~
• 悲しみを乗り越えていくことに面白みが
あるのではという気付き
具体的には…
(C)Copyright 1996-2015 SAKURA Internet Inc.
• 主にレンサバのデータベース(MySQL)の
構築作業に焦点を当ててお話します
• さくらではこんな風にサーバ作ってるのかと
興味を持って聞いていただけると幸いです
• 実はまだ構築担当になってから1ヶ月未満です
なので現時点での考え方です
来月には別のこと言ってるかもしれません
ご了承下さい
申し訳
(C)Copyright 1996-2015 SAKURA Internet Inc.
Terraformで
ブイブイいわせて
いた時代
若かりし頃
(C)Copyright 1996-2015 SAKURA Internet Inc.
• 社内でGitHub:Eを導入するメンバーに選ばれる
• AWS上にサーバを構築しようという話になる
• 主にCircle CI Enterpriseを使用するため
※ AWSで構築することを前提としている
• 別チームでTerraformを業務に使用していた
ということもありTerraformを採用
Terraformを使うことになる経緯
(C)Copyright 1996-2015 SAKURA Internet Inc.
Terraform
(C)Copyright 1996-2015 SAKURA Internet Inc.
• みんな大好きHashiCorpぷろだくつ
• インフラの状態をコードで管理
• インフラコードのバージョン管理
• Pull Requestベースのインフラ開発
• 分かりやすい構文で設定ファイルを書く
てらふぉーむ
(C)Copyright 1996-2015 SAKURA Internet Inc.
分かりやすい構文
※ Terraformのサイトより引用
(C)Copyright 1996-2015 SAKURA Internet Inc.
Pull Requestベースの開発
(C)Copyright 1996-2015 SAKURA Internet Inc.
コマンド一発でインフラ完成
※ Terraformのサイトより引用
(C)Copyright 1996-2015 SAKURA Internet Inc.
うはwww
物理サーバとか
いらねーはwwwwww
wwwwwwwwwwww
便利過ぎる…
(C)Copyright 1996-2015 SAKURA Internet Inc.
あったんや…
(C)Copyright 1996-2015 SAKURA Internet Inc.
_人人人人人人人人人人_
> 突然の業務引継ぎ <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
からの~
(C)Copyright 1996-2015 SAKURA Internet Inc.
レンサバ用データ
ベースサーバの
構築担当へ
もちろん物理サーバです
(C)Copyright 1996-2015 SAKURA Internet Inc.
レンサバにおける
データベース構築
やっと本題
(C)Copyright 1996-2015 SAKURA Internet Inc.
データベース
(C)Copyright 1996-2015 SAKURA Internet Inc.
• コンパネからボタンをポチポチクリックする
だけですぐに使える
• MySQL
• バージョンは(4.0/5.1/5.5)
• phpmyadminも使える
• WordPressでデータベース使いたい時も
さっと作ってくれる
• 便利…ですよね?
レンサバデータベース
(C)Copyright 1996-2015 SAKURA Internet Inc.
便利(確信)
便利
(C)Copyright 1996-2015 SAKURA Internet Inc.
普段何気なく使ってい
ただいていると思いま
すがその影には汗と涙
の物語があります
汗と涙の物語
(C)Copyright 1996-2015 SAKURA Internet Inc.
構築フロー
構築の流れ
(C)Copyright 1996-2015 SAKURA Internet Inc.
• ラック確保
• 機材確保
• ラック工事
• ネットワーク設定
• サーバ構築
構築フロー
(C)Copyright 1996-2015 SAKURA Internet Inc.
• ファシリティ部門にラック確保依頼を出す
• データベース残数を調査してサーバが不足する
ことが無いようにする必要がある
• 現在のところ1日約100データベース消費される
• 1セグメント約3ヶ月もつ
• 適したラックを選定する必要がある
• 現在のサーバは1Uサーバなのでコールド/ホット
にする必要がある(空調に区別がある場合)
ラック確保
(C)Copyright 1996-2015 SAKURA Internet Inc.
ラックの利用状況の例
1Uサーバは前面から冷た
い風を取り込み(コールド
アイル)、背面から温まっ
た風を排出する(ホットア
イル)
(C)Copyright 1996-2015 SAKURA Internet Inc.
• 物流を担当している部署へ確保依頼出す
• 不足していれば発注も行う
• 現在の構成では1ラックにつき
• サーバ x 12 SSD/HDD x 30 メモリ x 158
WAN/LANスイッチ x 2
ラック確保 -> 機材確保
(C)Copyright 1996-2015 SAKURA Internet Inc.
• ラックが使用できる状態にする作業
• データセンターチームに依頼を出す
• ゴミ掃除
• マウントレール取り付け
• 電源タップ取り付け
• などなど
機材確保 -> ラック工事
(C)Copyright 1996-2015 SAKURA Internet Inc.
こんな感じでデータセンター
チームの方々に作って
もらいます
ラック図
(C)Copyright 1996-2015 SAKURA Internet Inc.
• WAN/LAN用スイッチの設定
• ネットワーク担当部署に依頼
• WAN側スイッチはエッジルータに接続
• LAN側スイッチはIPMI接続に使用するために使う
• 使用可能なIPの割り出しなどもお願いする
• 割り出された範囲からIP選んでDNS登録
ラック工事 -> ネットワーク設定
(C)Copyright 1996-2015 SAKURA Internet Inc.
•
ネットワーク構成
※ 現状の構成と
※ 若干異なります
(C)Copyright 1996-2015 SAKURA Internet Inc.
• データセンターチームにPXEブートしてもらう
• その後パッケージスクリプトの適用
• 構築後の動作検証
• 監視の設定
• Terraformのようにコマンド一発で完了
とはいかない
• 改善の余地がある
ネットワーク設定 -> サーバ構築
(C)Copyright 1996-2015 SAKURA Internet Inc.
• クラウドに比べるとどうしても
期間/人数/工数が長くなる
• 1セグメント完了するまでおおよそ30日/10人
• 手順書ベースの作業(サーバ内オペレーション)
• しかも手順書が更新されてない…
• 作業者の力量に依存してしまっている
物理サーバ構築の辛み
(C)Copyright 1996-2015 SAKURA Internet Inc.
それでも困難な状況
を打開することに
面白さがあるのでは
ないでしょうか?
再生の話
(C)Copyright 1996-2015 SAKURA Internet Inc.
(震え声)
本音
(C)Copyright 1996-2015 SAKURA Internet Inc.
• 複数台のサーバを初期構築したいけど1台1台
作っていたのでは時間かかるしミスも起きる
• tmuxのsynchronized-panesを利用する
• paneを共有して別サーバに同じコマンドを
同時に実行できる機能
• 十数台ぐらいならこれでも何とかなる
暫定対策
(C)Copyright 1996-2015 SAKURA Internet Inc.
synchornized-panes
(C)Copyright 1996-2015 SAKURA Internet Inc.
とは言え根本解決
にはならない…
この悲しみを解決
できるようにしたい!
KONPON
(C)Copyright 1996-2015 SAKURA Internet Inc.
インフラの
コード化
再生への道1
(C)Copyright 1996-2015 SAKURA Internet Inc.
• インフラの状態をコードとして記述する
• Gitで何時/誰が/何を変更したのか管理
• Pull Requestベースのインフラ開発
• サーバ内オペレーションの低減/属人性の排除
• 構成管理ツールの導入
別件で利用しているのでAnsibleが有力
再生への道1
(C)Copyright 1996-2015 SAKURA Internet Inc.
• インフラをコード化したからには検証/テストも
同時にコード化(serverspec/infratasterなど)
• ついでに監視登録も(Zabbix API)
再生への道1
(C)Copyright 1996-2015 SAKURA Internet Inc.
こんな感じで出来たらうれしい
設定投入&テスト実行
両方共OKだったら監視登録
※ 本当はPXEブート時にAnsible
※ キックしてくれるとうれしい
(C)Copyright 1996-2015 SAKURA Internet Inc.
手順書の整備
再生への道2
(C)Copyright 1996-2015 SAKURA Internet Inc.
• とはいえ手動でオペレーションする所は必ずある
• 現状と合っていない手順をアップデート
• 手順書自体もバージョン管理したい
• こちらもPull Requestベースの文書管理
再生への道2
(C)Copyright 1996-2015 SAKURA Internet Inc.
構成の変更
再生への道3
(C)Copyright 1996-2015 SAKURA Internet Inc.
• 必要なのかよく分からないけど今までやってた
から続けているものをバッサリ変えたい
• RRDtool使っている所あるけどZabbixにグラフ
情報を集約できるのでは
• phpmyadminサーバの構成を変更
稼動系/待機系へ作ったサーバ二重登録している
クラスタ構成に変更して無駄&SPOF排除
• などなど他にもいっぱい
再生への道3
いっぱいありまぁす!
(C)Copyright 1996-2015 SAKURA Internet Inc.
• 物理サーバの構築にはいろいろと辛みがある
• Terraformのようにコマンド一発で
完了とはいかない
• でも改善していくことに楽しさがある
辛いけど楽しい!
まとめ
(C)Copyright 1996-2015 SAKURA Internet Inc.
辛みはいっぱいある
けど毎日悩みながら
楽しく仕事してます!
本音です!
(C)Copyright 1996-2015 SAKURA Internet Inc.
最後に…
言わせて下さい
(C)Copyright 1996-2015 SAKURA Internet Inc.
さくらでは物理サーバとクラウド
両環境の良さを知りつつ
より物理サーバの良い所を引き
出せるエンジニアを募集中です
一緒に悲しみを乗り越えましょう!
求人情報です
(C)Copyright 1996-2015 SAKURA Internet Inc.
ご静聴ありがとう
ございました
終わり

壮絶!さくらのレンタルサーバ構築・運用の舞台裏~The nightmare of onpremise~(第25回さくらの夕べ)

  • 1.
    (C)Copyright 1996-2015 SAKURAInternet Inc. 壮絶!さくらのレンタルサーバ構築・運用の舞台裏 ~The nightmare of on-premises~
  • 2.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • 中山 幸治 • インターネットサービス事業部 • 主にレンサバの運用保守を担当 • 新卒でさくらに入社して今年で3年目 • 東京出身だが卒業間際に大阪に飛ばされ早2年 • 花粉症に悩まされながらなんとか安い物件をGet • 今に至る 発表の前にお前誰だよ
  • 3.
    (C)Copyright 1996-2015 SAKURAInternet Inc. お前誰だよ情報は 以上です 以上です
  • 4.
    (C)Copyright 1996-2015 SAKURAInternet Inc. 今日お話すること 何のはなしするの?
  • 5.
    (C)Copyright 1996-2015 SAKURAInternet Inc. サーバの構築 について それは…
  • 6.
    (C)Copyright 1996-2015 SAKURAInternet Inc. サーバを構築すること に伴う悲しみについて 具体的に言うと…
  • 7.
    (C)Copyright 1996-2015 SAKURAInternet Inc. からの~ え、何それは…
  • 8.
    (C)Copyright 1996-2015 SAKURAInternet Inc. 再生の物語について お話したいと思います 破壊と再生
  • 9.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • 業務でTerraform使ってウハウハしていた時代 • 突然の業務引継ぎ • 物理サーバの構築担当へジョブチェンジ • 悲しみのサーバ構築 • からの~ • 悲しみを乗り越えていくことに面白みが あるのではという気付き 具体的には…
  • 10.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • 主にレンサバのデータベース(MySQL)の 構築作業に焦点を当ててお話します • さくらではこんな風にサーバ作ってるのかと 興味を持って聞いていただけると幸いです • 実はまだ構築担当になってから1ヶ月未満です なので現時点での考え方です 来月には別のこと言ってるかもしれません ご了承下さい 申し訳
  • 11.
    (C)Copyright 1996-2015 SAKURAInternet Inc. Terraformで ブイブイいわせて いた時代 若かりし頃
  • 12.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • 社内でGitHub:Eを導入するメンバーに選ばれる • AWS上にサーバを構築しようという話になる • 主にCircle CI Enterpriseを使用するため ※ AWSで構築することを前提としている • 別チームでTerraformを業務に使用していた ということもありTerraformを採用 Terraformを使うことになる経緯
  • 13.
    (C)Copyright 1996-2015 SAKURAInternet Inc. Terraform
  • 14.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • みんな大好きHashiCorpぷろだくつ • インフラの状態をコードで管理 • インフラコードのバージョン管理 • Pull Requestベースのインフラ開発 • 分かりやすい構文で設定ファイルを書く てらふぉーむ
  • 15.
    (C)Copyright 1996-2015 SAKURAInternet Inc. 分かりやすい構文 ※ Terraformのサイトより引用
  • 16.
    (C)Copyright 1996-2015 SAKURAInternet Inc. Pull Requestベースの開発
  • 17.
    (C)Copyright 1996-2015 SAKURAInternet Inc. コマンド一発でインフラ完成 ※ Terraformのサイトより引用
  • 18.
    (C)Copyright 1996-2015 SAKURAInternet Inc. うはwww 物理サーバとか いらねーはwwwwww wwwwwwwwwwww 便利過ぎる…
  • 19.
    (C)Copyright 1996-2015 SAKURAInternet Inc. あったんや…
  • 20.
    (C)Copyright 1996-2015 SAKURAInternet Inc. _人人人人人人人人人人_ > 突然の業務引継ぎ <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y ̄ からの~
  • 21.
    (C)Copyright 1996-2015 SAKURAInternet Inc. レンサバ用データ ベースサーバの 構築担当へ もちろん物理サーバです
  • 22.
    (C)Copyright 1996-2015 SAKURAInternet Inc. レンサバにおける データベース構築 やっと本題
  • 23.
    (C)Copyright 1996-2015 SAKURAInternet Inc. データベース
  • 24.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • コンパネからボタンをポチポチクリックする だけですぐに使える • MySQL • バージョンは(4.0/5.1/5.5) • phpmyadminも使える • WordPressでデータベース使いたい時も さっと作ってくれる • 便利…ですよね? レンサバデータベース
  • 25.
    (C)Copyright 1996-2015 SAKURAInternet Inc. 便利(確信) 便利
  • 26.
    (C)Copyright 1996-2015 SAKURAInternet Inc. 普段何気なく使ってい ただいていると思いま すがその影には汗と涙 の物語があります 汗と涙の物語
  • 27.
    (C)Copyright 1996-2015 SAKURAInternet Inc. 構築フロー 構築の流れ
  • 28.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • ラック確保 • 機材確保 • ラック工事 • ネットワーク設定 • サーバ構築 構築フロー
  • 29.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • ファシリティ部門にラック確保依頼を出す • データベース残数を調査してサーバが不足する ことが無いようにする必要がある • 現在のところ1日約100データベース消費される • 1セグメント約3ヶ月もつ • 適したラックを選定する必要がある • 現在のサーバは1Uサーバなのでコールド/ホット にする必要がある(空調に区別がある場合) ラック確保
  • 30.
    (C)Copyright 1996-2015 SAKURAInternet Inc. ラックの利用状況の例 1Uサーバは前面から冷た い風を取り込み(コールド アイル)、背面から温まっ た風を排出する(ホットア イル)
  • 31.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • 物流を担当している部署へ確保依頼出す • 不足していれば発注も行う • 現在の構成では1ラックにつき • サーバ x 12 SSD/HDD x 30 メモリ x 158 WAN/LANスイッチ x 2 ラック確保 -> 機材確保
  • 32.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • ラックが使用できる状態にする作業 • データセンターチームに依頼を出す • ゴミ掃除 • マウントレール取り付け • 電源タップ取り付け • などなど 機材確保 -> ラック工事
  • 33.
    (C)Copyright 1996-2015 SAKURAInternet Inc. こんな感じでデータセンター チームの方々に作って もらいます ラック図
  • 34.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • WAN/LAN用スイッチの設定 • ネットワーク担当部署に依頼 • WAN側スイッチはエッジルータに接続 • LAN側スイッチはIPMI接続に使用するために使う • 使用可能なIPの割り出しなどもお願いする • 割り出された範囲からIP選んでDNS登録 ラック工事 -> ネットワーク設定
  • 35.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • ネットワーク構成 ※ 現状の構成と ※ 若干異なります
  • 36.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • データセンターチームにPXEブートしてもらう • その後パッケージスクリプトの適用 • 構築後の動作検証 • 監視の設定 • Terraformのようにコマンド一発で完了 とはいかない • 改善の余地がある ネットワーク設定 -> サーバ構築
  • 37.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • クラウドに比べるとどうしても 期間/人数/工数が長くなる • 1セグメント完了するまでおおよそ30日/10人 • 手順書ベースの作業(サーバ内オペレーション) • しかも手順書が更新されてない… • 作業者の力量に依存してしまっている 物理サーバ構築の辛み
  • 38.
    (C)Copyright 1996-2015 SAKURAInternet Inc. それでも困難な状況 を打開することに 面白さがあるのでは ないでしょうか? 再生の話
  • 39.
    (C)Copyright 1996-2015 SAKURAInternet Inc. (震え声) 本音
  • 40.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • 複数台のサーバを初期構築したいけど1台1台 作っていたのでは時間かかるしミスも起きる • tmuxのsynchronized-panesを利用する • paneを共有して別サーバに同じコマンドを 同時に実行できる機能 • 十数台ぐらいならこれでも何とかなる 暫定対策
  • 41.
    (C)Copyright 1996-2015 SAKURAInternet Inc. synchornized-panes
  • 42.
    (C)Copyright 1996-2015 SAKURAInternet Inc. とは言え根本解決 にはならない… この悲しみを解決 できるようにしたい! KONPON
  • 43.
    (C)Copyright 1996-2015 SAKURAInternet Inc. インフラの コード化 再生への道1
  • 44.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • インフラの状態をコードとして記述する • Gitで何時/誰が/何を変更したのか管理 • Pull Requestベースのインフラ開発 • サーバ内オペレーションの低減/属人性の排除 • 構成管理ツールの導入 別件で利用しているのでAnsibleが有力 再生への道1
  • 45.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • インフラをコード化したからには検証/テストも 同時にコード化(serverspec/infratasterなど) • ついでに監視登録も(Zabbix API) 再生への道1
  • 46.
    (C)Copyright 1996-2015 SAKURAInternet Inc. こんな感じで出来たらうれしい 設定投入&テスト実行 両方共OKだったら監視登録 ※ 本当はPXEブート時にAnsible ※ キックしてくれるとうれしい
  • 47.
    (C)Copyright 1996-2015 SAKURAInternet Inc. 手順書の整備 再生への道2
  • 48.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • とはいえ手動でオペレーションする所は必ずある • 現状と合っていない手順をアップデート • 手順書自体もバージョン管理したい • こちらもPull Requestベースの文書管理 再生への道2
  • 49.
    (C)Copyright 1996-2015 SAKURAInternet Inc. 構成の変更 再生への道3
  • 50.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • 必要なのかよく分からないけど今までやってた から続けているものをバッサリ変えたい • RRDtool使っている所あるけどZabbixにグラフ 情報を集約できるのでは • phpmyadminサーバの構成を変更 稼動系/待機系へ作ったサーバ二重登録している クラスタ構成に変更して無駄&SPOF排除 • などなど他にもいっぱい 再生への道3 いっぱいありまぁす!
  • 51.
    (C)Copyright 1996-2015 SAKURAInternet Inc. • 物理サーバの構築にはいろいろと辛みがある • Terraformのようにコマンド一発で 完了とはいかない • でも改善していくことに楽しさがある 辛いけど楽しい! まとめ
  • 52.
    (C)Copyright 1996-2015 SAKURAInternet Inc. 辛みはいっぱいある けど毎日悩みながら 楽しく仕事してます! 本音です!
  • 53.
    (C)Copyright 1996-2015 SAKURAInternet Inc. 最後に… 言わせて下さい
  • 54.
    (C)Copyright 1996-2015 SAKURAInternet Inc. さくらでは物理サーバとクラウド 両環境の良さを知りつつ より物理サーバの良い所を引き 出せるエンジニアを募集中です 一緒に悲しみを乗り越えましょう! 求人情報です
  • 55.
    (C)Copyright 1996-2015 SAKURAInternet Inc. ご静聴ありがとう ございました 終わり