一般的な質問

AWS Greengrass とは何ですか?

AWS Greengrass は、インターネットに接続されたデバイスでローカルのコンピューティング、メッセージング、データキャッシュ、同期、ML 推論機能を安全な方法で実行できるようにするソフトウェアです。AWS Greengrass を使用すると、接続されたデバイスで AWS Lambda 関数を実行し、機械学習モデルに基づいて予測を実行し、デバイスデータを常に同期させ、他のデバイスと安全に通信できます。これはインターネットに接続していないときでも可能です。

AWS Greengrass では、AWS をデバイスにシームレスに拡張するため、デバイスは管理、分析、および耐久性のあるストレージのためにクラウドを利用しながら、デバイスが生成したデータに基づいてローカルで動作することが可能です。Greengrass では、一般的な言語およびプログラミングモデルを使用して、クラウド上でデバイスのソフトウェアを作成してから、デバイスにデプロイできます。また、デバイスデータをフィルタリングして必要な情報のみをクラウドに返すように、プログラミングすることが可能です。

AWS Greengrass の機能の詳細については、ここをクリックしてください。

ML 推論は AWS Greengrass の機能で、クラウド内に構築されトレーニングされたモデルを使用して、Greengrass デバイスのローカルで機械学習推論を簡単に実行できるようにします。ML 推論のプレビューにサインアップするには、ここをクリックしてください。

Greengrass の使用を開始するにはどのようにすればよいですか。

Greengrass 入門ガイドを参照するには、ここをクリックしてください。ここをクリックすると Raspberry Pi を購入できます。また、他の認定済みデバイスの一覧と技術的な依存関係の詳細を確認するには、以下を参照してください。

AWS Greengrass を利用できるのは、どの AWS リージョンですか?

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

• 米国東部 (バージニア北部)
• 米国西部 (オレゴン)
• 欧州 (フランクフルト)
• アジアパシフィック (シドニー)
• アジアパシフィック (東京)

上記の AWS リージョンにアクセスできるすべてのお客様は、居住地に関係なく AWS Greengrass をご利用いただけます。

AWS Greengrass ソフトウェアの主なコンポーネントは何ですか? 各コンポーネントはどのような働きをしますか?

AWS Greengrass は、AWS Greengrass Core、AWS IoT Device SDK、および AWS Greengrass SDK の 3 つのソフトウェアディストリビューションで構成されています。以下の図は、これらの 3 つのソフトウェアディストリビューションを互いに比較したものです。

AWS Greengrass も Amazon FreeRTOS と連携して動作します。Greengrass と Amazon FreeRTOS の詳細については、この FAQ の「Amazon FreeRTOS やその他のデバイスへの Greengrass の接続」のセクションを参照してください。

  目的 実行される場所
AWS Greengrass Core ローカルサービス (コンピューティング、メッセージング、状態、セキュリティ) を提供し、AWS IoT Device SDK を実行するデバイスとローカルで通信します。 Linux などの汎用 OS を実行する CPU ベースのデバイス (x86 または ARM)
AWS IoT Device SDK デバイスが Greengrass Core とローカルでやり取りできるようにします。 C++ または Python 2.7 をサポートするほぼすべてのデバイス。Amazon FreeRTOS にも組み込み済み
AWS Greengrass SDK Lambda 関数が Greengrass Core のローカルサービスとやり取りできるようにします。 Greengrass Core にデプロイされた Lambda 関数の内部

AWS Greengrass はどの Lambda 開発言語をサポートしていますか?

Greengrass は、以下の言語で作成されたLambda 関数をサポートしています。

  • Python 2.7
  • Node.JS 6.10
  • Java 8

Greengrass にはどの Lambda をデプロイできますか?

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

次のことにご注意ください: Greengrass Core がオフラインモードのときは、Lambda が依存する一部のクラウドサービス (DynamoDB など) を Lambda 関数で利用できず、それらのサービスへの API コールも失敗します。また、Greengrass Core SDK と AWS SDK の両方を同じパッケージに含める場合は、Lambda 関数でそれぞれの適切な名前空間を使用する必要があります。

ローカルリソースアクセス

Greengrass ローカルリソースとは何ですか?

「ローカルリソース」は、Greengrass ホストに物理的に存在するバスおよび周辺機器、または Greengrass ホスト OS のファイルシステムボリュームを指します。たとえば、Modbus/CANBUS 経由で接続されたデバイスと通信するには、Greengrass Lambda 関数でデバイスのシリアルポートにアクセスする必要があります。ローカルリソースは Greengrass グループスコープで定義され、Greengrass グループのすべての Lambda は定義されたローカルリソースを使用できます。

