Q59 — AWS SAA-C03 第15章
第 59/100 問 | ← 第15章
Q1159. ある企業が、顧客データおよび注文履歴を保存するためのリレーショナルデータベースを活用したECサイトアプリケーションを開発しています。また、100 GBの商品画像を保存するソリューションも必要です。アプリケーションのトラフィックは予測可能であると見込まれています。これらの要件を最もコスト効率よく満たすソリューションはどれですか?
- A. データベースとしてAmazon RDS for MySQLを使用し、商品画像はAmazon S3バケットに保存します。 ✓
- B. データベースとしてAmazon DynamoDBを使用し、商品画像はAmazon S3バケットに保存します。
- C. データベースとしてAmazon RDS for MySQLを使用し、商品画像はAmazon Aurora MySQLデータベースに保存します。
- D. Amazon EC2インスタンスを3台作成し、その上にMongoDBソフトウェアをインストールしてデータベースとして使用します。商品画像はMulti-AZ展開のAmazon RDS for MySQLデータベースに保存します。
正解: A. データベースとしてAmazon RDS for MySQLを使用し、商品画像はAmazon S3バケットに保存します。
解説
顧客データおよび注文履歴(構造化データ)を格納するリレーショナルデータベースと、100 GBの商品画像(非構造化データ)を格納するストレージを必要とするECサイトアプリケーションにおいて、最もコスト効率の良いソリューションを選択する必要があります。要件を整理すると:① 構造化データ向けのリレーショナルデータベース、② 商品画像(100 GB)の保存、③ トラフィックが予測可能(自動スケーリングや高可用性の追加要件なし)、④ コスト最適化(過剰なリソース割り当てを避ける)。各選択肢を検討します。A:Amazon RDS for MySQLは、顧客データや注文履歴といった構造化データに最適なマネージドリレーショナルデータベースであり、Amazon S3は大規模な非構造化データ(画像など)を低コスト・高耐久性で保存できるストレージサービスです。100 GBという規模にも十分対応でき、運用負荷も最小限です。B:Amazon DynamoDBはNoSQLデータベースであり、関係性のあるトランザクションデータ(例:注文履歴と顧客情報の結合)を効率的に扱うのに不向きです。要件にある「リレーショナルデータベース」に合致しません。C:Amazon Aurora MySQLは高性能ですが、同程度のワークロードではAmazon RDS for MySQLよりコストが高くなります。また、画像をリレーショナルデータベース内に格納するのは非効率であり、ストレージコストやパフォーマンス面で不利です。D:EC2上でMongoDBを自前運用するのは、マネージドサービス(例:RDSやDynamoDB)と比較して運用負荷・コストともに高くなります。さらに、商品画像をRDS for MySQL(しかもMulti-AZ)に格納するのは、RDSが構造化データ向け設計である点から技術的に不適切であり、冗長性による不要なコスト増加を招きます。したがって、最もコスト効率が高く、要件を正確に満たすのは選択肢Aです。このソリューションは、マネージドなリレーショナルデータベース(RDS for MySQL)と、画像ストレージに特化した低コスト・高スケーラブルなストレージ(S3)を組み合わせており、予測可能なトラフィック下での運用にも最適です。