インスタンスの停止と起動
インスタンスにルートデバイスとして Amazon EBS ボリュームがある場合、そのインスタンスを停止して起動できます。インスタンスにはそのインスタンス ID が保持されますが、「概要」セクションで述べられているように変更される可能性があります。
ユーザーがインスタンスを停止すると、インスタンスはシャットダウンされます。停止しているインスタンスの使用料またはデータ転送料は課金されませんが、Amazon EBS ボリュームのストレージに対しては課金されます。停止したインスタンスを再起動するたびに、1 分間分の最低料金が課金されます。1 分経過した後は、使用した秒数のみ課金されます。例えば、インスタンスを 20 秒間実行して停止した場合は、1 分間分課金されます。インスタンスを 3 分 40 秒実行した場合は、ちょうど 3 分 40 秒間分課金されます。
インスタンスが停止している間、他のボリュームと同様にそのルートボリュームを扱い、変更することができます (ファイルシステムの問題を修復したり、ソフトウェアを更新したりするなど)。停止しているインスタンスからボリュームを接続解除し、それを実行中のインスタンスに接続して、変更を行い、実行中のインスタンスから接続解除して、停止しているインスタンスに再接続します。インスタンスのブロックデバイスマッピングにルートデバイスとして指定されたストレージデバイス名を使用して、ボリュームを接続解除していることを確認します。
インスタンスが必要なくなったら、終了することができます。インスタンスの状態が shutting-down
または terminated
に変わったら、そのインスタンスへの課金は停止します。詳細については、インスタンスの終了 を参照してください。インスタンスを休止する場合は、「オンデマンドの Linux インスタンスを休止状態にする」を参照してください。詳細については、再起動、停止、休止、削除の違い を参照してください。
内容
概要
停止できるのは Amazon EBS-Backed インスタンスだけです。インスタンスのルートデバイスタイプを確認するには、インスタンスを記述し、そのルートボリュームのデバイスタイプが ebs
(Amazon EBS-Backed インスタンス) か instance store
(Instance store-Backed インスタンス) かをチェックします。詳細については、AMI のルートデバイスタイプの判別 を参照してください。
以下のインスタンスの属性は停止されると、変更できます。
-
インスタンスタイプ
-
ユーザーデータ
-
Kernel
-
RAM ディスク
インスタンスの実行中にこれらの属性を変更しようとすると、Amazon EC2 が IncorrectInstanceState
エラーを返します。
インスタンスを停止するとどうなるか
StopInstances API を使用して (例えば、Amazon EC2 コンソールで [Instance state] (インスタンスの状態) や [Stop instance] (インスタンスの停止) を選択するか、または stop-instances AWS CLI コマンドを使用して) EC2 インスタンスを停止すると、次のものが OS レベルで登録されます。
-
API リクエストは、ボタンのクリックイベントをゲストに送信します。
-
ボタンのクリックイベントの結果として、さまざまなシステムサービスが停止します。適切なシャットダウンは、ハイパーバイザーからの ACPI シャットダウンボタンのクリックイベントによってトリガーされます。
-
ACPI シャットダウンが開始されます。
-
このインスタンスは、適切なシャットダウンプロセスが終了したときにシャットダウンされます。設定可能な OS シャットダウン時間はありません。
-
インスタンス OS が数分以内に正常にシャットダウンされない場合は、ハードシャットダウンが実行されます。
-
インスタンスが実行を停止します。
-
インスタンスのステータスが
stopping
になり、その後stopped
になります。 -
(Auto Scaling グループ) インスタンスが Auto Scaling グループにある場合、Amazon EC2 Auto Scaling サービスはインスタンスを異常と判断して停止し、場合によってはそれを終了して代わりのインスタンスを起動します。詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling インスタンスのヘルスチェック」を参照してください。
-
(Windows) Windows インスタンスを停止して起動すると、アタッチされた Amazon EBS ボリュームのドライブ文字の変更などのタスクが EC2Config サービスによりインスタンスで実行されます。これらのデフォルトおよび変更方法については、「Windows インスタンスの Amazon EC2 ユーザーガイド」の「EC2Config サービスを使用した Windows インスタンスの設定」を参照してください。
-
(ClassicLink) ClassicLink インスタンスを停止すると、今までリンクされていた VPC とのリンクが解除されます。インスタンスを起動した後に再び VPC にリンクする必要があります。ClassicLink の詳細については、「ClassicLink」を参照してください。
デフォルトでは、Amazon EBS-backed インスタンスからシャットダウンを開始すると (例えば、shutdown または poweroff コマンドを使用)、インスタンスが停止します。この動作を変更して、インスタンスの停止ではなく終了させることができます。詳細については、インスタンスによって起動されたシャットダウン動作の変更 を参照してください。
インスタンスから halt コマンドを使用しても、シャットダウンは開始されません。使用した場合、インスタンスは終了しません。代わりに、CPU が HLT
状態になり、インスタンスは実行されたままになります。
インスタンスを停止すると、次のものが失われます。
-
RAM に保存されているデータ。
-
インスタンスストアボリュームに保存されているデータは失われます。
-
起動時または開始時に Amazon EC2 がインスタンスに自動的に割り当てられたパブリック IPv4 アドレス。(パブリック IPv4 アドレスに変更を加えないようにするには、インスタンスに Elastic IP アドレスを関連付けます。)
-
(EC2-Classic) EC2-Classic では、Elastic IP アドレスとインスタンスとの関連付けが解除されます。詳細については、EC2-Classic を参照してください。
インスタンスを停止しても、次のものは保持されます。
-
Amazon EBS ボリュームに保存されているデータ。EBS ボリュームは、インスタンスにアタッチされたままになります。
-
プライベート IPv4 アドレス。
-
IPv6 アドレス。
-
インスタンスに関連付けられた Elastic IP アドレス。インスタンスが停止すると、関連する Elastic IP アドレスに対する課金が始まります。
詳細については、「再起動、停止、休止、削除の違い」を参照してください。
インスタンスを起動するとどうなるか
StartInstances API を使用して (例えば、Amazon EC2 コンソールで [Instance state] (インスタンスの状態)、[Start instance] (インスタンスの起動) を選択したり、start-instances AWS CLI コマンドを使用したりして) EC2 インスタンスを起動すると、次のようになります。
-
ほとんどの場合、基盤となる新しいホストコンピュータにインスタンスが移行します (ただし、現在のホストに残ることもあります)。
-
パブリック IPv4 アドレスを受信するようにインスタンスが設定されている場合、Amazon EC2 は新しいパブリック IPv4 アドレスをインスタンスに割り当てます。(パブリック IPv4 アドレスに変更を加えないようにするには、インスタンスに Elastic IP アドレスを関連付けます。)
詳細については、「再起動、停止、休止、削除の違い」を参照してください。
インスタンスの停止と起動
コンソールまたはコマンドラインを使用して、Amazon EBS-Backed インスタンスを起動および停止できます。
制御された故障注入実験を実行するには
インスタンスが停止後に起動された場合のアプリケーションの応答をテストするには、AWS Fault Injection Simulator を使用します。詳細については、AWS Fault Injection Simulatorユーザーガイドを参照してください。
スケジュール上のインスタンスを停止および起動する
EC2 インスタンスの停止と開始をスケジュールすることができます。このプロセスを設定するための 2 つのオプションを以下に示します。
AWS でインスタンススケジューラを使用する
インスタンススケジューラを AWS で使用して、EC2 インスタンスの開始と停止を自動化することができます。詳細については、「CloudFormation で Instance Scheduler を使用して EC2 インスタンスをスケジュールするにはどうすればよいですか?
AWS Lambda および Amazon EventBridge ルールを使用する
Lambda と EventBridge ルールを使用して、スケジュール上のインスタンスを停止および開始することができます。詳細については、「Lambda を使用して、Amazon EC2 インスタンスを一定の間隔で停止および起動するにはどうすればよいですか?
停止保護を有効にします
デフォルトでは、Amazon EC2 コンソール、コマンドラインインターフェイス、または API を使用してインスタンスを停止できます。インスタンスが誤って停止するのを防ぐために、インスタンスに対する停止保護を有効にすることができます。停止保護は、インスタンスを偶発的な終了からも保護します。
DisableApiStop
属性は、Amazon EC2 コンソール、AWS CLI、または API を使用してインスタンスを停止できるかどうかを制御します。この属性の値は、インスタンスの起動時、インスタンスの実行中、またはインスタンスの停止時に設定できます。
DisableApiStop
属性は、インスタンスからシャットダウンを開始することによってインスタンスを停止することを妨げません (システムシャットダウンのオペレーティングシステムコマンドを使用)。
考慮事項
-
停止保護を有効にしても、インスタンスにインスタンスを停止する [scheduled event] (予定されたイベント) がある場合、AWSがインスタンスを停止するのを防ぐことはできません。
-
停止保護は、インスタンスが誤って停止するのを防ぐだけでなく、コンソール、AWS CLI、または API を使用して誤って終了するのを防ぎます。ただし、
DisableApiTermination
属性は自動的に変更されません。DisableApiStop
属性が false に設定されている場合、DisableApiTermination
属性はコンソール、AWS CLI、API を使用してインスタンスを終了できるかどうかを判断するために使用されることに注意してください。 -
停止保護を有効にしても、インスタンスが異常な場合やスケールインイベント中にAmazon EC2 Auto Scaling がインスタンスを終了するのを防ぐことはできません。
-
インスタンスストアでバックアップされたインスタンスの停止保護を有効にすることはできません。
-
スポットインスタンスの停止保護を有効にすることはできません。
-
停止保護を有効または無効にすると、Amazon EC2 API は最終的な整合性モデルに従います。詳細については、「Amazon EC2 API Referenc」(Amazon EC2 API レファレンス) の「Eventual consistency」(結果整合性) を参照してください。
起動時にインスタンスに対する停止保護を有効にします
次のいずれかの方法を使用して、インスタンスを起動するときにインスタンスに対する停止保護を有効にできます。
実行中または停止したインスタンスに対する停止保護を有効にします
次のいずれかの方法を使用して、インスタンスが実行中または停止したときにインスタンスに対する停止保護を有効にできます。
実行中または停止したインスタンスに対する停止保護を無効にします
次のいずれかの方法を使用して、実行中または停止したインスタンスに対する停止保護を無効にすることができます。
停止したインスタンスの変更
AWS Management Consoleまたはコマンドラインインターフェイスを使用して、停止されているインスタンスのインスタンスタイプ、ユーザーデータ、および EBS 最適化属性を変更できます。AWS Management Consoleを使用して、DeleteOnTermination
、カーネル、または RAM ディスクの属性を変更することはできません。
インスタンス属性を変更するには
-
インスタンスタイプを変更するには、「インスタンスタイプを変更する」を参照してください。
-
インスタンスのユーザーデータを変更するには、「インスタンスユーザーデータの使用」を参照してください。
-
インスタンスの EBS 最適化を有効または無効にするには、「EBS 最適化の変更」を参照してください。
-
インスタンスのルートボリュームの
DeleteOnTermination
属性を変更するには、「実行中のインスタンスのブロックデバイスマッピングの更新」を参照してください。この属性を変更するためにインスタンスを停止する必要はありません。
コマンドラインを使用してインスタンス属性を変更するには
次のいずれかのコマンドを使用できます。これらのコマンドラインインターフェイスの詳細については、「Amazon EC2 へのアクセス」を参照してください。
-
modify-instance-attribute (AWS CLI)
-
Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)
実行中および停止中のインスタンスをすべて検索
Amazon EC2 グローバルビューでは、すべての AWS リージョン にわたって、実行中と停止中のすべてのインスタンスを 1 つのページで確認できます。これは、インベントリを取得し、忘れられたインスタンスを見つけるのに特に有用です。グローバルビューを使用する方法については、「Amazon EC2 Global View を使用して、リージョン間のリソースを一覧表示およびフィルターをかけます」を参照してください。
インスタンスの停止に関するトラブルシューティング
Amazon EBS-Backed インスタンスを停止し、stopping
状態に "stuck" が表示されている場合、インスタンスを強制終了できます。詳細については、インスタンスの停止に関するトラブルシューティング を参照してください。