SlideShare una empresa de Scribd logo
1 de 32
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
障害を防ぎ、
サービスを守るために
Gotanda.pm #6
Sep. 17, 2015
Kiyoshi Yasutake
DeNA Co., Ltd.
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
自己紹介
 安武 貴世志
 @key_amb (きいあむ)
 DeNA でインフラやってます。
 日々、障害/アラートと戦ってい
ます。
 DeNA 歴 7年弱
⁃ 1年目 => EC 開発
⁃ 2〜3年目 => ソシャゲ開発
⁃ 4年目〜 => インフラ
2
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
障害について
3
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
「障害は起こる」
by @papix
4
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
大事なこと(今日のアジェンダ)
 障害が起こる可能性を減らす
 起こり得る障害の影響を最小化する
 障害が起こったら、最速で収束させる
 同じ障害を繰り返さない
5
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
そもそも、障害とは
 辞書的な意味:「あることをするのに妨げとなるものや状況」
=> 「サービスが正常に利用できない状況」
 サービス利用者に不利益のある状況も障害となり得る
⁃ 例) ガチャの確率設定のミスでレアアイテムが出づらい状態だった
6
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
これは障害ではない
 サーバ故障 => エンドユーザに影響が出ていなければ障害ではない
 LOAD や CPU などのアラート => 同上
 監視漏れ … 障害に気づかないような監視漏れは無視できない
 コードが汚い … (実害がないので後回しにされがち)
7
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
本編
8
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
障害が起こる
可能性を減らす
9
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
障害が起こる可能性を減らす
 クラスタ化・冗長化
 負荷・エラーのモニタリング
 負荷・トラフィックの予測と見積り
 作業ミスを防ぐ
 テスト
⁃ 継続的インテグレーション
 レビュー
⁃ 開発 … 設計、実装(コーディング)
⁃ 運用
10
今日話すのは主にこの2つ
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
クラスタ化・冗長化
 SPOF をなくす(減らす)
⁃ クラスタ化する
• LB, レプリケーション, 分散システム, etc.
⁃ SPOF のない製品を選ぶ
• Mroonga => Elasticsearch
• RDB => NoSQL
 N+1, N+2, 2N
⁃ N … サービス提供に必要な台数
⁃ N+M … M が予備台数
• 基本は N+1 だが、稀に N+2 にすることもある
⁃ 例) 最小構成でも web は 3台にする
• 2N … DR (Disaster Recovery) 構成
11
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
負荷・エラーのモニタリング
 障害を未然に or 水際で食い止める
 Haikanko … エラー監視, ログ可視化
⁃ https://github.com/sonots/haikanko
⁃ Web UI から Fluentd クラスタを構築して、任
意のホストの任意のログを監視するツール
12
agent
agent
agentworker serializer
Yohoushi
Mail
IRC
図: Haikanko – Fluentd クラスタ略図
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Haikanko + Yohoushi によるログ可視化
 Yohoushi
⁃ https://github.com/yohoushi/yohoushi
⁃ Haikanko の Web UI で設定を書いてメトリクスを取れる
13
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
負荷・エラーのモニタリング
 他に…
⁃ Nagios, CloudForecast
⁃ DB/Web KPI 収集ツール
• daemon で性能指標を DB に突っ込む
• JAWS-UG Meguro #1 で少し触れました
 チームでやっていること
⁃ 週次の定点観測
• 傾向や異常値を確認して、必要に応じて調査や負荷対策を行う
14
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
起こり得る障害の
影響を最小化する
15
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
起こり得る障害の影響を最小化する
 冗長化時に、同じコンポーネントをばらばらの母艦やラック、AZに配置
する
 冗長化できないところをどうするか
⁃ DB Master=> MHA … ダウンタイムを最小化
 フェールセーフにしておく(安全弁を設ける)
⁃ 例) KVS が落ちても DB にフォールバックさせる
 Disaster Recovery
⁃ データセンターも絶対ではない
 AWS でも障害はある
⁃ インスタンス, EBS, 母艦障害
⁃ AWS 自体の障害
16
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Memcached の複数プロセス化
 ※実施時期は2012〜2013年ごろ
 Before
⁃ 1サーバに Memcached 1プロセス
⁃ 問題点 … 1台が落ちた時の影響が大きい
• 1プロセスのメモリ割当てが大きいので
 After
