EC2インスタンスのライフサイクルと状態管理
EC2インスタンスの状態遷移(起動・停止・終了・ハイバネーション)と、各状態での課金ルール、リカバリ手法を学びます。
学習順Step 13 / 46サービスEC2試験ドメイン弾力性
インスタンスの状態遷移
EC2インスタンスは、起動から終了まで以下の状態を遷移します。
| 状態 | 説明 | EC2課金 |
|---|---|---|
| pending | 起動準備中。AMIからインスタンスを作成している段階 | なし |
| running | 実行中。インスタンスが使用可能な状態 | あり |
| stopping | 停止処理中 | なし(ハイバネーション準備中は課金あり) |
| stopped | 停止済み。インスタンスは存在するが実行されていない | なし |
| shutting-down | 終了処理中(削除準備中) | なし |
| terminated | 完全に削除済み。復元できない | なし |
重要: インスタンスが停止中(stopped)でも、アタッチされたEBSボリュームには引き続き課金が発生します。完全にコストを抑えたい場合は、インスタンスを終了(terminate)する必要がありますが、デフォルトではルートボリュームのEBSも削除されるため注意が必要です。
停止(Stop)と終了(Terminate)の違い
停止(Stop)
- インスタンスの実行を一時的に停止する
- EBSボリュームのデータは保持される
- 再開(Start)すると新しいホストに配置される可能性がある
- パブリックIPアドレスは解放される(Elastic IPは保持)
- プライベートIPアドレスは維持される
終了(Terminate)
- インスタンスを完全に削除する
- デフォルトでルートボリュームに設定されたEBSも削除される
- 一度終了したインスタンスは復元できない
- DeleteOnTermination属性を無効にすることで、インスタンス終了時にEBSボリュームを保持可能
終了保護
誤ってインスタンスを終了してしまうことを防ぐため、「終了保護」を有効にできます。有効にすると、APIやコンソールからの終了操作がブロックされます。
ハイバネーション(休止)
ハイバネーションを使うと、インスタンス停止時にメインメモリ(RAM)の内容をルートEBSボリュームに退避し、次回起動時にメモリを復元して停止前と同じ状態で再開できます。
メリット
- 起動時間を大幅に短縮できる(OSやアプリケーションの初期化が不要)
- メモリ上のセッション情報やキャッシュが維持される
利用条件
- ルートボリュームがEBSで、暗号化されている必要がある
- ルートボリュームの容量がRAMサイズ以上であること
- インスタンスの詳細設定で「停止-休止動作」を有効にする必要がある
- 対応するインスタンスタイプに限りがある(M系、C系、R系など多くのタイプで利用可能)
インスタンスの再起動
再起動(Reboot)は、停止→起動とは異なる操作です。
- 再起動ではインスタンスは同じホスト上に留まる
- パブリックIPアドレスやプライベートIPアドレスは変更されない
- インスタンスストア上のデータは保持される(停止の場合は消失する)
リカバリとベストプラクティス
EC2インスタンスの障害に備え、以下の対策を実施することが推奨されます。
自動復旧
- CloudWatchアラームを設定し、システムステータスチェックの失敗時にインスタンスを自動復旧できる
- 復旧後のインスタンスはIPアドレスやインスタンスID、メタデータが元のインスタンスと同一
バックアップ戦略
- AMIやEBSスナップショットを定期的に取得する
- DLM(Data Lifecycle Manager)を利用してスナップショットの取得をスケジューリングする
- 定期的にリカバリプロセスをテストする
高可用性の確保
- 重要なアプリケーションは複数のAZにデプロイする
- Auto Scalingグループを利用してインスタンスの自動置換を行う
- Elastic IPやENIの付け替えでフェイルオーバーを実現する
起動に失敗するケース
stopped状態からの起動が失敗する主な原因には以下があります。
- EBSボリューム数の制限を超過している
- EBSスナップショットが破損している
- 暗号化されたスナップショットの復号に必要なKMSキーへのアクセス権がない
- インスタンスストア型AMIに必要なパーツが欠損している
参考リンク
重要ポイント
- ▸Running状態のみEC2料金が発生し、停止中はEBS料金のみ
- ▸停止(Stop)はデータ保持、終了(Terminate)はインスタンス削除
- ▸ハイバネーションでメモリ内容を保持したまま停止できる
- ▸CloudWatchアラームで障害時の自動復旧が可能
- ▸終了保護を有効にすると誤った削除を防止できる
このトピックの学習を完了しますか?
完了状態はいつでも切り替えられます
この試験ドメイン内で次の学習に進む
同じサービスの関連トピック
EC2 とコンピュート に関連するトピックを続けて確認できます。