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です。時間の経過とともにデータベースのサイズが増大し、パフォーマンスが低下し、ストレージコストも上昇しています。企業はデータベースのパフォーマンスを向上させる必要があり、かつ高可用性・耐障害性を備えたソリューションを求めています。これらの要件を最もコスト効率よく満たすソリューションはどれですか?

正解: 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です。