⁃ 1サーバに Memcached 複数プロセス
• 複数クラスタのプロセスを1サーバに同居させる
⁃ 1プロセスあたりのメモリ割当て(=データ格納量)を小さく
⁃ クラスタ全体としての Memcached プロセス数を増やす
=> 1台が落ちたときの影響を減らす
⁃ おまけ: リソース効率がよくなった
17
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Memcached の複数プロセス化
18
memd
memd
サーバ
クラスタA
クラスタB
memd
memd
memd
memd
クラスタB
クラスタB
クラスタA
クラスタA
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
障害が起こったら
最速で収束させる
19
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
障害が起こったら、最速で収束させる
 検知
⁃ 監視 => 異常通知(Mail, Slack, Tel)
 一次対応
⁃ 例) 異常のあったノードをサービスアウト, エラーの早期復旧
 その後 => 同じ障害を繰り返さない
20
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
PagerDuty
 https://www.pagerduty.com/
 Fatal => 架電
⁃ アラートと同時に担当者を起こす
 PagerDuty へのアラート送信
⁃ Nagios
⁃ Haikanko
⁃ アラートメール時にBccでPagerDutyにメール
 API を利用して週次で担当者をローテーション
21
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
check_slave (DeNA 内製デーモン)
 概要
⁃ MyDNS 環境用の死活監視 + 自動サービスイン/アウトツール
⁃ 元は DB Slave 用だったようだ => 名前の由来
⁃ 今は DB 以外も監視対象
⁃ 中身はゴリゴリ Perl で書いてます。
 何ができるか
⁃ 落ちたときに自動でサービスアウト
⁃ 復帰したときに自動でサービスイン
⁃ MyDNS エントリに対して LB や HAProxy 相当のことができる
⁃ 検知と一次対応が同時に出来るのがうれしい
 注意点
⁃ アプリケーション側で DNS キャッシュや永続接続されないように
注意が必要
22
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
check_slave
23
check_slave
MyDNS
<slave.foo.db>
mysql
http:9200
<bar.elasticsearch>
S-out
DEAD
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
check_slave
24
check_slave
<slave.foo.db>
mysql
http:9200
<bar.elasticsearch>
S-in
RECOVER
MyDNS
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
いざ障害が発生したら
 Webエンジニアが知っておきた
いインフラの基本(馬場俊彰)
 (引用)大障害のときの心構え
⁃ チームで役割分担する
• 司令塔は一人
⁃ 二次災害を起こさない
 同書の他のコンテンツ:
⁃ 障害を防ぐための冗長化や
監視
⁃ etc.
25
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
同じ障害を
繰り返さない
26
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
同じ障害を繰り返さない
 二度あることは三度ある
 恒久対応・再発防止を確実に
 振り返りも大事
27
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
まとめ
28
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
まとめ
 「障害は起こる」
 大事なこと
⁃ 未然に防ぐ
⁃ 影響を小さくする
⁃ 起こったときの対策・体制を整える
⁃ 繰り返さない
29
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
〜 We Are Hiring!! 〜
30
 http://dena.com/jp/recruit/career/engineer/
 http://denagames-tokyo.jp/
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
31
Thank You!!
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
参考
 Haikanko rubykaigi 20130531 (SlideShare)
 Yohoushi という分散 GrowthForecast グラフツールを作りました -
sonots:blog
 とある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
 Webエンジニアが知っておきたいインフラの基本(馬場俊彰)
32

Más contenido relacionado

La actualidad más candente

パブリッククラウド(AWS/Azure)のバックアップもVeeamで決まり! Veeam最新プロダクトご紹介セミナー
パブリッククラウド(AWS/Azure)のバックアップもVeeamで決まり! Veeam最新プロダクトご紹介セミナーパブリッククラウド(AWS/Azure)のバックアップもVeeamで決まり! Veeam最新プロダクトご紹介セミナー
パブリッククラウド(AWS/Azure)のバックアップもVeeamで決まり! Veeam最新プロダクトご紹介セミナー株式会社クライム
 
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017Kuniteru Asami
 
LagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDKLagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDKShuheiUda
 
