Category: Internet of Things*


アナウンス Amazon FreeRTOS – 何十億ものデバイスがクラウドから安全に利益を得ることを可能にする

私は最近ReadWrite.comの記事であるIoTデバイスは前進し、2021年までに200%増加するを読み、記事がこの成長によるお客様と産業の利点を記す一方で、記事内の2つのことが私を行き詰まらせました。一つは”研究者は、IoTの急増が新しい課題を作るだろう。特にエンドユーザと提供する側においてIoTのデプロイメントが面倒を引き起こす。”という文章でした。その文章は正しいだけでなく、このエキサイティングな新しい技術領域のソリューションとデプロイメントを構築するという課題のいくつかに実際に対応していました。二つ目はセキュリティの課題が増えてくるということでした。

その記事は私に、コスト効率の良いマイクロコントローラに簡単にクラウドに接続することができるセキュアなOSを持たせることでクールなIoTのソリューションを作れないかと考えさせました。 幸運なことに、AWSからエキサイティングな新しいオープンソースを提供するという方法でその答えはでてきました。私は今日(2017/11/29 PST)すべてをアナウンスできて嬉しいです。一緒にAmazon FreeRTOSを歓迎しましょう。

(more…)

発表 AWS IoT Analytics:従来よりスケールがあり速いIoTアナリティクスの提供

私が徹底的に楽しむ技術分野として、Internet Of Things(IoT)があります。私が子供のときに両親が私のために購入してくれたおもちゃを分解し、仕組みを見て、どうやって元に戻すかを見てきました。どういうわけか、私は、厳しく刻々と変化する技術を終わらせる運命にあったようです。
したがって、私がIoTのデバイスやテクノロジの学習や調整を本当に楽しんでいることは間違いありません。私の開発とソフトウェアエンジニアリングへの愛と電気工学分野の回路、コントローラ、およびその他に関する私の好奇心を結びつけています。 私が電気工学者であると主張することはできませんが。

IoTデバイスとソリューションの導入によって収集された情報にもかかわらず、私は正直言って、異常発生の検索、大量データのクエリが必要となるケースに直面するまでデータの解析、検索、処理について考えた事がありませんでした。もちろん、組織の方向性を高めるために企業が正確な意思決定と予測を行うための分析の重要性を理解していました。しかし、アナリティクスがIoTの初期ソリューションに不可欠なパーツであるかは私には思い浮かびませんでした。

AWS IoT Analyticsこんにちは!。AWS IoT Analyticsはデバイスからのデータ収集に高度なデータ解析機能を提供するAWS IoTの新しい機能です。AWS IoT Anlyticsサービスは、メッセージの処理、大量のデバイスデータの収集と保管、データに対するクエリの発行ができます。そして、可視化としてAmazon Quicksightと連携し、Jupyter Notebooksと連携し機械学習を持ち込むこともできます。

(more…)

AWS IoT Device Management

AWS IoTAWS GreenGrassは、IoTデバイスとアプリケーションのための強固な基盤とプログラミング環境を提供します

IoTの本質として、数千または数千の場所に配置された数千万のデバイスが何百万が包含されたイベントの規模のデバイス展開が頻繁に発生します。スケールの観点から、個々のデバイスを個別に扱うことは不可能です。さまざまな展開構成、デバイスモデルなどに対応する柔軟性を保持しながら、一括してデバイスをセットアップ、監視、更新、および最終的にリタイアする必要があります。

AWS IoT Device Management

本日(2017/11/29 PST)、この課題に取り組むためのAWS IoT Device Managementをローンチします。デバイスの製造からリタイヤまでのライフサイクルの各フェーズの手助けとなるでしょう。
あなたが手に入れるものは:

(more…)

(開発中)AWS IoT Device Defender: IoTデバイス群を安全に

IoT においてスケールは新しい意味を持ちます。昨年、私は幸運にも平均1平方メートルごとに環境センサーがある巨大な工場を見学しました。そのセンサーは温度、湿度、空気純度を毎秒数回計測し、汚染物質に対する早期警戒を提供します。お客様からは何百万台、何千万台のコンシューマ向けIoTデバイスの展開に関心を持たれていると聞きました。

