Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
rakusmeetup-number-4-infrastructure
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
mekka
August 28, 2019
Technology
650
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
rakusmeetup-number-4-infrastructure
レンタルサーバでたびたび起こる障害について、対応と対策をお話させてもらおうとおもいます。
mekka
August 28, 2019
More Decks by mekka
See All by mekka
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
8.7k
ACK + kro で実現する K8s ネイティブな AWS リソース管理 / Achieving Kubernetes-native AWS resource management with ACK + kro
chmikata
0
990
OpenTelemetry x Datadog APM 多言語環境での計装戦略と実践 (削減前)/ instrumentation-strategies-and-practices-in-multilingual-environment-bef
chmikata
0
57
OpenTelemetry x Datadog APM 多言語環境での計装戦略と実践 / instrumentation-strategies-and-practices-in-multilingual-environment
chmikata
0
490
Kubernetes基盤における開発者体験 とセキュリティの両⽴ / Balancing developer experience and security in a Kubernetes-based environment
chmikata
0
1k
組織のSREを推進するためのPlatform EngineeringとEKS / Platform Engineering and EKS to drive SRE in your organization
chmikata
0
330
ArgoCDによるGitOps導入 / ArgoCD GitOps
chmikata
0
280
KEDAで始めるイベント駆動システム #k8snovice / keda-tutorial
chmikata
1
490
新サービス立ち上げに向けたCI/CD環境の構築
chmikata
0
3.1k
Other Decks in Technology
See All in Technology
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
260
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
1
480
Multica × 長期記憶:40個のミニプロジェクト管理
eiei114
1
250
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
680
Microsoft 365 Copilot chat -tekoälypalvelun tietosuojaongelmat
hponka
0
730
Gitは怖い?共有ワークスペースから始めるSnowflakeチーム開発
coco_se
0
160
消えない 動かない 効かない
yama3133
1
110
Omarchy Quattro の日本語設定周り
simosako
2
150
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
1
500
家のリアーキテクト・リファクタリング
suguruooki
0
120
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
920
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
4
2.1k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
270
Producing Creativity
orderedlist
PRO
348
41k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
520
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Optimizing for Happiness
mojombo
378
71k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
520
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
The Cost Of JavaScript in 2023
addyosmani
55
10k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Transcript
#RAKUSMeetup ©2019 RAKUS Co., Ltd. ©2019 RAKUS Co., Ltd. 障害対応と対策
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 自己紹介 • 名前:下西 章王 (しもにし
あきおう) • 出身:大阪府 • 趣味:ゴルフ、野球、モンハン、麻雀、etc… • 入社:2015年 4月 (5年目) • 業務内容: レンタルサーバの運用・保守 コーポレートサイト・サービスサイトの運用・保守 BlastMailの運用・保守
#RAKUSMeetup ©2019 RAKUS Co., Ltd. レンタルサーバとは • いわゆるPaaS • ネットワーク・OS・MWを提供。
• 主にウェブ・メールをお客様が利用しています。 • 今回は複数顧客が同居する共用レンタルサーバのお話
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 本日のテーマ 肝を冷やした話 インフラを運用していて ヒヤリハットって何があるだろう… ハットしたときには事故ってる…
#RAKUSMeetup ©2019 RAKUS Co., Ltd. ヒヤリハット体験 インフラあるあるかもしれないですが、 この辺がよくあるヒヤリ(アウト)なのかなーと。 ・stagingとproduct環境を間違えてリブートしちゃった。 ・rm
–rf /* をたたきそうになった。 ・障害対応 今回は障害対応についてお話させていただこうと思います。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 障害対応のお話 レンタルサーバで起こる障害対応 • スパム配送の踏み台にされてメール遅延 •
アクセス集中でサービスダウン • サーバの物理故障 がよく見かける障害です。 このあたりについて対応と対策についてお話しできればと。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 障害の分析
#RAKUSMeetup ©2019 RAKUS Co., Ltd. にはちの法則(パレートの法則) にはちの法則とは、マーケティング用語で、 「売り上げの80%を生み出しているのは、上位20%の顧客」 という法則。(専門じゃないので知りたい方は調べてみてください。) これを障害対応に置き換えれば、
「障害の80%を生み出しているのは、上位20%の原因」 つまり 「上位20%の原因を潰せば、80%の障害が減る」
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 本当に?
#RAKUSMeetup ©2019 RAKUS Co., Ltd. にはちの法則(パレートの法則) 0 20 40 60
80 100 120 140 160 180 200 スパム配送 アクセス集中 その他 物理故障 2015年 障害発生件数 スパム配送が9割 原因を1つ潰せば 約90%の障害を潰すことができる! ということでスパム配送についてみていきましょう。 約9割
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 共用サーバの対応方針
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 共用サーバの障害対応方針 1顧客が悪さをした場合、 顧客全体に影響があるため、即時対応が必要。 「1を捨て、全を守る。」という精神のもと、 心を鬼にして悪さをした顧客に対して対応。
例) A顧客 ←影響を受ける B顧客 ←悪さをした顧客 C顧客 ←影響を受ける ・ ・ Z顧客 ←影響を受ける
#RAKUSMeetup ©2019 RAKUS Co., Ltd. ではスパム配送がなぜ起こるの か見ていきましょう
#RAKUSMeetup ©2019 RAKUS Co., Ltd. スパム配送の原因 スパムが配送される原因としてあるあるなものが、 ・顧客のメールアカウントがクラックされる。 ・スパム配送プログラムが顧客環境に設置される。 上記がよくあるスパムの踏み台にされる原因です。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 顧客のメールアカウントがクラック 〇原因 ・顧客が設定しているパスワード強度が弱い。 そのためブルートフォースや辞書攻撃などでパスワードが破られる 〇対応
・クラックされているメールアカウントを 特定してパスワード変更
[email protected]
メールアカウントを クラック
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 顧客のメールアカウントがクラック 〇対策 ・パスワードポリシーの設定 ・ロックアウト値の設定 ・1時間あたりの送信数上限を設定
[email protected]
メールアカウントを クラック
#RAKUSMeetup ©2019 RAKUS Co., Ltd. スパム配送プログラム 〇原因 ・95%はWordpressを利用している顧客。 ・90%は特定の場所にプログラムを設置 〇対応
・プログラムを探して排除。 ・POSTリクエストが送られていることが多いため、 POSTリクエストに対してBasic認証を設定。 wp-content/uploads/spam.php Wordpressを クラック 設置 POSTリクエスト 1 2 3 4 4 4 4 4 4
#RAKUSMeetup ©2019 RAKUS Co., Ltd. スパム配送プログラム 〇対策 ・Wordpressの場合、スパム配送プログラムが 「wp-content/uploads/」に設置されているため、 .htaccessでphpが動かないように対策。
wp-content/uploads/spam.php Wordpressを クラック 設置 POSTリクエト 1 2 3 ここをブロック!
#RAKUSMeetup ©2019 RAKUS Co., Ltd. アクセス集中対策 「にはちの法則」のスライドで「スパム対策すれば9割の障害が減らせる」 と記載しましたが、 「そうは言っても他の対策も進めていきます。」
#RAKUSMeetup ©2019 RAKUS Co., Ltd. ではアクセス集中がなぜ起こる のか見ていきましょう
#RAKUSMeetup ©2019 RAKUS Co., Ltd. アクセス集中の話 アクセス集中が発生して、ウェブサーバが落ちる原因としてあるあるなのが ・顧客がテレビなどで放送されて、一時的にアクセスが増加した ・DDoS攻撃 ・etc
ウェブサーバはApacheを利用しているため、 Apacheのモジュールを利用した対策のお話をさせてもらいます。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. アクセス集中の話 ・mod_bw Apacheのモジュールで帯域制限や接続数上限を変えられるもの。 このモジュールをバーチャルホストごとに接続数上限を設定することで、 アクセス集中が発生したときに1ドメインだけ制限がかけられるようになる。
Apacheの接続数上限 > バーチャルホストごとの接続数 このように設定することで別顧客のサイトは落とされないようになる。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 対策の効果 にはちの法則で対策するべき障害ジャンルがわかったため 実際に対策してきた効果を確認していきましょう。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. にはちの法則の効果 192 14 4 1
126 2 4 0 0 50 100 150 200 250 スパム配送 アクセス集中 その他 物理故障 障害発生内容 2015年 障害件数 2018年 障害件数 スパム配送 … 約3.5割 アクセス集中 … 約8.5割 削減に成功!
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 実際にあった怖い話 障害の対応・対策の話はここまでです。 ここからは実際にあった物理故障で涙目になったお話。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 物理故障の恐怖
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 物理故障の話 物理的にサーバが故障してしまった時のお話です。 壊れて一番困るものが「ハードディスク」です。 このハードディスクはお客様のデータが入っている重要なもの。 そのためデータが消失しないようにRAIDという技術を使って
データが消失しないようにしています。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 物理故障の話 共用サーバのハードディスクはRAID10を使っています。 RAID0 … 2つ以上のハードディスクを1つのハードディスクと扱い、容量を大きくする技術
1つでもハードディスクが壊れれば復旧不可能 RAID1 … 2つのハードディスクを使って2本に同じデータを書き込む技術 1つのハードディスクが壊れても復旧が可能。2本壊れると復旧不可 RAID10 … RAID0とRAID1を組み合わせた技術。 RAID0 RAID1 RAID10
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 物理故障の話 昔はRAID1を利用していて、 RAID1のハードディスクの片方が故障したのを検知しました。 サーバを購入したベンダーの保守に入っているため、 ハードディスク交換をしてもらうことに…
データセンターへ入局し、 保守のエンジニアの方との会話を進めていると…
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 物理故障の話 下西 :では、ディスク交換の作業お願いします! 担当者:ではまずログを見させてもらいますね。 ログ確認中…
担当者:これ両方のディスクでエラーが出力されてますね。 リビルドはできないかもしれないです。 できたとしてもエラーも一緒にリビルドされる可能性があります。 下西 :ん?それってエラー出力されっぱなしということでしょうか?
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 物理故障の話 担当者:そうですね。 正常にリビルドが完了しないかもしれないです。 リビルドできないとなると環境の再構築になります。 その場合、データはすべて消えます。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 物理故障の話 やるしかない状況でだったのでディスク交換を実施。 ディスク交換作業が完了し、 リビルドが完了したときには特にエラーはなく、 環境の再構築はなくなりました。
ディスク故障マジ怖かったです。 リビルド中は割は涙目になりながら見守っていました。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. あとがき
#RAKUSMeetup ©2019 RAKUS Co., Ltd. あとがき どれだけ対策しても障害は発生してしまいます。 早期発見・早期対応が重要。 監視、対応フローを整備して、お客様にできるだけ迷惑をかけず、 我々エンジニアの障害対応時間も削減することを目指すことが大事。
トラブル対応は精神も削られ、焦って2次災害を起こすこともあるため 予行練習もやっておきましょう。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. あとがき そもそも障害の対策しようという話になったのも、 マンパワーで障害対応をしている時間がもったいないからです。 エンジニアは技術を使って世の中をよくすることがお仕事なので 障害や定常的な作業を削減して、エンジニアリングの時間を増やす。
という目的のもと、これからも頑張ります!
#RAKUSMeetup ©2019 RAKUS Co., Ltd. ご清聴ありがとうございました