ファイルサーバを高速バックアップ!Veeam NASバックアップのここがスゴイ!
ファイルサーバを高速バックアップ!Veeam NASバックアップのここがスゴイ!ファイルサーバを高速バックアップ!Veeam NASバックアップのここがスゴイ!
ファイルサーバを高速バックアップ!Veeam NASバックアップのここがスゴイ!株式会社クライム
 
2012年09月 仙台ICT復興支援クラウドフォーラム 発表資料
2012年09月 仙台ICT復興支援クラウドフォーラム 発表資料2012年09月 仙台ICT復興支援クラウドフォーラム 発表資料
2012年09月 仙台ICT復興支援クラウドフォーラム 発表資料Serverworks Co.,Ltd.
 
VMware on IBM CloudのためのVM移行/リストアとセキュリティ対策手法
VMware on IBM CloudのためのVM移行/リストアとセキュリティ対策手法VMware on IBM CloudのためのVM移行/リストアとセキュリティ対策手法
VMware on IBM CloudのためのVM移行/リストアとセキュリティ対策手法株式会社クライム
 
01 にしうち awsを簡単にご紹介_001
01 にしうち awsを簡単にご紹介_00101 にしうち awsを簡単にご紹介_001
01 にしうち awsを簡単にご紹介_001充博 大崎
 
02 citynet awsセミナー_活用事例(やってみた)
02 citynet awsセミナー_活用事例(やってみた)02 citynet awsセミナー_活用事例(やってみた)
02 citynet awsセミナー_活用事例(やってみた)充博 大崎
 
Azure Stack Hybrid DevOpsデモンストレーション
Azure Stack Hybrid DevOpsデモンストレーションAzure Stack Hybrid DevOpsデモンストレーション
Azure Stack Hybrid DevOpsデモンストレーションMasahiko Ebisuda
 
脱Oracle!脱オンプレ!DBのコスト削減のための移行・連携セミナー
脱Oracle!脱オンプレ!DBのコスト削減のための移行・連携セミナー脱Oracle!脱オンプレ!DBのコスト削減のための移行・連携セミナー
脱Oracle!脱オンプレ!DBのコスト削減のための移行・連携セミナー株式会社クライム
 
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
04 citynet awsセミナー_クラウドでビックデータのスモールスタート04 citynet awsセミナー_クラウドでビックデータのスモールスタート
04 citynet awsセミナー_クラウドでビックデータのスモールスタート充博 大崎
 
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」Serverworks Co.,Ltd.
 
Microsoft Azureを使ったバックアップの基礎
Microsoft Azureを使ったバックアップの基礎Microsoft Azureを使ったバックアップの基礎
Microsoft Azureを使ったバックアップの基礎Tetsuya Yokoyama
 
03 citynet awsセミナー_クラウドデザインパターン(中小企業、自治体)
03 citynet awsセミナー_クラウドデザインパターン(中小企業、自治体)03 citynet awsセミナー_クラウドデザインパターン(中小企業、自治体)
03 citynet awsセミナー_クラウドデザインパターン(中小企業、自治体)充博 大崎
 
クラウド運用3足の草鞋151102
クラウド運用3足の草鞋151102クラウド運用3足の草鞋151102
クラウド運用3足の草鞋151102Keiichi Hashimoto
 
Introduction of Azure Database for MySQL / PostgreSQL
Introduction of Azure Database for MySQL / PostgreSQLIntroduction of Azure Database for MySQL / PostgreSQL
Introduction of Azure Database for MySQL / PostgreSQLKuniteru Asami
 
2011年12月 アタックス共同セミナー「先行投資を最小化するクラウドの最新事情」
2011年12月 アタックス共同セミナー「先行投資を最小化するクラウドの最新事情」2011年12月 アタックス共同セミナー「先行投資を最小化するクラウドの最新事情」
2011年12月 アタックス共同セミナー「先行投資を最小化するクラウドの最新事情」Serverworks Co.,Ltd.
 
2012年02月 CloudDays 上司を説得してAWS利用をOKさせる3つのポイント
2012年02月 CloudDays 上司を説得してAWS利用をOKさせる3つのポイント2012年02月 CloudDays 上司を説得してAWS利用をOKさせる3つのポイント
2012年02月 CloudDays 上司を説得してAWS利用をOKさせる3つのポイントServerworks Co.,Ltd.
 
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~ShuheiUda
 
