Q62 — AWS SAA-C03 第16章
第 62/100 問 | ← 第16章
Q1262. ある企業は、複数のユーザーから送信されるデータを処理する必要があります。このデータはリレーショナルデータベースに格納されています。ソリューションアーキテクトは、データを抽出し、ビジネスルールを適用して変換した後、Amazon S3 に保存する必要があります。また、処理中のデータが暗号化されていることを保証しなければなりません。これらの要件を満たすとともに、運用上の負担が最も少ないソリューションはどれですか?
- A. AWS Glue ETL ジョブを使用し、AWS KMS を活用して組み込みの暗号化機能を有効化します。AWS Glue ジョブを構成してデータを変換し、変換後のデータを各ユーザーごとに個別の Amazon S3 バケットに保存します。各バケットは、そのユーザー専用の AWS KMS キーで暗号化します。 ✓
- B. 暗号化設定を有効にした Amazon EMR クラスターを使用します。各ユーザーごとに 1 つのクラスターを作成し、AWS KMS キーを用いて静止時および転送時のデータを暗号化します。
- C. 暗号化が有効な AWS Database Migration Service (AWS DMS) を使用します。各ユーザーごとに 1 つのレプリケーションタスクを構成し、データを抽出・ロードして、各ユーザー専用の個別の Amazon S3 バケットに保存します。各バケットは、そのユーザー専用の AWS KMS キーで暗号化します。
- D. データベースの変更をトリガーとして実行される AWS Lambda 関数を使用します。メモリ内でデータを処理し、暗号化を有効化した上で、処理済みデータを Amazon S3 に書き込みます。サーバー側暗号化(SSE)を使用します。
正解: A. AWS Glue ETL ジョブを使用し、AWS KMS を活用して組み込みの暗号化機能を有効化します。AWS Glue ジョブを構成してデータを変換し、変換後のデータを各ユーザーごとに個別の Amazon S3 バケットに保存します。各バケットは、そのユーザー専用の AWS KMS キーで暗号化します。
解説
正解は A です。AWS Glue ETL ジョブを使用し、AWS KMS を活用して組み込みの暗号化機能を有効化します。AWS Glue ジョブを構成してデータを変換し、変換後のデータを各ユーザーごとに個別の Amazon S3 バケットに保存します。各バケットは、そのユーザー専用の AWS KMS キーで暗号化します。 解説: この企業には以下の要件があります。 ・リレーショナルデータベースからデータを抽出すること。 ・ビジネスルールを適用してデータを変換すること。 ・Amazon S3 に暗号化された状態でデータを保存すること。 ・運用上の負担を最小限に抑えること(自動化・スケーラビリティ・管理容易性)。 AWS Glue が最適な選択肢となる理由: ・完全マネージド型の ETL サービスであり、インフラストラクチャの管理が不要です。 ・AWS KMS を用いた組み込み暗号化機能(静止時および転送時の両方)を提供します。 ・サーバーレスアーキテクチャであり、自動的にスケールするため、運用オーバーヘッドが低減されます。 ・ユーザーごとの S3 バケットと KMS 暗号化をサポートしており、きめ細かなセキュリティ制御が可能です。 なぜ選択肢 A が正しいのか: AWS Glue ETL ジョブ: ・抽出(Extract)、変換(Transform)、ロード(Load)の全プロセスを自動化します。 ・JDBC コネクタを介してリレーショナルデータベースとネイティブに統合できます。 ・PySpark や Scala を用いてビジネスロジックを実装できます。 AWS KMS 暗号化: ・S3 内の静止時データを SSE-KMS で暗号化します。 ・Glue と S3/データベース間の転送時データを TLS で暗号化します。 ・ユーザーごとの KMS キーを指定可能であり、アクセス制御の粒度が高くなります。 運用負担の最小化: ・EMR のようなクラスタ管理が不要です。 ・Lambda のような複雑なワークフロー設計や手動スケーリングが不要です。 ・AWS Glue のトリガーまたは Amazon EventBridge を用いた集中型ジョブスケジューリングが可能です。 他の選択肢が不適切な理由: B. 暗号化設定を有効にした Amazon EMR(ユーザーごとのクラスター): ・複数のクラスターを管理する運用負担が非常に大きいです。 ・コスト面でも、Glue と比較して高額になります(EMR クラスターはリソース消費が大きい)。 ・サーバーレスではなく、スケーリングやメンテナンスを自ら行う必要があります。 C. 暗号化を有効にした AWS DMS(ユーザーごとのレプリケーションタスク): ・データベース移行(マイグレーション)向けのサービスであり、複雑な変換処理(ビジネスルール適用)には向いていません。 ・CDC(Change Data Capture)には優れていますが、高度な ETL 処理機能は限定的です。 ・変換処理には追加のサービス(例:Lambda や Glue)が必要になるため、全体の構成が複雑化します。 D. データベース変更をトリガーとする AWS Lambda(メモリ内処理): ・大規模な ETL 処理には不向きです(Lambda にはメモリ制限およびタイムアウト制限があります)。 ・暗号化処理を自前で実装する必要があり、Glue のようにネイティブにサポートされていません。 ・Glue のような組み込みワークフローと比べ、オーケストレーションが大幅に複雑になります。 補足検討(ユーザーごとの S3 バケットが必須でない場合): ユーザーごとの個別バケットが不要であれば、よりシンプルなアプローチも可能です: ・単一の AWS Glue ジョブで全ユーザーのデータを一括処理します。 ・単一の S3 バケットに保存し、KMS 暗号化(単一の CMK またはパーティションごとの異なるキー)を適用します。 ・これにより、バケット管理のオーバーヘッドが削減されます。 ただし、問題文では「各ユーザーごとの S3 バケット」および「ユーザー固有の KMS キーによる暗号化」が明示的に求められており、選択肢 A はこれらを Glue の自動化機能を活かして最小限の運用負担で実現しています。 結論: 選択肢 A が最適な理由: ・AWS Glue は、完全マネージドかつスケーラブルな ETL ソリューションを提供します。 ・KMS 暗号化により、設定作業を最小限に抑えながらセキュリティを確保できます。 ・ユーザーごとのバケットと暗号化も、インフラ管理なしで実現可能です。 ・EMR、DMS、Lambda と比較して、運用負担が最も小さくなります。 最終的な正解:A