インスタンスの停止と起動
インスタンスにルートデバイスとして Amazon EBS ボリュームがある場合、そのインスタンスを停止して起動できます。インスタンスにはそのインスタンス ID が保持されますが、「停止したインスタンスの変更」セクションで述べられているように変更される可能性があります。インスタンスを停止すると、インスタンスはシャットダウンします。インスタンスを起動すると、通常、インスタンスは基盤となる新しいホストコンピュータに移行され、新しいパブリック IPv4 アドレスが割り当てられます。
インスタンスを停止しても、そのインスタンスは削除されません。インスタンスが必要なくなったら、終了することができます。詳細については、「インスタンスの終了」を参照してください。インスタンスを休止状態にしてインスタンスメモリ (RAM) の内容を保存する場合は、を参照してください。オンデマンドインスタンスまたはスポットインスタンスを休止状態にするインスタンスライフサイクルアクションの違いについては、を参照してください。再起動、停止、休止、削除の違い
AWS は、再起動、停止/開始、またはリタイアなど、インスタンスのイベントを予定できます。管理対象イベントの種類とAWS、予定されているイベントに関する通知を表示および受信する方法については、を参照してくださいインスタンスの予定されたイベント。
次の図は、Amazon EC2 インスタンスを停止したときに失われるものと残るものを示しています。インスタンスが停止すると、アタッチされたインスタンスストアボリュームと、それらのボリュームに保存されているデータ、インスタンス RAM に保存されているデータ、およびインスタンスに Elastic IP アドレスが関連付けられていない場合は割り当てられたパブリック IPv4 アドレスがすべて失われます。インスタンスには、割り当てられたプライベート IPv4 アドレス、インスタンスに関連付けられた Elastic IP アドレス、すべての IPv6 アドレス、アタッチされている Amazon EBS ボリューム、およびそれらのボリューム上のデータが保持されます。

