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
KYT の話 / 20180524-ssmjp-kyt
Search
ArctanX
May 24, 2018
Technology
0
330
KYT の話 / 20180524-ssmjp-kyt
ssmjp 201805 での発表資料(の一部)です。
(公開用に多少手を入れています)
ArctanX
May 24, 2018
Tweet
Share
More Decks by ArctanX
See All by ArctanX
ログ分析の話 / 20181207-ssmjp-logana
arctanx93
0
110
Other Decks in Technology
See All in Technology
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
370
CysharpのOSS群から見るModern C#の現在地
neuecc
1
3.1k
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
670
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
350
Lambdaと地方とコミュニティ
miu_crescent
2
370
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
570
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
860
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
Featured
See All Featured
Scaling GitHub
holman
458
140k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Teambox: Starting and Learning
jrom
133
8.8k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Building Applications with DynamoDB
mza
90
6.1k
Making Projects Easy
brettharned
115
5.9k
Six Lessons from altMBA
skipperchong
27
3.5k
GitHub's CSS Performance
jonrohan
1030
460k
Happy Clients
brianwarren
98
6.7k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Transcript
KYT の話 May 24, 2018 #ssmjp Hideaki Tanabe (@arctanx93)
最初に • 本プレゼン内容は、私の生涯(の一部)で得た経験や知識 が元になっていますが、特定の企業や団体等の意見を代 表するものではありません • 参考文献/引用元等の文言は、プレゼン資料向けに要約 等、手直ししている場合もあります • ケーススタディは説明用ですので、「そもそも、この設
定はダメ」「そもそも、こんなコマンドは打たない」等 の御指摘は(その通りかも知れませんが)ご容赦ください • 撮影画像のツイート/公開はご遠慮ください 2
自己紹介 • 田辺 英昭 (Hideaki Tanabe) • 1960年代末期に生まれる • 学生時代はいろいろプログラミングとかやっていました
➢ gzip (作者へのバグレポートやローカライズ(日本語対応)) ➢ LHtouch (フリーソフト) 等 ➢ ベクターのサイトにもあります • 2011年に ssmjp 初参加(#22) 3
今日のアジェンダ • KYT とは • 運用の観点で KYT をやってみる • ケーススタディ
• まとめ 4
KYT とは • 危険予知訓練 (きけんよちくんれん) は、工事や製造な どの作業に従事する作業者が、事故や災害を未然に防 ぐことを目的に、その作業に潜む危険を予想し、指摘 しあう訓練である。 •
ローマ字による表記 Kiken Yochi Training の頭文字を とって KYT (ケーワイティー)、あるいは KY 訓練/KY 活動(KYK)とも呼ぶ。 Wikipedia より (https://ja.wikipedia.org/wiki/危険予知訓練) 5 労働安全衛生法で職長・作業指揮・監督者は職長教育の受講が 義務付けられており、その中に危険予知訓練も含まれている
KYT とは 1. イラストシートを提示し、どんな危 険が潜んでいるか、意見を出し合う 2. 問題のある重要な危険性を絞り込む 3. 「あなたならどうする」を考えて意 見を出し合う
4. 「私たちはこうする」を絞り込む 5. 実際に現場で確認する指差し呼称項 目を唱和する 厚生労働省サイトより (http://anzeninfo.mhlw.go.jp/yougo/yougo40_1.html) 6
KYT とは ◆危険の例: • 踏み台が手すりに近く、腰の位置が 高いので、降りようとしてよろけた とき、手すりを超えて落ちる • 顔を近づけてペーパーがけしている ので、風で粉が飛び散り、目に入る
◆対策の例: • 踏み台を壁側に寄せる • 風上で作業をする 7 厚生労働省サイトより (http://anzeninfo.mhlw.go.jp/yougo/yougo40_1.html)
KYT とは • 他にも JAF Mate 誌の「危険予知」のコーナーでは、 自動車の運転席から見た視界の写真を題材に、数秒後に どのような事故に繋がりかねない危険を予知できるか、 訓練できる
(http://jafmate.jp/jmp/prediction_of_risks/) 8
運用の観点で KYT をやってみる IT の現場でも • オペミスや人為トラブルの防止 • 手順書のレビュー精度の向上 •
自動化の際のチェック処理 等の観点で、運用やオペレーションにも KYT が役立つ かも知れない!! というか、普通にやっているかも? 9
運用の観点で KYT をやってみる • ケーススタディを使って、オペミス等の危険を予知でき るか考えてみます • オペミスシナリオや対策についてはいろいろな考え方が あるので、正解を示しているわけではなく、あくまで一 例です
• 今時の(?)オペレーションの現場では、現実感の無い ケースばかりかも知れませんが、ご容赦ください 10
ケーススタディ 1 • Web サーバの設定にあたり、BASIC 認証の設定を別 のディレクトリにもコピーしようとして、以下の操作 を行いました # cd
△ /www2/dir2 # cp △ /www1/.htaccess △ /www1/.htpasswd △ . 11
ケーススタディ 1:危険予知 • Web サーバの設定にあたり、BASIC 認証の設定を別 のディレクトリにもコピーしようとして、以下の操作 を行いました # cd
△ /www2/dir2 # cp △ /www1/.htaccess △ /www1/.htpasswd △ . 12 どこが危険工程で、 何が起こりうるのか?
ケーススタディ 1:オペミスシナリオ例 # cd △ /www2/dir2 # cp △ /www1/.htaccess
△ /www1/.htpasswd△ . ここのドットを打ちそこなうと、 /www1/.htpasswd が /www1/.htaccess で 上書きされて、内容が消失してしまう 13 あなたならどうする/他に何が起こり得たか
ケーススタディ 1:対策例(諸説あります) • Enter 押す前に確認する • コピー先はドットではなく、フルパスで記述する • ファイルのバックアップを事前に取る •
cp に –i をつける ➢もし .htaccess と .htpasswd が逆なら、.htaccess の内容が消失して、設定次第では Web サイトが表示 されなくなってしまったかも知れない 14
ケーススタディ 2 • 多数のサーバの cron 設定を、一人で一晩で変更するこ とになりました # crontab △
–e で crontab を編集 15
ケーススタディ 2:危険予知 • 多数のサーバの cron 設定を、一人で一晩で変更するこ とになりました # crontab △
–e で crontab を編集 16 どこが危険工程で、 何が起こりうるのか?
ケーススタディ 2:オペミスシナリオ例 # crontab △ –e で crontab を編集 17
(夜間の繰り返し作業で集中力が途切れて) “e” の隣の “r” をタイプしてしまうと、 cron の設定が削除されてしまう あなたならどうする/他に何が起こり得たか
ケーススタディ 2:対策例(諸説あります) • Enter 押す前に確認する • crontab △ –l でバックアップを事前に取る
• 一人で一晩でやろうと思わずに、作業スケジュールや 作業体制を見直す • 作業対象サーバ台数が多いなら、スクリプト化や自動 化をする 18 ケーススタディ 1 と比べた場合、タイプミスである点は 同じだが、それに至った経緯が異なるため、対策案も変 わりうるということに注目したい
ケーススタディ 3 • 普段あまりサーバに直接ログインしない Web サイトの 担当者が、コンテンツのバックアップを取るために、 シェルからコマンドを打つことになりました # tar
△ cvzf △ html.tar.gz △ *.html 19
ケーススタディ 3:危険予知 • 普段あまりサーバに直接ログインしない Web サイトの 担当者が、コンテンツのバックアップを取るために、 シェルからコマンドを打つことになりました # tar
△ cvzf △ html.tar.gz △ *.html 20 どこが危険工程で、 何が起こりうるのか?
ケーススタディ 3:オペミスシナリオ例 # tar △ cvzf △ *.html 21 html.tar.gz
を指定し忘れると 何が起こるでしょう?
ケーススタディ 3:オペミスシナリオ例 # tar △ cvzf △ *.html 22 html.tar.gz
を指定し忘れると、”*.html” に マッチする最初の HTML ファイルがアーカイ ブファイルと見なされて、破壊されてしまう あなたならどうする/他に何が起こり得たか
ケーススタディ 3:対策例(諸説あります) • Enter 押す前に確認する • 作業用ディレクトリにコピーしてから固める • 別の慣れた人にやってもらった方がよかったかも? •
慣れない人がやるなら手順書化した方がよかったかも? 23
ケーススタディ 4:危険予知 • hostname コマンドでホストの FQDN を確認 24
ケーススタディ 4:オペミスシナリオ例 • hostname コマンドでホストの FQDN を確認 ➢hostname △ –f
の “-” が抜けて、ホスト名が “f” に設 定されてしまう 25
ケーススタディ 4:対策例 • hostname コマンドでホストの FQDN を確認 ➢hostname △ –f
の “-” が抜けて、ホスト名が “f” に設 定されてしまう ✓uname △ –n 等で代替する 26
ケーススタディ 5:危険予知 • kill △ -9 でプロセスを kill 27
ケーススタディ 5:オペミスシナリオ例 • kill △ -9 でプロセスを kill ➢“-” が抜けて、PID
9 のプロセスを kill 28
ケーススタディ 5:対策例 • kill △ -9 でプロセスを kill ➢“-” が抜けて、PID
9 のプロセスを kill ✓kill △ -KILL あるいは pkill 等で代替する 29
ケーススタディ 6:危険予知 • tar △ xvzf △ html.tar.gz 30
ケーススタディ 6:オペミスシナリオ例 • tar △ xvzf △ html.tar.gz ➢サイズを確認せずに展開して filesystem
full ◆これをオペミスと呼ぶかどうかは定義次第かも知れま せんが、避けなければならない状況には違いないで しょう 31
ケーススタディ:考察 • 今回はサーバ系のしかもコマンドミスばかり題材にし ましたが、他にも危険工程は(きっと)あります • 例えば、データセンタでのサーバ機器の設置/配線の ような物理的工事であれば、通信断やサービス断に繋 がるような危険もありうるでしょう • ある意味、経験者の持つ「あるある」に由来する危険
予知能力を未経験者に水平展開する営み(属人化防止) とも言えるでしょう 32
まとめ • KYT を通じて、いわゆる「危険工程」に対する「嗅覚」 を磨くことで、オペミスやトラブルを少しでも未然に防 げるようになれる(といいな) • 実際に失敗したり、ヒヤリハットを起こすことで個人の 経験値は増すとしても、暗黙知⇒形式知⇒共有知にしな いと、運用チームとしてはモッタイナイ
• KYT を通じて立案した対策は、手順書/自動化品質の向 上にも役立つ可能性がある • 手順書/ドキュメント重要 33
ありがとうございました 34