Ansible はじめてみました
Ansible はじめてみましたAnsible はじめてみました
Ansible はじめてみましたTakeshi Kuramochi
 

La actualidad más candente (20)

パブリッククラウド(AWS/Azure)のバックアップもVeeamで決まり! Veeam最新プロダクトご紹介セミナー
パブリッククラウド(AWS/Azure)のバックアップもVeeamで決まり! Veeam最新プロダクトご紹介セミナーパブリッククラウド(AWS/Azure)のバックアップもVeeamで決まり! Veeam最新プロダクトご紹介セミナー
パブリッククラウド(AWS/Azure)のバックアップもVeeamで決まり! Veeam最新プロダクトご紹介セミナー
 
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
 
LagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDKLagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDK
 
ファイルサーバを高速バックアップ!Veeam NASバックアップのここがスゴイ!
ファイルサーバを高速バックアップ!Veeam NASバックアップのここがスゴイ!ファイルサーバを高速バックアップ!Veeam NASバックアップのここがスゴイ!
ファイルサーバを高速バックアップ!Veeam NASバックアップのここがスゴイ!
 
2012年09月 仙台ICT復興支援クラウドフォーラム 発表資料
2012年09月 仙台ICT復興支援クラウドフォーラム 発表資料2012年09月 仙台ICT復興支援クラウドフォーラム 発表資料
2012年09月 仙台ICT復興支援クラウドフォーラム 発表資料
 
VMware on IBM CloudのためのVM移行/リストアとセキュリティ対策手法
VMware on IBM CloudのためのVM移行/リストアとセキュリティ対策手法VMware on IBM CloudのためのVM移行/リストアとセキュリティ対策手法
VMware on IBM CloudのためのVM移行/リストアとセキュリティ対策手法
 
01 にしうち awsを簡単にご紹介_001
01 にしうち awsを簡単にご紹介_00101 にしうち awsを簡単にご紹介_001
01 にしうち awsを簡単にご紹介_001
 
02 citynet awsセミナー_活用事例(やってみた)
02 citynet awsセミナー_活用事例(やってみた)02 citynet awsセミナー_活用事例(やってみた)
02 citynet awsセミナー_活用事例(やってみた)
 
Azure Stack Hybrid DevOpsデモンストレーション
Azure Stack Hybrid DevOpsデモンストレーションAzure Stack Hybrid DevOpsデモンストレーション
Azure Stack Hybrid DevOpsデモンストレーション
 
脱Oracle!脱オンプレ!DBのコスト削減のための移行・連携セミナー
脱Oracle!脱オンプレ!DBのコスト削減のための移行・連携セミナー脱Oracle!脱オンプレ!DBのコスト削減のための移行・連携セミナー
脱Oracle!脱オンプレ!DBのコスト削減のための移行・連携セミナー
 
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
04 citynet awsセミナー_クラウドでビックデータのスモールスタート04 citynet awsセミナー_クラウドでビックデータのスモールスタート
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
 
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
2012年03月 経済産業省セミナー「クラウドは敵か?味方か?」
 
Microsoft Azureを使ったバックアップの基礎
Microsoft Azureを使ったバックアップの基礎Microsoft Azureを使ったバックアップの基礎
Microsoft Azureを使ったバックアップの基礎
 
03 citynet awsセミナー_クラウドデザインパターン(中小企業、自治体)
03 citynet awsセミナー_クラウドデザインパターン(中小企業、自治体)03 citynet awsセミナー_クラウドデザインパターン(中小企業、自治体)
03 citynet awsセミナー_クラウドデザインパターン(中小企業、自治体)
 
クラウド運用3足の草鞋151102
クラウド運用3足の草鞋151102クラウド運用3足の草鞋151102
クラウド運用3足の草鞋151102
 
Introduction of Azure Database for MySQL / PostgreSQL
Introduction of Azure Database for MySQL / PostgreSQLIntroduction of Azure Database for MySQL / PostgreSQL
Introduction of Azure Database for MySQL / PostgreSQL
 
2011年12月 アタックス共同セミナー「先行投資を最小化するクラウドの最新事情」
2011年12月 アタックス共同セミナー「先行投資を最小化するクラウドの最新事情」2011年12月 アタックス共同セミナー「先行投資を最小化するクラウドの最新事情」
2011年12月 アタックス共同セミナー「先行投資を最小化するクラウドの最新事情」
 
