type
status
date
slug
summary
tags
category
icon
password
理論
1. AWS IoT Core
機能:
- AWS IoT Core は、IoTデバイス(例:センサー)から送られてくるデータを処理するための完全マネージドサービスです。
- MQTTプロトコルをネイティブでサポートしており、センサーからのデータを直接受信できます。
- 高可用性とスケーラビリティを提供し、デバイスの増加やネットワークの不安定さがあってもデータを失わないようにします。
このソリューションでの役割:
- センサーからMQTTプロトコルを使用して送られるデータを受信。
- 受信したデータを Kinesis Data Firehose に転送。
2. Amazon Kinesis Data Firehose
機能:
- Kinesis Data Firehose は、リアルタイムデータストリームを処理・転送するための完全マネージドサービスです。
- データを Amazon S3、Amazon Redshift、Amazon Elasticsearch Service などのターゲットストレージに送ることができます。
- データ形式の変換やバッチ処理をサポートしています。
例での役割:
- AWS IoT Core からデータを受け取り、Amazon S3 などのターゲットに信頼性を持って送信。
- 高い耐障害性を提供し、データの紛失を防ぎます。
3. AWS Lambda
機能:
- AWS Lambda は、イベント駆動型のサーバーレスコンピューティングサービスで、コードを実行してデータを処理することができます。
- データの形式変換、クリーニング、分析など、カスタムロジックを柔軟に実装可能です。
- 必要なときだけ実行されるため、コスト効率が高い。
このソリューションでの役割:
- Kinesis Data Firehose にデータを送信する前に、AWS IoT Core から受信したデータを処理。
- データ形式の変換やメタデータの追加を行い、ターゲットに適した形に整えます。
4. Amazon S3
機能:
- Amazon S3 は、オブジェクトストレージサービスで、データを安全かつ長期的に保存することができます。
- 高い耐久性と冗長性を備えており、データの安全性を確保します。
このソリューションでの役割:
- センサーから送られてきたデータの最終的な保存先として機能。
- 保存されたデータは、後で分析やアーカイブに利用可能。
全体の流れ:
- センサーがデータを送信:センサーは MQTTプロトコル を使ってデータを AWS IoT Core に送信。
- AWS IoT Coreがデータを転送:受信したデータを Kinesis Data Firehose に渡す。
- データ変換:Kinesis Data Firehoseが AWS Lambda をトリガーしてデータを変換・処理。
- データ保存:変換後のデータを Amazon S3 に安全に保存。
まとめ:
- AWS IoT Core:デバイスデータの受信。
- Kinesis Data Firehose:データを信頼性をもって転送。
- AWS Lambda:データの変換・加工。
- Amazon S3:最終的なデータの保存と管理。
実践
略
一問道場
質問 #237
トピック 1
ある企業が、10,000以上のセンサーを所有しており、これらのセンサーはMessage Queuing Telemetry Transport (MQTT) プロトコルを使用してオンプレミスのApache Kafkaサーバーにデータを送信しています。Kafkaサーバーはデータを変換し、その結果をAmazon S3バケットにオブジェクトとして保存します。最近、Kafkaサーバーがクラッシュし、サーバーの復旧中にセンサーデータを失いました。ソリューションアーキテクトは、高可用性でスケーラブルな新しいAWS上の設計を作成し、同様の問題が再発しないようにする必要があります。
以下のどのソリューションがこれらの要件を満たしますか?
A. 2つのAmazon EC2インスタンスを起動して、Kafkaサーバーを2つのアベイラビリティゾーンにまたがるアクティブ/スタンバイ構成でホストします。Amazon Route 53でドメイン名を作成し、Route 53のフェイルオーバーポリシーを作成します。センサーがデータをそのドメイン名に送信するようにルーティングします。
B. オンプレミスのKafkaサーバーをAmazon Managed Streaming for Apache Kafka (Amazon MSK) に移行します。Amazon MSKブローカーを指すNetwork Load Balancer (NLB) を作成します。NLBのヘルスチェックを有効にします。センサーがデータをNLBに送信するようにルーティングします。
C. AWS IoT Coreをデプロイし、それをAmazon Kinesis Data Firehose配信ストリームに接続します。データ変換を処理するAWS Lambda関数を使用します。センサーがAWS IoT Coreにデータを送信するようにルーティングします。
D. AWS IoT Coreをデプロイし、KafkaサーバーをホストするためのAmazon EC2インスタンスを起動します。AWS IoT Coreを設定してデータをそのEC2インスタンスに送信します。センサーがAWS IoT Coreにデータを送信するようにルーティングします。
解説
正解は C. AWS IoT Coreをデプロイし、それをAmazon Kinesis Data Firehose配信ストリームに接続します。データ変換を処理するAWS Lambda関数を使用します。センサーがAWS IoT Coreにデータを送信するようにルーティングします。
解説
この選択肢が適切である理由は以下の通りです。
- 高可用性
- AWS IoT Coreは完全マネージドサービスであり、高可用性とスケーラビリティを提供します。オンプレミスのKafkaサーバーのクラッシュによる問題を回避できます。
- MQTTプロトコル対応
- AWS IoT CoreはMQTTプロトコルをネイティブにサポートしており、センサーからのデータ送信を容易に処理できます。
- スケーラビリティ
- IoT CoreとKinesis Data Firehoseを使用することで、センサーデータの増加にスケーラブルに対応可能です。
- データ変換の柔軟性
- AWS Lambdaを使用してKinesis Data Firehoseの前処理または後処理としてデータを変換できます。これにより、現在のKafkaサーバーが行っているデータ変換機能を代替できます。
- 信頼性と耐障害性
- Kinesis Data Firehoseは信頼性の高いデータ配信サービスであり、Amazon S3へのデータ保存が保証されます。
他の選択肢について
- A: KafkaサーバーをEC2インスタンスでホストする場合、管理負荷が増加し、完全な耐障害性やスケーラビリティが保証されません。
- B: Amazon MSKはKafkaのマネージドサービスで高可用性を提供しますが、センサーがMQTTプロトコルを使用しているため、直接接続が困難です。追加のプロトコル変換が必要になります。
- D: IoT CoreとEC2上のKafkaを組み合わせる構成は、Kafkaの管理負荷が再び発生するため、根本的な問題解決にはなりません。
以上より、Cが最適なソリューションです。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/173d7ae8-88e2-8046-9056-eb070a171c4d
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章