地理的に分散して展開されている強力で長寿命なデバイスのセキュリティ課題は重要です。しかし、限定的なCPUパワーやメモリしか無く、暗号化やその他のデータ保護手段の実施が制限される事があります。

このセキュリティ課題に対処し、自信を持って大規模にIoTデバイスを展開できるように、IoT Device Defender を開発中です。詳細はリリースまでに変更になる可能性がありますが、AWS IoT Device Defender は以下の利点を提供できるよう設計しています。

継続的な監査 – AWS IoT Device Defender はデバイスに関連するポリシーを監視して、指定された設定が行われているよう助けます。ベストプラクティスからの逸脱を探し、カスタムの監査ルールをサポートしているため、あなたのIoTデバイス展開に特有の状態をチェックすることができます。例えば、他のデバイスからセンサーデータを購読されているような侵害されたデバイスでは無いか確認することができます。監査はスケジュールにもとづいて実施したり、必要に応じて実施したりできます。

リアルタイム検知とアラーム – AWS IoT Device Defender は侵害されたデバイスが行うような通常とは異なる動作を見つけ出し、素早く警告を出します。類似したデバイスの動作を長期間モニタリングし、許可されていない試行アクセスや接続パターンの変化、インバウンド・アウトバウンド両方のトラフィックパターンの変化を探し出すことで実現します。

素早い調査と緩和 – 何か通常とは異なることが起こって警告を受取った際、AWS IoT Device Defender は警告についての状況を始め、問題の調査や緩和を行うのを手助けするツールを提供します。デバイスの情報、デバイスの統計情報、診断ログ、過去のアラートなどを全て簡単に確認できます。デバイスを再起動したり、権限を取り消したり、工場出荷時のデフォルトに戻したり、セキュリティパッチを送ったりなども選択できます。

乞うご期待

より詳細な情報やハンズオン記事を可能な限り早くお届けしたいと考えています。乞うご期待下さい。

— Jeff (翻訳は SA 辻 義一 が担当しました。原文はこちら)

AWS Greengrassが、アジアパシフィック (東京)リージョンで利用可能になりました。

AWS Greengrassが、アジアパシフィック (東京)リージョンで利用可能になりました。AWS Greengrassが、Java 8、Node.JS 6.10 Lambdaランタイムに対応しました。また、AWS Greengrassで、Lambda関数、サブスクリプション、設定を削除することで、デプロイ済みのGreengrassグループをリセットできるようになりました。

AWS Greengrassは、接続されたデバイスでのローカル・コンピューティング、メッセージング、データと状態の同期を安全な方法で実行できるようにするソフトウェアです。AWS Greengrassによって、接続されたデバイスは、AWS Lambda関数を実行することが可能になります。現在、Python 2.7、Node.JS 6.10、Java 8が利用可能で、開発者に、より適切な言語を選択する柔軟性と、クラウド上のLambda関数との一貫性を提供します。Greengrass上でAWS Lambda関数を実行することによって、IoTデバイスによるローカルイベントへの高速な応答や、不安定なネットワーク環境下での動作を保障します。また、IoTデータのクラウドへの送信コストを最小限に抑えることができます。デプロイ機能のリセットがサポートされ、使用されなくなったGreengrassグループを削除することで、クラウドリソースをクリーンアップでるようになりました。Greengrass Coreをクリーンアップして、デプロイ前の状態に戻すこともできます。この機能によって、Greengrass Coreデバイスからデータを簡単に削除し、それに関連するデータをクラウドから削除することが簡単にできるようになりました。

サポートされているリージョンの一覧は、こちらをご覧ください。

AWS Greengrassの詳細については:
• 製品ページ
• ドキュメント

FAQ

Q: AWS Greengrassサービスは、どのAWSリージョンで利用できますか?

AWS Greengrassは、現在、下記のAWSリージョンで利用可能です。

・ 米国東部(バージニア北部)

・ 米国西部 (オレゴン)

・ 欧州 (フランクフルト)

・ アジアパシフィック (シドニー)

・ アジアパシフィック (東京)

 

AWS Greengrassは、上記のAWSリージョンのいずれかにアクセス可能であれば、ご使用の地域に関係なく利用可能です。

