AWS EC2インスタンスの停止・再起動・削除の正しい操作方法【初心者向けにわかりやすく解説】
生徒
「AWS EC2でインスタンスを起動できるようになったんですが、停止や再起動、削除ってどうやってやるんですか?」
先生
「それはとても大切な操作ですね。インスタンスの停止や削除を間違えると、データが消えることもあるので、慎重に扱う必要があります。順番に見ていきましょう。」
生徒
「なるほど、間違えないようにちゃんと覚えておきたいです!」
先生
「では、停止・再起動・削除の違いや、操作手順について丁寧に説明していきますね。」
1. EC2インスタンスの「停止」とは?
EC2インスタンスを「停止(Stop)」するとは、物理的なパソコンで例えると「OSをシャットダウンして電源を切った状態」にすることを指します。この状態では、CPUやメモリなどの計算リソースは解放されるため、インスタンス自体の実行料金(従量課金)は発生しません。
ただし、OSやデータが保存されている「EBS(仮想ディスク)」はそのまま保持されるため、ストレージの保管費用だけは継続して発生する点に注意が必要です。
停止中のインスタンスはいつでも「開始」して元の状態から再開できますが、パブリックIPアドレスが変更されるという特性があります。固定IPが必要な場合は「Elastic IP」の設定を検討しましょう。
例えば、Linuxサーバーにログインして現在の状態を確認し、コマンドで安全に停止させる際の流れは以下のようになります。
uptime
10:30:01 up 42 min, 1 user, load average: 0.00, 0.01, 0.05
sudo shutdown -h now
Connection to 54.xx.xx.xx closed by remote host.
このように、インスタンスを停止させることで、使っていない時間のコストを賢く削減することができます。
2. EC2インスタンスを停止する手順
AWSマネジメントコンソールを利用して、実行中のEC2インスタンスを安全に停止させる具体的な手順を解説します。作業を開始する前に、実行中のアプリケーションで保存されていないデータがないか必ず確認してください。
- EC2ダッシュボードへログインし、ナビゲーションメニューからアクセスします。
- 左側のサイドバーにある「インスタンス」という項目をクリックして、一覧画面を表示させます。
- 停止させたい対象のインスタンスの左側にあるチェックボックスをオンにします。
- 画面上部の「インスタンスの状態」ボタンをクリックし、ドロップダウンメニューから「インスタンスを停止」を選択します。
- 確認のポップアップが表示されるので、内容に間違いがなければ「停止」ボタンを押して確定させます。
「停止」を選択した直後は、インスタンスの状態が「stopping(停止中)」に変わります。完全に電源が切れると「stopped(停止済み)」になります。この「stopped」の状態になって初めて、インスタンスの実行料金の課金が止まります。
プログラミングやサーバー操作に慣れていない方のために、Linuxサーバーにログインしている状態で、自分自身をシャットダウンさせるコマンド例を紹介します。コンソールからボタン操作をするのと同様の効果があります。
sudo shutdown -h now
Connection to 54.xx.xx.xx closed by remote host.
上記のコマンドを実行すると、即座にシステムが終了処理に入り、SSH接続が切断されます。その後、AWSコンソール上でも数分以内に「stopped」へと自動的に更新されます。
3. EC2インスタンスの「再起動」とは?
EC2インスタンスの再起動(Reboot)とは、稼働中の仮想マシンのOSを一度終了させ、再び立ち上げる操作を指します。家庭用PCやスマートフォンの「再起動」とほぼ同じイメージですが、クラウド環境特有のメリットと注意点があります。
主な利用シーンは、OSのアップデート適用後や、プログラムの動作不良によってメモリ不足が発生した際の「リフレッシュ」です。再起動を行うことで、蓄積された不要なキャッシュやプロセスがクリアされ、システムが安定した状態に戻ります。
「停止(Stop)」とは異なり、再起動の場合はインスタンスが実行されている物理ホスト(サーバー機)が変わらないため、パブリックIPアドレスが維持されるのが一般的です。ただし、予期せぬ挙動を防ぐためにも、重要なサーバーでは固定IP(Elastic IP)の使用が推奨されます。
未経験の方でもイメージしやすいように、Linuxサーバー内で再起動の準備が整っているか(どのくらいの時間動き続けていたか)を確認し、コマンドを実行する際の見え方を例示します。
uptime
14:00:05 up 15 days, 3:24, 1 user, load average: 0.01, 0.03, 0.05
sudo reboot
Connection to 3.xx.xx.xx closed by remote host.
上記の例では、15日間動き続けていたサーバーを「reboot」コマンドで再起動しています。コマンドを実行した瞬間にネットワーク接続が切断され、サーバー内部で自動的にOSの再立ち上げが始まります。通常、1分〜2分程度待てば再び接続可能になります。
4. EC2インスタンスを再起動する手順
インスタンスの再起動は以下の操作で行います。
- EC2管理画面から対象のインスタンスを選択
- 「インスタンスの状態」→「再起動」をクリック
通常は再起動に1~2分程度かかります。中断されたプロセスや接続もリセットされるため、再接続が必要です。
5. EC2インスタンスの「削除(終了)」とは?
EC2インスタンスの「削除(終了)」とは、インスタンス自体を完全に削除する操作です。「終了」すると、そのインスタンスに保存されたすべてのデータ(ローカルディスクなど)は失われます。
再利用はできないため、終了前にバックアップやAMIの作成が必要です。
6. EC2インスタンスを削除する手順
削除(終了)は以下の手順で行います。
- EC2画面からインスタンスを選択
- 「インスタンスの状態」→「終了」をクリック
- 確認画面で「はい」をクリック
「終了済み」状態になれば削除成功です。削除されたインスタンスは元に戻せません。
7. 停止・再起動・削除の違いを比較
| 操作 | データ保持 | 料金 | IPアドレス変化 | 元に戻せるか |
|---|---|---|---|---|
| 停止 | 保持される | EBS課金のみ | 変わることがある | 戻せる |
| 再起動 | 保持される | 継続課金 | 変わることがある | 戻せる |
| 削除(終了) | 消える | 課金終了 | 無効 | 戻せない |
8. CLIで停止・再起動・削除するコマンド例
AWS CLI(コマンドラインインターフェース)を使えば、EC2インスタンスの操作もスクリプトで実行できます。
aws ec2 stop-instances --instance-ids i-xxxxxxxxxxxxxxxxx
aws ec2 start-instances --instance-ids i-xxxxxxxxxxxxxxxxx
aws ec2 terminate-instances --instance-ids i-xxxxxxxxxxxxxxxxx
上記のコマンドを使用するには、事前にCLIの設定(認証情報、リージョン)を済ませておく必要があります。
まとめ
この記事では、AWSのEC2インスタンスにおける基本的な操作「停止」「再起動」「削除(終了)」について、初心者でも理解しやすいように順を追って詳しく解説しました。
それぞれの操作は、クラウド上で仮想マシンを安全かつ効率的に利用するうえで重要です。
特に「停止」は一時的にインスタンスを止めて料金を抑える方法として有効で、「再起動」はトラブル時の対処に使われ、「削除(終了)」はインスタンスを完全に使わなくなったときに必要な手順です。
AWS EC2の管理を行う際には、うっかり「削除」してしまうことで重要なデータが失われることもあるため、違いを正しく理解することが大切です。
また、AWS CLIによる操作も習得しておくことで、自動化やスクリプト運用にも役立ち、実務での作業効率が飛躍的に高まります。
たとえば、定期的に特定のインスタンスを停止するスクリプトを自動実行したい場合、以下のような簡単なシェルスクリプトを作成することで対応可能です。
#!/bin/bash
INSTANCE_ID="i-0123456789abcdef0"
aws ec2 stop-instances --instance-ids $INSTANCE_ID --region ap-northeast-1
AWSではクラウド上にある多くのリソースを効率的に使うために、EC2の起動・停止・削除といった基本操作を正確に理解しておくことが必要です。 今後はCloudWatchと組み合わせてスケジュール自動化などにもチャレンジしてみましょう。
生徒
「EC2インスタンスって、単純に電源を切るような『停止』と、完全に消す『削除』では大きな違いがあるんですね。」
先生
「その通りです。『停止』はまた使えるけど、『削除』は戻せないので注意が必要です。再起動も忘れがちですが便利な操作です。」
生徒
「CLIの使い方もシンプルですね。スクリプトにすれば業務にも使えそうです。」
先生
「その通り。今後はCloudWatchイベントやLambdaと連携して、自動化にも挑戦していくとより実践的になりますよ。」
生徒
「次はEC2のスケジュール停止とかバックアップにも取り組んでみたいです!」