

サポート終了通知: 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)」を参照してください。

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

# Lambda 関数とコネクタを使用してローカルリソースにアクセスする
<a name="access-local-resources"></a>

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

を使用すると AWS IoT Greengrass、クラウドで AWS Lambda 関数を作成し、[コネクタ](connectors.md)を設定し、ローカル実行のためにコアデバイスにデプロイできます。Linux を実行する Greengrass Core で、これらのローカルにデプロイされた Lambda 関数およびコネクタは、Greengrass Core デバイスに物理的に存在するローカルリソースにアクセスできます。例えば、Modbus または CANbus を介して接続されているデバイスと通信するには、Lambda 関数を有効にして、Core デバイスのシリアルポートにアクセスします。ローカルリソースへの安全なアクセスを設定するには、物理的なハードウェアおよび Greengrass コアデバイス OS のセキュリティを保証する必要があります。

ローカルリソースへのアクセスを開始するには、次のチュートリアルを参照してください。
+ [AWS コマンドラインインターフェイスを使用してローカルリソースアクセスを設定する方法](lra-cli.md)
+ [を使用してローカルリソースアクセスを設定する方法 AWS マネジメントコンソール](lra-console.md)

## サポートされているリソースタイプ
<a name="lra-resource-types"></a>

ボリュームリソースとデバイスリソースの 2 種類のローカルリソースにアクセスできます。

