Q17 — AWS SAA-C03 第3章
第 17/65 問 | ← 第3章
Q147. ある企業が、オンプレミスのデータセンターからAWSクラウドへと2層構成のアプリケーションを移行しました。データ層は、12TBのGeneral Purpose SSDタイプのAmazon Elastic Block Store(Amazon EBS)ストレージを備えた、Multi-AZ構成のAmazon RDS for Oracleです。アプリケーションは、文書をバイナリ・ラージ・オブジェクト(BLOB)としてデータベースに処理・保存するように設計されており、平均文書サイズは6MBです。時間の経過とともにデータベースのサイズが増大し、パフォーマンスが低下し、ストレージコストも上昇しています。企業はデータベースのパフォーマンスを向上させる必要があり、かつ高可用性・耐障害性を備えたソリューションを求めています。これらの要件を最もコスト効率よく満たすソリューションはどれですか?
- A. RDS DBインスタンスのサイズを縮小し、ストレージ容量を24 TiBに増加させ、ストレージタイプをMagneticに変更する。
- B. RDS DBインスタンスのサイズを拡大し、ストレージ容量を24 TiBに増加させ、ストレージタイプをProvisioned IOPSに変更する。
- C. Amazon S3バケットを作成し、アプリケーションを更新して文書をS3バケットに保存する。オブジェクトのメタデータは既存のデータベースに格納する。 ✓
- D. Amazon DynamoDBテーブルを作成し、アプリケーションをDynamoDBを使用するよう更新する。AWS Database Migration Service(AWS DMS)を用いて、OracleデータベースからDynamoDBへデータを移行する。
正解: C. Amazon S3バケットを作成し、アプリケーションを更新して文書をS3バケットに保存する。オブジェクトのメタデータは既存のデータベースに格納する。
解説
BLOB(バイナリ・ラージ・オブジェクト)をRDSデータベース内に格納することは、パフォーマンスとコストの両面で非効率です。RDSはトランザクション処理や構造化クエリに最適化されており、大規模なバイナリデータの保管には不向きです。代わりに、静的コンテンツや大規模ファイルの保管にはAmazon S3が最適であり、高可用性・耐障害性・スケーラビリティ・低コストを兼ね備えています。オプションCでは、文書本体をS3にオフロードし、メタデータ(例:ファイル名、所有者、作成日時など)のみをRDSに残すことで、データベースの肥大化を防ぎ、パフォーマンスを向上させ、ストレージコストを大幅に削減できます。また、S3はデフォルトで99.999999999%(11個の9)の耐久性と99.99%の可用性を提供し、高可用性・耐障害性の要件も満たします。オプションAおよびBは、RDS内でのBLOB保管という根本的な設計課題を解決せず、単にストレージコストとパフォーマンスをさらに悪化させる可能性があります。オプションDは、RDBMS(Oracle)からNoSQL(DynamoDB)への移行を伴い、スキーマ設計・アプリケーション改修・データ移行の複雑さが非常に高く、またDynamoDBはBLOBの直接保管には向かず、通常はS3との組み合わせで利用されます。したがって、最もコスト効率が良く、要件を満たすのはオプションCです。