セキュアトンネリング - AWS IoT Greengrass

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

セキュアトンネリング

aws.greengrass.SecureTunneling コンポーネントにより、制限されたファイアウォールの背後にある Greengrass コアデバイスとの、セキュアな双方向通信を確立できます。

例えば、ファイアウォールの背後にあり、すべての着信接続を禁止している、Greengrass を使用しているとします。セキュアトンネリングは、MQTT を使用してデバイスにアクセストークンを転送し、 WebSockets を使用してファイアウォールを介してデバイスへの SSH 接続を行います。この AWS IoT マネージドのトンネルを使用することで、必要な SSH 接続をデバイスに対し開くことができます。 AWS IoT セキュアトンネリングを使用してリモートデバイスに接続する方法の詳細については、「 AWS IoT デベロッパーガイド」のAWS IoT 「セキュアトンネリング」を参照してください。

このコンポーネントは、 $aws/things/greengrass-core-device/tunnels/notifyトピックの AWS IoT Core MQTT メッセージブローカーをサブスクライブして、セキュアトンネリング通知を受信します。

バージョン

このコンポーネントには、次のバージョンがあります。

  • 1.0.x

タイプ

このコンポーネントはジェネリックコンポーネント (aws.greengrass.generic) です。Greengrass nucleus は、コンポーネントのライフサイクルスクリプトを実行します。

詳細については、「コンポーネントタイプ」を参照してください。

オペレーティングシステム

このコンポーネントは、Linux コアデバイスにのみインストールできます。

アーキテクチャ:

  • Armv71

  • Armv8 (AArch64)

  • x86_64

要件

このコンポーネントには次の要件があります。

  • セキュアトンネリングコンポーネントで使用できるディスク容量は、最低 32 MB です。この要件には、同じデバイスで実行されている Greengrass コアソフトウェアやその他のコンポーネントは含まれません。

  • セキュアトンネリングコンポーネントで最低 16 MB の RAM を使用できます。この要件には、同じデバイスで実行されている Greengrass コアソフトウェアやその他のコンポーネントは含まれません。詳細については、「JVM オプションでメモリ割り当てを制御する」を参照してください。

  • セキュアトンネリングコンポーネントバージョン 1.0.12 以降では、Linux カーネルが 3.2 以上の GNU C ライブラリ (glibc) バージョン 2.25 以降が必要です。長期サポート終了日を過ぎたオペレーティングシステムとライブラリのバージョンはサポートされていません。長期サポートのあるオペレーティングシステムとライブラリを使用する必要があります。

  • オペレーティングシステムと Java ランタイムの両方を 64 ビットとしてインストールする必要があります。

  • Greengrass コアデバイスにインストールされ、PATH 環境変数に追加された Python 3.5 以降。

  • libcrypto.so.1.1 は、Greengrass コアデバイスにインストールされ、PATH 環境変数に追加されています。

  • Greengrass コアデバイスのポート 443 で、アウトバウンドトラフィックを開きます。

  • Greengrass コアデバイスとの通信に必要な、通信サービスのサポートをオンにします。例えば、デバイスへの SSH 接続を開くには、そのデバイスで SSH を有効にする必要があります。

エンドポイントおよびポート

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「プロキシまたはファイアウォールを介したデバイストラフィックを許可する」を参照してください。

エンドポイント [ポート] 必要 説明

data.tunneling.iot.region.amazonaws.com

443 はい

セキュアトンネルを確立します。

依存関係

コンポーネントをデプロイすると、 はその依存関係の互換性のあるバージョン AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントのリリースされたバージョンの依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、AWS IoT Greengrass コンソールでも確認できます。コンポーネントの詳細ページで [Dependencies] (依存関係) リストを確認します。

1.0.19

次の表に、このコンポーネントのバージョン 1.0.19 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <3.0.0 ソフト
1.0.18

次の表に、このコンポーネントのバージョン 1.0.18 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.13.0 ソフト
1.0.16 – 1.0.17

次の表に、このコンポーネントのバージョン 1.0.16 から 1.0.17 までの依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.12.0 ソフト
1.0.14 – 1.0.15

次の表に、このコンポーネントのバージョン 1.0.14 から 1.0.15 までの依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.11.0 ソフト
1.0.11 – 1.0.13

次の表に、このコンポーネントのバージョン 1.0.11~1.0.13 の間の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.10.0 ソフト
1.0.10

次の表に、このコンポーネントのバージョン 1.0.10 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.9.0 ソフト
1.0.9

次の表に、このコンポーネントのバージョン 1.0.9 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.8.0 ソフト
1.0.8

次の表に、このコンポーネントのバージョン 1.0.8 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.7.0 ソフト
1.0.5 - 1.0.7

次の表に、このコンポーネントのバージョン 1.0.5 から 1.0.7 までの依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.6.0 ソフト
1.0.4

次の表に、このコンポーネントのバージョン 1.0.4 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.5.0 ソフト
1.0.3

次の表に、このコンポーネントのバージョン 1.0.3 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.4.0 ソフト
1.0.2

次の表に、このコンポーネントのバージョン 1.0.2 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.3.0 ソフト
1.0.1

次の表に、このコンポーネントのバージョン 1.0.1 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.2.0 ソフト
1.0.0

次の表に、このコンポーネントのバージョン 1.0.0 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.3 <2.1.0 ソフト

コンポーネントの依存関係の詳細については、「コンポーネント recipe のリファレンス」を参照してください。

構成

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

