インスタンスの復旧 - Amazon Elastic Compute Cloud

インスタンスの復旧

システムステータスチェックが失敗した際にインスタンスを自動的に復旧するには、インスタンスのデフォルト設定を使用するか、Amazon CloudWatch アラームを作成できます。基盤となるハードウェアの障害、または修復に AWS の関与が必要である問題が原因でインスタンスが到達不能になった場合、インスタンスは自動的に復旧します。

復旧されたインスタンスは、インスタンス ID、プライベート IP アドレス、Elastic IP アドレス、すべてのインスタンスメタデータを含め、元のインスタンスと同じです。正常に機能していないインスタンスにパブリック IPv4 アドレスが割り当てられている場合は、そのインスタンスの復旧後も、パブリック IPv4 アドレスは保持されます。障害のあるインスタンスがプレイスメントグループ内にある場合、回復されたインスタンスはそのプレイスメントグループ内で実行されます。インスタンスの復元中、再起動処理の一部としてそのインスタンスの移行が行われ、メモリ内にあるデータは失われます。

インスタンスの復元が必要となる障害の例を以下に示します。

  • ネットワーク接続の喪失

  • システム電源の喪失

  • 物理ホストのソフトウェアの問題

  • ネットワーク到達可能性に影響する、物理ホスト上のハードウェアの問題

インスタンス構成に基づく簡易自動復旧

簡易自動復旧をサポートするインスタンスでは、障害が発生した場合のインスタンスの復元が、デフォルトで設定されています。デフォルト設定は、起動する新しいインスタンスおよび以前に起動した既存のインスタンスに適用されます。簡易自動復旧をサポートするインスタンスでは、障害が発生した場合のインスタンスの復元が、デフォルトで設定されています。簡易自動復旧は、Service Health Dashboard のイベントや、基盤となるハードウェアに影響するその他のイベント中は実行されません。詳細については、「インスタンスの復旧の失敗のトラブルシューティング」を参照してください。

簡易自動復旧のイベントが成功すると、AWS Health Dashboard のイベントで通知されます。簡易自動復旧のイベントが失敗すると、AWS Health Dashboard のイベントと E メールで通知されます。Amazon EventBridge ルールを使用して、次のイベントコードを使って簡易自動復旧のイベントをモニタリングすることもできます。

  • AWS_EC2_SIMPLIFIED_AUTO_RECOVERY_SUCCESS ― 成功したイベント

  • AWS_EC2_SIMPLIFIED_AUTO_RECOVERY_FAILURE ― 失敗したイベント

詳細については、「Amazon EventBridge ルール」を参照してください。

要件

以下の特性を持つインスタンスが、簡易自動復旧をサポートします。

  • default または dedicated のインスタンステナンシーを使用している。

  • Elastic Fabric Adaptor は使用していない。

  • 以下のインスタンスタイプのいずれかを使用している。

    • 汎用: A1 | M4 | M5 | M5a | M5n | M5zn | M6a | M6g | M6i | T1 | T2 | T3 | T3a | T4g

    • コンピューティングの最適化: C4 | C5 | C5a | C5n | C6a | C6g | C6gn | C6i | Hpc6a |

    • メモリ最適化: R4 | R5 | R5a | R5b | R5n | R6a | R6g | R6i | high memory (u-*)、仮想化のみ

    • 高速コンピューティング: G3 | G5g | Inf1 | P2 | P3 | VT1

  • インスタンスストアボリュームがない場合は、以下のインスタンスタイプのいずれかを使用します。

    • 汎用: M3

    • コンピューティング最適化: C3

    • メモリ最適化: R3 | X1 | X1e

制約事項

  • インスタンスストアボリュームを持ちメタルインスタンスタイプを使用するインスタンスでは、簡易自動復旧はサポートしていません。

  • ヘルスチェックを有効にした Auto Scaling グループに属するインスタンスの場合、障害が発生すると、そのインスタンスは別のインスタンスに置き換えられます。Auto Scaling グループ内のインスタンスの場合、自動復旧は開始されません。

  • 簡易自動復旧は、計画外のイベントにのみ適用されます。スケジュールされたイベントには適用されません。

  • 終了または停止したインスタンスは復旧できません。

復旧動作を確認する

AWS Management Console または AWS CLI を使用すると、簡易自動復旧をサポートするインスタンスタイプを表示できます。

Console

簡易自動復旧をサポートするインスタンスタイプを表示するには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. 左のナビゲーションペインで、[Instance Types] (インスタンスタイプ) を選択します。

  3. フィルターバーに「Auto Recovery support: true」と入力します。あるいは、この文字列を入力していくと該当するフィルター名が表示されるので、そのフィルターを選択できます。

    [Instance types] (インスタンスタイプ) テーブルに、簡易自動復旧をサポートするすべてのインスタンスタイプが表示されます。

AWS CLI

簡易自動復旧をサポートするインスタンスタイプを表示するには

describe-instance-types コマンドを使用します。

aws ec2 describe-instance-types --filters Name=auto-recovery-supported,Values=true --query "InstanceTypes[*].[InstanceType]" --output text | sort

復旧の動作を設定する

