Q67 — AWS DOP-C02 第2章
第 67/100 問 | ← 第2章
ある企業は、アプリケーションロードバランサーの背後に配置されたAmazon EC2インスタンス上でWebアプリケーションをテストしています。インスタンスは、複数の可用性ゾーンにまたがるAuto Scalingグループで実行されています。同社は、新しいソフトウェアをデプロイする際に、ダウンタイムのないブルー/グリーンデプロイプロセスを使用しています。 テスト中に、ユーザーはアプリケーションに自動的にログアウトされます。テスト担当者は、アプリケーションの新バージョンがデプロイされると、すべてのユーザーがログアウトすると報告しています。開発チームは、スケーリングイベントおよびアプリケーションデプロイの際にユーザーがログイン状態を維持できるソリューションを必要としています。 ユーザーのログイン状態を維持するための最も効率的な方法は何ですか?
- A. ロードバランサーでスマートセッション(ステッキーセッション)を有効化し、アプリケーションを既存セッションを確認するように変更します。
- B. ロードバランサーでセッション共有を有効化し、アプリケーションをセッションストアから読み取るように変更します。
- C. ユーザーのセッション情報をAmazon S3バケットに保存し、アプリケーションをそのバケットからセッション情報を読み取るように変更します。
- D. アプリケーションを変更し、ユーザーのセッション情報をAmazon ElastiCacheクラスターに保存します。 ✓
正解: D. アプリケーションを変更し、ユーザーのセッション情報をAmazon ElastiCacheクラスターに保存します。
解説
本問は、AWSアーキテクチャにおけるユーザーセッションの永続性に関するソリューションを問うものです。スケーリングやデプロイ時にユーザーのログイン状態が失われる理由は、インスタンスの交換によりセッションデータが共有されないためです。AWSでは、ElastiCacheのような集中型セッションストアの使用が推奨されており、これは低遅延・高可用性の特性を持ち、複数インスタンス間でのデータ共有に最適です。選択肢Aのロードバランサーのステッキーセッションは、インスタンスの交換に対応できません。選択肢Bの「セッション共有」はALBのネイティブ機能ではありません。選択肢CのS3は遅延が高く、頻繁なセッション読み書きには不適切です。選択肢Dは、ElastiCacheにセッション情報を保存することで、すべてのインスタンスが同一のデータソースにアクセスし、ログイン状態を維持できます。これはAWSのベストプラクティスに合致します。