インスタンスの予定されたイベント
AWS は、再起動、停止/開始、またはリタイアなど、インスタンスのイベントを予定できます。これらのイベントは頻繁には発生しません。インスタンスのいずれかが予定されたイベントの影響を受ける場合、予定されたイベントの前に AWS アカウントに関連付けられた E メールアドレスに E メールが AWS から送信されます。この E メールは、開始日と終了日などのイベントの詳細を提供します。イベントによっては、イベントのタイミングを管理するアクションを実行できる場合があります。AWS は、Amazon CloudWatch Events によるモニタリングと管理が可能な AWS Health イベントも送信します。CloudWatch による AWS Health イベントのモニタリングの詳細については、「CloudWatch Events による AWS Health イベントのモニタリング」を参照してください。
スケジュールされたイベントは AWS によって管理されます。インスタンスのイベントをスケジュールすることはできません。AWS によりスケジュールされたイベントを表示したり、スケジュールされたイベント通知をカスタマイズして、E メールの通知からタグを追加または削除できます。また、スケジュールされた時刻にインスタンスの再起動やリタイア、停止などのアクションを実行できます。
予定されたイベントに通知を受け取ることができるようにアカウントの連絡先情報を更新するには、「アカウント設定」ページを参照してください。
インスタンスがスケジュールされたイベントの影響を受け、それが Auto Scaling グループの一部である場合、Amazon EC2 Auto Scaling はヘルスチェックの一部として最終的にそのインスタンスを置き換えるので、追加のアクションは必要ありません。Amazon EC2 Auto Scaling によって実行されるヘルスチェックの詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling インスタンスのヘルスチェック」を参照してください。
予定されたイベントのタイプ
Amazon EC2 では、インスタンスに関連して以下のタイプのイベントがスケジュールされた時刻に発生するようにできます。
-
インスタンスの停止: スケジュールされた時刻になると、インスタンスは停止します。再度起動すると、新しいホストに移行されます。Amazon EBS によってバックアップされるインスタンスにのみ適用されます。
-
Instance retirement (インスタンスのリタイア): スケジュールされた時刻に、インスタンスは、Amazon EBS によってバックアップされると停止し、インスタンスストアによってバックアップされると削除されます。
-
インスタンスの再起動: スケジュールされた時刻になると、インスタンスは再起動されます。
-
システムの再起動: スケジュールされた時刻になると、インスタンスのホストは再起動されます。
-
[System maintenance]: スケジュールされた時刻になると、インスタンスは、ネットワークメンテナンスまたは電源のメンテナンスの影響を一時的に受ける場合があります。
予定されたイベントの表示
予定されたイベントの通知を E メールで受信することに加え、以下のいずれかの方法を使用して予定されたイベントを確認できます。
- New console
-
コンソールを使用してインスタンスに予定されたイベントを表示するには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
ダッシュボードには、[Scheduled events] の下に関連付けられているイベントを持つすべてのリソースが表示されます。
-
詳細については、ナビゲーションペインで [イベント] を選択してください。イベントに関連付けられたリソースがすべて表示されます。イベントタイプ、リソースタイプ、アベイラビリティーゾーンなどの特性でフィルタリングできます。
- Old console
-
コンソールを使用してインスタンスに予定されたイベントを表示するには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
スケジュールされたイベントは、次の画面で表示できます。
-
ナビゲーションペインの [Events] を選択します。イベントに関連付けられたリソースがすべて表示されます。リソースタイプ、または特定のイベントのタイプでフィルタリングできます。リソースを選択すると、詳細を表示できます。
-
または、ナビゲーションペインで [EC2 Dashboard] を選択します。イベントに関連付けられているすべてのリソースが、[Scheduled Events] に表示されます。
-
一部のイベントは影響を受けるリソースにも表示されます。例えば、ナビゲーションペインの [インスタンス] を選択して、インスタンスを選択します。インスタンスに関連付けられたインスタンス停止またはインスタンスリタイアイベントがある場合、そのイベントが下のペインに表示されます。
- AWS CLI
-
AWS CLI を使用してインスタンスに予定されたイベントを表示するには
describe-instance-status コマンドを使用します。
aws ec2 describe-instance-status \
--instance-id i-1234567890abcdef0
\
--query "InstanceStatuses[].Events"
以下の出力例は、再起動イベントを示しています。
[
"Events": [
{
"InstanceEventId": "instance-event-0d59937288b749b32",
"Code": "system-reboot",
"Description": "The instance is scheduled for a reboot",
"NotAfter": "2019-03-15T22:00:00.000Z",
"NotBefore": "2019-03-14T20:00:00.000Z",
"NotBeforeDeadline": "2019-04-05T11:00:00.000Z"
}
]
]
インスタンスのリタイアイベントを示す出力例を次に示します。
[
"Events": [
{
"InstanceEventId": "instance-event-0e439355b779n26",
"Code": "instance-stop",
"Description": "The instance is running on degraded hardware",
"NotBefore": "2015-05-23T00:00:00.000Z"
}
]
]
- PowerShell
-
AWS Tools for Windows PowerShell を使用してインスタンスに予定されたイベントを表示するには
次の Get-EC2InstanceStatus コマンドを使用します。
PS C:\>
(Get-EC2InstanceStatus -InstanceId i-1234567890abcdef0
).Events
インスタンスのリタイアイベントを示す出力例を次に示します。
Code : instance-stop
Description : The instance is running on degraded hardware
NotBefore : 5/23/2015 12:00:00 AM
- Instance metadata
-
インスタンスメタデータを使用してインスタンスに予定されたイベントを表示するには
インスタンスのアクティブなメンテナンスイベントに関する情報は、インスタンスメタデータサービスバージョン 2 または インスタンスメタデータサービスバージョン 1 を使用してインスタンスメタデータから取得できます。
IMDSv2
[ec2-user ~]$
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" –v http://169.254.169.254/latest/meta-data/events/maintenance/scheduled
IMDSv1
[ec2-user ~]$
curl http://169.254.169.254/latest/meta-data/events/maintenance/scheduled
以下は、予定されたシステムの再起動イベントに関する情報を JSON 形式で出力した例です。
[
{
"NotBefore" : "21 Jan 2019 09:00:43 GMT",
"Code" : "system-reboot",
"Description" : "scheduled reboot",
"EventId" : "instance-event-0d59937288b749b32",
"NotAfter" : "21 Jan 2019 09:17:23 GMT",
"State" : "active"
}
]
インスタンスメタデータを使用して、インスタンスの完了またはキャンセルされたイベントのイベント履歴を表示するには
インスタンスの完了済みまたはキャンセル済みイベントに関する情報は、インスタンスメタデータサービスバージョン 2 または インスタンスメタデータサービスバージョン 1 を使用してインスタンスメタデータから取得できます。
IMDSv2
[ec2-user ~]$
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" –v http://169.254.169.254/latest/meta-data/events/maintenance/history
IMDSv1
[ec2-user ~]$
curl http://169.254.169.254/latest/meta-data/events/maintenance/history
以下は、取り消されたシステム再起動イベントおよび完了したシステム再起動イベントに関する情報を JSON 形式で出力した例です。
[
{
"NotBefore" : "21 Jan 2019 09:00:43 GMT",
"Code" : "system-reboot",
"Description" : "[Canceled] scheduled reboot",
"EventId" : "instance-event-0d59937288b749b32",
"NotAfter" : "21 Jan 2019 09:17:23 GMT",
"State" : "canceled"
},
{
"NotBefore" : "29 Jan 2019 09:00:43 GMT",
"Code" : "system-reboot",
"Description" : "[Completed] scheduled reboot",
"EventId" : "instance-event-0d59937288b749b32",
"NotAfter" : "29 Jan 2019 09:17:23 GMT",
"State" : "completed"
}
]
- AWS Health
-
AWS Health Dashboard を使用して、インスタンスに影響を与える可能性があるイベントについて確認できます。AWS Health Dashboard では、未解決の問題、予定された変更、その他の通知という 3 つのグループに問題が分類されます。予定された変更には、進行中または予定されている変更が含まれます。
詳細については、AWS Health ユーザーガイドの「AWS Health Dashboard の開始」を参照してください。
スケジュールされたイベント通知のカスタマイズ
スケジュールされたイベント通知をカスタマイズして、メール通知にタグを含めることができます。これにより、影響を受けるリソース (インスタンスまたは Dedicated Hosts) を特定して、その後のイベントに対するアクションに優先順位を付けやすくなります。
タグを含めるようにイベント通知をカスタマイズする場合、次のいずれかを含めることができます。
例えば、application
、costcenter
、project
、owner
タグをすべてのインスタンスに割り当てるとします。イベント通知には、これらのすべてのタグを含めることができます。また、イベント通知に owner
タグと project
タグのみを表示したい場合は、それらのタグのみを含めることもできます。
含めるタグを選択すると、イベント通知には、影響を受けるリソースに関連付けられているリソース ID (インスタンス ID または Dedicated Host ID) とタグのキーと値のペアが含まれます。
含めるように選択したタグは、選択したリージョンのすべてのリソース (インスタンスと Dedicated Hosts) に適用されます。他のリージョンのイベント通知をカスタマイズするには、まず必要なリージョンを選択してから、次の手順を実行します。
イベント通知のタグは、次のいずれかの方法で含めることができます。
- New console
-
イベント通知にタグを含めるには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
ナビゲーションペインの [Events] を選択します。
-
[アクション]、[Manage event notifications (イベント通知の管理)] の順に選択します。
-
[イベント通知にタグを含める]をオンにします。
-
イベント通知に含めるタグに応じて、次のいずれかの操作を行います。
-
[Save (保存)] を選択します。
- AWS CLI
-
イベント通知にすべてのタグを含めるには
AWS CLI コマンドの register-instance-event-notification-attributes を使用して、IncludeAllTagsOfInstance
パラメータを true
に設定します。
aws ec2 register-instance-event-notification-attributes --instance-tag-attribute "IncludeAllTagsOfInstance=true"
イベント通知に特定のタグを含めるには
AWS CLI コマンドの register-instance-event-notification-attributes を使用して、InstanceTagKeys
パラメータを使用して含めるタグを指定します。
aws ec2 register-instance-event-notification-attributes --instance-tag-attribute 'InstanceTagKeys=["tag_key_1
", "tag_key_2
", "tag_key_3
"]'
イベント通知のタグは、次のいずれかの方法で削除することができます。
- New console
-
イベント通知からタグを削除するには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
ナビゲーションペインの [Events] を選択します。
-
[アクション]、[Manage event notifications (イベント通知の管理)] の順に選択します。
-
イベント通知からすべてのタグを削除するには、[イベント通知にタグを含める] をオフにします。
-
イベント通知から特定のタグを削除するには、対応するタグキーの [X] を選択します。
-
[Save (保存)] を選択します。
- AWS CLI
-
イベント通知からすべてのタグを削除するには
AWS CLI コマンドの deregister-instance-event-notification-attributes を使用して、IncludeAllTagsOfInstance
パラメータを false
に設定します。
aws ec2 deregister-instance-event-notification-attributes --instance-tag-attribute "IncludeAllTagsOfInstance=false"
イベント通知から特定のタグを削除するには
AWS CLI コマンドの deregister-instance-event-notification-attributes を使用して、InstanceTagKeys
パラメータを使用して削除するタグを指定します。
aws ec2 deregister-instance-event-notification-attributes --instance-tag-attribute 'InstanceTagKeys=["tag_key_1
", "tag_key_2
", "tag_key_3
"]'
イベント通知に含めるタグは、次のいずれかの方法で表示することができます。
- New console
-
- AWS CLI
-
イベント通知に含めるタグを表示するには
AWS CLI コマンドの describe-instance-event-notification-attributes を使用します。
aws ec2 describe-instance-event-notification-attributes
停止またはリタイアが予定されているインスタンスの操作
AWS は、インスタンスの基盤となるホストの回復不能な障害を検出すると、インスタンスのルートデバイスのタイプに応じて、インスタンスの停止または削除を予定します。ルートデバイスが EBS ボリュームの場合、インスタンスが停止するように予定されます。ルートデバイスがインスタンスストアボリュームの場合、インスタンスは終了するように予定されます。詳細については、「インスタンスのリタイア」を参照してください。
インスタンスストアボリュームに格納されているデータはいずれも、インスタンスが停止、休止、または終了されると失われます。これには、EBS ボリュームをルートデバイスとするインスタンスにアタッチされたインスタンスストアボリュームも含まれます。インスタンスが停止、休止、または終了される前に、後で必要となるインスタンスストアボリュームからデータを必ず保存しておきます。
Amazon EBS によりバックアップされたインスタンスのアクション
インスタンスが予定どおりに停止されるのを待機できます。または、インスタンスを自分で停止および起動して、新しいホストに移行することもできます。インスタンスが停止したときにインスタンス設定を変更する方法に加えて、インスタンスの停止についての詳細は、「インスタンスの停止と起動」を参照してください。
スケジュールされたインスタンスの停止イベントに対応した、即時の停止と開始を自動化することができます。詳細については、AWS Health ユーザーガイドの「EC2 インスタンスのアクションの自動化」を参照してください。
インスタンスストアによりバックアップされたインスタンスのアクション
最新の AMI から代替インスタンスを起動し、インスタンスの削除を予定する前に必要なすべてのデータを代替インスタンスに移行することをお勧めします。その後、元のインスタンスを終了するか、予定どおりに終了されるのを待機することができます。
再起動が予定されているインスタンスの操作
AWS は、更新のインストールや基盤となるホストのメンテナンスなどのタスクを実行する必要があるとき、インスタンスまたは基盤となるホストの再起動を予定できます。都合に合わせて指定する日付と時刻にインスタンスが再起動するように、ほとんどの再起動イベントを再スケジュールできます。
再起動イベントタイプの表示
次のいずれかの方法を使用して、再起動イベントがインスタンスの再起動またはシステムの再起動であるかを確認できます。
- New console
-
コンソールを使用して予定された再起動イベントのタイプを表示するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
ナビゲーションペインの [Events] を選択します。
-
フィルターリストから [リソースタイプ: インスタンス] を選択します。
-
インスタンスごとに、[イベントタイプ] 列の値を表示します。値は system-reboot または instance-reboot のいずれかです。
- Old console
-
コンソールを使用して予定された再起動イベントのタイプを表示するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
ナビゲーションペインの [Events] を選択します。
-
フィルターリストから [インスタンスリソース] を選択します。
-
各インスタンスで、[イベントタイプ] 列の値を表示します。値は system-reboot または instance-reboot のいずれかです。
- AWS CLI
-
AWS CLI を使用して予定された再起動イベントのタイプを表示するには
describe-instance-status コマンドを使用します。
aws ec2 describe-instance-status --instance-id i-1234567890abcdef0
スケジュールされた再起動イベントでは、Code
の値は system-reboot
あるいは instance-reboot
です。次の出力例は system-reboot
イベントを示しています。
[
"Events": [
{
"InstanceEventId": "instance-event-0d59937288b749b32",
"Code": "system-reboot",
"Description": "The instance is scheduled for a reboot",
"NotAfter": "2019-03-14T22:00:00.000Z",
"NotBefore": "2019-03-14T20:00:00.000Z",
"NotBeforeDeadline": "2019-04-05T11:00:00.000Z"
}
]
]
インスタンス再起動のアクション
予定されたメンテナンスウィンドウ内でのインスタンスの再起動まで待機することも、都合に合わせた日付と時刻にインスタンスの再起動を再スケジュールすることも、または都合のよい時間にインスタンスを手動で再起動することもできます。
インスタンスが再起動されると、予定されたイベントがクリアになり、このイベントの説明が更新されます。基になるホストに対する保留中のメンテナンスが完了し、インスタンスが完全に起動したら、インスタンスの使用を再開できます。
システム再起動のアクション
システムを自分で再起動することはできません。予定されたメンテナンスウィンドウ中におけるシステムの再起動まで待機することも、都合に合わせた日付と時刻でシステムの再起動を再スケジュールすることもできます。システムの再起動は通常数分で完了します。システムの再起動後、インスタンスの IP アドレスと DNS 名、およびローカルインスタンスストアボリュームのデータは保持されます。システムの再起動が完了すると、インスタンスに予定されているイベントはクリアされ、インスタンスのソフトウェアが正常に動作していることを確認できます。
または、インスタンスのメンテナンス時間を変更する必要があり、システムの再起動を再スケジュールできない場合は、Amazon EBS-backed インスタンスを停止して再起動すると、新しいホストに移行できます。ただし、ローカルインスタンスストアボリュームのデータは保持されません。また、スケジュールされたシステム再起動イベントに対応した、インスタンスの即時の停止と開始を自動化することができます。詳細については、AWS Health ユーザーガイドの「EC2 インスタンスのアクションの自動化」を参照してください。Instance Store-Backed インスタンスでシステムの再起動を再スケジュールできない場合、最新の AMI から代替インスタンスを起動し、予定されたメンテナンス期間より前に必要なデータをすべて代替インスタンスに移行した後、元のインスタンスを削除できます。
メンテナンスが予定されているインスタンスの操作
AWS は、インスタンスの基盤となるホストをメンテナンスする必要があるときに、インスタンスのメンテナンスを予定します。2 種類のメンテナンスイベントがあります。1 つはネットワークメンテナンスで、もう 1 つは電源のメンテナンスです。
ネットワークメンテナンス中は、短い期間、予定されたインスタンスのネットワーク接続が切断されます。メンテナンスが終了すると、インスタンスとの通常のネットワーク接続が回復します。
電源のメンテナンス中は、短い期間、予定されたインスタンスはオフラインになり、その後再起動されます。再起動されると、インスタンスの設定内容はすべて維持されます。
インスタンスが再起動したら (通常、数分かかります)、アプリケーションが正常に動作していることを確認します。この時点で、インスタンスにスケジュールされたイベントは残っていません。残っている場合は、スケジュールされたイベントの説明の先頭に [Completed] と表示されます。インスタンスのステータス説明が更新するのに、最大で 1 時間ほどかかる場合があります。完了したメンテナンスイベントは、最長で 1 週間、Amazon EC2 コンソールのダッシュボードに表示されます。
Amazon EBS によりバックアップされたインスタンスのアクション
メンテナンスが予定どおりに実行されるのを待機できます。または、インスタンスを停止および起動して、新しいホストに移行することもできます。インスタンスが停止したときにインスタンス設定を変更する方法に加えて、インスタンスの停止についての詳細は、「インスタンスの停止と起動」を参照してください。
スケジュールされたメンテナンスイベントに対応した、即時の停止と開始を自動化することができます。詳細については、AWS Health ユーザーガイドの「EC2 インスタンスのアクションの自動化」を参照してください。
インスタンスストアによりバックアップされたインスタンスのアクション
メンテナンスが予定どおりに実行されるのを待機できます。または、予定されたメンテナンス期間中に通常の運用を維持する場合、最新の AMI から代替インスタンスを起動し、予定されたメンテナンス期間より前に必要なデータをすべて代替インスタンスに移行した後、元のインスタンスを終了できます。
スケジュールされたイベントの再スケジュール
都合の良い日時にイベントが発生するように、予定を再スケジュールできます。期限が設定されているイベントのみを再スケジュールできます。イベントの再スケジュールに適用される制限は他にもあります。
イベントは、次のいずれかの方法で再スケジュールできます。
- New console
-
コンソールを使用してイベントを再スケジュールするには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
ナビゲーションペインの [Events] を選択します。
-
フィルターリストから [リソースタイプ: インスタンス] を選択します。
-
1 つ以上のインスタンスを選択し、[アクション]、[Schedule event] の順に選択します。
[期限] でイベント期限を設定したイベントのみを再スケジュールできます。選択したイベントのいずれかに期限がない場合、[アクション]、[Schedule event] は無効になります。
-
[New start time] に、イベントの新しい日時を入力します。新しい日時は、[Event deadline] より前に設定する必要があります。
-
[Save (保存)] を選択します。
更新されたイベント開始時刻がコンソールに反映されるまで、1~2 分かかることがあります。
- Old console
-
コンソールを使用してイベントを再スケジュールするには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
ナビゲーションペインの [Events] を選択します。
-
フィルターリストから [インスタンスリソース] を選択します。
-
1 つ以上のインスタンスを選択したら、[アクション]、[Schedule Event (イベントのスケジュール)] を選択します。
[Event Deadline (イベント期限)] の値で示されるイベント期限があるイベントのみ、再スケジュールできます。
-
[Event start time] に、イベントの新しい日付と時刻を入力します。新しい日時は、[Event Deadline] より前に設定する必要があります。
-
[Schedule Event] (イベントのスケジュール) を選択します。
更新されたイベント開始時刻がコンソールに反映されるまで、1~2 分かかることがあります。
- AWS CLI
-
AWS CLI を使用してイベントを再スケジュールするには
-
NotBeforeDeadline
の値で示されるイベント期限があるイベントのみ、再スケジュールできます。describe-instance-status コマンドを使用して NotBeforeDeadline
パラメータ値を表示します。
aws ec2 describe-instance-status --instance-id i-1234567890abcdef0
次の出力例は、system-reboot
に値があるため再スケジュールできる NotBeforeDeadline
イベントを示しています。
[
"Events": [
{
"InstanceEventId": "instance-event-0d59937288b749b32",
"Code": "system-reboot",
"Description": "The instance is scheduled for a reboot",
"NotAfter": "2019-03-14T22:00:00.000Z",
"NotBefore": "2019-03-14T20:00:00.000Z",
"NotBeforeDeadline": "2019-04-05T11:00:00.000Z"
}
]
]
-
イベントを再スケジュールするには、modify-instance-event-start-time コマンドを使用します。not-before
パラメータを使用して新しいイベント開始時刻を指定します。新しいイベント開始時刻は、NotBeforeDeadline
より前にする必要があります。
aws ec2 modify-instance-event-start-time --instance-id i-1234567890abcdef0
--instance-event-id instance-event-0d59937288b749b32
--not-before 2019-03-25T10:00:00.000
describe-instance-status コマンドが更新された not-before
パラメータ値を返すまでに、1~2 分かかることがあります。
制限事項
-
イベント期限があるイベントのみ再スケジュールできます。イベントは、イベント期限日まで再スケジュールできます。コンソールの [期限] 列と NotBeforeDeadline
の AWS CLI フィールドは、イベントに期限が設定されていることを示します。
-
まだ開始していないイベントのみ再スケジュールできます。コンソールの [開始時刻] 列と NotBefore
の AWS CLI フィールドは、イベントの開始時刻を示します。あと 5 分で開始するようにスケジュールされているイベントは、再スケジュールできません。
-
新しいイベント開始時刻は、現在の時刻から少なくとも 60 分後にする必要があります。
-
コンソールを使用して複数のイベントを再スケジュールすると、イベント期限は最も早い期限日のイベントによって決定されます。