Q: どのLambda用言語をGreengrassにデプロイできますか?

Python 2.7、Node.JS 6.10、またはJava 8 Lambdaランタイムを使用するLambda関数は、Greengrass Coreにデプロイ可能です。GreengrassにデプロイされるLambda関数は、Greengrass Core SDKと一緒にパッケージ化する必要があります。 更に、DynamoDBなどのAWSサービスと簡単にやり取りするために、AWS SDKをLambda関数のパッケージに追加することもできます。

注:Greengrass Coreがオフライン状態の場合、Lambda関数が使用している一部のクラウドサービス(例えば DynamoDB)は、Lambda関数で使用できなくなります。オフライン状態では、これらのサービスへのAPIコールは失敗します。更に、Lambda関数のパッケージにGreengrass Core SDKとAWS SDKの両方を含める場合、各SDKで適切な名前空間を使用する必要があります。

Q: 全てのLambdaランタイム言語をインストールする必要がありますか?

Greengrass Coreで使用する言語のみをインストールする必要があります。

Q: Greengrass Coreを実行するために必要な技術的依存関係は何ですか?

AWS Greengrass Coreは、最小限のハードウェア要件を満たすデバイス上で、幅広いCPUアーキテクチャおよび、オペレーティングシステム上で動作するように設計されています。下記は、Greengrass Coreの実行に必要な依存関係です。

必要なソフトウェアパッケージと構成

  • SQLite – バージョン3以上
  • Python – バージョン2.7以上、 Node.JS 6.10 または、Java 8
  • Glibcライブラリ – バージョン 2.14
  • Linuxカーネル – OverlayFSを有効にしたカーネル・バージョン 4.4.11 以上
  • boto3(最新版)
  • botocore(最新版)
  • OpenSSL – バージョン 1.0.2 以上
  • libseccomp
  • bash

価格
最新情報については、このメールアドレスから、お問い合わせ下さい。AWSIoTSales@amazon.com
デバイス数が1万台を超える場合は、別途、お問い合わせ下さい。

リージョン別の料金設定:3〜10,000台のデバイス
AWS Greengrass には以下の 2 つの料金オプションがあります。 従量制または 22% の割引を受けられる年間契約。

製品およびサービス一覧 (https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)

 

AWS Greengrass – 接続されたデバイスでの AWS Lambda 関数の実行

私が re:Invent 中に公開した投稿 (「AWS Greengrass – ユビキタスなリアルワールドコンピューティング」) で、初めて AWS Greengrass についてご紹介しました。その時点で限定プレビューの Greengrass の提供を開始し、関心をお持ちの場合はぜひサインアップしていただくよう皆様にお願いしました。そのときに説明したように、AWS の多くのお客様はフィールドでのデータの収集と処理を希望していますが、フィールドでの接続は低速で、中断したり信頼性が低くなったりすることが少なくありません。Greengrass では、AWS のプログラミングモデルを小型でシンプルなフィールドベースのデバイスに拡張することができます。これは AWS IoTAWS Lambda 上に構築されていて、AWS Cloud で利用できる、増え続けるさまざまなサービスへのアクセスがサポートされます。Greengrass では、フィールドで実行され、AWS リージョンへ継続的な高帯域幅接続に依存しないコンピューティング、メッセージング、データキャッシュ、および同期の各サービスにアクセスできます。Python 2.7 で Lambda 関数を記述し、デバイスシャドウを使用して状態を維持しながら、クラウドから Greengrass デバイスにデプロイできます。デバイスと周辺機器は、クラウドを経由しないローカルメッセージングを使用して相互に通信できます。

一般提供を開始
本日、AWS は US East (Northern Virginia) および US West (Oregon) リージョンで Greengrass の一般提供を開始しました。プレビュー中に AWS のお客様は Greengrass を実際に体験し、アプリケーションやビジネスの構築を開始できました。これらの初期的な成功のいくつかは、この投稿の後半でお知らせします。Greengrass Core コードは各デバイスで実行されます。デバイスに Lambda アプリケーションをデプロイして実行し、セキュアなネットワークでローカル MQTT メッセージングをサポートして、デバイスとクラウド間の対話がセキュアな接続で行われるようにします。Greengrass Core は、Lambda 関数を含む、セキュアな無線によるソフトウェア更新もサポートします。これには、メッセージブローカー、Lambda ランタイム、Thing Shadows の実装、およびデプロイエージェントが含まれます。Greengrass Core および (オプションで) その他のデバイスにより、Greengrass グループが構成されます。グループには設定データ、Greengrass Core のデバイスと ID のリスト、Lambda 関数のリスト、およびメッセージの送信先を定義するサブスクリプションのセットが含まれます。このすべての情報は、デプロイプロセス中に Greengrass コアデバイスにコピーされます。Lambda 関数は 3 つの個別の SDK で API を使用できます。