ローカルリソースにはいつアクセスするのでしょうか?

Greengrass ローカルリソースにより、Lambda 関数がセンサーやアクチュエータなどのハードウェアと安全にやり取りできます。たとえば、Lambda 関数は、デバイスのカメラからビデオストリームを読み込むことも、GPIO にコマンドと制御を送信することもできます。

ローカルリソースアクセス機能は無料ですか?

この機能は Greengrass の一部であり、Greengrass をお使いのお客様には追加料金なしで提供されます。

ML 推論

Greengrass ML 推論とは何ですか?

re:Invent 2017 では、ローカルで機械学習 (ML) 推論を実行する Greengrass の新機能を発表しました。この機能によって Greengrass デバイスで機械学習モデルのデプロイと実行をより迅速かつ容易に行うことができます。開発者は、クラウドでトレーニングされた機械学習モデルをリソースとして Greengrass グループに追加してターゲットデバイスにデプロイし、ローカルで生成されたデータに適用してローカルで推論を実行することができます。この機能には、SageMaker でトレーニングされたモデルを配置する Amazon SageMaker との統合、クラウドでトレーニングされたモデルの宣言と Greengrass デバイスにデプロイするための新しい Greengrass 「機械学習」リソースタイプ、および NVIDIA Jetson、Intel Atom E3900、Raspberry Pi デバイス用の事前構築済みの MXNet (ML フレームワーク) が含まれます。新しい Greengrass 機械学習推論機能に興味のあるお客様は、プレビューとしてご利用いただけます。

Greengrass ML 推論へのアクセス方法を教えてください。

Greengrass ML 推論の詳細とプレビューのサインアップについては、ここをクリックしてください。

プロトコルアダプタ

AWS Greengrass で OPC-UA プロトコルを使用するにはどうすればよいですか?

Greengrass は、産業通信のための一般的な情報交換規格である OPC-UA をサポートしています。Greengrass での OPC-UA サポートにより、産業機器からのメッセージの取り込みと処理が簡単になり、定義したビジネスルールに基づいて別のデバイスまたはクラウドに配信できるようになりました。OPC-UA の実装はセキュリティで保護されており、証明書ベースの認証をサポートしています。これは、よく知られているオープンソースの実装に基づいており、特定のユースケースに合わせて完全にカスタマイズ可能です。

OPC-UA プロトコルの独自の実装を導入したり、別のプロトコルを実装したりすることもできますか?

はい。Greengrass では、この同じアーキテクチャを使用して OPC-UA の独自の実装を導入でき、カスタム、レガシー、および独自のメッセージングプロトコルの独自のサポートも実装できます。 

Greengrass を使用して代替プロトコルを実装するにはどうすればよいですか?

Greengrass Core で動作する Lambda 関数はネットワークリソースにアクセスできるため、Lambda を使用して、TCP-IP の上に実装されているすべてのプロトコルのサポートを実装できます。さらに、Greengrass ローカルリソースアクセスを利用して、ハードウェアアダプタ/ドライバにアクセスする必要があるプロトコルのサポートを実装することもできます。

Over the Air (OTA) アップデート

Greengrass Over the Air (OTA) アップデートとは何ですか?

AWS は、折に触れて Greengrass Core ソフトウェアの最新バージョンを公開し、次の利点を提供しています。

  • 新しい機能や改善された機能を導入する
  • バグ修正
  • セキュリティの強化

Greengrass Over the Air (OTA) アップデートによって、お客様は、Greengrass Core ソフトウェアを手動でダウンロードして再インストールしなくても、これらのすべての利点を得ることができます。

Greengrass OTA アップデートを使用する必要はありますか?

いいえ。アップデートを手動でダウンロードしてインストールすることも、別のソフトウェアデプロイメントプロセスに従うこともできます。

Greengrass Core の新しいバージョンが利用可能であることはどのように通知されますか?

Greengrass Core の新しいバージョンが利用可能になったときは、AWS Greengrass ソフトウェアの Developer Forum で発表する予定です。そのフォーラムへのリンクはこちらです。

Greengrass コアプラットフォームの互換性

AWS Greengrass Core デバイスとは何ですか? ハードウェアの最小仕様要件はどのようなものですか?

