AWS認定資格 WEB問題集&徹底解説

ソリューションアーキテクト – アソシエイト

正解 B問題
要復習(もう一度解きたい問題) 1 2 3 4
合格に向けて、もっと深く学習する
豊富な問題と詳細なAWSサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
ある企業は、サーバーレスアーキテクチャで構築されたWebアプリケーションを運用しています。このアプリケーションでは、ユーザーがアップロードした大量のログファイルをAmazon S3に保存しており、データアナリストチームから「S3に保存されているログデータに対して、SQLライクな問い合わせを実施したい」との要求がありました。データは日々増加しており、インフラの管理コストを最小限に抑えながら、柔軟にクエリを実行できる仕組みが求められています。どのソリューションがこれらの要件を満たしますか?
  • AWS Glueでデータカタログを作成し、Amazon Redshiftにデータをロードしてクエリを実行する
  • Amazon AthenaでS3上のデータに直接クエリを実行する
  • AWS Data PipelineでデータをAmazon EMRに転送し、Sparkクエリで分析を実施する
  • Amazon OpenSearch ServiceにS3からデータをインポートして全文検索クエリを実行する
解説 頻出度★★★★★
この問題は、「S3 上のログ × SQL ライクな問い合わせ × インフラ管理コスト最小」の要件で、サーバーレスでS3 に直接クエリできる Amazon Athenaを選べるかがポイント

A. AWS Glueでデータカタログを作成し、Amazon Redshiftにデータをロードしてクエリを実行する

AWS Glue でカタログを作るところまでは Athena でも行う一般的な手順だが、Amazon Redshift へデータをロードする点が本問の要件に反する。
ロード用の ETL パイプラインを日々運用する必要があり、Redshift クラスター(またはワークグループ)の管理・コストも発生する。インフラ管理コストを最小限にという要件を満たさない。

正解

B. Amazon AthenaでS3上のデータに直接クエリを実行する

Amazon Athena は、S3 に置いたままのデータに標準 SQL(Trino/Presto ベース)で直接クエリできるサーバーレスの分析サービス。プロビジョニングするサーバーもクラスターも無く、スキャンしたデータ量に対する従量課金のため、アドホックなログ分析に最も適する。
データが日々増えても S3 に追記していくだけでよく、パーティション分割や Parquet 化でコストと性能をさらに最適化できる。サーバーレス構成・運用負荷最小・柔軟な SQL という本問の要件すべてに合致する。

C. AWS Data PipelineでデータをAmazon EMRに転送し、Sparkクエリで分析を実施する

AWS Data Pipeline + Amazon EMR は大規模な分散処理(Spark/Hadoop)には有効だが、EMR クラスターの構築・チューニング・停止の運用が必要で、インフラ管理コストは最大クラス。
「S3 のログに SQL ライクな問い合わせをしたい」という目的に対しては明らかにオーバースペック。なお AWS Data Pipeline は新規利用が推奨されないレガシーサービスである点にも注意。

D. Amazon OpenSearch ServiceにS3からデータをインポートして全文検索クエリを実行する

Amazon OpenSearch Service は全文検索・ログの可視化(ダッシュボード)に強いが、S3 のデータをクラスターへインポート(インデックス化)する必要があり、ノードの管理・スケーリングも発生する。
データが増え続ける前提ではストレージとノードのコストが積み上がるため、「インフラ管理コスト最小で SQL ライクに問い合わせる」という要件には合わない。

これだけ覚える(記憶フック)
「S3 のデータに SQL」と来たら Athena。ロードもクラスターも要らない、スキャン量課金。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
データはすでに Amazon S3 に保存されている データを動かさずにその場でクエリできるかを見る。ロード/インポートを伴う案は不利
→選択肢(A・D)を消す
SQL ライクな問い合わせを実施したい Athena は標準 SQL で S3 に直接クエリできる。OpenSearch は全文検索が主用途
→選択肢(B)は候補
インフラの管理コストを最小限に(サーバーレス構成) クラスター(Redshift・EMR・OpenSearch)を持つ時点で管理が発生する
→選択肢(A・C・D)を消す
データは日々増加していく Athena ならS3 にファイルを追加するだけ。パーティション化でスキャン量も抑えられる
→選択肢(B)が正解
ひっかけポイント
  • 選択肢AのAWS Glue(データカタログ)自体は Athena でも使うため正しく見えるが、Redshift にロードする時点で「管理コスト最小」から外れる
  • 「大量のログ」という語で EMR/Spark を選びたくなるが、やりたいのは SQL 問い合わせだけ。分散処理基盤は過剰
  • OpenSearch は全文検索・可視化であって、S3 上のデータへのアドホック SQL の第一候補ではない
  • Athena の課金はスキャンしたデータ量。コスト削減策としてパーティション分割・列指向(Parquet)圧縮がセットで問われる
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「クエリを継続的・高頻度に実行し、BI ツールから高速に分析したい」 Amazon Redshift(データウェアハウス)が正解軸に。
「ログをリアルタイムに検索・可視化してダッシュボードで監視したい」 Amazon OpenSearch Service が正解に浮上する。
Spark/Hadoop による複雑な変換処理を大規模に回したい」 Amazon EMR(または Glue の Spark ジョブ)が正解軸に。
「Athena のクエリコストと実行時間を削減したい」 パーティション分割+Parquet/ORC への変換(Glue ETL)が正解軸に。
関連サービスの解説 Amazon OpenSearch Service
Amazon Athena
Amazon EMR
Amazon Redshift
Amazon Simple Storage Service (Amazon S3)
AWS Data Pipeline
AWS Glue
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 74%
No.15 解説
ある企業は、サーバーレスアーキテクチャで構築されたWebアプリケーションを運用しています。このアプリケーションでは、ユーザーがアップロードした大量のログファイルをAmazon S3に保存しており、データアナリストチームから「S3に保存されているログデータに対して、SQLライクな問い合わせを実施したい」との要求がありました。データは日々増加しており、インフラの管理コストを最小限に抑えながら、柔軟にクエリを実行できる仕組みが求められています。どのソリューションがこれらの要件を満たしますか?
  • AWS Glueでデータカタログを作成し、Amazon Redshiftにデータをロードしてクエリを実行する
  • Amazon AthenaでS3上のデータに直接クエリを実行する
  • AWS Data PipelineでデータをAmazon EMRに転送し、Sparkクエリで分析を実施する
  • Amazon OpenSearch ServiceにS3からデータをインポートして全文検索クエリを実行する

(会員限定)当問題の評価をお願いします。改善に活用します。