AWS SDK for Python – この SDK では、コードは Amazon Simple Storage Service (S3)Amazon DynamoDBAmazon Simple Queue Service (SQS)、およびその他の AWS のサービスと連携できます。

AWS IoT Device SDK – この SDK (Node.js、Python、Java、および C++ 用に利用可能) は、ハードウェアデバイスを AWS IoT に接続するうえで役立ちます。C++ SDK には、Greengrass 検出サービスやルート CA のダウンロードのサポートなど、いくつか追加の機能があります。

AWS Greengrass Core SDK – この SDK は、他の Lambda 関数のローカル呼び出し、メッセージの発行、Thing Shadows との連携が可能な API を提供します。Greengrass Core は、OverlayFS およびユーザー名前空間の機能を有効にしたバージョン 4.4.11 (またはそれ以降) の Linux カーネルを持つ x86 および ARM デバイスで実行できます。Greengrass のほとんどのデプロイは専門的な工業用ハードウェアを対象としていますが、デプロイおよびテスト目的で Raspberry Pi または EC2 インスタンスで Greengrass Core を実行することもできます。この投稿では、WiFi 経由で私の自宅のホームネットワークに接続された BrickPi に Raspberry Pi をアタッチして使用しました。

Raspberry Pi、BrickPi、ケース、およびその他すべてのパーツは、BrickPi 3 Starter Kit に用意されています。これらをすべて組み合わせて使用するには、Linux コマンドラインの関するいくらかの専門知識と、手動の巧みな操作がほどほど必要になりますが、私ができるのであれば、お客様も確実にできるでしょう。

Greengrass の実行
Greengrass はコンソール、API、または CLI からアクセスできます。私はコンソールを使用します。Greengrass コンソールの [Intro] ページでは、グループの定義、Greengrass Core の追加、およびグループへのデバイスの追加ができます。

[Get Started] をクリックし、[Use easy creation] をクリックします。

次に、グループに名前を付けます。

最初の Greengrass Core に名前を付けます。

準備ができたので、[Create Group and Core] をクリックします。

これは数秒間実行されてから、Greengrass Core とともに、ダウンロードできるセキュリティリソース (2 つのキーと証明書) が表示されます。

セキュリティリソースをダウンロードし、安全な場所に配置します。次に、目的のバージョンの Greengrass Core ソフトウェア (私の Raspberry Pi の場合は ARMv7l) を選択してダウンロードし、[Finish] をクリックします。次に、Pi を起動し、セキュリティリソースとソフトウェアを Pi にコピーします (S3 バケットに配置し、 wget でダウンロードしました)。この時点でのシェル履歴は次のとおりです。

 

重要な更新: AWS セキュリティチームの鋭い同僚の 1 人が指摘したように、これはシークレットをデバイスに配布するための良い方法ではありません。AWS CLI を使用して、暗号化されたバケットからこれらをダウンロードするか、カットアンドペーストでコピーするか、USB キーを使用することができました。ユーザーガイドの指示に従って、新しいユーザーとグループを作成し、 rpi-update スクリプトを実行して、 sqlite3opensslを含むいくつかのパッケージをインストールします。数回の再起動後に、続行する準備ができました。次に、引き続き指示に従って Greengrass Core ソフトウェアを展開し、セキュリティリソースを最終的な場所 (/greengrass/configuration/certs) に移動して、その過程で一般的な名前を付けます。ディレクトリは次のようになります。

次のステップは、AWS IoT Thing とコアの関連付けです。コンソールに戻り、クリックしてグループと Greengrass Core に移動して、Thing ARN を見つけます。