OS_DIST_INFO

(オプション) コアデバイスのオペレーティングシステム。デフォルトでコンポーネントは、コアデバイスで実行されているオペレーティングシステムを自動的に識別しようとします。コンポーネントがデフォルト値で開始できない場合は、この値を使用してオペレーティングシステムを指定します。このコンポーネントでサポートされているオペレーティングシステムのリストについては、「デバイスの要件」を参照してください。

これには、次のいずれかの値を指定できます: autoubuntuamzn2raspberrypi

デフォルト: auto

accessControl

(オプション) コンポーネントがセキュアトンネリング通知トピックにサブスクライブできるようにする [authorization policy] (認可ポリシー) を含むオブジェクト。

注記

デプロイがモノグループをターゲットとする場合は、この設定パラメータを変更しないでください。デプロイで、個別のコアデバイスを対象としており、そのサブスクリプションをデバイスのトピックに制限したい場合は、そのコアデバイスのモノの名前 (thing name) を指定します。デバイスの認証ポリシー内にある resources の値で、MQTT のトピックワイルドカードを、対象のデバイスのモノの名前に置き換えます。

{ "aws.greengrass.ipc.mqttproxy": { "aws.iot.SecureTunneling:mqttproxy:1": { "policyDescription": "Access to tunnel notification pubsub topic", "operations": [ "aws.greengrass#SubscribeToIoTCore" ], "resources": [ "$aws/things/+/tunnels/notify" ] } } }
例: 設定マージの更新

次の設定例では、このコンポーネントが Ubuntu を実行する MyGreengrassCore という名前のコアデバイスでセキュアなトンネルを開くことができるように指定しています。

{ "OS_DIST_INFO": "ubuntu", "accessControl": { "aws.greengrass.ipc.mqttproxy": { "aws.iot.SecureTunneling:mqttproxy:1": { "policyDescription": "Access to tunnel notification pubsub topic", "operations": [ "aws.greengrass#SubscribeToIoTCore" ], "resources": [ "$aws/things/MyGreengrassCore/tunnels/notify" ] } } } }

ローカルログファイル

このコンポーネントは次のログファイルを使用します。

/greengrass/v2/logs/aws.greengrass.SecureTunneling.log
このコンポーネントのログを確認するには
  • コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。を AWS IoT Greengrass ルートフォルダへのパス/greengrass/v2に置き換えます。

    sudo tail -f /greengrass/v2/logs/aws.greengrass.SecureTunneling.log

ライセンス

このコンポーネントには、次のサードパーティーソフトウェア/ライセンス品が含まれています。

使用方法

デバイスでセキュアトンネリングコンポーネントを使用するには、次の手順を実行します。

  1. セキュアトンネリングコンポーネントをデバイスにデプロイします。

  2. AWS IoT コンソールを開きます。左側のメニューからリモートアクション を選択し、セキュアトンネル を選択します。

  3. Greengrass デバイスへのトンネルを作成します。

  4. ソースアクセストークンをダウンロードします。

  5. 送信元アクセストークンでローカルプロキシを使用して送信先に接続します。詳細については、「 AWS IoT デベロッパーガイド」の「ローカルプロキシの使用方法」を参照してください。

以下も参照してください。

変更ログ

次の表は、コンポーネントの各バージョンにおける変更を示します。

バージョン

変更

1.0.19

バグ修正と機能向上
  • コンポーネントによって呼び出された基盤となる AWS IoT Device Client をバージョン 1.8.0 からバージョン 1.9.0 にアップグレードします。

  • コンポーネントレベルで同時トンネル制限を 20 トンネルに引き上げます。

  • デフォルトの AWS IoT Greengrass Core IPC タイムアウトを 3 秒から 10 秒に増やします。

警告

セキュアトンネリングローカルプロキシをトンネルソースクライアントとして使用している場合は、ローカルプロキシをバージョン 3.1.1 以降にアップグレードするまで、コンポーネントをこのバージョンに更新しないでください。

1.0.18

Greengrass nucleus バージョン 2.12.0 リリース用にバージョンが更新されました。

1.0.17

バグ修正と機能向上
  • ユーザーによるトンネルの作成を妨げていたスレッドクリーンアップの問題を修正しました。このコンポーネントは、 CloseTunnel シグナルを受信するか、トンネルが 12 時間後に期限切れになった場合に、スレッドをクリーンアップします。

1.0.16

Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。

1.0.15

バグ修正と機能向上
  • デバイスにホームディレクトリがないユーザーのスタートアップの問題を修正しました。セキュアトンネリングコンポーネントは、シャドウドキュメント用のディレクトリを作成せずに起動するようになりました。

1.0.14

Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。

1.0.13

バグ修正と機能向上
  • 複数のトンネルでデバイスをターゲットにすることを、孤立したクライアントプロセスが妨げていた問題を修正しました。

1.0.12

バグ修正と機能向上
  • Raspberry Pi OS 上で実行する場合の x86_64 (AMD64) と ARMv8 (Aarch64) のサポートが追加されました。

1.0.11

Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。

1.0.10

Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。

1.0.9

Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。

1.0.8

Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。

1.0.7

バグ修正と機能向上
  • SCP 経由で大きなファイルを転送すると、コンポーネントが切断される問題を修正しました。

1.0.6

このバージョンには、バグ修正が含まれています。

1.0.5

Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。

1.0.4

Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。

1.0.3

Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。

1.0.2

Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。

1.0.1

Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。

1.0.0

当初のバージョン