type
status
date
slug
summary
tags
category
icon
password
理論
IoTプラットフォームをAWSに移行する際の知識
1. AWS IoT Core
- 役割: IoTデバイスとの接続を簡素化し、スケーラブルなメッセージブローカーを提供。デバイスデータの収集・管理が容易になる。
- 利点:
- 常時接続やMQTTプロトコルのネイティブサポート。
- 他のAWSサービス(Lambda、S3など)と簡単に統合可能。
2. Amazon DocumentDB(MongoDB互換)
- 役割: IoTデバイスからのメタデータを保存するためのマネージドデータベース。
- 利点:
- 自動スケーリング、高可用性、バックアップのサポート。
- MongoDBの既存コードやドライバをそのまま利用可能。
3. AWS LambdaとStep Functions
- 役割: 定期ジョブの自動化とサーバーレスなデータ処理を実現。
- 利点:
- サーバー管理不要でコスト効率が高い。
- 非同期処理やワークフロー管理に最適。
4. Amazon S3とCloudFront
- 役割: レポートや静的ファイルの保存・配信を効率化。
- 利点:
- S3は高耐久性と低コストを提供。
- CloudFrontを組み合わせることで、グローバルに低遅延で配信可能。
5. EKS vs サーバーレス
- EKS: Kubernetesクラスターの管理が必要で運用負荷が高い。
- サーバーレス(Lambda, S3): 運用負荷が少なく、小規模のIoTプラットフォームに最適。
結論
AWS IoT Core、DocumentDB、Step Functions、Lambda、S3、CloudFrontを組み合わせることで、運用負荷を最小限に抑えつつ、スケーラブルで効率的なIoTプラットフォームを構築可能です。
実践
略
一問道場
質問 #187
トピック 1
ある会社が、オンプレミス環境でIoTプラットフォームを運用しています。このプラットフォームは、MQTTプロトコルを使ってIoTデバイスと接続するサーバーで構成されています。プラットフォームは5分ごとにデバイスからテレメトリーデータを収集し、デバイスのメタデータをMongoDBクラスターに保存しています。
また、オンプレミスのマシンにインストールされたアプリケーションが、定期的にジョブを実行してテレメトリーデータやメタデータを集計・変換しています。このアプリケーションは、ユーザーが別のウェブアプリを通じて閲覧できるレポートを作成しています。このウェブアプリも同じオンプレミス環境で常に稼働しています。
定期ジョブの実行時間は120~600秒ですが、ウェブアプリ自体は常時稼働しています。
会社はこのプラットフォームをAWSに移行し、運用負荷をできるだけ軽減したいと考えています。
最小の運用負荷でこの要件を満たすためには、以下の手順の組み合わせのうちどれを選ぶべきですか?(3つ選択してください)
- A. AWS Lambdaを使ってIoTデバイスに接続する
- B. IoTデバイスがAWS IoT Coreにデータを送信するよう設定する
- C. メタデータをAmazon EC2上の自己管理型MongoDBデータベースに保存する
- D. メタデータをAmazon DocumentDB(MongoDB互換)に保存する
- E. AWS Step FunctionsとAWS Lambdaを使ってレポートを作成し、Amazon S3に保存する。そのレポートをAmazon CloudFrontを使って配信する
- F. Amazon Elastic Kubernetes Service(Amazon EKS)とAmazon EC2を使ってレポートを作成し、Ingressコントローラーを使って配信する
解説
選択肢の評価
A. AWS Lambdaを使ってIoTデバイスに接続する
- 評価: 不適切
- Lambdaはイベント駆動型で短時間実行に適しており、常時接続を維持するMQTTプロトコルには不向きです。
- AWS IoT Coreを使用することで、デバイス接続を効率的に管理できます。
B. IoTデバイスがAWS IoT Coreにデータを送信するよう設定する
- 評価: 適切
- AWS IoT Coreは、デバイスからのデータ収集と管理を簡素化し、常時接続やスケーリングも自動で行います。
- 運用負荷を大幅に削減できるため、この選択は必要です。
C. メタデータをAmazon EC2上の自己管理型MongoDBデータベースに保存する
- 評価: 不適切
- EC2でMongoDBを自己管理する場合、パッチ適用やスケーリングなど運用負荷が高くなります。
- AWSのマネージドサービスであるDocumentDBを利用する方が運用負荷が軽減されます。
D. メタデータをAmazon DocumentDB(MongoDB互換)に保存する
- 評価: 適切
- DocumentDBはマネージドサービスで、スケーラビリティや高可用性を簡単に確保できるため、運用負荷が大幅に削減されます。
E. AWS Step FunctionsとAWS Lambdaを使ってレポートを作成し、Amazon S3に保存する。そのレポートをAmazon CloudFrontを使って配信する
- 評価: 適切
- Step FunctionsとLambdaを組み合わせることで、非同期で定期ジョブを管理できます。
- レポートをS3に保存し、CloudFrontで配信する構成はコスト効率が高く、運用負荷も低いです。
F. Amazon Elastic Kubernetes Service(Amazon EKS)とAmazon EC2を使ってレポートを作成し、Ingressコントローラーを使って配信する
- 評価: 不適切
- EKSを利用すると、コンテナ管理やクラスター運用が必要になり、運用負荷が高くなります。
- このユースケースではサーバーレス構成(LambdaやS3)が適しています。
最適な選択肢
- B. IoTデバイスがAWS IoT Coreにデータを送信するよう設定する
- D. メタデータをAmazon DocumentDB(MongoDB互換)に保存する
- E. AWS Step FunctionsとAWS Lambdaを使ってレポートを作成し、Amazon S3に保存する。そのレポートをAmazon CloudFrontを使って配信する
選択の理由
この組み合わせにより、次のようなメリットが得られます:
- IoT Coreで接続を管理:IoTデバイスの接続管理をAWSに任せることで、手動の設定やスケーリングが不要になります。
- DocumentDBでデータ管理を簡略化:マネージドデータベースを利用することで、データの保存・取得の運用負荷を削減します。
- S3とCloudFrontでレポート配信を最適化:S3はコスト効率が高く、CloudFrontでの配信によりユーザー体験を向上させます。
これにより、最小の運用負荷で要求を満たすプラットフォームを実現できます。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/171d7ae8-88e2-8037-83a3-d1bb7ae32bad
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章