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

インスタンスの予定されたイベント

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 メールで受信することに加え、以下のいずれかの方法を使用して予定されたイベントを確認できます。

Console
インスタンスに予定されたイベントを表示するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ダッシュボードには、[Scheduled events] の下に関連付けられているイベントを持つすべてのリソースが表示されます。

    
                                        ダッシュボードを使用してイベントを表示します。
  3. 詳細については、ナビゲーションペインで [イベント] を選択してください。イベントに関連付けられたリソースがすべて表示されます。イベントタイプ、リソースタイプ、アベイラビリティーゾーンなどの特性でフィルタリングできます。

    
                                        [Events] ページを使用してイベントを表示する。
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" 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" 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) を特定して、その後のイベントに対するアクションに優先順位を付けやすくなります。

タグを含めるようにイベント通知をカスタマイズする場合、次のいずれかを含めることができます。

  • 影響を受けるリソースに関連付けられているすべてのタグ

  • 影響を受けるリソースに関連付けられている特定のタグのみ

例えば、applicationcostcenterprojectowner タグをすべてのインスタンスに割り当てるとします。イベント通知には、これらのすべてのタグを含めることができます。また、イベント通知に owner タグと project タグのみを表示したい場合は、それらのタグのみを含めることもできます。

含めるタグを選択すると、イベント通知には、影響を受けるリソースに関連付けられているリソース ID (インスタンス ID または Dedicated Host ID) とタグのキーと値のペアが含まれます。

イベント通知にタグを含める

含めるように選択したタグは、選択したリージョンのすべてのリソース (インスタンスと Dedicated Hosts) に適用されます。他のリージョンのイベント通知をカスタマイズするには、まず必要なリージョンを選択してから、次の手順を実行します。

イベント通知のタグは、次のいずれかの方法で含めることができます。

