

サポート終了通知: 2026 年 10 月 7 日、 AWS はサポートを終了します AWS IoT Greengrass Version 1。2026 年 10 月 7 日以降、 AWS IoT Greengrass V1 リソースにアクセスできなくなります。詳細については、[「 からの移行 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Greengrass コネクタの開始方法 (コンソール)
<a name="connectors-console"></a>

この機能は AWS IoT Greengrass Core v1.7 以降で使用できます。

このチュートリアルでは、 AWS マネジメントコンソール を使用してコネクタを操作する方法を示します。

コネクタを使用して、開発ライフサイクルを短縮します。コネクタは、サービス、プロトコル、リソースとのやり取りを簡略する、あらかじめ組み込まれた再利用可能なモジュールです。それらのモジュールは、Greengrass デバイスにビジネスロジックをよりすばやくデプロイするのに役立ちます。詳細については、「[Greengrass コネクタを使用したサービスおよびプロトコルとの統合](connectors.md)」を参照してください。

このチュートリアルでは、[Twilio 通知](twilio-notifications-connector.md)コネクタを設定してデプロイします。コネクタは Twilio メッセージ情報を入力データとして受け取り、Twilio テキストメッセージをトリガーします。データフローを以下の図に示します。

![\[Lambda 関数から Twilio 通知コネクタ、Twilio へのデータフロー。\]](http://docs.aws.amazon.com/ja_jp/greengrass/v1/developerguide/images/connectors/twilio-solution.png)


コネクタを設定したら、Lambda 関数とサブスクリプションを作成します。
+ この関数は、温度センサーからシミュレートされたデータを評価します。その後、Twilio メッセージ情報を条件付きで MQTT トピックに発行します。このトピックは、コネクタによってサブスクライブされます。
+ このサブスクリプションでは、関数はトピックに発行でき、コネクタはトピックからデータを受信できます。

Twilio 通知コネクタには、Twilio API とやり取りするための Twilio 認証トークンが必要です。トークンは、 で作成 AWS Secrets Manager され、グループリソースから参照されるテキストタイプのシークレットです。これにより、 AWS IoT Greengrass は Greengrass コアにシークレットのローカルコピーを作成し、暗号化されてコネクタで使用できるようになります。詳細については、「[シークレットを AWS IoT Greengrass コアにデプロイする](secrets.md)」を参照してください。

このチュートリアルのおおまかな手順は以下のとおりです。

1. [Secrets Manager シークレットを作成する](#connectors-console-create-secret)

1. [グループにシークレットリソースを追加する](#connectors-console-create-resource)

1. [グループにコネクタを追加する](#connectors-console-create-connector)

1. [Lambda 関数デプロイパッケージを作成する](#connectors-console-create-deployment-package)

1. [Lambda 関数を作成する](#connectors-console-create-function)

1. [グループに関数を追加する](#connectors-console-create-gg-function)

1. [サブスクリプションをグループに追加する](#connectors-console-create-subscription)

1. [グループをデプロイする](#connectors-console-create-deployment)

1. [ソリューションをテストする](#connectors-console-test-solution)

このチュートリアルは完了までに約 20 分かかります。

## 前提条件
<a name="connectors-console-prerequisites"></a>

このチュートリアルを完了するには、以下が必要です。
+ Greengrass グループと Greengrass コア (v1.9.3 以降)。Greengrass のグループまたは Core を作成する方法については、「[の開始方法 AWS IoT Greengrass](gg-gs.md)」を参照してください。開始方法チュートリアルには、 AWS IoT Greengrass Core ソフトウェアのインストール手順も含まれています。
+  AWS IoT Greengrass コアデバイスにインストールされた Python 3.7。
+  AWS IoT Greengrass は、「シークレット[の要件」で説明されているように、ローカルシークレット](secrets.md#secrets-reqs)をサポートするように設定する必要があります。
**注記**  
この要件には、Secrets Manager シークレットへのアクセス許可が含まれます。デフォルトの Greengrass サービスロールを使用している場合、Greengrass は *greengrass-* で始まる名前の付いたシークレット値にアクセスできます。
+ Twilio アカウントの SID、認証トークン、Twilio 対応の電話番号。Twilio プロジェクトを作成した後、これらの値をプロジェクトダッシュボードで使用できます。
**注記**  
Twilio トライアルアカウントを使用できます。トライアルアカウントを使用している場合は、Twilio 以外の受信者の電話番号を、確認済みの電話番号リストに追加する必要があります。詳細については、「[無料の Twilio トライアルアカウントを使用する方法](https://www.twilio.com/docs/usage/tutorials/how-to-use-your-free-trial-account)」を参照してください。

## ステップ 1: Secrets Manager シークレットを作成する
<a name="connectors-console-create-secret"></a>

このステップでは、 AWS Secrets Manager コンソールを使用して Twilio 認証トークンのテキストタイプのシークレットを作成します。

1. <a name="create-secret-step-signin"></a>[AWS Secrets Manager コンソール](https://console.aws.amazon.com/secretsmanager/) にサインインします。
**注記**  
このプロセスの詳細については、「AWS Secrets Manager ユーザーガイド」の「[ステップ 1: AWS Secrets Managerでシークレットを作成および保存する](https://docs.aws.amazon.com/secretsmanager/latest/userguide/tutorials_basic.html)」を参照してください。

1. <a name="create-secret-step-create"></a>**新しいシークレットを保存** を選択します。

1. <a name="create-secret-step-othertype"></a>**[Choose secret type]** (シークレットの種類を選択) で、**[Other type of secret]** (他の種類のシークレット) を選択します。

1. [**このシークレットに保存するキーと値のペアを指定します**] の [**プレーンテキスト**] タブで、Twilio 認証トークンを入力します。すべての JSON 書式を削除し、トークンの値のみ入力します。

1. <a name="create-secret-step-encryption"></a>暗号化には **aws/secretsmanager** を暗号キーとして選択した状態で、**[Next]** (次へ) を選択します。
**注記**  
Secrets Manager がアカウントで作成するデフォルトの AWS マネージドキー AWS KMS を使用する場合、 は課金されません。

1. [**シークレット名**] に「**greengrass-TwilioAuthToken**」と入力し、[**次へ**] を選択します。
**注記**  
デフォルトでは、Greengrass サービスロールにより AWS IoT Greengrass 、 は *greengrass-* で始まる名前のシークレットの値を取得できます。詳細については、「[シークレットの要件](secrets.md#secrets-reqs)」を参照してください。

1. <a name="create-secret-step-rotation"></a>このチュートリアルではローテーションは不要であるため、[disable automatic rotation] (自動ローテーションを無効化)、**Next** (次へ) の順に選択します。

1. <a name="create-secret-step-review"></a>[**確認**] ページで、設定を確認し、[**保存**] を選択します。

   次に、シークレットを参照する Greengrass グループにシークレットリソースを作成します。

## ステップ 2: Greengrass グループにローカルシークレットリソースを追加する
<a name="connectors-console-create-resource"></a>

このステップでは、*シークレットリソース*を Greengrass グループに追加します。このリソースは、前のステップで作成したシークレットへの参照です。

1. <a name="console-gg-groups"></a> AWS IoT コンソールナビゲーションペインの**「管理**」で **Greengrass デバイス**を展開し、**「グループ (V1)**」を選択します。

1. <a name="create-secret-resource-step-choosegroup"></a>シークレットリソースを追加するグループを選択します。

1. <a name="create-secret-resource-step-secretstab"></a>グループ設定ページの **[Resources]** (リソース) タブから、**[Secrets]** (シークレット) セクションを選択します。**[Secrets]** (シークレット) セクションには、グループに属するシークレットリソースが表示されます。このセクションからシークレットリソースを追加、編集、削除できます。
**注記**  
別の方法として、コネクタや Lambda 関数を設定するときに、コンソールでシークレットとシークレットリソースを作成することもできます。これはコネクタの **[Configure parameters]** (パラメータの設定) ページか、Lambda 関数の **[Resources]** (リソース) ページから実行できます。

1. <a name="create-secret-resource-step-addsecretresource"></a>**[Secrets]** (シークレット) セクションから **[Add]** (追加) を選択します。

1. **[Add a secret resource]** (シークレットリソースを追加) ページで、**[Resource name]** (リソース名)に **MyTwilioAuthToken** を入力します。

1. **[Secret]** (シークレット) には、**[greengrass-TwilioAuthToken]** を選択します。

1. <a name="create-secret-resource-step-selectlabels"></a>**[Select labels (Optional)]** (ラベルを選択 (オプション)) セクションの、AWSCURRENT ステージングラベルはシークレットの最新バージョンを表します。このラベルはシークレットリソースに常に含まれています。
**注記**  
このチュートリアルでは、AWSCURRENT ラベルのみが必要です。オプションで、Lambda 関数またはコネクタで必要になるラベルを含めることができます。

1. **[Add resource]** (リソースを追加) を選択します。

## ステップ 3: Greengrass グループにコネクタを追加する
<a name="connectors-console-create-connector"></a>

このステップでは、[Twilio 通知コネクタ](twilio-notifications-connector.md)のパラメータを設定し、グループに追加します。

1. グループ設定ページで、**[Connectors]** (コネクタ)、**[Add a connector]** (コネクタの追加) の順に選択します。

1. **[Add connector]** (コネクタの追加) ページで、**[Twilio Notifications]** (Twilio 通知) を選択します。

1. バージョンを選択します。

1. **[Configuration]** (設定) セクションで次を行います。
   + **[Twilio auth token resource]** (Twilio 認証トークンリソース) に、前のステップで作成したリソースを入力します。
**注記**  
リソースを入力すると、**[ARN of Twilio auth token secret]** (Twilio 認証トークンシークレットの ARN) プロパティが設定されます。
   + **[Default from phone number]** (電話番号のデフォルト) に Twilio 対応の電話番号を入力します。
   + **[Twilio account SID]** (Twilio アカウント SID) に Twilio アカウント SID を入力します。

1. **[リソースを追加]** を選択します。

## ステップ 4: Lambda 関数デプロイパッケージを作成する
<a name="connectors-console-create-deployment-package"></a>

Lambda 関数を作成するには、関数のコードと依存関係を含む Lambda 関数デプロイパッケージを最初に作成する必要があります。Greengrass Lambda 関数には、コア環境での MQTT メッセージとの通信やローカルシークレットへのアクセスなどのタスクに使用する、[AWS IoT Greengrass Core SDK](lambda-functions.md#lambda-sdks-core) が必要です。このチュートリアルでは Python 関数を作成するため、デプロイパッケージには Python 版の SDK を使用します。

1. <a name="download-ggc-sdk"></a> [AWS IoT Greengrass Core SDK](what-is-gg.md#gg-core-sdk-download) ダウンロードページから、 AWS IoT Greengrass Core SDK for Python をコンピュータにダウンロードします。

1. <a name="unzip-ggc-sdk"></a>ダウンロードしたパッケージを解凍し、SDK を取得します。SDK は `greengrasssdk` フォルダです。

1. 以下の Python コード関数を `temp_monitor.py` というローカルファイルに保存します。

   ```
   import greengrasssdk
   import json
   import random
   
   client = greengrasssdk.client('iot-data')
   
   # publish to the Twilio Notifications connector through the twilio/txt topic
   def function_handler(event, context):
       temp = event['temperature']
       
       # check the temperature
       # if greater than 30C, send a notification
       if temp > 30:
           data = build_request(event)
           client.publish(topic='twilio/txt', payload=json.dumps(data))
           print('published:' + str(data))
           
       print('temperature:' + str(temp))
       return
   
   # build the Twilio request from the input data
   def build_request(event):
       to_name = event['to_name']
       to_number = event['to_number']
       temp_report = 'temperature:' + str(event['temperature'])
   
       return {
           "request": {
               "recipient": {
                   "name": to_name,
                   "phone_number": to_number,
                   "message": temp_report
               }
           },
           "id": "request_" + str(random.randint(1,101))
       }
   ```

1. 以下の項目を `temp_monitor_python.zip` という名前のファイルに圧縮します。ZIP ファイルを作成するときは、コードおよび依存関係のみを含め、フォルダは含めません。
   + **temp\$1monitor.py**。アプリケーションロジック。
   + **greengrasssdk**。MQTT メッセージを発行する Python Greengrass Lambda 関数で必須のライブラリ。

   これが Lambda 関数デプロイパッケージです。

ここでは、デプロイパッケージを使用する Lambda 関数を作成します。

## ステップ 5: AWS Lambda コンソールで Lambda 関数を作成する
<a name="connectors-console-create-function"></a>

このステップでは、 AWS Lambda コンソールを使用して Lambda 関数を作成し、デプロイパッケージを使用するように設定します。次に、関数のバージョンを公開し、エイリアスを作成します。

1. 最初に Lambda 関数を作成します。

   1. <a name="lambda-console-open"></a>で AWS マネジメントコンソール、**サービス**を選択し、 AWS Lambda コンソールを開きます。

   1. <a name="lambda-console-create-function"></a>**[Create function]** (関数の作成) を選択し、**[Author from scratch]** (一から作成) を選択します。

   1. **[基本的な情報]** セクションで、以下の値を使用します。
      + **[関数名]** に「**TempMonitor**」と入力します。
      + **[ランタイム]** で **[Python 3.7]** を選択します。
      + **[アクセス許可]** はデフォルト設定のままにしておきます。これで Lambda への基本的なアクセス許可を付与する実行ロールが作成されます。このロールは では使用されません AWS IoT Greengrass。

   1. <a name="lambda-console-save-function"></a>ページの下部で、**[関数の作成]** を選択します。

1. 今度は、ハンドラを登録し、Lambda 関数デプロイパッケージをアップロードします。

   1. <a name="lambda-console-upload"></a>**[Code]** (コード) タブの **[Code source]** (コードソース) で、**[Upload from]** (アップロード元) を選択します。ドロップダウンから **[.zip ファイル]** を選択します。  
![\[[.zip ファイル] が強調表示された [アップロード元] ドロップダウンリスト。\]](http://docs.aws.amazon.com/ja_jp/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. **[アップロード]** を選択し、`temp_monitor_python.zip` デプロイパッケージを選択します。次に、**[保存]** を選択します。

   1. <a name="lambda-console-runtime-settings-para"></a>関数の **[Code]** (コード) タブにある **[Runtime settings]** (ランタイム設定) で **[Edit]** (編集) を選択し、次の値を入力します。
      + **[ランタイム]** で **[Python 3.7]** を選択します。
      + **[ハンドラ]** に **temp\$1monitor.function\$1handler** と入力します。

   1. <a name="lambda-console-save-config"></a>**[保存]** を選択します。
**注記**  
 AWS Lambda コンソールの**テスト**ボタンは、この関数では機能しません。 AWS IoT Greengrass Core SDK には、Greengrass Lambda 関数を AWS Lambda コンソールで個別に実行するために必要なモジュールは含まれていません。これらのモジュール (例えば `greengrass_common`) が関数に提供されるのは、Greengrass Core にデプロイされた後になります。

1. ここで、Lambda 関数の最初のバージョンを公開し、[バージョンのエイリアス](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html)を作成します。
**注記**  
Greengrass グループは、Lambda 関数をエイリアス別 (推奨) またはバージョン別に参照できます。エイリアスを使用すると、関数コードを更新する時にサブスクリプションテーブルやグループ定義を変更する必要がないため、コード更新を簡単に管理できます。その代わりに、新しい関数バージョンにエイリアスを指定するだけで済みます。

   1. <a name="shared-publish-function-version"></a>**[アクション]** メニューから、**[新しいバージョンを発行]** を選択します。

   1. <a name="shared-publish-function-version-description"></a>**[バージョンの説明]** に **First version** と入力し、**[発行]** を選択します。

   1. [**TempMonitor: 1**] 設定ページで、[**Actions (アクション)**] メニューの [**エイリアスの作成**] を選択します。

   1. **[新しいエイリアスの作成]** ページで、次の値を使用します。
      + [**名前**] に**GG\$1TempMonitor**と入力してください。
      + **[バージョン]** で、**[1]** を選択します。
**注記**  
AWS IoT Greengrass は、**\$1LATEST** バージョンの Lambda エイリアスをサポートしていません。

   1. **[作成]** を選択します。

これで、Greengrass グループに Lambda 関数を追加する準備ができました。

## ステップ 6: Greengrass グループに Lambda 関数を追加する
<a name="connectors-console-create-gg-function"></a>

このステップでは、Lambda 関数をグループに追加し、そのライフサイクルと環境変数を設定します。詳細については、「[グループ固有の設定による Greengrass Lambda 関数の実行の制御](lambda-group-config.md)」を参照してください。

1. <a name="choose-add-lambda"></a>グループ設定ページで、**[Lambda functions]** (Lambda 関数) タブを選択します。

1. **[My Lambda functions]** (自分の Lambda 関数) で、**[Add]** を選択します。

1. **[Add Lambda function]** (Lambda 関数を追加) ページで、Lambda 関数として **[TempMonitor]** を選択します。

1. **Lambda 関数のバージョン**で、**Alias: GG\$1TempMonitor** を選択します。

1. **[Add Lambda function]** (Lambda 関数の追加) を選択します。

## ステップ 7: サブスクリプションを Greengrass グループに追加する
<a name="connectors-console-create-subscription"></a>

<a name="connectors-how-to-add-subscriptions-p1"></a>このステップでは、Lambda 関数にコネクタへの入力データの送信を許可するサブスクリプションを追加します。コネクタは、サブスクライブする MQTT トピックを定義しているため、このサブスクリプションはそのいずれかのトピックを使用します。これは、サンプル関数が発行するのと同じトピックです。

<a name="connectors-how-to-add-subscriptions-p2"></a>このチュートリアルでは、関数が から AWS IoT シミュレートされた温度測定値を受信し、 がコネクタからステータス情報 AWS IoT を受信できるようにするサブスクリプションも作成します。

1. <a name="shared-subscriptions-addsubscription"></a>グループ設定ページの **[Subscriptions]** (サブスクリプション) タブで、**[Add Subscription]** (サブスクリプションの追加) を選択します。

1. **[Create a subscription]** (サブスクリプションの作成) ページで、ソースおよびターゲットを次のように設定します。

   1. **[Source type]** (ソースタイプ) は、**[Lambda function]** (Lambda 関数)、**[TempMonitor]** の順に選択します。

   1. **[Target type]** (ターゲットタイプ) は、**[Connector]** (コネクタ)、**[Twilio Notifications]** (Twilio 通知) の順に選択します。

1. **[Topic filter]** (トピックのフィルター) に **twilio/txt** を選択します。

1. [**Create subscription**] を選択してください。

1. ステップ 1～4 を繰り返して、 が 関数 AWS IoT にメッセージを発行できるようにするサブスクリプションを作成します。

   1. **[Source type]** (ソースタイプ) は、**Service** (サービス)、**IoT Cloud** (IoT Cloud (IoT クラウド)) の順に選択します。

   1. **[Select a target]** (ターゲットの選択) は、**[Lambda function]** (Lambda 関数)、**[TempMonitor]** の順に選択します。

   1. [**トピックのフィルター**] に「**temperature/input**」と入力します。

1. ステップ 1〜4 を繰り返して、 AWS IoTへのメッセージの発行をコネクタに許可するサブスクリプションを作成します。

   1. **[Source type]** (ソースタイプ) は、**[Connectors]** (コネクタ)、**[Twilio Notifications]** (Twilio 通知) の順に選択します。

   1. **[Target type]** (ターゲットタイプ) は、**[サービス]**、**[IoT Cloud]** (IoT クラウド) の順に選択します。

   1. [**トピックフィルター**] には自動的に「**twilio/message/status**」と入力されます。これは、コネクタが発行する先の事前定義済みトピックです。

## ステップ 8: Greengrass グループをデプロイする
<a name="connectors-console-create-deployment"></a>

Core デバイスにグループをデプロイします。

1. <a name="shared-deploy-group-checkggc"></a> AWS IoT Greengrass コアが実行されていることを確認します。必要に応じて、Raspberry Pi のターミナルで以下のコマンドを実行します。

   1. デーモンが実行中かどうかを確認するには、以下を実行します。

      ```
      ps aux | grep -E 'greengrass.*daemon'
      ```

      出力に `root` で実行中の `/greengrass/ggc/packages/ggc-version/bin/daemon` のエントリが含まれていれば、デーモンは実行されています。
**注記**  
パスのバージョンは、コアデバイスにインストールされている AWS IoT Greengrass Core ソフトウェアのバージョンによって異なります。

   1. デーモンを開始するには、以下を実行します。

      ```
      cd /greengrass/ggc/core/
      sudo ./greengrassd start
      ```

1. <a name="shared-deploy-group-deploy"></a>グループ設定ページで、**[Deploy]** (デプロイ) を選択します。

1. <a name="shared-deploy-group-ipconfig"></a>

   1. **[Lambda functions]** (Lambda 関数) タブの **[System Lambda functions]** (システム Lambda 関数) セクションで、**[IP detector]** (IP ディテクター)、**[Edit]** (編集) の順に選択します。

   1. **[IP ディテクターの設定を編集]** ダイアログボックスで、**[MQTT ブローカーエンドポイントを自動的に検出して上書きする]** を選択します。

   1. **[保存]** を選択します。

      これにより、デバイスは、IP アドレス、DNS、ポート番号など、コアの接続情報を自動的に取得できます。自動検出が推奨されますが、手動で指定されたエンドポイント AWS IoT Greengrass もサポートされます。グループが初めてデプロイされたときにのみ、検出方法の確認が求められます。
**注記**  
プロンプトが表示されたら、[Greengrass サービスロール](service-role.md)を作成し、それを現在の AWS アカウント の に関連付けるアクセス許可を付与します AWS リージョン。このロールにより AWS IoT Greengrass 、 は AWS サービスのリソースにアクセスできます。

      **[デプロイ]** ページには、デプロイのタイムスタンプ、バージョン ID、ステータスが表示されます。完了すると、デプロイのステータスが **[完了]** と表示されます。

      トラブルシューティングのヘルプについては、[トラブルシューティング AWS IoT Greengrass](gg-troubleshooting.md) を参照してください。

**注記**  
<a name="one-conn-version"></a>Greengrass グループには、一度に 1 つのバージョンのコネクタしか含めることができません。コネクタのバージョンのアップグレードについては、「[コネクタのバージョンのアップグレード](connectors.md#upgrade-connector-versions)」を参照してください。

## ソリューションをテストする
<a name="connectors-console-test-solution"></a>

1. <a name="choose-test-page"></a> AWS IoT コンソールのホームページで、**テスト**を選択します。

1. **[Subscribe to topic]** (トピックへのサブスクライブ) で、以下の値を使用し、**[Subscribe]** (サブスクリプション) を選択します。Twilio 通知コネクタはこのトピックにステータス情報を発行します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v1/developerguide/connectors-console.html)

1. **[Publish to topic]** (トピックに発行) で、以下の値を使用し、**[Publish]** (発行) を選択して関数を呼び出します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v1/developerguide/connectors-console.html)

   正しく実行できていれば、受信者にテキストメッセージが届き、コンソールの[出力データ](twilio-notifications-connector.md#twilio-notifications-connector-data-output)に `success` のステータスが表示されます。

   ここでは、入力メッセージの `temperature` を **29** に変更して発行します。これは 30 未満であるため、TempMonitor 関数は Twilio メッセージをトリガーしません。

## 関連情報
<a name="connectors-console-see-also"></a>
+ [Greengrass コネクタを使用したサービスおよびプロトコルとの統合](connectors.md)
+  [AWSが提供する Greengrass コネクタ](connectors-list.md)