⚡ 可用性・障害対応:EC2の使いどころ

【EC2の役割(耐障害性と高可用性)】

目次

🔍 1. 結論

💎 一言でいうと EC2単体では弾力性(Resiliency)はありません。EC2を 「Auto Scaling Group」に入れ、複数のAZ(Multi-AZ)にまたがって配置する ことで、初めて「障害に強く、負荷変動に耐えられる」弾力性のあるコンピューティング層が完成します。

  • 1つのインスタンスがダウンしても、Auto Scalingが自動で新しいEC2を起動(自己修復機能)。
  • トラフィックが増えれば自動で台数が増える(スケールアウト)。
  • セッション状態を持たない「ステートレス」なアプリ設計が必須。

📈 2. SAAで出やすいポイント

  • ELBヘルスチェックとの連動: EC2単体のステータスチェックだけでなく、ELBからのヘルスチェック(アプリが応答しているか)と連動させることで、ハングアップしたEC2を即座に破棄して新しいものと交換できる。
  • マルチAZ展開: Auto Scaling Groupの設定で複数のサブネット(異なるAZ)を指定しておくと、EC2インスタンスを各AZに均等になるように自動配置してくれる。1つのAZが停電しても別のAZのEC2がカバーする。
  • ステートレス設計: EC2インスタンスはいつでも「殺されて、新しく作られる」運命にあるため、EC2の中のローカルディスクにユーザーのログイン状態(セッション)などを保存してはいけない。DynamoDBやElastiCacheに外出しする。

🗝 3. キーワードでの判断

問題文のキーワード 疑うサービス・構成
🔄 「障害が発生したEC2インスタンスを自動で復旧させたい」 Auto Scaling (ヘルスチェックによる置換)
🛡️ 「1つのデータセンターが落ちてもWebアプリを動かし続けたい」 EC2をMulti-AZのAuto Scaling Groupに配置
🚫 「スケールイン(台数削減)時にデータが消えてしまう」 EC2に状態を保存している(ステートフル)。セッションを外出しする

⚠️ 4. ひっかけポイント

🚫 よくある誤答パターン – 「EC2のインスタンスタイプを大きくして(スケールアップ)障害に備える」 → AWSのベストプラクティスでは、巨大な1台よりも「小さな複数台(スケールアウト)」が弾力性の正解です。 – 「障害時にCloudWatchアラームで管理者にメールし、手動で再起動する」 → 「自動復旧」がクラウドの弾力性です。手動操作は不正解。


💡 5. 覚え方

🧠 暗記ショートカット – 弾力性のあるEC2 = 「トカゲのしっぽ」。 – 切れても(ダウンしても)すぐに生えてくる(Auto Scaling)。ただし、しっぽに大事なもの(セッションデータ)をしまっておくと一緒に無くなるので注意。


📚 6. 関連サービス

アイコン サービス名 弾力性における役割
📈 Auto Scaling EC2の増減と死活監視(自己修復)を担う
⚖️ ELB 増減するEC2に対してトラフィックを綺麗に振り分ける
💿 AMI スケールアウト時に、常に同じ設定のEC2を爆速で立ち上げるための「金型」

🗒️ 7. Obsidian管理メモ

  • 見返すタイミング: Auto Scaling、ステートレスアーキテクチャの学習時
  • 関連ノート候補: AWS_SAA_Auto_Scaling, AWS_SAA_Stateless

8. HTMLファイル名: AWS_弾力性設計_EC2.html

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次