Console
イベント通知にタグを含めるには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインの [Events] を選択します。

  3. [アクション]、[Manage event notifications (イベント通知の管理)] の順に選択します。

  4. [イベント通知にタグを含める]をオンにします。

  5. イベント通知に含めるタグに応じて、次のいずれかの操作を行います。

    • 影響を受けるインスタンスまたは専有ホストに関連付けられている全タグを含めるには、[全タグを含める] を選択します。

    • 含めるタグを選択するには [含めるタグを選択] を選択し、タグキーを選択または入力します。

  6. [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"]'

イベント通知からのタグの削除

イベント通知のタグは、次のいずれかの方法で削除することができます。

Console
イベント通知からタグを削除するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインの [Events] を選択します。

  3. [アクション]、[Manage event notifications (イベント通知の管理)] の順に選択します。

  4. イベント通知からすべてのタグを削除するには、[イベント通知にタグを含める] をオフにします。

  5. イベント通知から特定のタグを削除するには、対応するタグキーの [X] を選択します。

  6. [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"]'

イベント通知に含めるタグの表示

イベント通知に含めるタグは、次のいずれかの方法で表示することができます。

Console
イベント通知に含めるタグを表示するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインの [Events] を選択します。

  3. [アクション]、[Manage event notifications (イベント通知の管理)] の順に選択します。

AWS CLI
イベント通知に含めるタグを表示するには

AWS CLI コマンドの describe-instance-event-notification-attributes を使用します。

aws ec2 describe-instance-event-notification-attributes

停止またはリタイアが予定されているインスタンスの操作

AWS は、インスタンスの基盤となるホストの回復不能な障害を検出すると、インスタンスのルートデバイスのタイプに応じて、インスタンスの停止または削除を予定します。ルートデバイスが EBS ボリュームの場合、インスタンスが停止するように予定されます。ルートデバイスがインスタンスストアボリュームの場合、インスタンスは終了するように予定されます。詳細については、インスタンスのリタイアを参照してください。

重要

インスタンスストアボリュームに格納されているデータはいずれも、インスタンスが停止、休止、または終了されると失われます。これには、EBS ボリュームをルートデバイスとするインスタンスにアタッチされたインスタンスストアボリュームも含まれます。インスタンスが停止、休止、または終了される前に、後で必要となるインスタンスストアボリュームからデータを必ず保存しておきます。

Amazon EBS によりバックアップされたインスタンスのアクション

インスタンスが予定どおりに停止されるのを待機できます。または、インスタンスを自分で停止および起動して、新しいホストに移行することもできます。インスタンスが停止したときにインスタンス設定を変更する方法に加えて、インスタンスの停止についての詳細は、Amazon EC2 インスタンスの停止と起動を参照してください。

スケジュールされたインスタンスの停止イベントに対応した、即時の停止と開始を自動化することができます。詳細については、「AWS Health ユーザーガイド」の「Amazon EC2 インスタンスのアクションの自動化」を参照してください。

インスタンスストアによりバックアップされたインスタンスのアクション

最新の AMI から代替インスタンスを起動し、インスタンスの削除を予定する前に必要なすべてのデータを代替インスタンスに移行することをお勧めします。その後、元のインスタンスを終了するか、予定どおりに終了されるのを待機することができます。

再起動が予定されているインスタンスの操作

AWS は、更新のインストールや基盤となるホストのメンテナンスなどのタスクを実行する必要があるとき、インスタンスまたは基盤となるホストの再起動を予定できます。都合に合わせて指定する日付と時刻にインスタンスが再起動するように、ほとんどの再起動イベントを再スケジュールできます。

再起動イベントタイプの表示

次のいずれかの方法を使用して、再起動イベントがインスタンスの再起動またはシステムの再起動であるかを確認できます。

Console
予定された再起動イベントのタイプを表示するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインの [Events] を選択します。

  3. フィルターリストから [リソースタイプ: インスタンス] を選択します。

  4. インスタンスごとに、[イベントタイプ] 列の値を表示します。値は system-reboot または instance-reboot のいずれかです。

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 によりバックアップされたインスタンスのアクション

メンテナンスが予定どおりに実行されるのを待機できます。または、インスタンスを停止および起動して、新しいホストに移行することもできます。インスタンスが停止したときにインスタンス設定を変更する方法に加えて、インスタンスの停止についての詳細は、Amazon EC2 インスタンスの停止と起動を参照してください。

スケジュールされたメンテナンスイベントに対応した、即時の停止と開始を自動化することができます。詳細については、AWS Health ユーザーガイドEC2 インスタンスのアクションの自動化を参照してください。

インスタンスストアによりバックアップされたインスタンスのアクション

メンテナンスが予定どおりに実行されるのを待機できます。または、予定されたメンテナンス期間中に通常の運用を維持する場合、最新の AMI から代替インスタンスを起動し、予定されたメンテナンス期間より前に必要なデータをすべて代替インスタンスに移行した後、元のインスタンスを終了できます。

スケジュールされたイベントの再スケジュール

都合の良い日時にイベントが発生するように、予定を再スケジュールできます。期限が設定されているイベントのみを再スケジュールできます。イベントの再スケジュールに適用される制限は他にもあります。

イベントは、次のいずれかの方法で再スケジュールできます。

Console
イベントを再スケジュールするには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインの [Events] を選択します。

  3. フィルターリストから [リソースタイプ: インスタンス] を選択します。

  4. 1 つ以上のインスタンスを選択し、[アクション]、[Schedule event] の順に選択します。

    [期限] でイベント期限を設定したイベントのみを再スケジュールできます。選択したイベントのいずれかに期限がない場合、[アクション]、[Schedule event] は無効になります。

  5. [New start time] に、イベントの新しい日時を入力します。新しい日時は、[Event deadline] より前に設定する必要があります。

  6. [Save] を選択します。

    更新されたイベント開始時刻がコンソールに反映されるまで、1~2 分かかることがあります。

AWS CLI
イベントを再スケジュールするには
  1. 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" } ] ]
  2. イベントを再スケジュールするには、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 分後にする必要があります。

  • コンソールを使用して複数のイベントを再スケジュールすると、イベント期限は最も早い期限日のイベントによって決定されます。