自由気ままに書いちゃおう

好きなことをつらつらと・・・

【AWS】メンテナンス通知の確認方法とEC2のホストメンテナンス(EC2 instance reboot flexible maintenance scheduled)について

AWSを利用していると、AWSからイベント通知を受け取ることがあります。
(メールやAWS管理コンソールで通知されます。)

例えば、EC2を利用していると、EC2が起動しているホストにてメンテナンスが発生することがあります。
メンテナンス通知時の確認方法と対処方法を記載致します。

■メンテナンス通知の確認方法

冒頭の通り、EC2を利用中、AWS側によるホストメンテナンスが稀に発生いたします。
その際、AWS管理コンソールでは画面右上の通知アイコン(=ベルマーク)にて
イベント内容を確認することができます。

f:id:guri2o1667:20210804151916p:plain

ホストメンテナンスの場合、上記の「予定された変更」に「1」のように数値がつきます。

■イベントタイプを確認

対処方法を記載する前に、
今回のメンテナンス内容とメンテナンスがどのようなイベントタイプなのかを確認しておいた方が良いです。

確認方法ですが、EC2コンソールの左ペインにある「イベント」をクリックすることで、右ペインに詳細が記載されますので、その中の「イベントタイプ」列(event type列)を確認します。

f:id:guri2o1667:20210804153521p:plain

f:id:guri2o1667:20210804154147p:plain

 

■EC2のイベントタイプ

EC2のイベントタイプは以下の通り5つ存在します。
※ほかのAWSリソース(RDSとか)の場合には、全然違うイベントタイプがありますので注意してください。ここではあくまでEC2について記載しております。

1.Instance Stop(インスタンスの停止)
  スケジュールされた時刻にインスタンスが停止します。
  起動すると、新しいホストに移行されます。

2.Instance retirement(インスタンスのリタイア)
  スケジュールされた時刻に、インスタンスは、Amazon EBS-backedで作成されたEC2の場合にはバックアップされるとインスタンスが停止します。
  Amazon Instance-storedで作成されたインスタンスの場合には削除されます。

3.Instance reboot(インスタンスの再起動)
  スケジュールされた時刻にインスタンスが再起動されます。

4.System reboot(システムの再起動)
  スケジュールされた時刻になると、インスタンスは再起動されます。

5.System maintenance(システムメンテナンス)
  スケジュールされた時刻になると、インスタンスはネットワークメンテナンスまたは電源のメンテナンスの影響を一時的に受ける場合があります。

この中で発生頻度が高いのは、3,4です。

■EC2 instance reboot flexible maintenance scheduled

では、EC2で発生するメンテナンス通知の中から、一つ具体例を取り上げてみます。
今回は比較的発生頻度が多い、「EC2 instance reboot flexible maintenance scheduled」についてです。

■メッセージ内容

詳細は割愛しますが、ざっくり説明すると、
「何も対処しないと、AWS側で決めた日時で勝手に対象のEC2を再起動するよ」
ってことです。

■対処方法

当該メンテナンスのイベントタイプがどれに該当するかによって、対処方法が変わります。
ただ、イベントタイプが「Instance Reboot」「System Reboot」の場合、対象のEC2がAmazon EBS-backedであれば、以下の3つの対象方法が選べます。

① EC2を手動で停止/起動
② AWS側が決めたスケジュールで自動的に停止/起動
③ 任意のスケジュールを設定し、その時が来たら自動的に停止/起動

■対処方法①EC2を手動で停止/起動

こちらはわかりやすいですが、自分の好きな時にメンテナンス対象のEC2を停止→起動するだけです。
これにより、ホスト側のメンテナンスによる自動的なEC2停止/起動を回避することができます。

■対処方法②AWS側が決めたスケジュールで自動的に停止/起動

これもわかりやすいです。
メンテナンス通知に記載されている日時に勝手に対象のEC2が停止/起動されます。

■対処方法③任意のスケジュールを設定し、その時が来たら自動的に停止/起動

これがわかりにくいです。
手動でEC2を停止/起動する(①)のでもなく、かと言ってAWS側のスケジュールによる自動的なEC2停止/起動(②)をしたくない場合に選択することになります。
任意のスケジュールを設定する方法ですが、
以下の通り右上にある「Actions」をクリックし、

f:id:guri2o1667:20210804161100p:plain

「Schedule event」もしくは「イベントをスケジュールする」をクリックします。
その後、「新しい開始時刻」で任意の時刻を入力します。
尚、ここで設定する新しい開始時刻は、"イベントデッドライン"より前に設定する必要があります。
設定内容を確認後に「保存」をクリックします。
※管理コンソール上での表示反映に数分かかります。

■EC2のイベントタイプでの注意事項

EC2のイベントタイプが「System Reboot(システム再起動)」の場合は注意が必要です。
ネットで検索するとAWS公式ページに以下の通りあり、パッと見ですが、
「手動でのEC2の停止/起動をしてもホスト側のメンテナンスによる自動再起動は回避できない」ようなミスリードをしてしまいます。

f:id:guri2o1667:20210804162305p:plain

ただ、実際記載されているのは、「システムを自分で再起動することはできない」であり、ここでいう"システム"とは"ホスト"のことです。
そのため、「または、~」からのところを含めてきちんと読むと、
Amazon EBS-BackedインスタンスとInstance-stored インスタンスで場合分けされて記載されており、
Amazon EBS-Backedインスタンスであれば停止/起動することでメンテナンス外の他のホストに移行できると記載があるため、対応としてはイベントタイプ「Instance reboot」とやることは変わりません。

■参考ページ

以下はAWS公式ページです。

インスタンスの予定されたイベント - Amazon Elastic Compute Cloud

EC2 の予定されたメンテナンスの理解と準備


以上です。