はじめに
タイトル通りの通知がヘルスイベントから来たので対応します。
ただし対象のEC2は本番稼働中でして、そーゆー時(運用の観点)は何するの?でしたので調べました。
いくらぼくでも再起動の手順くらいわかるw
が、サービスインしてるコンテナでもないインスタンスの再起動ってどうやるの?って聞かれると意外と答えられず。。むむむ
作業環境
EC2(コンテナとかオーケストレーションとかしてない直立てのインスタンス)
mac
作業開始
1.ググる
古来からの伝統に則りググります。よきサイトが見つかりました、めっちゃわかりやすい。
4年前なので情報が現在と結構変わってますので脳内で読み替え。
https://sole-color-blog.com/blog/428/
システムリブートとインスタンスリブートで結構変わるんですね。
今回は通知内容からインスタンスリブート(のように読める)なので、基盤レイヤー側で再起動した場合に確認すべきこと・しておきたいことは省く。
というかまず公式ドキュメントを読むべきだった。。のでこちらも目を通します。
※先のサイトのリンクから飛びました
スケジューリングされたインスタンスの再起動をどう変更するのかとか、その前に手動でやっちゃってもいいよとかの具体的な手順が書いてますね。
その中でキーワードではないですがポイントになりそうな1文を発見。
DNS 名や IP アドレスといったユーザー設定は変わらず、ローカルインスタンスストアのデータにも影響はありません。
ということは再起動前後でユーザー設定が変わってないことを確認できればいい気がします。
02.検証作業
ブログと公式ドキュメントどちらにも書かれていますが、以下の項目をクリアできればOKですね。
1.パブリックDNS名が変更されていないか
2.プライベートIP(ついでにEIP)が変更されていないか
3.インスタンスストアに格納されたすべてのデータが保持されているか。消えていないか。
4.加えてsshできるかもリブート後にテスト
インスタンスストアだけやり方がわからないので調査。
リブートではデータはすべて保持されるとのこと。
蛇足ですが停止&終了では削除されるらしいので、覚えておこうと思います。
ここでちょっとハマる。インスタンスストアの概要は理解したのですが、具体的な手順は?何をどうするのかがわからない。
頭から煙が出てきてちょっと嫌になりましたがw、以下に記載がありました。
やっぱり公式ドキュメントですよね()!
df -hコマンドとlsblkでマウント状況を確認するようです。
コマンドの意味は以下の通り。
$ df -h
ファイルの空き容量を集計する。-hオプションは人間に読みやすくするHumanとのこと。
確かに読みやすいw
$ lsblk
現在利用できるブロックデバイスを一覧表示する。今回は特にオプションつけずこのままで。
お、先ほど列挙した条件、これで具体的な手順できそう!
1.パブリックDNS名が変更されていないか
→作業前後にRoute53で目視確認 ※ここコマンド化できる?
2.プライベートIP(ついでにEIP)が変更されていないか
→作業前後にコンソールで目視確認 ※ここコマンド化できる?
3.インスタンスストアに格納されたすべてのデータが保持されているか。消えていないか。
$ df -h
$ lsblk
4.加えてsshできるかもリブート後にテストします
$ ssh ホスト名 ※この手順は3.の前に行う
OSSでもSaasでもいいんですが、何かしらのサービス入れてるならリブート前後にサービスを止める必要があると思います。
もしくは自動起動にしとくとか。
おわりに
めっちゃ作業途中ですが今回は一旦ここでストップ。
ほぼ固まったのでこれベースで作業して、完了したタイミングで結果を追記したいと思います。
誰かのお役に立つ記事。。になることを目指してw