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
520
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
160
Other Decks in Technology
See All in Technology
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
300
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
190
roppongirb_20250911
igaiga
1
240
Agile PBL at New Grads Trainings
kawaguti
PRO
1
450
AWSで始める実践Dagster入門
kitagawaz
1
700
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
120
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
980
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
2
260
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
580
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
250
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
70
11k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
The Language of Interfaces
destraynor
161
25k
Into the Great Unknown - MozCon
thekraken
40
2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
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