証明書と Thing ARN の名前を config.json ファイルに挿入し、 iotHostggHostの不足しているセクションを入力します。

Greengrass デーモンを開始します (これは 2 回目の試行です。1 回目はパス名の 1 つで入力ミスがありました)。

コマンドラインでの時間を楽しんだ後 (Unix v7 や BSD 4.2 を使用していたころを思い出しました)、再びビジュアルに戻ります。AWS IoT ダッシュボードに移動すると、Greengrass Core が IoT への接続を実行していることがわかります。

Lambda コンソールに移動し、Python 2.7 ランタイムを使用して Lambda 関数を作成します (ここでは IAM ロールは関係ありません)。

通常の方法で関数を発行し、Greengrass コンソールに移動してグループをクリックし、Lambda 関数の追加を選択します。

次に、デプロイするバージョンを選択します。

また、関数をオンデマンドではなく長期間使用するよう設定します。

コードにより AWS IoT にメッセージが発行されるため、ソースとターゲットを指定してサブスクリプションを作成します。

サブスクリプションでトピックのフィルター (hello/world) も設定します。

設定を確認し、サブスクリプションを保存します。これで、コードをデプロイする準備ができました。再びグループにアクセスし、[Deployments] をクリックして、[Actions] メニューから [Deploy] を選択します。

[Automatic detection] を選択して続行します。

これが最初のデプロイである場合は、他の AWS のサービスにアクセスする権限を Greengrass に与えるサービスレベルロールを作成する必要があります。[Grant permission] をクリックします。

各デプロイの状態を確認できます。

コードは現在、Pi で実行されています。コードはトピック hello/world にメッセージを発行します。これは IoT コンソールに移動し、[Test] をクリックして、トピックにサブスクライブすることで表示されます。

メッセージは次のとおりです。

すべての設定作業を行ったら、新しいバージョンのコードをアップロード、発行、デプロイして反復性のある開発を行うことができます。私は BrickPi を使用して LEGO Technic モーターを制御し、一部のセンサーから収集したデータを公開する計画です。この投稿をお楽しみに。Greengrass の料金表 Greengrass Core は、AWS 無料利用枠の一部として、1 年間 3 つのデバイスで無料で実行できます。次のレベル (3~10,000 デバイス) では、2 つのオプションを利用できます。

  • 従量制 – 1 か月、1 デバイスあたり 0.16 USD。
  • 年間契約 – 1 年、1 デバイスあたり 1.49 USD (17.5% の節約)。

10,000 以上のデバイスで Greengrass Core を実行するか、より長期的を希望される場合は、当社までお問い合わせください。

すべての料金モデルの詳細は、Greengrass 料金表ページでご覧いただけます。

Jeff;

AWS Greengrass -ユビキタス, 現実世界におけるコンピューティング-

データセンターやオフィス内のコンピューティングやデータ処理は簡単です。一般的に、良好な接続性と安定した電力供給が得られます。必要に応じてオンプレミスやクラウドベースのストレージにアクセスし、コンピューティングパワーを利用することができます。
しかし、現実の世界では状況が大きく異なります。接続は断続的で、信頼性が低く、速度と規模に制限があり、消費電力が重視され、ストレージの容量と計算能力を最大限に引き出すための限界があります。
多くの関心が高く/潜在的に貴重なデータが収集、処理、実行可能なインテリジェンスに変えられれば、現場に成果が現れます。
このデータは、地球の表面より数マイル下に位置する鉱山や油井、センシティブかつ安全でクリティカルな病院や工場、あるいは別の惑星(ハロー)に置かれているでしょう。

当社のお客様は、AWS Cloudの規模とパワーを使用して、これらの試行条件でローカル処理を行う方法を尋ねています。
第一に、データをローカルで測定、感知、処理するシステムを構築したいと考えています。
そして、彼らは、データに耐えるようにクラウドのようなローカルインテリジェンスをもたらし、互いに依存する調整されたローカルでのアクションを実装したいと考えています。
これを困難にしているのが、利用可能なローカル処理リソースやストレージリソースを活用したいと同時に、専用のセンサーや周辺機器に接続したいと考えていることです。

AWS Greengrassの紹介

(more…)