**ボリュームリソース**  
ルートファイルシステム上のファイルまたはディレクトリ (`/sys`、`/dev` または `/var` を除く)。具体的には次のとおりです。  
+ Greengrass Lambda 関数 (例えば、`/usr/lib/python2.x/site-packages/local`) を介して情報を読み書きするためのフォルダまたはファイル。
+ ホストの /proc ファイルシステムのフォルダまたはファイル (`/proc/net` または `/proc/stat` など)。v1.6 以降でサポートされています。追加の要件については、[/proc ディレクトリのボリュームリソース](#lra-proc-resources)を参照してください。
`/var`、`/var/run`、および `/var/lib` ディレクトリをボリュームリソースとして設定するには、最初にディレクトリを別のフォルダにマウントし、フォルダをボリュームリソースとして設定します。
ボリュームリソースを設定するときは、*ソース*パスと*送信先*パスを指定します。ソースパスはホスト上のリソースの絶対パスです。送信先パスは Lambda 名前空間環境内のリソースの絶対パスです。これは、Greengrass Lambda 関数またはコネクタが実行されるコンテナです。送信先パスの変更はホストファイルシステムのソースパスに反映されます。  
送信先パスのファイルは Lambda 名前空間でのみ表示されます。通常の Linux 名前空間では表示できません。

**デバイスリソース**  
`/dev` の下にあるファイル。`/dev` の下のキャラクターデバイスまたはブロックデバイスだけがデバイスリソースに使用できます。具体的には次のとおりです。  
+ シリアルポート (`/dev/ttyS0` や `/dev/ttyS1` など) を介して接続されたデバイスとの通信に使用されるシリアルポート。
+ USB 周辺機器 (`/dev/ttyUSB0` または `/dev/bus/usb` など) を接続するために使用される USB。
+ GPIO (`/dev/gpiomem` など) を介してセンサーとアクチュエーターに使用される GPIO。
+ オンボード GPU (`/dev/nvidia0` など) を使用して機械学習を加速するために使用される GPU。
+ 画像や動画のキャプチャに使用されるカメラ (`/dev/video0` など)。
`/dev/shm` は例外です。これは、ボリュームリソースとしてのみ設定できます。`/dev/shm` リソースには `rw` アクセス許可が付与されている必要があります。

AWS IoT Greengrass は、機械学習推論の実行に使用されるリソースタイプもサポートしています。詳細については、「[機械学習の推論を実行する](ml-inference.md)」を参照してください。

## 要件
<a name="lra-requirements"></a>

ローカルリソースへのセキュアなアクセスの設定には、以下の要件が適用されます。
+  AWS IoT Greengrass Core Software v1.3 以降を使用している必要があります。ホストの /proc ディレクトリにリソースを作成するには、v1.6 以降を使用する必要があります。
+ ローカルリソース (必要なドライバーとライブラリのすべてを含む) は、Greengrass コアデバイスに正しくインストールされ、使用中も常にアクセス可能であることが必要です。
+ 必要になるリソースの操作とリソースへのアクセスに root 権限は不要です。
+ `read` または `read and write` アクセス許可のみが使用可能です。Lambda 関数は、リソースに対して特別な権限が必要なオペレーションを実行することはできません。
+ Greengrass コアデバイスのオペレーティングシステム上のローカルリソースの完全パスを指定することが必要です。
+ リソース名または ID の最大長は 128 文字で、パターン `[a-zA-Z0-9:_-]+` を使用する必要があります。

### /proc ディレクトリのボリュームリソース
<a name="lra-proc-resources"></a>

ホストの /proc ディレクトリにあるボリュームリソースには、以下の考慮事項が適用されます。
+  AWS IoT Greengrass Core Software v1.6 以降を使用している必要があります。
+ Lambda 関数には読み取り専用アクセスを許可できますが、読み取り/書き込みアクセスは許可できません。このレベルのアクセスは によって管理されます AWS IoT Greengrass。
+ また、ファイルシステムに読み取りアクセスを可能にする OS グループ権限を付与することが必要になる場合があります。例えば、リソースディレクトリあるいはファイルに 660 ファイルアクセス許可があるとします。これは、このグループの所有者あるいはユーザーのみに読み取り (あるいは書き込み) アクセスがあることを意味します。この場合、このリソースに OS グループ所有者の権限を追加する必要があります。詳細については、「[グループ所有者のファイルアクセス権限](#lra-group-owner)」を参照してください。
+ ホスト環境および Lambda 名前空間には、その両方に /proc ディレクトリがあるため、配置先パスを指定するときに名前の競合を回避するように注意します。例えば、/proc がソースパスの場合、/host-proc を配置先パスとして指定できます (または、「*/proc*」を除く任意のパス名)。

## グループ所有者のファイルアクセス権限
<a name="lra-group-owner"></a>

 AWS IoT Greengrass Lambda 関数プロセスは通常、 `ggc_user`および として実行されます`ggc_group`。ただし、次のように、ローカルリソース定義の Lambda 関数プロセスに追加のファイルアクセス許可を与えることができます。
+ リソースを所有する Linux グループのアクセス権限を追加するには、`GroupOwnerSetting#AutoAddGroupOwner` パラメータまたは **[Automatically add file system permissions of the system group that owns the resource]** (リソースを所有するシステムグループのアクセス権限をファイルシステムに自動的に追加) コンソールオプションを使用します。
+ 別の Linux グループのアクセス権限を追加するには、`GroupOwnerSetting#GroupOwner` パラメータまたは **[Specify another system group to add file system permissions]** (ファイルシステムの許可を追加するために、別のシステムグループを指定) コンソールオプションを使用します。`GroupOwnerSetting#AutoAddGroupOwner` が true の場合、`GroupOwner` 値は無視されます。

 AWS IoT Greengrass Lambda 関数プロセスは、`ggc_user`、、`ggc_group`および Linux グループのすべてのファイルシステムアクセス許可を継承します (追加した場合）。Lambda 関数がリソースにアクセスするためには、このリソースに要求されるアクセス許可が Lambda 関数プロセスにあることが必要です。必要に応じて、`chmod(1)` コマンドを使用して、リソースへのアクセス許可を変更できます。

## 関連情報
<a name="lra-seealso"></a>
+ *Amazon Web Services 全般のリファレンス* 内のリソースの [Service Quotas](https://docs.aws.amazon.com/general/latest/gr/greengrass.html#limits_greengrass)