Q62 — AWS SAA-C03 第6章

第 62/65 問 | ← 第6章

Q427. ある企業では、Amazon EC2インスタンス上で実行されるRESTfulウェブサービスアプリケーションを用いて、数千台のリモートデバイスからデータを収集しています。このEC2インスタンスは、生データを受信し、変換処理を行った後、すべてのデータをAmazon S3バケットに保存します。今後間もなく、リモートデバイスの台数は数百万台へと増加する予定です。企業は、運用オーバーヘッドを最小限に抑えつつ、高いスケーラビリティを実現するソリューションを必要としています。 これらの要件を満たすために、ソリューションアーキテクトが実施すべき手順の組み合わせはどれですか?(2つ選択してください。)

正解: A. AWS Glue を使用して Amazon S3 に格納された生データを処理する。, E. Amazon API Gateway を使用して生データを Amazon Kinesis Data Stream に送信し、Amazon Kinesis Data Firehose を設定して、そのデータストリームをソースとして Amazon S3 へデータを配信する。

解説

要件は「高スケーラビリティ」と「運用オーバーヘッドの最小化」です。現在のEC2中心の同期処理方式では、デバイス数が数百万に達した際にスケールや可用性、管理負荷の面で限界があります。 選択肢Eは、API Gateway(スケーラブルなRESTエンドポイント)+Kinesis Data Stream(リアルタイムかつ耐障害性のあるデータ取り込み)+Kinesis Data Firehose(S3へのマネージドなデータ配信)という、完全にマネージドで自動スケーリング可能なアーキテクチャを提供し、運用オーバーヘッドを大幅に削減します。これは最も適した選択肢です。 選択肢Dは、SQSを介した非同期処理により、EC2の負荷分散とバックプレッシャー緩和を実現できますが、EC2インスタンスのプロビジョニング・監視・スケーリング(Auto Scaling設定など)が必要であり、運用オーバーヘッドが残ります。ただし、選択肢C(単純なEC2追加)よりはスケーラブルで、かつ選択肢Eほどではないものの、既存のEC2ベースの処理ロジックを活かせる現実的な移行手段として、本問では「2つ選択」のうちの1つとして妥当と判断されます(※ただし、Eが最適解であることは明確であり、Dは代替案として許容される中間解)。 選択肢Aは、S3にすでに格納されたデータのバッチ処理には有効ですが、リアルタイムなデータ取り込み・変換・保存のフローには不向きです(遅延が発生し、スケーラビリティのボトルネックにもなり得ます)。 選択肢Bは、Route 53はDNSベースのラウンドロビンやヘルスチェック付きルーティングを提供しますが、EC2インスタンスの負荷分散にはApplication Load Balancer(ALB)が適しており、Route 53単体ではレイヤー7の動的ロードバランスやスケーラビリティ担保ができません。 選択肢Cは、手動または静的なスケーリングであり、数百万デバイスという急激な増加には対応できず、運用負荷も高いため不適切です。 よって、正解は D および E です。