AWS Greengrass Core ソフトウェアはハブ、ゲートウェイ、その他のデバイスで実行され、クラウドと自動的にやり取りして同期されます。Greengrass Core は、汎用プロセッサーを搭載し、Linux などの汎用オペレーティングシステムを実行できる性能を備えたデバイスで実行されるように設計されています。Greengrass には、1GHz 以上のコンピューティング能力 (ARM または X86 のいずれか)、128MB 以上の RAM に加え、ユースケースに応じて、ご希望の OS、メッセージスループット、AWS Lambda の実行に対応できる追加リソースが必要です。Greengrass Core は、Raspberry Pi からサーバーレベルのアプライアンスまで幅広いデバイスで実行できます。

どの CPU アーキテクチャとオペレーティングシステムが AWS Greengrass Core と互換性がありますか?

次のオペレーティングシステムと CPU アーキテクチャが Greengrass Core と互換性があります。

  • アーキテクチャ: ARMv7l、OS: Linux、ディストリビューション: Raspian
  • アーキテクチャ: x86_64、OS: Linux、ディストリビューション: Amazon Linux
  • アーキテクチャ: x86_64、OS: Linux、ディストリビューション: Ubuntu 14.04 ~ 16.04
  • アーキテクチャ: ARMv8 (AArch64)、OS: Linux、ディストリビューション: Ubuntu 14.04 ~ 16.04

どのデバイスが AWS Greengrass Core と互換性がありますか? すばやく利用を開始するにはどうすればよいですか?

Greengrass Core は、下記の技術的要件を満たすほとんどのデバイスと互換性があります。 すばやく開始したい場合は、パートナーから次のデバイスのいずれかを購入できます。

Greengrass Core バージョン 1.0.0 でテスト済み (2016 年 6 月 7 日リリース)

Greengrass Core バージョン 1.1.0 でテスト済み (2017 年 9 月 20 日リリース)

Greengrass Core バージョン 1.3.0 でテスト済み (2017 年 11 月 29 日リリース)

Greengrass は 1GHz 未満のハードウェアで動作しますか?

AWS Greengrass Core ソフトウェアは、当社パートナーによって、以下のデバイスで動作することがテストされています。

Greengrass Core を実行するための詳細な技術的依存関係にはどのようなものがありますか?

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

1. 必須のソフトウェアパッケージと設定

  • SQLite – バージョン 3 以上
  • Glibc ライブラリ – バージョン 2.14
  • Linux カーネル: いくつかのカーネルバージョンが Greengrass で動作しますが、最高のセキュリティとパフォーマンスを確保するために、Greengrass に必要なカーネル設定を含む最新バージョンの Linux カーネルを使用することをお勧めします
  • bash
  • システム信頼ストア
  • boto3 (最新バージョン)
  • botocore (最新バージョン)
  • OpenSSL – バージョン 1.0.2 以上
  • Python Lambda を実行している場合は必須: Python – バージョン 2.7 以上
  • Java Lambdas を実行している場合は必須: Java 8
  • Node.js Lambdas を実行している場合は必須: Node.js 6.10

2. カーネル設定

  • キー保存: CONFIG_KEYS
  • Mqueue: CONFIG_POSIX_MQUEUE
  • overlayfs: CONFIG_OVERLAY_FS
  • seccomp arch filter: CONFIG_HAVE_ARCH_SECCOMP_FILTER
  • seccomp filter: CONFIG_SECCOMP_FILTER
  • seccomp: CONFIG_SECCOMP

3. namespace のカーネル設定 – カーネルは以下の設定を有効にしてビルドする必要があります。

  • IPC の分離: CONFIG_IPC_NS
  • UTS の分離: CONFIG_UTS_NS
  • ユーザーの分離: CONFIG_USER_NS
  • PID の分離: CONFIG_PID_NS

4. cgroup のカーネル設定 – カーネルは以下の設定を有効にしてビルドする必要があります。

  • cgroups を有効にする: CONFIG_CGROUPS
  • memory cgroup を有効にする: CONFIG_MEMCG
  • devices cgroup を有効にする: CONFIG_CGROUP_DEVICE

 

Amazon FreeRTOS やその他のデバイスへの Greengrass の接続

どのようにデバイスを AWS Greengrass Core にローカルで接続できますか?

