[アップデート]EC2メンテナンスイベントの実施タイミングを事前定義するイベントウィンドウが追加されました

EC2のホストメンテナンス時に適用するタイミングを事前に定義する機能のアップデートが追加されました!

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

Salam、AWS事業本部のニシヤマです。

EC2インスタンスのメンテナンスで発生するイベント(再起動、停止、終了)の実施時間帯を事前に定義することができるイベントウィンドウが設定できるようになりました。

https://aws.amazon.com/jp/about-aws/whats-new/2021/07/amazon-ec2-supports-custom-time-windows-scheduled-events/

注:実際のメンテナンスイベントがなかったためイベントウィンドウ設定の紹介のみとなります。

何ができるようになったのか

皆様もEC2インスタンスを運用していると遭遇する「EC2インスタンスのリタイア」。 今まではPersonal Health Dashboard(PHD)やメールなどで来た通知を確認し、その本文内に記載のイベント時刻に自動で適用(EC2インスタンスの停止)されるのを待ちその後に手動で起動するか、事前にイベント時刻前にスケジューリングをして手動でEC2インスタンスの停止・起動を実施する必要がありました。

EC2インスタンスは正常なのになぜかPowerOffされていた。

今回のアップデートではその適用スケジュールを事前に定義し、任意のEC2インスタンスに対して適用することが可能となりました。イメージとしてはRDSやElastiCacheで利用するメンテナンスウィンドウと同じですが、インスタンス単位での設定ではなくEC2に割り当てられたタグやDedicated Hostsの専用ホストIDを指定して適用対象を指定することが可能です。

考慮事項

利用するにあたって考慮する点は以下のとおりです。

  • すべてのイベントウィンドウ時間はUTC
  • 毎週のイベントウィンドウの最小期間は4時間
  • イベントウィンドウ内の時間範囲は、それぞれ少なくとも2時間である必要がある
  • イベントウィンドウに関連付けることができるターゲットタイプ(インスタンスID、専用ホストID、またはインスタンスタグ)は1つだけ
  • ターゲット(インスタンスID、専用ホストID、またはインスタンスタグ)は、1つのイベントウィンドウにのみ関連付けることが可能
  • 最大100個のインスタンスID、50個の専用ホストID、または50個のインスタンスタグをイベントウィンドウに関連付けることが可能。インスタンスタグは、任意の数のインスタンスに関連付けることが可能。
  • AWSリージョンごとに最大200のイベントウィンドウを作成可能
  • イベントウィンドウに関連付けられている複数のインスタンスでは、スケジュールされたイベントが同時に発生する可能性がある
  • AWSがすでにイベントをスケジュールしている場合、イベントウィンドウを変更しても、スケジュールされたイベントの時刻は変更されない。イベントに締め切り日がある場合は、イベントのスケジュールを変更可能。
  • スケジュールされたイベントの前にインスタンスを停止および開始が可能。これにより、インスタンスが新しいホストに移行され、スケジュールされたイベントは発生しなくなります。

詳しくは以下のドキュメントを確認して下さい。(2021/07/31時点で英語ドキュメントのみ) https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/event-windows.html

やってみる

ではやってみます。

まず、イベントウィンドウですがマネジメントコンソールのEC2のイベント画面に移動します。

次に右上のアクションからイベントウィンドウを管理をクリックします。

次にインスタンスイベントウィンドウを作成をクリックします。

イベントウィンドウを作成画面が開くので情報を入力していきます。

イベントウィンドウ名には適当な名前を入力します。

次にイベントウィンドウのスケジュールではCronスケジュールビルダー時間範囲での指定が可能です。今回はCronスケジュールビルダーを利用します。

リストから曜日を選択し、開始時刻、所要時間(最小4時間)を入力すると、自動でCron式が作成されます。

時間範囲の設定では例えば日曜日の0時から2時、水曜日の0時から2時のように複数のイベントウィンドウ時間帯を指定することが可能です。

次にターゲットの詳細で適用対象のターゲットを指定しますが、以下の方法で対象を指定が可能です。ターゲットは設定しなくてもイベントウィンドウの作成が可能なので先にスケジューリングしておいて後ほどターゲットEC2インスタンスを追加する事も可能です。

  • EC2に割り当てられたタグ
  • インスタンスID
  • Dedicated Hostsの専用ホストID

今回はインスタンスIDで指定します。入力が完了したら右下のイベントウィンドウを作成をクリックします。

イベントウィンドウの作成が完了しました。

作成したイベントウィンドウの実行タイミングや、ターゲットのインスタンスID、ターゲットのタグの確認が可能です。

これでイベントウィンドウの設定は完了です。これでEC2のメンテナンス通知が来ても安心して運用することができそうですね!

はじめにも記載しましたが、今回は都合よくメンテナンスイベントが無かったため実際にEC2に適用されるまでは確認できませんでした。以上です。

おわりに

いかがでしたでしょうか。 今までEC2のメンテナンスの通知が来た後にメンテナンス通知の予定に合わせてスケジュール調整してEC2の停止や再起動の対応を行っていた方も多いのではないでしょうか。 本番環境での利用には若干検討が必要になるかと思いますが、検証環境や開発環境の場合は今回のイベントウィンドウを利用する事でEC2メンテナンス対応の運用負荷を下げることが可能ではないかと思います。 この記事がどなたかのお役に立てば幸いです。

参考