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
aws_save_ami.pdf
Search
Shintaro Fujiwara
August 03, 2019
Technology
0
250
aws_save_ami.pdf
技術者仲間における発表資料です。
by 藤原慎太郎
Shintaro Fujiwara
August 03, 2019
Tweet
Share
More Decks by Shintaro Fujiwara
See All by Shintaro Fujiwara
Moodleの開発者になれたよ
intrajp
0
1.2k
SELinux_howto_20190218.pdf
intrajp
0
250
PHP ハウトゥ
intrajp
0
230
Other Decks in Technology
See All in Technology
Developer Summit 2025 [14-D-1] Yuki Hattori
yuhattor
19
5.1k
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
550
Googleマップ/Earthが一般化した 地図タイルのイマ
mapconcierge4agu
1
200
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
660
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
740
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
320
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
100
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
890
Ask! NIKKEIの運用基盤と改善に向けた取り組み / NIKKEI TECH TALK #30
kaitomajima
1
450
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
7
1k
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
1
1.1k
Classmethod AI Talks(CATs) #15 司会進行スライド(2025.02.06) / classmethod-ai-talks-aka-cats_moderator-slides_vol15_2025-02-06
shinyaa31
0
170
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
The Invisible Side of Design
smashingmag
299
50k
How to train your dragon (web standard)
notwaldorf
90
5.8k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Designing for Performance
lara
604
68k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Designing for humans not robots
tammielis
250
25k
A designer walks into a library…
pauljervisheath
205
24k
The Pragmatic Product Professional
lauravandoore
32
6.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
4 Signs Your Business is Dying
shpigford
182
22k
Transcript
AWS 上の EC2 マシンの問題を解決した話 藤原慎太郎
AWSサーバ上の問題を直した話(私物サーバーの話で す) • 本日話さないこと • 1. 問題の真因(Root Cause)や、Fedora,Amazon Linux,SELinux について
• 2. AWS とは何か、実際の細かい手順等、あるいは、ベストプ ラクティスの詳細 • 3. 問題解決時のコマンド等の詳細
AWSサーバ上の問題を直した話(私物サーバーの話で す) • 1. トラブルの概要(sshでログインできなくなった) • 2. 今回、対処した方法 • 2-1.
スナップショット作成 • 2-2. スナップショットからボリューム作成 • 2-3. 別マシン(amazon linux)を立ててそこに上記ボ リュームをマウント • 2-4. 別マシン上でボリュームの内容を修正 • 2-5. 新たなボリュームをAMI(Amazon Machine Image) として、仮想マシンを再作成する
今回のアーキテクチャ • DNSは、no-ip を使っ ていま す。heavymetalhardr ock.no-ip.info • Elastic IPを登録
• サービスの概要 • Apache, PHP,PostgreSQL を 使ってます。 実際のサイト http://heavymetalhardrock.no-ip.info (参考) 山陰ペチパーズ発表資料 http://intrajp-public-for-web.s3-website-ap-northe php_howto_from_existing_site.pdf ( 約 2,000円/月 AWSのベストプラクティスに則っていない。)
1. トラブルの概要 • システムの制限値を超えてプロセスが開けるファイル数 を設定したところ、ssh で一瞬ログイン出来るが、すぐ ’ に Permission denied’
となって、続行できない。root ボ リュームが一つのみというマシン。 • • サービスは継続できており、運用上は特に問題はない。 • • 復旧方法も不明なため、しばらく(1ヵ月程)放置した。 • • (参考) • 上記トラブルは、手元の物理/仮想マシンでも再現可能です。手元にある物理/仮想マシンであれ ば、シングルモードから、問題を解決できます。
2.今回の対処(2-1. スナップショット作成) • EC2 について、少しお勉強したところ、以下の方 法を試した。 • • EC2 のページから、マシンインスタンスのスナッ
プショットを採る(その際、マシンを停止す る)。 • • (参考) スナップショットは、S3 に保存される(別リージョンに保存 できる)。
2.今回の対処(2.2スナップショットからボリューム作 成) • 取得したスナップショットから、ボリュームを作 成する。 • • (参考) ボリュームは、別マシンにマウントできる。
2.今回の対処(2.3別マシンを立てて、そこにマウントす る) • 作成したボリュームを、新たに立てたEC2インス タンスにマウントする。 • • 今回は、/dev/sdf1 として認識されたので、適当 なマウントポイントを作成してマウントしまし
た。 • (参考) 簡単にサーバーを立てられるのが、クラウドのよいところで す。
AMI -> スナップショット -> ボリューム • 解決手順1: • スナップショットを採 る、それをボリューム
化する、新たなマシン を立ち上げて、元のマ シンをボリューム化し たものをマウントす る。その中身を点検す る。 • SELinux の問題かも、 と思い立ち、audit.log を点検したところ、あ るファイルのラベルが 消えていた。 • また、あるファイルの ある設定をデフォルト 値に修正した。 • この解決策が正しいと 仮定して、ボリューム をAMI 化する。 元のマシン (Fedora28) 問題解決用 マシン (Amazon Linux)
2.今回の対処(2.4 別マシン上でボリュームの内容を修正 ) • 別マシン(Amazon Linux)のインスタンスにマウ ントした、元サーバーのスナップショットからボ リューム化したドライブの内容を編集します。 • •
新たなボリュームをAMI(Amazon Machine Image) として、仮想マシンを作成する • • (参考) 幸い、自分が行なった所業を思い出したので、修正可能でし た。 •
EC2 インスタンス -> スナップショット -> ボリューム -> AMI • 解決手順2:
• • 作成した AMI から 新たなEC2インスタ ンスを立ち上げる。 • ssh ログインする。 新しいマシン (Fedora28)
今回の対処(2.5 新たなボリュームをAMIとして、仮 想マシンを作成する) • AMI から新たなインスタンスを作成すれば、元の 内容と一緒のマシンができます(ID等は変わりま す)。 • Elastic
IP (Global IP)を関連づけて終了です。 • 今度は ssh できました。
教訓および反省事項 • そもそも、冗長化していない実マシンで試験をしてしまったの が間違い。 • でも、今回のようなトラブルの場合なら、修復できることがわ かった。 • 他の修復方法はなかったか? •
そもそも AWS のベストプラクティスはどうなっているのだろ う? • … 少なくとも4台のサーバーを立てる必要がある。 • クラウドの柔軟性を体感できた
参考サイト等 • 参考: • • blog「AWS に ssh できなくなったのを直した」 •
http://intrajp-computer.hatenadiary.jp/entry/2018/11/24/224817 • blog「AWS 上の EC2 サーバー上のトラブルを直した話」 • http://intrajp-computer.hatenadiary.jp/entry/2018/12/04/080857 • AWS のアイコンについて • https://dev.classmethod.jp/cloud/aws/aws-architecture-icons-2018/