

サポート終了通知: 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"></a>

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

のコネクタ AWS IoT Greengrass は、ローカルインフラストラクチャ、デバイスプロトコル AWS、およびその他のクラウドサービスとのやり取りをより効率的にする構築済みのモジュールです。コネクタを使用すれば、新しいプロトコルや API を学習する時間を短縮し、ビジネスにとって重要なロジックに注力できます。

次の図は、 AWS IoT Greengrass 環境でコネクタが役立つ場所を示しています。

![\[コネクタはデバイス、サービス、ローカルリソースに接続する。\]](http://docs.aws.amazon.com/ja_jp/greengrass/v1/developerguide/images/connectors/connectors-arch.png)


多くのコネクタは MQTT メッセージを使用して、グループ内のクライアントデバイスと Greengrass Lambda 関数、または AWS IoT およびローカルシャドウサービスと通信します。次の例では、Twilio Notifications コネクタはユーザー定義の Lambda 関数から MQTT メッセージを受信し、 からシークレットのローカル参照を使用し AWS Secrets Manager、Twilio API を呼び出します。

![\[コネクタは Lambda 関数からの MQTT メッセージを受信し、サービスを呼び出します。\]](http://docs.aws.amazon.com/ja_jp/greengrass/v1/developerguide/images/connectors/twilio-solution.png)


このソリューションを作成するチュートリアルについては、「[Greengrass コネクタの開始方法 (コンソール)](connectors-console.md)」および「[Greengrass コネクタの開始方法 (CLI)](connectors-cli.md)」を参照してください。

Greengrass コネクタは、デバイスの機能を拡張したり、専用デバイスを作成したりするのに役立ちます。コネクタを使用すると次のことができます。
+ 再利用可能なビジネスロジックを実装する。
+ およびサードパーティーのサービスを含む、クラウド AWS およびローカルサービスとやり取りします。
+ デバイスのデータを収集して処理する。
+ MQTT トピックのサブスクリプションとユーザー定義の Lambda 関数を使用して、デバイス間呼び出しを可能にする。

AWS は、一般的な サービスやデータソースとのやり取りを簡素化する Greengrass コネクタのセットを提供します。これらの事前構築済みモジュールにより、ログ記録と診断、補充、産業データ処理、アラームとメッセージングのシナリオに対応できます。詳細については、「[AWSが提供する Greengrass コネクタ](connectors-list.md)」を参照してください。

## 要件
<a name="connectors-reqs"></a>

コネクタを使用する際は次の点に注意してください。
+ 使用するコネクタにはそれぞれに要件があり、それを満たす必要があります。これらの要件には、 AWS IoT Greengrass 最小 Core ソフトウェアバージョン、デバイスの前提条件、必要なアクセス許可、制限が含まれる場合があります。詳細については、「[AWSが提供する Greengrass コネクタ](connectors-list.md)」を参照してください。
+ Greengrass グループに含めることができる、コネクタの設定済みインスタンスは 1 つのみですが、このインスタンスは複数のサブスクリプションで使用することができます。詳細については、「[設定パラメータ](#connectors-parameters)」を参照してください。
+ Greengrass グループのデフォルトのコンテナ化が [[コンテナなし](lambda-group-config.md#lambda-containerization-groupsettings)] に設定されている場合、グループの**コネクタ**はコンテナ化なしで実行する必要があります。**コンテナなし**モードをサポートするコネクタを検索するには、「[AWSが提供する Greengrass コネクタ](connectors-list.md)」を参照してください。

## Greengrass コネクタの使用
<a name="use-applications"></a>

コネクタはグループコンポーネントの一種です。クライアントデバイスやユーザー定義の Lambda 関数などの他のグループコンポーネントと同様に、グループへのコネクタの追加、設定の構成、 AWS IoT Greengrass コアへのデプロイを行います。コネクタは、コア環境で実行されます。

一部のコネクタは、シンプルなスタンドアロンアプリケーションとしてデプロイすることができます。例えば、Device Defender コネクタは Core デバイスからシステムメトリクスを読み取り、解析のためにそれらを AWS IoT Device Defender に送信します。

それ以外のコネクタは、さらに大きいソリューションの構成要素として追加することができます。以下のサンプルソリューションでは、Modbus-RTU プロトコルアダプタコネクタはセンサーからのメッセージを処理し、Twilio 通知コネクタは Twilio メッセージを開始します。

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


ソリューションには、多くの場合、コネクタの横に配置され、コネクタが送受信するデータを処理するユーザー定義の Lambda 関数が含まれています。この例でその役割にあたる TempMonitor 関数は、Modbus-RTU プロトコルアダプタからデータを受信し、ビジネスロジックを実行して、データを Twilio 通知に送信します。

ソリューションを作成してデプロイするには、以下の一般的なプロセスに従います。

1. データフローの概要を設計します。作業に必要なデータソース、データチャネル、サービス、プロトコル、リソースを特定します。このサンプルソリューションでは、Modbus RTU プロトコル、物理 Modbus シリアルポート、Twilio でのデータが含まれています。

1. ソリューションに含めるコネクタを特定し、グループに追加します。このサンプルソリューションでは、Modbus-RTU プロトコルアダプタと Twilio 通知を使用します。シナリオに該当するコネクタを見つけ、個々の要件を知るには、「[AWSが提供する Greengrass コネクタ](connectors-list.md)」を参照してください。

1. ユーザー定義の Lambda 関数、クライアントデバイス、またはリソースが必要かどうかを特定し、それらを作成してグループに追加します。例えば、ビジネスロジックを含む関数や、ソリューション内の別のエンティティに必要な形式にデータを加工する関数を作成して追加します。このサンプルソリューションでは、Modbus RTU リクエストを送信して Twilio 通知を開始する関数を使用しています。また、Modbus RTU シリアルポートのローカルデバイスリソースと、Twilio 認証トークンのシークレットリソースも含まれています。
**注記**  
シークレットリソースは、 AWS Secrets Managerからのパスワード、トークン、および他のシークレットを参照します。シークレットは、コネクタおよび Lambda 関数でサービスやアプリケーションの認証に使用できます。デフォルトでは、 AWS IoT Greengrass は*「greengrass-*」で始まる名前のシークレットにアクセスできます。詳細については、「[シークレットを AWS IoT Greengrass コアにデプロイする](secrets.md)」を参照してください。

1. ソリューション内のエンティティに MQTT メッセージの交換を許可するサブスクリプションを作成します。サブスクリプションでコネクタを使用する場合、コネクタ、およびメッセージのソースまたはターゲットでは、コネクタによってサポートされている事前定義済みのトピック構文を使用する必要があります。詳細については、「[入力と出力](#connectors-inputs-outputs)」を参照してください。

1. Greengrass Core にグループをデプロイします。

コネクタを作成してデプロイする方法については、次のチュートリアルを参照してください。
+ [Greengrass コネクタの開始方法 (コンソール)](connectors-console.md)
+ [Greengrass コネクタの開始方法 (CLI)](connectors-cli.md)

## 設定パラメータ
<a name="connectors-parameters"></a>

多くのコネクタには、動作や出力をカスタマイズするためのパラメータが用意されています。これらのパラメータは、コネクタのライフサイクルでの初期化時、実行時などのタイミングで使用します。

パラメータのタイプと使用方法はコネクタごとに異なります。例えば、SNS コネクタにはデフォルトの SNS トピックを設定するパラメータがあり、Device Defender にはデータサンプリングレートを設定するパラメータがあります。

グループバージョンには、複数のコネクタを含めることができますが、一度に使用されるコネクタのインスタンスは 1 つのみです。これは、グループの各コネクタのアクティブな設定は 1 つだけであることを意味します。ただし、コネクタインスタンスはグループ内の複数のサブスクリプションで使用できます。例えば、複数のデバイスに Kinesis Firehose コネクタへのデータの送信を許可するサブスクリプションを作成できます。

### グループリソースへのアクセスに使用するパラメータ
<a name="connectors-parameters-resources"></a>

Greengrass コネクタでは、グループリソースを使用して、Core デバイス上のファイルシステム、ポート、周辺機器、その他のローカルリソースにアクセスします。コネクタには、グループリソースへのアクセスを必要とする場合に使用する設定パラメータがあります。

グループリソースには以下のものが含まれます。
+ [ローカルリソース](access-local-resources.md)。Greengrass Core デバイス上に存在するディレクトリ、ファイル、ポート、ピン、周辺機器。
+ [機械学習リソース](ml-inference.md)。クラウドでトレーニングされ、ローカル推論のために Core にデプロイされる機械学習モデル。
+ [シークレットリソース](secrets.md)。パスワード、キー、トークン、または任意のテキストの暗号化されたローカルコピー AWS Secrets Manager。コネクタは、これらのローカルシークレットに安全にアクセスし、それらを使用してサービスまたはローカルインフラストラクチャを認証できます。

例えば、Device Defender のパラメータにより、ホストの `/proc` ディレクトリのシステムメトリクスへのアクセスが可能になり、Twilio 通知のパラメータにより、ローカルに保存された Twilio 認証トークンへのアクセスが可能になります。

### コネクタのパラメータの更新
<a name="update-application-parameters-"></a>

コネクタを Greengrass グループに追加すると、パラメータが設定されます。コネクタを追加したら、パラメータ値を変更することができます。
+ コンソールの場合: グループ設定ページで [**コネクタ**] を開き、コネクタのコンテキストメニューから [**編集**] を選択します。
**注記**  
コネクタで使用されているシークレットリソースを、別のシークレットを参照するように後で変更する場合は、コネクタのパラメータを編集し、変更を確認する必要があります。
+ API の場合: 新しい設定を定義する別のバージョンのコネクタを作成します。

   AWS IoT Greengrass API は バージョンを使用してグループを管理します。バージョンは変更不可であるため、グループのクライアントデバイス、関数、リソースといったグループコンポーネントを追加または変更するには、新規または更新済みコンポーネントのバージョンを作成する必要があります。その後、各コンポーネントのターゲットバージョンを含むグループバージョンを作成およびデプロイします。

コネクタの設定に変更を加えたら、これらの変更をコアに反映するためにグループをデプロイする必要があります。

## 入力と出力
<a name="connectors-inputs-outputs"></a>

多くの Greengrass コネクタは、MQTT メッセージを送受信することで、他のエンティティと通信できます。MQTT 通信は、コネクタが Greengrass グループ内の Lambda 関数、クライアントデバイス、およびその他のコネクタ、または AWS IoT およびローカルシャドウサービスとデータを交換できるようにするサブスクリプションによって制御されます。この通信を許可するには、コネクタが属するグループにサブスクリプションを作成する必要があります。詳細については、「[MQTT メッセージングワークフローにおけるマネージドサブスクリプション](gg-sec.md#gg-msg-workflow)」を参照してください。

コネクタは、メッセージ受信者、メッセージ発行者、またはその両方になります。各コネクタは、発行またはサブスクライブする MQTT トピックを定義します。メッセージソースまたはメッセージターゲットがコネクタとなるサブスクリプションでは、これらの事前定義済みのトピックを使用する必要があります。コネクタのサブスクリプションを設定する手順が含まれているチュートリアルについては、「[Greengrass コネクタの開始方法 (コンソール)](connectors-console.md)」と「[Greengrass コネクタの開始方法 (CLI)](connectors-cli.md)」を参照してください。

**注記**  
多くのコネクタには、クラウドサービスまたはローカルサービスとやり取りするための組み込みの通信モードもあります。これらのモードはコネクタごとに異なり、パラメータの設定や[グループロール](group-role.md)へのアクセス許可の追加が必要になる場合があります。コネクタの要件については、「[AWSが提供する Greengrass コネクタ](connectors-list.md)」を参照してください。

### 入力トピック
<a name="connectors-multiple-topics"></a>

コネクタには通常、MQTT トピックに関する入力データが送信されます。一部のコネクタは、入力データ用に複数のトピックにサブスクライブします。例えば、シリアルストリーミングコネクタは以下の 2 つのトピックをサポートしています。
+ `serial/+/read/#`
+ `serial/+/write/#`

このコネクタでは、読み取りリクエストと書き込みリクエストを対応するトピックに送信します。サブスクリプションを作成するときは、実装に合ったトピックを使用してください。

前の例の `+` 文字と `#` 文字はワイルドカードです。これらのワイルドカードを使用すると、受信者は複数のトピックに関するメッセージを受信できます。発行者は発行先のトピックをカスタマイズできます。
+ `+` ワイルドカードは、トピック階層の任意の場所に使用できます。このワイルドカードは、1 つの階層項目に置き換わります。

  例えば、`sensor/+/input` トピックの場合、メッセージを `sensor/id-123/input` トピックには発行できますが、`sensor/group-a/id-123/input` トピックには発行できません。
+ `#` ワイルドカードは、トピック階層の末尾にのみ使用できます。0 以上の階層項目で置き換えることができます。

  例えば、`sensor/#` トピックの場合、メッセージを `sensor/`、`sensor/id-123`、`sensor/group-a/id-123` には発行できますが、`sensor` には発行できません。

ワイルドカード文字は、トピックにサブスクライブするときにのみ有効です。ワイルドカードを含むトピックにメッセージを発行することはできません。入力または出力トピックの要件の詳細については、コネクタのドキュメントを参照してください。詳細については、「[AWSが提供する Greengrass コネクタ](connectors-list.md)」を参照してください。

## コンテナ化のサポート
<a name="connector-containerization"></a>

デフォルトでは、ほとんどのコネクタは、 AWS IoT Greengrassによって管理されている分離されたランタイム環境の Greengrass コア上で実行されます。*コンテナ*と呼ばれるこれらのランタイム環境は、コネクタとホストシステム間の分離を実現します。これにより、ホストとコネクタのセキュリティが強化されます。

ただし、この Greengrass コンテナ化は、Docker コンテナ AWS IoT Greengrass で実行する場合や、cgroups を使用しない古い Linux カーネルで実行する場合など、一部の環境ではサポートされていません。これらの環境では、コネクタは**コンテナなし**モードで実行する必要があります。**コンテナなし**モードをサポートするコネクタを検索するには、「[AWSが提供する Greengrass コネクタ](connectors-list.md)」を参照してください。一部のコネクタはこのモードでネイティブに動作し、一部のコネクタでは分離モードを設定できます。

Greengrass コンテナ化をサポートする環境では、分離モードを [**コンテナなし**] に設定することもできますが、可能であれば [**Greengrass コンテナ**] モードを使用することをお勧めします。

**注記**  
Greengrass グループの既定のコンテナ化設定は、[コネクタ](lambda-group-config.md#lambda-containerization-groupsettings)には適用されません。

## コネクタのバージョンのアップグレード
<a name="upgrade-connector-versions"></a>

コネクタプロバイダーは、機能の追加、問題の修正、パフォーマンスの向上を行うコネクタの新しいバージョンをリリースすることがあります。使用可能なバージョンおよび関連する変更については、[各コネクタのドキュメント](connectors-list.md)を参照してください。

 AWS IoT コンソールで、Greengrass グループのコネクタの新しいバージョンを確認できます。

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

1. **[Greengrass グループ]** で、目的のグループを選択します。

1. **[コネクタ]** を選択して、グループ内のコネクタを表示します。

   新しいバージョンのコネクタがある場合は、**[Available]** (利用可能) ボタンが **[Upgrade]** (アップグレード) 列に表示されます。

1. コネクタのバージョンをアップグレードするには、以下を実行します。

   1. **[コネクタ]** ページの **[アップグレード]** 列で、**[使用可能]** を選択します。**[コネクタのアップグレード]** ページが開き、現在のパラメータ設定が表示されます (該当する場合)。

      新しいコネクタのバージョンを選択し、必要に応じてパラメータを定義して、**[アップグレード]** を選択します。

   1. [**サブスクリプション**] ページで、新しいサブスクリプションをグループに追加して、コネクタをソースまたはターゲットとして使用しているサブスクリプションを置き換えます。次に、古いサブスクリプションを削除します。

      サブスクリプションはバージョンごとにコネクタを参照するため、グループのコネクタバージョンを変更すると無効になります。

   1. [**アクション**] メニューから [**デプロイ**] を選択し、変更をコアにデプロイします。

 AWS IoT Greengrass API からコネクタをアップグレードするには、更新されたコネクタとサブスクリプションを含むグループバージョンを作成してデプロイします。コネクタをグループに追加する場合と同じプロセスを使用します。を使用して Twilio Notifications コネクタの例 AWS CLI を設定およびデプロイする方法を示す詳細な手順については、「」を参照してください[Greengrass コネクタの開始方法 (CLI)](connectors-cli.md)。

## コネクタのログ記録
<a name="connectors-logging"></a>

Greengrass コネクタには、Greengrass ログにイベントとエラーを書き込む Lambda 関数が含まれています。グループ設定に応じて、ログは CloudWatch Logs、ローカルファイルシステム、またはその両方に書き込まれます。コネクタからのログには、対応する関数の ARN が含まれています。以下のサンプル ARN は、Kinesis Firehose コネクタのものです。

```
arn:aws:lambda:aws-region:account-id:function:KinesisFirehoseClient:1
```

ログ記録のデフォルト設定では、情報レベルのログが以下のディレクトリ構造でファイルシステムに書き込まれます。

```
greengrass-root/ggc/var/log/user/region/aws/function-name.log
```

Greengrass のログ記録の詳細については、「[AWS IoT Greengrass ログによるモニタリング](greengrass-logs-overview.md)」を参照してください。