インスタンスの復旧 - 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 | M3 | M4 | M5 | M5a | M5n | M5zn | M6a | M6g | M6i | M6in | M7a | M7g | M7i | M7i-flex | T1 | T2 | T3 | T3a | T4g

    • コンピューティング最適化: C3 | C4 | C5 | C5a | C5n | C6a | C6g | C6gn | C6i | C6in | C7a | C7g | C7gn | C7i

    • メモリ最適化: R3 | R4 | R5 | R5a | R5b | R5n | R6a | R6g | R6i | R6in | R7a | R7g | R7i | R7iz | u-3tb1 | u-6tb1 | u-9tb1 | u-12tb1 | u-18tb1 | u-24tb1 | X1 | X1e | X2iezn

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

    • ハイパフォーマンスコンピューティング: Hpc6a | Hpc7a | Hpc7g

  • インスタンスストアボリュームがありません。Nitro インスタンスタイプにインスタンスストアボリュームがある場合、または Xen ベースのインスタンスで、使用されている AMI にインスタンスストアボリュームがマップされている場合、インスタンスは自動的に復旧できません。

    重要

    インスタンスにインスタンスストアボリュームがアタッチされている場合、インスタンスを停止して起動すると、インスタンスストアボリューム上のデータはすべて失われます。インスタンスストアのボリュームデータを、Amazon EBS、Amazon S3、Amazon EFS などのより永続的なストレージに定期的にバックアップする必要があります。システムステータスチェックに失敗した場合は、インスタンスストアボリュームを使用してインスタンスを停止および開始し、バックアップデータを使用してインスタンスストアボリュームを復元できます。

制限事項

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

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

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

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

復旧の動作を設定する

インスタンスの起動中または起動後に、自動復旧の動作を [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. [デフォルト] を選択した上で、[保存] をクリックします。

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 メールで受け取ります。復旧アクションの最後のステップとして、復旧されたインスタンスの再起動が行われます。

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

サポートされるインスタンスタイプ

簡易自動復旧を利用できるすべてのインスタンスタイプは、Amazon CloudWatch アクションに基づく復旧もサポートします。さらに、CloudWatch アクションベースの復旧は、サポートされているインスタンスタイプのベアメタルバリアントをサポートします。簡易自動復旧でサポートされるインスタンスファミリーに加えて、以下のインスタンスファミリーもサポートされています。

  • メモリ最適化: X2idn | X2iedn

重要

インスタンスストアボリュームを備えたサポートされているインスタンスタイプの場合、これらのボリューム上のデータは復旧中に失われます。インスタンスを停止して起動すると、インスタンスストアボリューム上のデータもすべて失われます。インスタンスストアのボリュームデータを、Amazon EBS、Amazon S3、Amazon EFS などのより永続的なストレージに定期的にバックアップする必要があります。システムステータスチェックに失敗した場合は、インスタンスストアボリュームを使用してインスタンスを停止および開始し、バックアップデータを使用してインスタンスストアボリュームを復元できます。

CloudWatch アクションに基づく復旧は、専有ホストテナンシーがあるインスタンスとメタルインスタンスの復旧をサポートしていません。Amazon EC2 Dedicated Host では、Dedicated Host Auto Recovery を使用して、異常のあるインスタンスを自動的に回復できます。

AWS Management Console または AWS CLI を使用して、CloudWatch アクションベースの復旧をサポートするインスタンスタイプを表示できます。

Console
Amazon CloudWatch アクションベースの復旧をサポートするインスタンスタイプを表示するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

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

    [インスタンスタイプ] テーブルには、Amazon CloudWatch アクションベースの復旧をサポートするすべてのインスタンスタイプが表示されます。

AWS CLI
Amazon CloudWatch アクションベースの復旧をサポートするインスタンスタイプを表示するには

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

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

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

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

  • Service Health Dashboard イベント中、簡易的な自動リカバリではインスタンスが復旧されない場合があります。これらのイベントが原因で復旧が失敗しても、その通知を受信しない可能性があります。進行中の Service Health Dashboard イベントがある場合、CloudWatch アクションベースのリカバリで、インスタンスが正常に復旧されない可能性があります。サービスの可用性に関する最新情報については、http://status.aws.amazon.com/ を参照してください。

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

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

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

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