2012年02月 CloudDays 上司を説得してAWS利用をOKさせる3つのポイント
2012年02月 CloudDays 上司を説得してAWS利用をOKさせる3つのポイント2012年02月 CloudDays 上司を説得してAWS利用をOKさせる3つのポイント
2012年02月 CloudDays 上司を説得してAWS利用をOKさせる3つのポイント
 
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
 
Ansible はじめてみました
Ansible はじめてみましたAnsible はじめてみました
Ansible はじめてみました
 

Destacado

はじめての datadog
はじめての datadogはじめての datadog
はじめての datadogNaoya Nakazawa
 
SensuとPagerDutyを連携したお話
SensuとPagerDutyを連携したお話SensuとPagerDutyを連携したお話
SensuとPagerDutyを連携したお話晋也 古渡
 
東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015鉄次 尾形
 
Technology for reduce of mistakes - うっかりをなくす技術
Technology for reduce of mistakes - うっかりをなくす技術Technology for reduce of mistakes - うっかりをなくす技術
Technology for reduce of mistakes - うっかりをなくす技術karupanerura
 
クラウドネイティブなAWSの監視におけるモニタリング理論 - Datadog, Inc.
クラウドネイティブなAWSの監視におけるモニタリング理論 - Datadog, Inc.クラウドネイティブなAWSの監視におけるモニタリング理論 - Datadog, Inc.
クラウドネイティブなAWSの監視におけるモニタリング理論 - Datadog, Inc.Masahiro Hattori
 

Destacado (6)

はじめての datadog
はじめての datadogはじめての datadog
はじめての datadog
 
SensuとPagerDutyを連携したお話
SensuとPagerDutyを連携したお話SensuとPagerDutyを連携したお話
SensuとPagerDutyを連携したお話
 
東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015
 
Okinawapm#3
Okinawapm#3Okinawapm#3
Okinawapm#3
 
Technology for reduce of mistakes - うっかりをなくす技術
Technology for reduce of mistakes - うっかりをなくす技術Technology for reduce of mistakes - うっかりをなくす技術
Technology for reduce of mistakes - うっかりをなくす技術
 
クラウドネイティブなAWSの監視におけるモニタリング理論 - Datadog, Inc.
クラウドネイティブなAWSの監視におけるモニタリング理論 - Datadog, Inc.クラウドネイティブなAWSの監視におけるモニタリング理論 - Datadog, Inc.
クラウドネイティブなAWSの監視におけるモニタリング理論 - Datadog, Inc.
 

Similar a 障害を防ぎ、サービスを守るために #gotandapm

DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -Tomoya Kabe
 
DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月
DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月
DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月VirtualTech Japan Inc.
 
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AzareaCluster
 
NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野livedoor
 
DeNAでのVertica運用
DeNAでのVertica運用DeNAでのVertica運用
DeNAでのVertica運用Shota Suzuki
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCIToshiyuki Hirata
 
キャパシティ プランニング
キャパシティ プランニングキャパシティ プランニング
キャパシティ プランニング外道 父
 
Cloudera impala
Cloudera impalaCloudera impala
Cloudera impala外道 父
 
物理サーバとクラウドの運用管理の違い 2010 03 24 馬場
物理サーバとクラウドの運用管理の違い 2010 03 24 馬場物理サーバとクラウドの運用管理の違い 2010 03 24 馬場
物理サーバとクラウドの運用管理の違い 2010 03 24 馬場Toshiaki Baba
 
[D12] 日立だからこだわる ~一貫性を追求した日立のインメモリ分散KVS~ by Masakata Kawanishi
[D12] 日立だからこだわる ~一貫性を追求した日立のインメモリ分散KVS~ by Masakata Kawanishi[D12] 日立だからこだわる ~一貫性を追求した日立のインメモリ分散KVS~ by Masakata Kawanishi
[D12] 日立だからこだわる ~一貫性を追求した日立のインメモリ分散KVS~ by Masakata KawanishiInsight Technology, Inc.
 
