Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

データホテル・フルマネージドホスティング サービスを支えるOSSと、活用事例

5,635 views

Published on

「フルマネージドホスティングサービスを支えるOSSと活用事例」をテーマに、Sensuを中心とした管理ネットワークや、時間のかかる脆弱性診断をDockerで並列実行させるなど“現場ならでは工夫”を紹介します。

Published in: Technology
  • Be the first to comment

データホテル・フルマネージドホスティング サービスを支えるOSSと、活用事例

  1. 1. データホテル・フルマネージドホスティング サービスを支えるOSSと、活用事例 テコラス株式会社 データホテル事業部 2015年7月26日
  2. 2. テコラス株式会社は NHN PlayArt グループにおける BtoB 事業の中核 企業として、グローバル市場でも新しい価値を生み出すことのできる、 世界最高峰のテクノロジーカンパニーを目指します。 Thechnorolgy + Chorus → Techorus 東京都新宿区新宿6-27-30 新宿イーストサイドスクエア 13階 http://techorus.com
  3. 3. https://datahotel.jp データホテル事業部 • 2000.04 株式会社オン・ザ・エッヂ のデータセンター事業「データホテル」提供開始 • 2007.04 株式会社ライブドア 設立 • 2012.01 株式会社データホテルに商号変更 • 2014.11 テコラス株式会社に商号変更
  4. 4. FMH Full Managed Hosting Service
  5. 5. 近頃、対応する内容が 増えている!?
  6. 6.   お客様の関心事をヒアリング
  7. 7. クラウド
  8. 8. 33.0 67.0 利用している 利用していない 【出典】総務省 平成26年版 情報通信白書国内におけるクラウドサービスの利用状況 (%) 国内におけるクラウドサービスの利用動向 クラウド連携が必要なケースは多い。
  9. 9. 0 100 200 300 400 500 600 700 29日 30日 31日 1日 KVS Cache Web クラウド化 実機でも日次で増減などが普通のことに。 (台)
  10. 10. セキュリティ
  11. 11. クラウドサービスを利用しない理由(上位5) 【出典】総務省 平成26年版 情報通信白書国内におけるクラウドサービスの利用状況 (%) 平成25年末 (n=740) 42.8 37.4 22.9 21.9 15.7 0 5 10 15 20 25 30 35 40 45 必要がない 情報漏洩などセキュリティが心配 既存システムの改修コスト メリット不明。判断出来ない 安定性の不安
  12. 12. 894 5,288 5,186 7,937 0 2,000 4,000 6,000 8,000 10,000 1999 2012 2013 2014 新規脆弱性件数(件) 【出典】NTT Group 2015 グローバル脅威 インテリジェンス・レポート
  13. 13. • 監視システム • IT資産管理 • 脆弱性診断 フルマネージド・ホスティング 現場の工夫を紹介します。
  14. 14. 監視システム
  15. 15. DHW • データホテルのオリジナル • 主力の監視システム • 自社エンジニアによるオペレーション
  16. 16. DHW 【課題-1】監視の開始は手動 【課題-2】インタラクティブではない
  17. 17. 【課題-1】監視の開始は手動 増設時、特にオートスケール時は どうしよう? +OK OK ? 増設した分
  18. 18. 【課題-2】インタラクティブではない お客様からは状態が見えない
  19. 19. そこで!
  20. 20. • Rubyで作られた監視フレームワーク • 監視対象の増減に、容易に対応 • ダッシュボードでインタラクティブ
  21. 21. client check Sensu Client は自動的に 監視を開始 オートスケール時も安心 server
  22. 22. Dashboard Uchiwa / Grafana
  23. 23. Clients view Checks view
  24. 24. でも…現場の工夫は??
  25. 25. Juniper SRX Series NETCONF + Sensu !
  26. 26. NETCONF? http://www.janog.gr.jp/meeting/janog22/jointevent/data_3/netconf-01atarashi.pdf 【出典】IIJ [パネル討論] NETCONFの現状と今後 ネットワーク機器の設定を行うプロトコル • 遠隔制御 • 自動化
  27. 27. Security Associations の情報を取得して、VPN状態を監視 NETCONF + Sensu check Cloud Service st0.1 st0.2 Secure Tunnel が1つ切れたら warn 2つとも切れたら crit VPN
  28. 28. まず、HTTP-APIを作ろう API 他のアプリ 他のアプリ NETCONF Plug-in XML
  29. 29. https://github.com/Juniper/netconf-php Juniper / netconf-php
  30. 30. 監視サーバ ① Start ⑦ Check API ② HTTP Request ③ Request (NETCONF) ④ Response (XML) ⑥ JSON ⑧ 監視 Juniper SRX Series ⑤ XML → JSON client
  31. 31. IT資産管理
  32. 32. 日々増減するサーバの情報を 正確に管理したい
  33. 33. データストア サーバ ② プッシュ! ① 構成情報を取得 各サーバの自己申告に出来ないか?
  34. 34. ① 構成情報を取得 ohai • ホスト情報 • OS情報 • プログラミング言語 • 仮想環境設定情報 • その他、プラットフォーム固有の情報
  35. 35. ② プッシュ!+ データストア • サービス検出  タグによる分類 • DNS • ヘルスチェック • オーケストレーション  コマンドの一斉実行 • KVS
  36. 36. Consul KVS サーバ # ohai | curl http://localhost:8500/v1/kv/ohai/${HOSTNAME} -X PUT -d @- ① ohai ② プッシュ! ohaiで構成情報を取得。KVSにプッシュ
  37. 37. サーバ サーバ サーバ サーバ # consul exec 'ohai | curl http://localhost:8500/v1/kv/ohai/${HOSTNAME} -X PUT -d @-' Consul KVS Consul クラスタ 構成情報(JSON) クラスタ内の全サーバで実行
  38. 38. Consul GUI で確認
  39. 39. { "languages": { "perl": { "version": "5.10.1", "archname": "x86_64-linux-thread-multi" }, "c": { "gcc": { "version": "4.4.7", "description": "gcc version 4.4.7 20120313 (Red Hat 4.4.7-11)(GCC) " }, "glibc": { "version": "2.12", "description": "GNU C Library stable release version 2.12, by Roland McGrath et al." } }, "php": { "version": "5.6.9", "builddate": "May 15 2015 09:40:22", "zend_engine_version": "2.6.0" }, "lua": { "version": "5.1.4" }, "ruby": { "platform": "x86_64-linux", "version": "2.2.0", "release_date": "2014-12-25", "target": "x86_64-unknown-linux-gnu", "target_cpu": "x86_64", "target_vendor": "unknown", "target_os": "linux", "host": "x86_64-unknown-linux-gnu", "host_cpu": "x86_64", "host_os": "linux-gnu", "host_vendor": "unknown", "bin_dir": "/opt/rbenv/versions/2.2.0/bin", "ruby_bin": "/opt/rbenv/versions/2.2.0/bin/ruby", "gems_dir": "/opt/rbenv/versions/2.2.0/lib/ruby/gems/2.2.0", "gem_bin": "/opt/rbenv/versions/2.2.0/bin/gem" }, 構成情報を活用するためには、 アプリケーションが必要 Consul KVS
  40. 40. 例えば RackTables
  41. 41. { "languages": { "perl": { "version": "5.10.1", "archname": "x86_64-linux-thread-multi" }, "c": { "gcc": { "version": "4.4.7", "description": "gcc version 4.4.7 20120313 (Red Hat 4.4.7-11)(GCC) " }, "glibc": { "version": "2.12", "description": "GNU C Library stable release version 2.12, by Roland McGrath et al." } }, "php": { "version": "5.6.9", "builddate": "May 15 2015 09:40:22", "zend_engine_version": "2.6.0" }, "lua": { "version": "5.1.4" }, "ruby": { "platform": "x86_64-linux", "version": "2.2.0", "release_date": "2014-12-25", "target": "x86_64-unknown-linux-gnu", "target_cpu": "x86_64", "target_vendor": "unknown", "target_os": "linux", "host": "x86_64-unknown-linux-gnu", "host_cpu": "x86_64", "host_os": "linux-gnu", "host_vendor": "unknown", "bin_dir": "/opt/rbenv/versions/2.2.0/bin", "ruby_bin": "/opt/rbenv/versions/2.2.0/bin/ruby", "gems_dir": "/opt/rbenv/versions/2.2.0/lib/ruby/gems/2.2.0", "gem_bin": "/opt/rbenv/versions/2.2.0/bin/gem" }, Consul KVS MySQL JSON to DB RackTables
  42. 42. Rackspace view Rack view Object view Rack view
  43. 43. Rackspace view Network view Object view Network view
  44. 44. 脆弱性診断
  45. 45. 894 5,288 5,186 7,937 0 2,000 4,000 6,000 8,000 10,000 1999 2012 2013 2014 新規脆弱性件数(件) 【出典】NTT Group 2015 グローバル脅威 インテリジェンス・レポート
  46. 46. 新規脆弱性が年間8,000件 とても、把握できません…
  47. 47. 脆弱性診断が必要です。
  48. 48. 32.4 67.6 実施 未実施・不明 【出典】NRI 企業における情報セキュリティ実態調査 2014 第2版 脆弱性診断の実施率 (%)
  49. 49. プラットフォームの脆弱性  OS 、ミドルウェア アプリケーションの脆弱性
  50. 50. プラットフォームの脆弱性診断 http://www.openvas.org
  51. 51. OWASP ZAP Webアプリケーションの脆弱性診断 https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
  52. 52. 異なる診断を並列で実行したいのだけど…
  53. 53. OWASP ZAP OpenVAS docker イメージ 診断コンテナ 脆弱性診断 診断対象 コンテナ作成 診断コンテナ 診断対象 診断コンテナ 診断対象 … 診断終了
  54. 54. 診断コンテナ … 診断コンテナ docker ホスト 診断コンテナ … 診断コンテナ docker ホスト … Controller Application docker ホストを どんどん増やして拡張!
  55. 55. 診断コンテナ … 診断コンテナ docker ホスト Controller VPN お客様ネットワーク内の診断 リモートサイトも脆弱性診断 Application UIは共用
  56. 56. Managed & Secured Hosting Service
  57. 57. https://datahotel.io データホテル - テックブログ
  58. 58. ありがとうございました。 テコラス株式会社 データホテル事業部

×