Amazon FreeRTOS または AWS IoT Device SDK を使用して、デバイスを AWS Greengrass Core にローカルで接続することができます。AWS Greengrass の検出は、AWS IoT Device SDK で C++ および Python 2.7 を介して利用できます。詳細については、AWS Greengrass ユーザーガイドを参照してください。Amazon FreeRTOS ソースコードの Greengrass Discovery ライブラリを使用して、AWS Greengrass Core デバイスを検索して接続できます。詳細については、Amazon FreeRTOS ユーザーガイドを参照してください。

AWS IoT Device SDK で Greengrass をサポートする言語は何ですか?

AWS Greengrass の検出は、C++ および Python 2.7 を介して AWS IoT Device SDK で利用できます。詳細については、AWS Greengrass ユーザーガイドを参照してください。

Amazon FreeRTOS とは何ですか?

Amazon FreeRTOS (a:FreeRTOS) は、マイクロコントローラベースのエッジデバイスを容易にプログラミング、デプロイ、保護、および保守できるオペレーティングシステムです。Amazon FreeRTOS は、マイクロコントローラ向けの一般的なオープンソースのオペレーティングシステムである FreeRTOS カーネルに基づいており、デバイスをローカルからクラウドに安全に接続し、リモートから簡単にアップデートできるソフトウェアライブラリを備えています。Amazon FreeRTOS コンソールを使用すると、ユースケースに関連するソフトウェアコンポーネントを簡単に選択してダウンロードすることができます。Amazon FreeRTOS 認定プログラムを使用すれば、選択したマイクロコントローラが Amazon FreeRTOS の機能を完全にサポートすることを確信できます。Amazon FreeRTOS は、データの暗号化とキー管理のサポートにより、マイクロコントローラベースのデバイスを安全に保つのに役立ちます。Amazon FreeRTOS デバイスを AWS Greengrass Core デバイスに接続すると、複数の Amazon FreeRTOS デバイスを Greengrass Group に簡単に接続できます。Amazon FreeRTOS の詳細については、ここをクリックしてください。

Amazon FreeRTOS は AWS Greengrass と連携しますか?

はい。Amazon FreeRTOS デバイスは、クラウドに直接接続することも、Greengrass に接続することもできます。Amazon FreeRTOS は AWS Greengrass の使用を必要としません。Amazon FreeRTOS は IoT エンドポイント上で動作し、IoT トポロジにおける「センシング」と「作動」を担当します。

AWS Greengrass と Amazon FreeRTOS の違いは何ですか。

AWS Greengrass は、インターネットに接続されたデバイスでローカルのコンピューティング、メッセージング、データキャッシュ、同期を安全な方法で実行できるようにするソフトウェアです。AWS Greengrass では、接続されたデバイスで AWS Lambda 関数を実行し、デバイスデータを常に同期させ、他のデバイスと安全に通信できます。これはインターネットに接続していないときでも可能です。Greengrass では、AWS Lambda を使用することで、IoT デバイスがローカルイベントに素早く対応し、Greengrass Core 上で動作する Lambda 関数を使用してローカルリソースとやり取りし、断続的な接続で動作し、OTA アップデートによって常に最新の状態を維持し、IoT データのクラウドへの送信コストを最小限に抑えることができるようになります。

Amazon FreeRTOS は、エッジで動作し、AWS Greengrass を実行できるチップセットを一般的にサポートしていないマイクロコントローラ用のオペレーティングシステムです。これらのマイクロコントローラデバイスは、フィットネストラッカー、ペースメーカー、電気メーター、自動車トランスミッション、センサーネットワークなどのさまざまな IoT エンドポイントにあります。Amazon FreeRTOS デバイスで Greengrass Core を実行することはできませんが、Greengrass Core デバイス上で Lambda 関数の実行をトリガーできます。

両方のデバイスではハードウェア要件とオペレーティングシステムが異なります。

  Amazon FreeRTOS AWS Greengrass
ソフトウェア オペレーティングシステム、マイクロコントローラで動作 Linux デバイス用のランタイムと Greengrass 対応デバイス用の SDK
ハードウェア要件 64 KB 以上の RAM 128 MB 以上の RAM
カテゴリ 組み込みシステム、IoT エンドポイント エッジデバイス、ローカルゲートウェイ
ユースケース マイクロコントローラベースのデバイス 産業オートメーションシステム、ワイヤレスルーター、スマートフォン

AWS Greengrass 料金の詳細

料金ページを見る
始める準備はできましたか?
サインアップ
ご不明な点がおありですか?
お問い合わせ