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
JAWS-UG朝会_41_NakagawaAkihiro.pptx.pdf
Search
sam
January 17, 2023
Technology
2
1.2k
JAWS-UG朝会_41_NakagawaAkihiro.pptx.pdf
sam
January 17, 2023
Tweet
Share
More Decks by sam
See All by sam
20210422-JAWS-UG朝会-中川皓紘
anakagawa
0
160
20210407-ヤマムギvol.12-中川皓紘
anakagawa
0
270
Other Decks in Technology
See All in Technology
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
620
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
990
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
250
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
990
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
200
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
220
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
Featured
See All Featured
Bash Introduction
62gerente
608
210k
Speed Design
sergeychernyshev
24
610
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
4 Signs Your Business is Dying
shpigford
180
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Done Done
chrislema
181
16k
Practical Orchestrator
shlominoach
186
10k
Site-Speed That Sticks
csswizardry
0
23
Ruby is Unlike a Banana
tanoku
97
11k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Designing for humans not robots
tammielis
250
25k
Transcript
EC2にてDisk枯渇が発生した場合に何が 起きるのかと対応方法 ハンズラボ株式会社ハンズ事業部CRMグループSREチーム 中川皓紘 2023年01月17日 ハンズラボ株式会社 1
自己紹介 2 名前:中川皓紘(Nakagawa Akihiro) 経歴:2020/12 ~ ハンズラボ株式会社勤務 出身地:神奈川県 Twitter:@sam_eng3336 趣味:カメラ,
旅行, 技術検証, 最近リモワで太ったのでダイエット中 etc… ※写真はイメージです
早速本題へ! 3 皆様はDiskの管理や監視をしていますか!?
障害対応フロー(起動できる場合) 4 EC2へ接続できる場合 ・SSHで接続 ・SystemsManagerで接続 ・シリアルコンソールで接続 EC2へ接続できない場合 ・再起動 ・ユーザーデータによる対応 ・起動できないパターン時の対応など
Tips EBSの残容量を増やす方法に拡張という 選択肢があるがAL2の場合コマンドで パーティションを変更する必要があるので こういった場合には使いにくい
障害対応フロー(起動できない場合) 5 Step1 ・起動確認 ・CloudWatchのメトリックス等確認 ・Disk監視等あれば状況確認 Step2 ・障害中EC2インスタンスの停止 ・EBSのデタッチ ・復旧用EC2インスタンスにアタッチ
・復旧作業 Step3 ・復旧させたEBS Aを元のEC2へア タッチし直す ・起動テスト
6 一番汎用的に対応できそうなこのパタ ーンを検証してみた
EC2インスタンスを使って検証 7 これによりDisk枯渇状態を再現できた! ・現在のDisk残容量を確認 ・約6.5GBの残容量がある ・残容量不足を再現するために 6.6GBのファイルを作成する ・No space left
no deviceの警告が出ている ・Disk残容量0%状態になっていることを確認
障害を意図的に起こす 8 Disk枯渇状態から再起動実施 Diskが足りずOSが起動できない or ミドルウェアが立ち上がらない ・起動不可 ・起動はできるがセッションマネージャで接続できない
復旧手順(AWSコンソール上での作業) 9 Step1 障害を起こしたEC2インスタンスからEBSをデタッチ ※EC2は予め停止しておく Step2 復旧用EC2インスタンスに先程デタッチした EBSをアタッ チする Step3
復旧用EC2インスタンスを起動する
復旧手順(EC2内部での作業) 10 dfコマンドにてDisk状態を確認 ↓ 新規でアタッチしたEBSはマウントされない ・「sdf1」でアタッチしたが、インスタンス内部では「xvdf1」でアタッチされている ・そのまま「/dev/xvdf1」を「/mnt/ebs」にマウントを実施 ↓ ・エラーが発生してマウントできない
復旧手順(EC2内部での作業) 11 ・「/var/log/messages」にてエラー原因を確認 ・DiskのUUIDが重複しマウント不可になっている 「blkid」でDiskのUUIDを確認すると競合してることが確認できる
復旧手順(EC2内部での作業) 12 「mount」コマンドのオプション「 -o nouuid」を設定 ※今回は一時的なマウントなので UUIDの競合を無視
復旧手順(EC2内部での作業) 13 ・「du」コマンドで先程マウントした「 /mnt/ebs/*」内部のDiskを精査 ・今回作成したダミーファイルを確認 ・削除後Disk残容量を確認 Disk残容量が危険域から脱したので元の EBSへ再アタッチを実施する
復旧手順(EC2内部での作業) 14 ・復旧用EC2の「停止」を実行 ・復旧用EC2から対象のEBSをデタッチし元のEC2へアタッチ ・障害を起こしていたEC2を起動 ・EC2内部へ接続しDisk残容量を再度確認する
復旧手順(EC2内部での作業) 15 ・「du」コマンドで先程マウントした「 /mnt/ebs/*」内部のDiskを精査 ・今回作成したダミーファイルを確認 ・削除後Disk残容量を確認 無事復旧!
Copyright © All rights reserved. 製作者:中川皓紘 お わ り