Q68 — AWS SAP-C02 第1章

第 68/75 問 | ← 第1章

Q143. ある企業がAWSクラウド上でIoTアプリケーションを実行しています。同社は米国内の住宅からデータを収集する数百万台のセンサーを保有しており、これらのセンサーはMQTTプロトコルを使用してカスタムMQTTブローカーに接続し、データを送信しています。MQTTブローカーは単一のAmazon EC2インスタンス上にデータを保存しています。センサーは「iot.example.com」というドメイン名を介してブローカーに接続します。同社はDNSサービスとしてAmazon Route 53を利用しています。また、データはAmazon DynamoDBに保存されています。 これまでに何度か、データ量がMQTTブローカーの処理能力を超え、センサーデータの喪失が発生しました。同社はこのソリューションの信頼性を向上させる必要があります。 これらの要件を満たすソリューションはどれですか?

正解: B. AWS IoT Coreをセットアップしてセンサーデータを受信します。AWS IoT Coreに接続するためのカスタムドメインを作成・設定します。Route 53内のDNSレコードを更新し、AWS IoT Core Data-ATSエンドポイントを指すように設定します。AWS IoTルールを設定してデータを保存します。

解説

正解は選択肢Bです。AWS IoT Coreは、大規模なMQTTベースのIoTデバイスからの接続とメッセージ受信をネイティブにサポートするマネージドサービスであり、スケーラビリティ、可用性、耐障害性に優れています。MQTTブローカーを自前でEC2上で運用している現状では、単一障害点(SPOF)やスケーリングの限界があり、データ損失の原因となっています。AWS IoT Coreを導入することで、MQTT接続の負荷分散、自動スケーリング、および組み込みのセキュリティ機能(X.509証明書による認証など)が得られます。さらに、AWS IoTルールエンジンを活用すれば、受信したデータをそのままAmazon DynamoDBに書き込むなどのバックエンド統合が容易に実現できます。選択肢AはALBがMQTT(TCP/SSL)を直接サポートしないため不適切です(ALBはHTTP/HTTPS/GRPCのみ対応)。選択肢CのGlobal Accelerator+NLB構成は、ネットワークレイヤーでの可用性向上には寄与しますが、単一EC2上のMQTTブローカーという根本的なボトルネックを解決せず、スケーラビリティと信頼性の向上には不十分です。選択肢DのAWS IoT Greengrassは、エッジデバイス上でローカル処理を行うためのサービスであり、クラウド側のMQTTブローカーの代替にはならず、DNSをGreengrassエンドポイントに向けたとしても、センサーがクラウドに直接接続するユースケースには適合しません。