回復力に優れたアーキテクチャ設計
あるWebアプリケーションはEC2インスタンスのローカルディスクにユーザーのセッション情報を保存しており、Auto Scalingによるスケールインが発生すると該当インスタンス上のセッションを持つユーザーが強制的にログアウトされてしまう。この問題を解決するために最も適切な設計変更はどれか。
- Aスケールインを無効にし、常に最大容量でインスタンスを稼働させる
- BEC2インスタンスのインスタンスタイプを大きくしてスケールインの発生頻度を減らす
- ✓セッション情報をAmazon ElastiCacheなどの外部データストアに保存し、EC2インスタンスをステートレスにする
- D各EC2インスタンスにEBSボリュームを追加してセッション情報の保存容量を増やす
解説
インスタンス固有の状態を持たせる(ステートフル)設計はスケールイン・障害時にデータ損失やユーザー体験の劣化を招く。外部データストアにセッションを保存しEC2をステートレス化することで、どのインスタンスが終了してもサービスに影響しない回復力の高い設計となる。
根拠回復力に優れたアーキテクチャ設計 - ステートレス化によるスケーラビリティ・回復力の確保(Amazon ElastiCache等の活用)