AWS IoT Greengrass Version 1 は 2023 年 6 月 30 日に延長ライフフェーズに参加しました。詳細については、「AWS IoT Greengrass V1 メンテナンスポリシー」を参照してください。この日以降、 AWS IoT Greengrass V1 は機能、機能強化、バグ修正、またはセキュリティパッチを提供する更新をリリースしません。で実行されるデバイスは中断 AWS IoT Greengrass V1 されず、引き続き動作し、クラウドに接続します。への移行 AWS IoT Greengrass Version 2を強くお勧めします。これにより、重要な新機能が追加され、プラットフォームのサポートが追加されます。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS IoT Greengrass の開始方法
この開始方法チュートリアルには、AWS IoT Greengrass の基本を示し、AWS IoT Greengrass を使用して、すぐに使用を開始できるように、いくつかのモジュールが含まれています。このチュートリアルでは、次のような基本的な概念について説明します。
-
AWS IoT Greengrass コアとグループの設定。
-
エッジで AWS Lambda 関数を実行するためのデプロイプロセス。
-
クライアントデバイスと呼ばれる AWS IoT デバイスの AWS IoT Greengrass コアへの接続。
-
ローカル Lambda 関数、クライアントデバイス、および AWS IoT 間の MQTT 通信を許可するサブスクリプションの作成。
AWS IoT Greengrass の開始方法を選択する
このチュートリアルを使用してコアデバイスをセットアップする方法を選択できます。
-
コアデバイスで Greengrass デバイスのセットアップを実行します。これにより、AWS IoT Greengrass 依存関係のインストールから Hello World Lambda 関数のテストまで、数分で実行できます。このスクリプトは、モジュール 1 から モジュール 3-1 のステップを再現します。
- または -
-
モジュール 1 からモジュール 3-1 のステップを、順を追って、Greengrass の要件とプロセスをより詳しく調べます。以下のステップでは、コアデバイスをセットアップします。Hello World Lambda 関数を含む Greengrass グループを作成して設定し、Greengrass グループをデプロイします。通常、この処理には 1 ~ 2 時間かかります。
![開始方法モジュール](images/getting-started-modules.png)
- クイックスタート
-
Greengrass デバイスのセットアップは、コアデバイスと Greengrass リソースを設定します。スクリプト:
-
AWS IoT Greengrass 依存関係をインストールします。
-
ルート CA 証明書とコアデバイスの証明書とキーをダウンロードします。
-
デバイスに AWS IoT Greengrass コアソフトウェアをダウンロード、インストール、および設定します。
-
コアデバイスで Greengrass デーモンプロセスを開始します。
-
必要に応じて、Greengrass サービスロールを作成または更新します。
-
Greengrass グループと Greengrass コアを作成します。
-
(オプション) Hello World Lambda 関数、サブスクリプション、およびローカルのログ記録設定を作成します。
-
(オプション) Greengrass グループをデプロイします。
-
- モジュール 1 および 2
-
モジュール 1 と モジュール 2 では、環境の設定方法について説明します。(または、Greengrass デバイスのセットアップを使用してこれらのモジュールを実行します)。
-
コアデバイスを Greengrass 用に設定します。
-
依存関係チェッカーを実行します。
-
Greengrass グループと Greengrass コアを作成します。
-
tar.gz ファイルから最新の AWS IoT Greengrass Core ソフトウェアをダウンロードしてインストールします。
-
コア上で Greengrass デーモンプロセスを開始します。
注記
AWS IoT Greengrass では、サポートされている Debian プラットフォームへの
apt
のインストールなど、AWS IoT Greengrass Core ソフトウェアをインストールするための他のオプションも利用できます。詳細については、「AWS IoT Greengrass Core ソフトウェアをインストールします。」を参照してください。 -
- モジュール 3-1 および 3-2
-
モジュール 3-1 と モジュール 3-2 では、ローカルの Lambda 関数の使用方法について説明します。(または、Greengrass デバイスのセットアップ を使用してモジュール 3-1 を実行します)。
-
AWS Lambda で Hello World Lambda 関数を作成します。
-
Greengrass グループに Lambda 関数を追加します。
-
Lambda 関数と AWS IoT 間の MQTT 通信を許可するサブスクリプションを作成します。
-
Greengrass システムコンポーネントと Lambda 関数のローカルのログを設定します。
-
Lambda 関数とサブスクリプションを含む Greengrass グループをデプロイします。
-
ローカルの Lambda 関数から AWS IoT にメッセージを送信します。
-
AWS IoT からローカル Lambda 関数を呼び出します。
-
オンデマンドおよび長期間有効な関数をテストします。
-
- モジュール 4 およびモジュール 5
-
モジュール 4 は、クライアントデバイスがコアに接続し、相互に通信する方法を示しています。
モジュール 5 は、クライアントデバイスがシャドウを使用して状態を制御する方法を示しています。
-
AWS IoT デバイスの登録とプロビジョニング(コマンドライン端末で表される)。
-
AWS IoT Device SDK for Python をインストールします。これは、Greengrass のコアを検出するためにクライアントデバイスによって使用されます。
-
クライアントデバイスを Greengrass グループに追加します。
-
MQTT 通信を許可するサブスクリプションを作成します。
-
クライアントデバイスを含む Greengrass グループをデプロイします。
-
デバイス間通信をテストします。
-
シャドウ状態の更新をテストします。
-
- モジュール 6
-
モジュール 6 では、Lambda 関数が AWS クラウド にアクセスする方法を説明します。
-
Amazon DynamoDB リソースへのアクセスを許可する Greengrass グループロールを作成します。
-
Greengrass グループに Lambda 関数を追加します。この関数は、AWS SDK for Python を使用して DynamoDB とやりとりします。
-
MQTT 通信を許可するサブスクリプションを作成します。
-
DynamoDB とのやりとりをテストします。
-
- モジュール 7
-
モジュール 7 では、Greengrass Core 用にシミュレートされたハードウェアセキュリティモジュール (HSM) を設定する方法を示します。
重要
この高度なモジュールは、実験と初期テストのためにのみ提供されています。どのような種類の本番稼働用でもありません。
-
ソフトウェアベースの HSM とプライベートキーをインストールして設定します。
-
ハードウェアセキュリティを使用するように Greengrass コアを設定します。
-
ハードウェアセキュリティ設定をテストします。
-
要件
このチュートリアルを完了するには、以下が必要です。
-
Mac、Windows PC、または UNIX 互換システム。
-
AWS アカウント。アカウントをお持ちでない場合は、「AWS アカウント の作成」を参照してください。
-
AWS IoT Greengrass をサポートする AWS リージョン
の使用。AWS IoT Greengrass でサポートされているリージョンのリストについては、「AWS 全般のリファレンス」の「AWS の エンドポイントとクォータ」を参照してください。 注記
お客様の AWS リージョン をメモし、このチュートリアルで一貫して使用してください。チュートリアル中に AWS リージョン を切り替えると、ステップの完了時に問題が発生することがあります。
-
Raspberry Pi 4 モデル B または Raspberry Pi 3 モデル B/B+ と 8 GB microSD カード、または Amazon EC2 インスタンス。AWS IoT Greengrass は物理的なハードウェアで使用するのが最適であるため、Raspberry Pi を使用することをお勧めします。
注記
Raspberry Pi のモデルを取得するには、次のコマンドを実行します。
cat /proc/cpuinfo
リストの下部にある
Revision
属性の値をメモし、「Which Pi have I got?」の表を参照してください。例えば、 Revision
の値がa02082
である場合、Pi は「3 Model B」であることが表でわかります。Raspberry Pi のアーキテクチャを確認するには、次のコマンドを実行します。
uname -m
このチュートリアルでは、結果は
armv71
以上である必要があります。 -
Python の基本的な知識
このチュートリアルは Raspberry Piで AWS IoT Greengrass を実行することを目的としていますが、AWS IoT Greengrass では他のプラットフォームもサポートしています。詳細については、「サポートされているプラットフォームと要件」を参照してください。
AWS アカウント の作成
AWS アカウント をお持ちでない場合は、次の手順に従って AWS アカウント を作成し、アクティブ化します。
AWS アカウントへのサインアップ
AWS アカウント がない場合は、以下のステップを実行して作成します。
AWS アカウントにサインアップするには
https://portal.aws.amazon.com/billing/signup
を開きます。 オンラインの手順に従います。
サインアップ手順の一環として、通話呼び出しを受け取り、電話キーパッドで検証コードを入力するように求められます。
AWS アカウント にサインアップすると、AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべてのAWS のサービスとリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用してルートユーザーアクセスが必要なタスクを実行してください。
サインアップ処理が完了すると、AWS からユーザーに確認メールが送信されます。https://aws.amazon.com/
管理アクセスを持つユーザーを作成する
AWS アカウント にサインアップしたら、AWS アカウントのルートユーザー をセキュリティで保護し、AWS IAM Identity Center を有効にして、管理ユーザーを作成します。これにより、日常的なタスクにルートユーザーを使用しないようにします。
AWS アカウントのルートユーザーをセキュリティで保護する
-
ルートユーザー] を選択し、AWS アカウント のメールアドレスを入力して、アカウント所有者として AWS Management Console
にサインインします。次のページでパスワードを入力します。 ルートユーザーを使用してサインインする方法については、AWS サインイン ユーザーガイドのルートユーザーとしてサインインするを参照してください。
-
ルートユーザーの多要素認証 (MFA) を有効にします。
手順については、「IAM ユーザーガイド」のAWS アカウント のルートユーザーの仮想 MFA デバイスを有効にする (コンソール)を参照してください。
管理アクセスを持つユーザーを作成する
-
IAM アイデンティティセンターを有効にします。
手順については、「AWS IAM Identity Center ユーザーガイド」の「AWS IAM Identity Center の有効化」を参照してください。
-
IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。
IAM アイデンティティセンターディレクトリ をアイデンティティソースとして使用するチュートリアルについては、「AWS IAM Identity Center ユーザーガイド」の「デフォルト IAM アイデンティティセンターディレクトリを使用したユーザーアクセスの設定」を参照してください。
管理アクセス権を持つユーザーとしてサインインする
-
IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。
IAM Identity Center ユーザーを使用してサインインする方法については、AWS サインイン ユーザーガイドのAWS アクセスポータルにサインインするを参照してください。
追加のユーザーにアクセス権を割り当てる
重要
このチュートリアルでは、IAM ユーザーアカウントに管理者アクセス権があることを前提としています。