クラウドサービスが停止したときにIoTデバイスが壊れないようにするにはどうすればよいですか?


8

最近、Amazon S3 が停止したため、IoTデバイスをリンクするためによく使用されるIFTTT(例:Alexaを一部のPhilips Hue電球に接続する)を含む、多くのWebサービスがダウンしました。

Nest防犯カメラが機能を停止し、TP-Linkスマートスイッチがオンになりませんでした。また、停電のためにクラウドと同期しているため、誰かがマウスの感度を変更できませんでした

いくつかのPhilips Hue電球、Amazon Echo、およびいくつかのスマートスイッチを備えたスマートホームでは、このような問題を回避して、私の家がクラウドサービスと一緒に「ダウン」しないようにしたいと考えています。

デバイスが単一のサービスに依存しているかどうかを判断し、可能であればそれを回避するにはどうすればよいですか?

回答:


9

消費者として

多くの場合、オプションは消費者としてかなり制限されますが、使用する製品とそれらの接続方法を慎重に選択することにより、いくつかの方法でリスクを最小限に抑えることができます。

デバイスがインターネット接続を失ったときに何が起こるかを確認する

通常、簡単なGoogle検索を実行して、特定のデバイスがインターネットから切断されたときに何が起こるかを確認できます。Amazon Echoのように、リモートクラウドサーバーへの接続が失われると、一部のデバイスは完全に失敗します。

エコーでは、音声で話したり、コマンドを処理したり、メディアをストリーミングしたりするには、アクティブなWi-Fi接続が必要です。

時には、正当な理由があります(たとえば、「Amazon Echoは「常にリッスンしている」かクラウドにデータを送信していますか?」で説明されているように、Echoはコマンドをクラウドにストリーミングして命令を処理する必要があります製品の見落としや設計上の欠陥である可能性があります。

デバイスを物理的に持っている場合は、ルーターのプラグを抜いて何が起こるかを確認することができます。これは、リモートサーバーが壊れる可能性が高いがローカル接続は機能するが、試してみる必要があるため、良いテストではないかもしれません。

するのに十分な時間と無駄に セットアップを改善するための生産的使用を、あなたは潜在的にあなたのデバイスからのパケットを盗聴でき、ならば、特定のドメイン-このように、ルータレベルのブロックを適用し、何が起こったか知っているだろうとmydeviceserver.com完全にダウンしました。もちろん、これには長い時間がかかるため多くの「スマート」デバイスを備えた大きな家ですべてのデバイスをテストするのは現実的ではない場合があります。

ローカル接続を使用する

スマートスイッチからライトをオンにするだけの場合は、すべてのトラフィックをインターネット経由で数千マイル離れたクラウドサーバーにルーティングし、電球に戻す必要がない場合があります。代わりにローカルデバイスを介してコマンドを発行します。多くの場合、これらのデバイスはZigBeeやZ-Waveなどのプロトコルを使用するため、トラフィックを調整するためにハブが必要になる場合があります(「家を自動化するときに一部のデバイスにハブが必要なのはなぜですか?」を参照)。

開発者として

IoTデバイスの開発者にとって、デバイスを注意深く設計することで、最近のS3の停止などの問題が消費者に影響を与えることを回避できます。もちろん、IoTデザイナーは常に注意深い設計で知られいるわけではありませんが、これを読んでいる場合は、おそらくそのグループに属していません。

冗長になるサービスを設計する

特にAmazon S3の最近の停止については、できることはあまりなかったかもしれません。DevOps Stack Exchangeに関するこの質問で説明されているように、クロスリージョンレプリケーションがサービスの停止を潜在的に妨げた可能性があるといういくつかのレポートがありますが、それが本当に本当か、それとも単なる助言かについては議論されています。

可能であれば、なんらかの冗長性またはバックアップを用意することが理想的です。ただし、コストは高くなりますが、信頼性をさらに高める必要があります。それ以外の場合は、照明が応答しなくなり、電源スイッチが機能しなくなります。

インターネット接続がないシナリオのサポートを強化する

消費者がこの問題を回避できる方法の下に「ローカル接続を使用する」と記載しましたが、それは敗戦です。多くの場合、デバイスは承認されたWebサービス以外の方法での接続をサポートしていません。メーカーはこれに開発者の時間を費やすことに消極的です。サポートが多ければ、クラウドサービスへの依存度が低くなり、あまりにも多くのサーバー容量を支払う必要がないため、製造業者にもメリットがあります。

これらすべてのオプションを使用しても、なぜ多くのデバイスが影響を受けたのですか?

誰も時間を費やすことを望んでいないため、信頼性の高いシステムを設計するには多くの時間と労力を要し、多くの場合、同等の「ダム」ソリューション(単純な電気スイッチなど)よりもはるかに複雑です。

ソフトウェアが車ほど信頼できないのはなぜですか?ソフトウェアははるかに複雑ですが、自動車ほど厳密にはテストされていません。同じ問題がIoTにも当てはまるようです。ネットワークを介したデバイスの制御ははるかに複雑であるため、最近のS3インシデントで見たように、事態ははるかに簡単に失敗する可能性があります。


1
これは非常に有益なようです!
Prashanth Benny 2017

1
おそらく冗長性はサービスの継続的なコストを2倍にすることに注目する価値があるかもしれません。これは主要なプロバイダー以外のビジネスモデルに大きな影響を与えるでしょう。
Sean Houlihane 2017年

あなたの最後の質問は自動車産業に笑われます。ソフトウェアは、自動車ほど厳しくテストされていないため(少なくとも西側諸国の自動車では)、それほど信頼性が高くありません。本質的に、すべての片思いのソフトウェアはリリースされます。車はそれほどではありません。ところで、クロスリージョンレプリケーションは先週助けにはならなかっただろう。レプリケーションは通常、冗長性を目的として設定されているのではなく、グローバルに高速にアクセスできるように設定されています。その回答にリンクされているNetflixブログは、まったく異なる問題を対象としています。ELBの停止。ELBはストレージではありません。
ヘルマー

@Helmarクロスリージョンレプリケーションの問題についてもう少し調査しましたが、どちらの方法であまり証拠はありませんそうだと言う人もいれば、そうでない人もいます。少し編集します。Netflixビットについては、それは私が参照するつもりであった部分ではなく、同じ答えに添付されているだけです。
Aurora0001
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.