Amazon EC2 インスタンスの停止と起動 - Amazon Elastic Compute Cloud

Amazon EC2 インスタンスの停止と起動

インスタンスにルートデバイスとして Amazon EBS ボリュームがある場合、そのインスタンスを停止して起動できます。ユーザーがインスタンスを停止すると、インスタンスはシャットダウンされます。インスタンスを起動すると、通常、インスタンスは基盤となる新しいホストコンピュータに移行され、新しいパブリック IPv4 アドレスが割り当てられます。

インスタンスを停止しても、そのインスタンスは削除されません。インスタンスが必要なくなったら、終了することができます。詳細については「Amazon EC2 インスタンスを終了する」を参照してください。インスタンスを休止状態にしてインスタンスメモリ (RAM) の内容を保存する場合はを参照してください。Amazon EC2 インスタンスの休止インスタンスライフサイクルアクションの違いについてはを参照してください。インスタンスの状態の違い

インスタンスを手動で停止して起動する

ユーザーはAmazon EBS Backed インスタンス (EBS ルートデバイスを備えたインスタンス) を停止および起動できます。インスタンスストアのルートデバイスを使用して、インスタンスを停止および起動することはできません。

警告

インスタンスを停止すると、インスタンスストアボリューム上のデータは消去されます。インスタンスを停止する前に、必要なデータをインスタンスストアボリュームから永続的ストレージ (Amazon EBS や Amazon S3 など) にコピーしていることを確認します。

Console
Amazon EBS-Backed インスタンスを停止および起動するには
  1. Amazon EC2 コンソール のhttps://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで [インスタンス] を選択し、該当するインスタンスを選択してください。

  3. [ストレージ] タブで、[ルートデバイスタイプ][EBS] であることを確認します。EBS になっていないと、そのインスタンスを停止することはできません。

  4. [Instance state (インスタンスの状態)]、[Stop instance (インスタンスの停止)] の順に選択してください。このオプションが無効になっている場合はインスタンスが既に停止しているか、またはルートボリュームがインスタンスストアボリュームです。

  5. 確認を求められたら、[Stop] を選択してください。インスタンスが停止するまで、数分かかる場合があります。

  6. 停止されているインスタンスを開始するにはインスタンスを選択後、[インスタンスの状態][インスタンスの開始] の順に選択してください。

  7. インスタンスが running 状態になるまで、数分かかる場合があります。

  8. Amazon EBS-Backed インスタンスを停止し、stopping 状態に 「stuck」 が表示されている場合、インスタンスを強制終了できます。詳細については「アマゾン EC2 インスタンスの停止に関する問題のトラブルシューティング」を参照してください。

Command line
前提条件

インスタンスのルートデバイスが EBS ボリュームであることを確認します。例えば、describe-instances AWS CLI コマンドを実行して、RootDeviceTypeinstance-store ではなく ebs になっていることを確認します。

Amazon EBS-Backed インスタンスを停止および起動するには

以下のいずれかのコマンドを使用します。

[Linux インスタンス] インスタンスから OS halt コマンドを使用しても、シャットダウンは開始されません。haltコマンドを使用すると、インスタンスは終了せず、代わりに CPU をに配置して HLT CPU 操作を一時停止します。インスタンスは実行状態のままです。

インスタンスを自動的に停止して起動する

次のサービスを使用して、インスタンスの停止と起動を自動化できます。

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をはじめる」を参照してください。

実行中および停止中のインスタンスをすべて検索

Amazon EC2 グローバルビューではすべてにわたって、実行中と停止中のすべての AWS リージョン のインスタンスを 1 つのページで確認できます。これはインベントリを取得し、忘れられたインスタンスを見つけるのに特に有用です。グローバルビューを使用する方法については「Amazon EC2 Global View を使用して、リージョン間のリソースを表示する」を参照してください。

初期と最新の起動時間を確認

インスタンスを記述するとき、インスタンスの起動時間は最新の起動時間です。インスタンスを停止して起動すると、起動時間に新しいインスタンスの開始時刻が反映されます。インスタンスの初回起動時間を確認するにはインスタンスを停止して起動した後でも、プライマリネットワークインターフェイスがインスタンスにアタッチされた時刻を確認してください。

コンソールを使用して最新の起動時間を確認するにはインスタンスを選択して [詳細] タブの [インスタンスの詳細] を参照してください。プライマリネットワークインターフェイスのアタッチメント時間を確認するには[ネットワーク] タブの [ネットワークインターフェイス] を参照してください。

AWS CLI を使用して次の describe-instances コマンドを実行し、指定したインスタンスの初期起動時間および最新の起動時間の両方を表示します。

aws ec2 describe-instances --instance-id i-09453945dcf1529e9 --query 'Reservations[*].Instances[*].{InstanceID:InstanceId,InitialLaunch:NetworkInterfaces[0].Attachment.AttachTime,LastLaunch:LaunchTime}'

以下は出力例です。

{ "InstanceID": "i-09453945dcf1529e9", "InitialLaunch": "2024-03-31T00:47:08+00:00", "LastLaunch": "2024-06-30T00:24:06+00:00" }