dbts osaka 2014 D13 hitachiKVS Masakata Kawanishi
dbts osaka 2014 D13 hitachiKVS Masakata Kawanishidbts osaka 2014 D13 hitachiKVS Masakata Kawanishi
dbts osaka 2014 D13 hitachiKVS Masakata KawanishiInsight Technology, Inc.
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Toshiyuki Hirata
 
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡心 谷本
 
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
DeNAの動画配信サービスを支えるインフラの内部  #denatechconDeNAの動画配信サービスを支えるインフラの内部  #denatechcon
DeNAの動画配信サービスを支えるインフラの内部 #denatechconDeNA
 
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdfDeno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf虎の穴 開発室
 
FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術dena_study
 
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)Toshiharu Sugiyama
 
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechconDeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechconDeNA
 

Similar a 障害を防ぎ、サービスを守るために #gotandapm (20)

DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -
 
DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月
DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月
DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月
 
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)
 
NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野
 
DeNAでのVertica運用
DeNAでのVertica運用DeNAでのVertica運用
DeNAでのVertica運用
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCI
 
キャパシティ プランニング
キャパシティ プランニングキャパシティ プランニング
キャパシティ プランニング
 
Cloudera impala
Cloudera impalaCloudera impala
Cloudera impala
 
物理サーバとクラウドの運用管理の違い 2010 03 24 馬場
物理サーバとクラウドの運用管理の違い 2010 03 24 馬場物理サーバとクラウドの運用管理の違い 2010 03 24 馬場
物理サーバとクラウドの運用管理の違い 2010 03 24 馬場
 
[D12] 日立だからこだわる ~一貫性を追求した日立のインメモリ分散KVS~ by Masakata Kawanishi
[D12] 日立だからこだわる ~一貫性を追求した日立のインメモリ分散KVS~ by Masakata Kawanishi[D12] 日立だからこだわる ~一貫性を追求した日立のインメモリ分散KVS~ by Masakata Kawanishi
[D12] 日立だからこだわる ~一貫性を追求した日立のインメモリ分散KVS~ by Masakata Kawanishi
 
dbts osaka 2014 D13 hitachiKVS Masakata Kawanishi
dbts osaka 2014 D13 hitachiKVS Masakata Kawanishidbts osaka 2014 D13 hitachiKVS Masakata Kawanishi
dbts osaka 2014 D13 hitachiKVS Masakata Kawanishi
 
Sr econt
Sr econtSr econt
Sr econt
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
 
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
 
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
DeNAの動画配信サービスを支えるインフラの内部  #denatechconDeNAの動画配信サービスを支えるインフラの内部  #denatechcon
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
 
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdfDeno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
 
FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術
 
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
 
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
 
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechconDeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
 

Más de IKEDA Kiyoshi

M3の医療webサービス群を支える基盤技術
M3の医療webサービス群を支える基盤技術M3の医療webサービス群を支える基盤技術
M3の医療webサービス群を支える基盤技術IKEDA Kiyoshi
 
Archimedes API基盤の作り方
Archimedes API基盤の作り方Archimedes API基盤の作り方
Archimedes API基盤の作り方IKEDA Kiyoshi
 
grifork - fast propagative task runner -
grifork - fast propagative task runner -grifork - fast propagative task runner -
grifork - fast propagative task runner -IKEDA Kiyoshi
 
Introduction to poloxy - proxy for alerting
Introduction to poloxy - proxy for alertingIntroduction to poloxy - proxy for alerting
Introduction to poloxy - proxy for alertingIKEDA Kiyoshi
 
"fireap" - fast task runner on consul
"fireap" - fast task runner on consul"fireap" - fast task runner on consul
"fireap" - fast task runner on consulIKEDA Kiyoshi
 
Introduction to koyomi #appkoyomi
Introduction to koyomi #appkoyomiIntroduction to koyomi #appkoyomi
Introduction to koyomi #appkoyomiIKEDA Kiyoshi
 

Más de IKEDA Kiyoshi (6)

M3の医療webサービス群を支える基盤技術
M3の医療webサービス群を支える基盤技術M3の医療webサービス群を支える基盤技術
M3の医療webサービス群を支える基盤技術
 
Archimedes API基盤の作り方
Archimedes API基盤の作り方Archimedes API基盤の作り方
Archimedes API基盤の作り方
 
grifork - fast propagative task runner -
grifork - fast propagative task runner -grifork - fast propagative task runner -
grifork - fast propagative task runner -
 