インスタンスの起動中または起動後に、自動復旧の動作を [disabled] または [default] に設定できます。簡易自動復旧をサポートしていないインスタンスタイプでは、デフォルトを設定してもこの機能は有効化されません。

Console

インスタンスの起動中に簡易自動復旧を無効にするには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[Instances] (インスタンス)、[Launch instance] (インスタンスの起動) の順に選択します。

  3. [Advanced details] (高度な詳細) セクションの [Instance auto-recovery] (インスタンスの自動復旧) で、[Disabled] (無効) を選択します。

  4. 必要に応じて残りのインスタンスの起動設定を設定し、インスタンスを起動します。

実行中または停止中のインスタンスの簡易自動復旧を無効にするには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. [Actions (アクション)]、[Instance settings (インスタンスの設定)]、[Change shutdown behavior (自動復旧動作を変更)] の順に選択します 現在の動作が選択されます。

  4. [Off] (オフ) を選択した上で、[Save] (保存) をクリックします。

実行中または停止中のインスタンスの自動復旧動作を default に設定するには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. [Actions (アクション)]、[Instance settings (インスタンスの設定)]、[Change shutdown behavior (自動復旧動作を変更)] の順に選択します 現在の動作が選択されます。

  4. [Default] (デフォルト) を選択した上で、[Save] (保存) をクリックします。

AWS CLI

起動時に簡易自動復旧を無効にするには

run-instances コマンドを使用します。

aws ec2 run-instances \ --image-id ami-1a2b3c4d \ --instance-type t2.micro \ --key-name MyKeyPair \ --maintenance-options AutoRecovery=Disabled \ [...]

実行中または停止中のインスタンスの簡易自動復旧を無効にするには

modify-instance-maintenance-options コマンドを使用します。

aws ec2 modify-instance-maintenance-options \ --instance-id i-0abcdef1234567890 \ --auto-recovery disabled

実行中または停止中のインスタンスの自動復旧動作を default に設定するには

modify-instance-maintenance-options コマンドを使用します。

aws ec2 modify-instance-maintenance-options \ --instance-id i-0abcdef1234567890 \ --auto-recovery default

Amazon CloudWatch アクションに基づく復旧

インスタンスを復旧するタイミングをカスタマイズする場合は、Amazon CloudWatch アクションに基づく復旧を使用します。

StatusCheckFailed_System アラームがトリガーされ復旧アクションが開始されると、アラームの作成時に選択し復旧アクションに関連付けてある Amazon SNS トピックから、通知が送信されます。復旧アクションが完了すると、その情報が、アラームに設定された Amazon SNS トピックに対し発行されます。この Amazon SNS トピックをサブスクライブしているすべてのユーザーが、復旧処理のステータスと以降の手順が記載された通知を、E メールで受け取ります。復旧アクションの最後のステップとして、復旧されたインスタンスの再起動が行われます。

簡易自動復旧を利用できるすべてのインスタンスタイプは、CloudWatch アクションに基づく復旧もサポートします。詳細については、要件 を参照してください。Amazon CloudWatch アクションに基づく復旧は、以下のインスタンスタイプを除き、インスタンスストアボリュームを持つインスタンスではサポートされません。インスタンスにインスタンスストアボリュームがアタッチされている場合、そのデータは復旧処理中に失われます。

  • 汎用: M3

  • コンピューティング最適化: C3

  • メモリ最適化: R3 | X1 | X1e | X2idn | X2iedn

Amazon CloudWatch アクションに基づく復旧は、Amazon EC2 Dedicated Hosts テナンシーがあるインスタンスとメタルインスタンスの復旧をサポートしていません。

簡易自動復旧が無効になっていなくても、Amazon CloudWatch アラームを使用してインスタンスを復旧できます。Amazon CloudWatch アラームを作成してインスタンスを復旧する方法の詳細については、「Amazon CloudWatch アラームへの復旧アクションの追加」を参照してください。

インスタンスの復旧の失敗のトラブルシューティング

インスタンスの復旧に失敗する場合、以下のような原因が考えられます。

  • Service Health Dashboard イベントまたは基盤ラックに影響を与えるイベント。このようなイベント中、簡易自動復旧ではインスタンスの復旧が行われません。これらのイベントが原因で復旧が失敗しても、その通知は送信されません。また、Service Health Dashboard イベントが進行中であると、Amazon CloudWatch アクションに基づく復旧が、インスタンスを正常に回復できない場合があります。サービスの可用性に関する最新情報については、http://status.aws.amazon.com/ を参照してください。

  • 代替ハードウェアの一時的な容量不足。

  • インスタンスにインスタンスストアストレージがアタッチされていますが、自動インスタンス復旧の設定がサポートされていません。

  • インスタンスが、1 日に許可されている 3 回の復旧試行回数に達しました。

自動復旧プロセスは、1 日で 3 回まで別個のエラーについてインスタンスの復旧を試みます。インスタンスのシステムステータスチェックの失敗が続く場合は、インスタンスを手動で停止および開始することをお勧めします。詳細については、インスタンスの停止と起動 を参照してください。

自動復旧が失敗し、元のシステムステータスチェックの失敗の根本原因がハードウェアの機能低下であると判断された場合、対象のインスタンスが使用停止になることがあります。