トピック
インスタンスの起動と停止に関連するコスト
インスタンスの停止と起動には以下のコストがかかります。
停止 — shutting-down
インスタンスの状態がまたはに変わるとすぐにterminated
、そのインスタンスの料金は発生しなくなります。停止したインスタンスの使用料やデータ転送料は請求されません。Amazon EBS ストレージボリュームの保存には料金がかかります。
Starting — 停止したインスタンスを再起動するたびに、1 分間分の最低料金が課金されます。1 分経過した後は、使用した秒数のみ課金されます。例えば、インスタンスを 20 秒間実行して停止した場合は、1 分間分課金されます。インスタンスを 3 分 40 秒実行した場合は、ちょうど 3 分 40 秒間分課金されます。
実行中および停止中のインスタンスをすべて検索
Amazon EC2 グローバルビュー
インスタンスを停止するための前提条件
停止できるのは Amazon EBS-Backed インスタンスだけです。インスタンスストアボリュームにバッキングされたインスタンスは、[停止] アクションをサポートしません。2 つのボリュームタイプの違いをよりよく理解するには、を参照してくださいストレージ。
インスタンスのルートデバイスタイプを確認するには、Amazon EC2 コンソールまたはを使用できます。AWS CLI
インスタンスを手動で停止して起動する
コンソールまたはコマンドラインを使用して、Amazon EBS-Backed インスタンスを起動および停止できます。
警告
インスタンスを停止すると、インスタンスストアボリューム上のデータは消去されます。インスタンスを停止する前に、必要なデータをインスタンスストアボリュームから永続的ストレージ (Amazon EBS や Amazon S3 など) にコピーしていることを確認します。インスタンスストアボリュームにバッキングされたインスタンスは、[停止] アクションをサポートしません。
インスタンスを自動的に停止して起動する
次のサービスを使用して、インスタンスの停止と起動を自動化できます。
- AWS でインスタンススケジューラを使用する
-
インスタンススケジューラを AWS で使用して、EC2 インスタンスの開始と停止を自動化することができます。詳細については、「CloudFormation で Instance Scheduler を使用して EC2 インスタンスをスケジュールするにはどうすればよいですか?
」を参照してください。追加料金が適用されることに注意してください。 - AWS Lambda および Amazon EventBridge ルールを使用する
-
Lambda と EventBridge ルールを使用して、スケジュール上のインスタンスを停止および開始することができます。詳細については、「Lambda を使用して、Amazon EC2 インスタンスを一定の間隔で停止および起動するにはどうすればよいですか?
」を参照してください。 - Amazon EC2 Auto Scaling
-
アプリケーションの負荷を処理できる Amazon EC2 インスタンスの数が適切であることを確認するには、Auto Scaling グループを作成します。 Amazon EC2 Auto Scalingアプリケーションが常にトラフィック需要を処理する適切な容量を確保し、必要な場合にのみインスタンスを起動することでコストを節約できます。不要なインスタンスを停止するのではなく、Amazon EC2 Auto Scaling終了させることに注意してください。自動スケーリンググループを設定するには、「Amazon EC2 Auto Scalingをはじめる」を参照してください。
インスタンスを停止するとどうなるか
インスタンスを停止すると、変更はインスタンスの OS レベルで登録され、一部のシステムリソースは失われ、一部は存続します。
インスタンスを停止すると、OSレベルで以下のように登録されます:
-
API リクエストは、ボタンのクリックイベントをゲストに送信します。
-
ボタンのクリックイベントの結果として、さまざまなシステムサービスが停止します。適切なシャットダウンは、ハイパーバイザーからの ACPI シャットダウンボタンのクリックイベントによってトリガーされます。
-
ACPI シャットダウンが開始されます。
-
このインスタンスは、適切なシャットダウンプロセスが終了したときにシャットダウンされます。設定可能な OS シャットダウン時間はありません。
-
インスタンス OS が数分以内に正常にシャットダウンされない場合は、ハードシャットダウンが実行されます。
-
インスタンスが実行を停止します。
-
インスタンスのステータスが
stopping
になり、その後stopped
になります。 -
[自動スケーリング] インスタンスがAuto Scalingグループにある場合、インスタンスが
running
以外のAmazon EC 2状態にある場合、またはステータスチェックのステータスがimpaired
になった場合、Amazon EC2 Auto Scaling はインスタンスを異常と見なして置き換えます。詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling インスタンスのヘルスチェック」を参照してください。
インスタンスを停止すると、次のものが失われます。
-
RAM に保存されているデータ。
-
インスタンスストアボリュームに保存されているデータは失われます。
-
起動時または開始時に Amazon EC2 がインスタンスに自動的に割り当てられたパブリック IPv4 アドレス。パブリック IPv4 アドレスに変更を加えないようにするには、インスタンスに Elastic IP アドレスを関連付けます。
インスタンスを停止しても、次のものは保持されます。
-
アタッチされた Amazon EBS ボリューム。
-
Amazon EBS ボリュームに保存されているデータ。
-
プライベート IPv4 アドレス。
-
IPv6 アドレス。
-
インスタンスに関連付けられた Elastic IP アドレス。インスタンスが停止すると、関連する Elastic IP アドレスに対する課金が始まります。
Mac インスタンスを停止するとどうなるかについては、「Mac インスタンスを停止して終了する」を参照してください。
インスタンスを起動するとどうなるか
インスタンスを起動すると、変更はインスタンスレベルで登録されます。
EC2 インスタンスを起動すると、次のことが起こります。
-
ほとんどの場合、基盤となる新しいホストコンピュータにインスタンスが移行します (ただし、専有ホスト設定でインスタンスがホストに割り当てられた場合などは、現在のホストにインスタンスが残ります)。
-
パブリック IPv4 アドレスを受信するようにインスタンスが設定されている場合、Amazon EC2 は新しいパブリック IPv4 アドレスをインスタンスに割り当てます。パブリック IPv4 アドレスに変更を加えないようにするには、インスタンスに Elastic IP アドレスを関連付けます。
停止したインスタンスの変更
インスタンスが停止している間、他のボリュームと同様にそのルートボリュームを扱い、変更することができます (ファイルシステムの問題を修復したり、ソフトウェアを更新したりするなど)。
以下のインスタンスの属性は停止されると、変更できます。
-
インスタンスタイプ
-
ユーザーデータ
-
Kernel
-
RAM ディスク
インスタンスの実行中にこれらの属性を変更しようとすると、Amazon EC2 が IncorrectInstanceState
エラーを返します。
Amazon EC2 コンソールまたは AWS CLI を使用して、停止したインスタンスの次の属性を変更できます:
-
インスタンスタイプ
-
ユーザーデータ
-
EBS 最適化
Amazon EC2 コンソールを使用した以下の属性の変更はサポートされていません。
-
DeleteOnTermination
-
Kernel
-
RAM ディスク
インスタンス属性を変更
インスタンス属性は Amazon EC2 コンソールまたはコマンドラインを使用して更新できます。
インスタンスのルートボリュームを変更
次の手順を実行すると、インスタンスのルートボリュームを変更できます。
-
ボリュームをストップどインスタンスからデタッチします。
-
実行中のインスタンスに EBS ボリュームを接続する
-
ボリュームタイプの変更
-
ボリュームを実行インスタンスからデタッチします。
-
停止したインスタンスにボリュームを再接続します。
インスタンスのブロックデバイスマッピングにルートデバイスとして指定されたストレージデバイス名を使用して、ボリュームを接続解除していることを確認します。ボリュームをデタッチしてインスタンスにアタッチする方法の詳細な手順については、Linux インスタンスから Amazon EBS ボリュームをデタッチします。 および インスタンスへの Amazon EBS ボリュームのアタッチ を参照してください。ブロックデバイスマッピングを指定する方法の詳細については、ブロックデバイスマッピング を参照してください。
停止保護を有効にします
インスタンスが誤って停止するのを防ぐために、インスタンスに対する停止保護を有効にすることができます。停止保護は、インスタンスを偶発的な終了からも保護します。
Amazon EC2 ModifyInstanceAttribute
DisableApiStop
属性は、インスタンスを停止できるかどうかを制御します。この属性は、Amazon EC2 コンソール、AWS CLI、または Amazon EC2 API を使用して設定できます。この属性の値は、インスタンスの起動時、インスタンスの実行中、またはインスタンスの停止時に設定できます。
重要
Amazon EC2 ModifyInstanceAttribute
DisableApiStop
属性を設定しても、OS shutdown または poweroff コマンドを使用してインスタンスからシャットダウンを開始したときに、誤ってインスタンスを停止することを防ぐことはできません。
ストッププロテクションに関する考慮事項
-
停止保護を有効にしても、インスタンスにインスタンスを停止する予定されたイベントがある場合、AWS がインスタンスを停止するのを防ぐことはできません。
-
停止保護を有効にしても、インスタンスが異常な場合やスケールインイベント中にAmazon EC2 Auto Scaling がインスタンスを終了するのを防ぐことはできません。スケールイン時に Auto Scaling グループが特定のインスタンスを終了できるかどうかを制御するには、インスタンスのスケールイン保護を使用します。
-
停止保護は、インスタンスが誤って停止するのを防ぐだけでなく、コンソール、AWS CLI、または API を使用して誤って終了するのを防ぎます。ただし、
DisableApiTermination
属性は自動的に変更されません。DisableApiStop
属性がfalse
に設定されている場合、DisableApiTermination
属性の設定によって、コンソール、AWS CLI 、またはAPIを使用してインスタンスを終了できるかどうかが決まります。詳細については、「インスタンスの終了」を参照してください。 -
インスタンスストアでバックアップされたインスタンスの停止保護を有効にすることはできません。
-
スポットインスタンスの停止保護を有効にすることはできません。
-
停止保護を有効または無効にすると、Amazon EC2 API は最終的な整合性モデルに従います。つまり、停止保護属性を設定するコマンドを実行した結果が、それ以降に実行するすべてのコマンドにすぐには表示されない場合があります。詳細については、「Amazon EC2 API Referenc」(Amazon EC2 API レファレンス) の「Eventual consistency」(結果整合性) を参照してください。
起動時にインスタンスに対する停止保護を有効にします
次のいずれかの方法を使用して、インスタンスを起動するときにインスタンスに対する停止保護を有効にできます。
実行中または停止したインスタンスに対する停止保護を有効にします
次のいずれかの方法を使用して、インスタンスが実行中または停止したときにインスタンスに対する停止保護を有効にできます。
実行中または停止したインスタンスに対する停止保護を無効にします
次のいずれかの方法を使用して、実行中または停止したインスタンスに対する停止保護を無効にすることができます。
アプリケーションの応答をテストして停止して起動する
インスタンスが停止後に起動された場合のアプリケーションの応答をテストするには、AWS Fault Injection Service を使用します。詳細については、AWS Fault Injection Serviceユーザーガイドを参照してください。
インスタンスの停止に関するトラブルシューティング
Amazon EBS-Backed インスタンスを停止し、stopping
状態に 「stuck」 が表示されている場合、インスタンスを強制終了できます。詳細については、「インスタンスの停止に関するトラブルシューティング」を参照してください。