Introduction to poloxy - proxy for alerting
Introduction to poloxy - proxy for alertingIntroduction to poloxy - proxy for alerting
Introduction to poloxy - proxy for alerting
 
"fireap" - fast task runner on consul
"fireap" - fast task runner on consul"fireap" - fast task runner on consul
"fireap" - fast task runner on consul
 
Introduction to koyomi #appkoyomi
Introduction to koyomi #appkoyomiIntroduction to koyomi #appkoyomi
Introduction to koyomi #appkoyomi
 

Último

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Último (8)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

障害を防ぎ、サービスを守るために #gotandapm

  • 1. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 障害を防ぎ、 サービスを守るために Gotanda.pm #6 Sep. 17, 2015 Kiyoshi Yasutake DeNA Co., Ltd.
  • 2. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 自己紹介  安武 貴世志  @key_amb (きいあむ)  DeNA でインフラやってます。  日々、障害/アラートと戦ってい ます。  DeNA 歴 7年弱 ⁃ 1年目 => EC 開発 ⁃ 2〜3年目 => ソシャゲ開発 ⁃ 4年目〜 => インフラ 2
  • 3. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 障害について 3
  • 4. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 「障害は起こる」 by @papix 4
  • 5. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 大事なこと(今日のアジェンダ)  障害が起こる可能性を減らす  起こり得る障害の影響を最小化する  障害が起こったら、最速で収束させる  同じ障害を繰り返さない 5
  • 6. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. そもそも、障害とは  辞書的な意味:「あることをするのに妨げとなるものや状況」 => 「サービスが正常に利用できない状況」  サービス利用者に不利益のある状況も障害となり得る ⁃ 例) ガチャの確率設定のミスでレアアイテムが出づらい状態だった 6
  • 7. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. これは障害ではない  サーバ故障 => エンドユーザに影響が出ていなければ障害ではない  LOAD や CPU などのアラート => 同上  監視漏れ … 障害に気づかないような監視漏れは無視できない  コードが汚い … (実害がないので後回しにされがち) 7
  • 8. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 本編 8
  • 9. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 障害が起こる 可能性を減らす 9
  • 10. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 障害が起こる可能性を減らす  クラスタ化・冗長化  負荷・エラーのモニタリング  負荷・トラフィックの予測と見積り  作業ミスを防ぐ  テスト ⁃ 継続的インテグレーション  レビュー ⁃ 開発 … 設計、実装(コーディング) ⁃ 運用 10 今日話すのは主にこの2つ
  • 11. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. クラスタ化・冗長化  SPOF をなくす(減らす) ⁃ クラスタ化する • LB, レプリケーション, 分散システム, etc. ⁃ SPOF のない製品を選ぶ • Mroonga => Elasticsearch • RDB => NoSQL  N+1, N+2, 2N ⁃ N … サービス提供に必要な台数 ⁃ N+M … M が予備台数 • 基本は N+1 だが、稀に N+2 にすることもある ⁃ 例) 最小構成でも web は 3台にする • 2N … DR (Disaster Recovery) 構成 11
  • 12. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 負荷・エラーのモニタリング  障害を未然に or 水際で食い止める  Haikanko … エラー監視, ログ可視化 ⁃ https://github.com/sonots/haikanko ⁃ Web UI から Fluentd クラスタを構築して、任 意のホストの任意のログを監視するツール 12 agent agent agentworker serializer Yohoushi Mail IRC 図: Haikanko – Fluentd クラスタ略図
  • 13. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Haikanko + Yohoushi によるログ可視化  Yohoushi ⁃ https://github.com/yohoushi/yohoushi ⁃ Haikanko の Web UI で設定を書いてメトリクスを取れる 13
  • 14. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 負荷・エラーのモニタリング  他に… ⁃ Nagios, CloudForecast ⁃ DB/Web KPI 収集ツール • daemon で性能指標を DB に突っ込む • JAWS-UG Meguro #1 で少し触れました  チームでやっていること ⁃ 週次の定点観測 • 傾向や異常値を確認して、必要に応じて調査や負荷対策を行う 14
  • 15. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 起こり得る障害の 影響を最小化する 15
  • 16. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 起こり得る障害の影響を最小化する  冗長化時に、同じコンポーネントをばらばらの母艦やラック、AZに配置 する  冗長化できないところをどうするか ⁃ DB Master=> MHA … ダウンタイムを最小化  フェールセーフにしておく(安全弁を設ける) ⁃ 例) KVS が落ちても DB にフォールバックさせる  Disaster Recovery ⁃ データセンターも絶対ではない  AWS でも障害はある ⁃ インスタンス, EBS, 母艦障害 ⁃ AWS 自体の障害 16
  • 17. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Memcached の複数プロセス化  ※実施時期は2012〜2013年ごろ  Before ⁃ 1サーバに Memcached 1プロセス ⁃ 問題点 … 1台が落ちた時の影響が大きい • 1プロセスのメモリ割当てが大きいので  After ⁃ 1サーバに Memcached 複数プロセス • 複数クラスタのプロセスを1サーバに同居させる ⁃ 1プロセスあたりのメモリ割当て(=データ格納量)を小さく ⁃ クラスタ全体としての Memcached プロセス数を増やす => 1台が落ちたときの影響を減らす ⁃ おまけ: リソース効率がよくなった 17
  • 18. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Memcached の複数プロセス化 18 memd memd サーバ クラスタA クラスタB memd memd memd memd クラスタB クラスタB クラスタA クラスタA
  • 19. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 障害が起こったら 最速で収束させる 19
  • 20. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 障害が起こったら、最速で収束させる  検知 ⁃ 監視 => 異常通知(Mail, Slack, Tel)  一次対応 ⁃ 例) 異常のあったノードをサービスアウト, エラーの早期復旧  その後 => 同じ障害を繰り返さない 20
  • 21. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. PagerDuty  https://www.pagerduty.com/  Fatal => 架電 ⁃ アラートと同時に担当者を起こす  PagerDuty へのアラート送信 ⁃ Nagios ⁃ Haikanko ⁃ アラートメール時にBccでPagerDutyにメール  API を利用して週次で担当者をローテーション 21
  • 22. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. check_slave (DeNA 内製デーモン)  概要 ⁃ MyDNS 環境用の死活監視 + 自動サービスイン/アウトツール ⁃ 元は DB Slave 用だったようだ => 名前の由来 ⁃ 今は DB 以外も監視対象 ⁃ 中身はゴリゴリ Perl で書いてます。  何ができるか ⁃ 落ちたときに自動でサービスアウト ⁃ 復帰したときに自動でサービスイン ⁃ MyDNS エントリに対して LB や HAProxy 相当のことができる ⁃ 検知と一次対応が同時に出来るのがうれしい  注意点 ⁃ アプリケーション側で DNS キャッシュや永続接続されないように 注意が必要 22
  • 23. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. check_slave 23 check_slave MyDNS <slave.foo.db> mysql http:9200 <bar.elasticsearch> S-out DEAD
  • 24. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. check_slave 24 check_slave <slave.foo.db> mysql http:9200 <bar.elasticsearch> S-in RECOVER MyDNS
  • 25. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. いざ障害が発生したら  Webエンジニアが知っておきた いインフラの基本(馬場俊彰)  (引用)大障害のときの心構え ⁃ チームで役割分担する • 司令塔は一人 ⁃ 二次災害を起こさない  同書の他のコンテンツ: ⁃ 障害を防ぐための冗長化や 監視 ⁃ etc. 25
  • 26. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 同じ障害を 繰り返さない 26
  • 27. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 同じ障害を繰り返さない  二度あることは三度ある  恒久対応・再発防止を確実に  振り返りも大事 27
  • 28. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. まとめ 28
  • 29. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. まとめ  「障害は起こる」  大事なこと ⁃ 未然に防ぐ ⁃ 影響を小さくする ⁃ 起こったときの対策・体制を整える ⁃ 繰り返さない 29
  • 30. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 〜 We Are Hiring!! 〜 30  http://dena.com/jp/recruit/career/engineer/  http://denagames-tokyo.jp/
  • 31. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 31 Thank You!!
  • 32. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 参考  Haikanko rubykaigi 20130531 (SlideShare)  Yohoushi という分散 GrowthForecast グラフツールを作りました - sonots:blog  とある AWS サービスの運用移管〜データストア編〜 #jawsmeguro  Webエンジニアが知っておきたいインフラの基本(馬場俊彰) 32