Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
rakusmeetup-number-4-infrastructure
Search
mekka
August 28, 2019
Technology
0
560
rakusmeetup-number-4-infrastructure
レンタルサーバでたびたび起こる障害について、対応と対策をお話させてもらおうとおもいます。
mekka
August 28, 2019
Tweet
Share
More Decks by mekka
See All by mekka
ArgoCDによるGitOps導入 / ArgoCD GitOps
chmikata
0
70
KEDAで始めるイベント駆動システム #k8snovice / keda-tutorial
chmikata
1
340
新サービス立ち上げに向けたCI/CD環境の構築
chmikata
0
2.4k
rakusmeetup-number-4-operation
chmikata
1
630
Other Decks in Technology
See All in Technology
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
20241220_S3 tablesの使い方を検証してみた
handy
4
630
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
360
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
110
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
360
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
230
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
600
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
170
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
170
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
270
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
Optimising Largest Contentful Paint
csswizardry
33
3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
4 Signs Your Business is Dying
shpigford
181
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Making the Leap to Tech Lead
cromwellryan
133
9k
Being A Developer After 40
akosma
87
590k
Become a Pro
speakerdeck
PRO
26
5k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
A Philosophy of Restraint
colly
203
16k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
A Modern Web Designer's Workflow
chriscoyier
693
190k
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. ご清聴ありがとうございました