Greengrass nucleus - AWS IoT Greengrass

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

Greengrass nucleus

Greengrass nucleus コンポーネント (aws.greengrass.Nucleus) は必須コンポーネントであり、 AWS IoT Greengrass デバイス上でコアソフトウェアを実行するための最低要件です。このコンポーネントを設定して、 AWS IoT Greengrass Core ソフトウェアをリモートでカスタマイズおよび更新できます。このコンポーネントをデプロイして、コアデバイスのプロキシ、デバイスロール、 AWS IoT Thing 設定などの設定を行います。

重要

nucleus コンポーネントのバージョンが変更されたり、特定の設定パラメータを変更したりすると、 AWS IoT Greengrass Core ソフトウェア (Nucleus とデバイス上の他のすべてのコンポーネントを含む) が再起動して変更を適用します。

コンポーネントをデプロイすると、 AWS IoT Greengrass そのコンポーネントのすべての依存関係の最新サポートバージョンがインストールされます。このため、新しいデバイスをモノグループに追加したり、それらのデバイスをターゲットとするデプロイメントを更新したりすると、 AWS提供されているパブリックコンポーネントの新しいパッチバージョンがコアデバイスに自動的にデプロイされる可能性があります。nucleus の更新など、一部の自動更新により、デバイスに予期せぬ再起動が発生することがあります。

デバイスで実行されているコンポーネントに不要に更新されることを防ぐには、デプロイを作成する際、そのコンポーネントの優先バージョンを直接含めることをお勧めします。 AWS IoT Greengrass Core ソフトウェアの更新動作の詳細については、を参照してくださいAWS IoT Greengrass Core ソフトウェア (OTA) の更新

バージョン

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

  • 2.12.x

  • 2.11.x

  • 2.10.x

  • 2.9.x

  • 2.8.x

  • 2.7.x

  • 2.6.x

  • 2.5.x

  • 2.4.x

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

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

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。

  • Linux

  • Windows

詳細については、「サポートされているプラットフォーム」を参照してください。

要件

Greengrass nucleus と AWS IoT Greengrass Core ソフトウェアをインストールして実行するには、デバイスが特定の要件を満たしている必要があります。詳細については、「デバイスの要件」を参照してください。

Greengrass nucleus コンポーネントは VPC での実行がサポートされています。このコンポーネントを VPC にデプロイするには、以下が必要です。

  • Greengrass nucleus コンポーネントには AWS IoT data、 AWS IoT 認証情報、および Amazon S3 への接続が必要です。

依存関係

Greengrass nucleus にはコンポーネントの依存関係は含まれません。ただし、いくつかの AWSで提供されるコンポーネントには、依存関係としての nucleus が含まれます。詳細については、「AWS が提供したコンポーネント」を参照してください。

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

ダウンロードとインストール

お使いのデバイスに Greengrass nucleus コンポーネントを設定するインストーラをダウンロードできます。このインストーラは、お使いのデバイスを Greengrass コアデバイスとしてセットアップします。実行できるインストールには、 AWS 必要なリソースを作成するクイックインストールと、リソースを自分で作成する手動インストールの AWS 2 種類があります。詳細については、「AWS IoT Greengrass Core ソフトウェアをインストールします。」を参照してください。

チュートリアルに従って Greengrass nucleus をインストールし、Greengrass コンポーネントの開発を参照することもできます。詳細については、「チュートリアル: AWS IoT Greengrass V2 の開始方法」を参照してください。

構成

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。パラメータによっては、 AWS IoT Greengrass Core ソフトウェアを再起動しないと有効にならない場合があります。このコンポーネントの設定理由と方法の詳細については、「AWS IoT Greengrass コアソフトウェアの設定」を参照してください。

iotRoleAlias

トークン交換の IAM AWS IoT ロールを指すロールエイリアス。 AWS IoT 認証情報プロバイダーがこの役割を引き受け、Greengrass AWS コアデバイスがサービスとやり取りできるようにします。詳細については、「コアデバイスが AWS サービスを操作できるように認証する」を参照してください。

AWS IoT Greengrass Core --provision true ソフトウェアをオプション付きで実行すると、ソフトウェアはロールエイリアスをプロビジョニングし、その値を nucleus コンポーネントに設定します。

interpolateComponentConfiguration

(オプション) コンポーネント設定のコンポーネント recipe 変数、およびマージ設定の更新を補間するように、Greengrass nucleus を有効化することができます。コアデバイスが、recipe 変数を設定内で使用する Greengrass コンポーネントを実行できるように、このオプションを true に設定することをお勧めします。

この機能は、このコンポーネントの v2.6.0 以降で利用可能です。

デフォルト: false

networkProxy

(オプション) すべての接続に使用するネットワークプロキシ。詳細については、「ポート 443 での接続またはネットワークプロキシを通じた接続」を参照してください。

重要

この構成パラメータに変更をデプロイすると、 AWS IoT Greengrass Core ソフトウェアが再起動して変更が有効になります。

このオブジェクトには、次の情報が含まれます。

noProxyAddresses

(オプション) プロキシの対象外となる IP アドレスやホスト名のカンマ区切りリスト。

proxy

接続先のプロキシ。このオブジェクトには、次の情報が含まれます。

url

プロキシサーバーの URL (scheme://userinfo@host:port 形式)。

  • scheme - スキーム。http または https である必要があります。

    重要

    HTTPS プロキシを使用するには、Greengrass コアデバイスで Greengrass nucleus v2.5.0 以降を実行している必要があります。

    HTTPS プロキシを設定する場合は、コアデバイスの Amazon ルート CA 証明書にプロキシサーバー CA 証明書を追加する必要があります。詳細については、「コアデバイスが HTTPS プロキシを信頼できるようにする」を参照してください。

  • userinfo - (オプション) ユーザー名とパスワードの情報。この情報を url で指定する場合、Greengrass コアデバイスは username および password フィールドを無視します。

  • host – プロキシサーバーのホスト名または IP アドレス。

  • port - (オプション) ポート番号。ポートを指定しない場合、Greengrass コアデバイスは次のデフォルト値を使用します。

    • http – 80

    • https – 443

username

(オプション) プロキシサーバーを認証するユーザー名です。

password

(オプション) プロキシサーバーを認証するパスワードです。

mqtt

(オプション) Greengrass コアデバイスの MQTT 設定。詳細については、「ポート 443 での接続またはネットワークプロキシを通じた接続」を参照してください。

重要

この構成パラメータへの変更をデプロイすると、 AWS IoT Greengrass コアソフトウェアが再起動して変更が有効になります。

このオブジェクトには、次の情報が含まれます。

port

(オプション) MQTT 接続に使用するポート。

デフォルト: 8883

keepAliveTimeoutMs

(オプション) MQTT 接続を維持するためにクライアントが送信する各 PING メッセージを送信する間隔 (ミリ秒)。この値は pingTimeoutMs より大きくなければなりません。

デフォルト: 60000 (60 秒)

pingTimeoutMs

(オプション) クライアントがサーバーから PINGACK メッセージを受信するまで待機する時間 (ミリ秒)。待機時間がタイムアウトを超えると、コアデバイスは MQTT 接続を閉じて再度開きます。この値は、keepAliveTimeoutMs より小さくなければなりません。

デフォルト: 30000 (30 秒)

operationTimeoutMs

(オプション) MQTT 操作 (CONNECT や PUBLISH など) が完了するまでクライアントが待機する時間 (ミリ秒)。このオプションは MQTT PING メッセージやキープアライブメッセージには適用されません。

デフォルト: 30000 (30 秒)

maxInFlightPublishes

(オプション) 同時に送信できる未確認の MQTT QoS 1 メッセージの最大数。

この機能は、このコンポーネントの v2.1.0 以降に利用できます。

デフォルト: 5

有効な範囲: 最大値は 100 です。

maxMessageSizeInBytes

(オプション) MQTT メッセージの最大サイズ。メッセージがこのサイズを超えると、Greengrass nucleus でエラーとなりメッセージが拒否されます。

この機能は、このコンポーネントの v2.1.0 以降に利用できます。

デフォルト: 131072 (128 KB)

有効な範囲: 最大値は 2621440 (2.5 MB) です。

maxPublishRetry

(オプション) パブリッシュに失敗したメッセージを再試行する最大回数。-1 の再試行回数の上限はありません。

この機能は、このコンポーネントの v2.1.0 以降に利用できます。

デフォルト: 100

spooler

(オプション) Greengrass コアデバイスの MQTT スプーラ設定。このオブジェクトには、次の情報が含まれます。

storageType

メッセージを保存するためのストレージタイプ。storageType が Disk に設定されている場合、pluginName を設定できます。Memory または Disk のどちらかを指定できます。

この機能は、Greengrass nucleus コンポーネントの v2.11.0 以降で利用できます。

重要

MQTT スプーラの storageType が Disk に設定されていて、Greengrass nucleus をバージョン 2.11.x から以前のバージョンにダウングレードしたい場合は、設定を Memory に戻す必要があります。2.10.x 以前のバージョンの Greengrass nucleus でサポートされている storageType の設定は Memory のみです。このガイダンスに従わないと、スプーラが壊れる可能性があります。スプーラが壊れると、Greengrass コアデバイスが MQTT メッセージを  AWS クラウド に送信できなくなります。

デフォルト: Memory

pluginName

(オプション) プラグインコンポーネント名。このコンポーネントは、storageType が Disk に設定されている場合にのみ使用されます。このオプションのデフォルトは aws.greengrass.DiskSpooler で、Greengrass が提供する ディスクスプーラ を使用します。

この機能は、Greengrass nucleus コンポーネントの v2.11.0 以降で利用できます。

デフォルト: "aws.greengrass.DiskSpooler"

maxSizeInBytes

(オプション) コアデバイスが未処理の MQTT メッセージをメモリに格納するキャッシュの最大サイズ。キャッシュがいっぱいになると、新しいメッセージは拒否されます。

デフォルト: 2621440 (2.5 MB)

keepQos0WhenOffline

(オプション) コアデバイスがオフライン中に受信する MQTT QoS 0 メッセージをスプールできます。このオプションを true に設定した場合、コアデバイスは、オフライン中に送信できない QoS 0 メッセージをスプールします。このオプションを false に設定した場合、コアデバイスはこれらのメッセージを廃棄します。コアデバイスは、スプールがいっぱいでない限り、常に QoS 1 メッセージをスプールします。

デフォルト: false

version

(オプション) MQTT のバージョン。mqtt3 または mqtt5 のどちらかを指定できます。

この機能は、Greengrass nucleus コンポーネントの v2.10.0 以降で利用できます。

デフォルト: mqtt5

receiveMaximum

(オプション) ブローカーが送信できる未承認の QoS1 パケットの最大数。

この機能は、Greengrass nucleus コンポーネントの v2.10.0 以降で利用できます。

デフォルト: 100

sessionExpirySeconds

(オプション) IoT Core からのセッション継続を要求できる時間 (秒) を指定します。デフォルトは、 AWS IoT Coreがサポートする最大時間です。

この機能は、Greengrass nucleus コンポーネントの v2.10.0 以降で利用できます。

デフォルト: 604800 (7 days)

minimumReconnectDelaySeconds

(オプション) 再接続動作のオプション。MQTT が再接続するまでの最小時間 (秒) を指定します。

この機能は、Greengrass nucleus コンポーネントの v2.10.0 以降で利用できます。

デフォルト: 1

maximumReconnectDelaySeconds

(オプション) 再接続動作のオプション。MQTT が再接続するまでの最大時間 (秒) を指定します。

この機能は、Greengrass nucleus コンポーネントの v2.10.0 以降で利用できます。

デフォルト: 120

minimumConnectedTimeBeforeRetryResetSeconds

(オプション) 再接続動作のオプション。リトライ遅延が最小値にリセットされる以前に、接続がアクティブでなければならない時間 (秒) を指定します。

この機能は、Greengrass nucleus コンポーネントの v2.10.0 以降で利用できます。

デフォルト: 30

jvmOptions

(オプション) AWS IoT Greengrass Core ソフトウェアの実行に使用する JVM オプション。 AWS IoT Greengrass Core ソフトウェアの実行に推奨される JVM オプションについては、を参照してください。JVM オプションでメモリ割り当てを制御する

重要

この構成パラメータに変更をデプロイすると、 AWS IoT Greengrass Core ソフトウェアが再起動して変更が有効になります。

iotDataEndpoint

AWS IoT のデータエンドポイント。 AWS アカウント

AWS IoT Greengrass --provision trueコアソフトウェアをオプション付きで実行すると、 AWS IoT ソフトウェアはデータと認証情報をエンドポイントから取得し、Nucleus コンポーネントに設定します。

iotCredEndpoint

AWS IoT の認証情報エンドポイント。 AWS アカウント

AWS IoT Greengrass --provision trueコアソフトウェアをオプション付きで実行すると、 AWS IoT ソフトウェアはデータと認証情報のエンドポイントを取得し、Nucleus コンポーネントに設定します。

greengrassDataPlaneEndpoint

この機能は、このコンポーネントの v2.7.0 以降で利用可能です。

詳細については、「プライベート CA によって署名されたデバイス証明書を使用する」を参照してください。

greengrassDataPlanePort

この機能は、このコンポーネントの v2.0.4 以降で利用できます。

(オプション) データプレーン接続に使用するポート。詳細については、「ポート 443 での接続またはネットワークプロキシを通じた接続」を参照してください。

重要

デバイスがアウトバウンド接続を確立できるポートを指定する必要があります。ブロックされているポートを指定すると、 AWS IoT Greengrass デバイスは接続してデプロイメントを受信できなくなります。

次のオプションから選択します。

  • 443

  • 8443

デフォルト: 8443

awsRegion

AWS リージョン 使用する。

runWithDefault

コンポーネントの実行に使用するシステムユーザー。

重要

この設定パラメータに変更をデプロイすると、 AWS IoT Greengrass コアソフトウェアが再起動して変更が有効になります。

このオブジェクトには、次の情報が含まれます。

posixUser

コアデバイスがジェネリックコンポーネントおよび Lambda コンポーネントを実行するために使用するシステムユーザーの名前または ID (オプション)。ユーザーとグループを user:group の形式に従ってコロン (:) で区切って指定します。グループはオプションです。グループを指定しない場合、 AWS IoT Greengrass Core ソフトウェアはユーザーのプライマリグループを使用します。たとえば、ggc_userggc_user:ggc_group と指定することができます。詳細については、「コンポーネントを実行するユーザーを設定する」を参照してください。

AWS IoT Greengrass Core --component-default-user ggc_user:ggc_group ソフトウェアインストーラをオプション付きで実行すると、このパラメータは nucleus コンポーネントに設定されます。

windowsUser

この機能は、このコンポーネントの v2.5.0 以降で利用できます。

Windows コアデバイスでこのコンポーネントを実行するために使用する Windows ユーザーの名前。ユーザーは各 Windows コアデバイスに存在している必要があり、 LocalSystem その名前とパスワードはアカウントの Credentials Manager インスタンスに保存されている必要があります。詳細については、「コンポーネントを実行するユーザーを設定する」を参照してください。

AWS IoT Greengrass Core --component-default-user ggc_user ソフトウェアインストーラーをオプション付きで実行すると、このパラメーターは nucleus コンポーネントに設定されます。

systemResourceLimits

この機能は、このコンポーネントの v2.4.0 以降に利用できます。 AWS IoT Greengrass は、現在 Windows コアデバイスにこの機能をサポートしていません。

デフォルトで、ジェネリックおよびコンテナ化されていない Lambda コンポーネントプロセスに適用されるシステムリソースの制限。デプロイを作成するときに、個々のコンポーネントのシステムリソース制限を上書きできます。詳細については、「コンポーネントのシステムリソース制限を設定する」を参照してください。

このオブジェクトには、次の情報が含まれます。

cpus

各コンポーネントのプロセスがコアデバイスで使用できる CPU 時間の最大量。コアデバイスの合計 CPU 時間は、デバイスの CPU コア数と同じです。たとえば、4 つの CPU コアを持つコアデバイスでは、この値を 2 に設定することで、各コンポーネントのプロセスを各 CPU コアの 50% の使用率に制限することができます。CPU コアが 1 つのデバイスの場合は、この値を 0.25 に設定することで、各コンポーネントのプロセスを CPU の 25% の使用率に制限することができます。この値を CPU コアの数より大きい数値に設定した場合、 AWS IoT Greengrass Core ソフトウェアはコンポーネントの CPU 使用率を制限しません。

memory

各コンポーネントのプロセスがコアデバイスで使用できる RAM の最大量 (キロバイト単位)。

s3EndpointType

(オプション) S3 エンドポイントタイプ。このパラメータは米国東部 (バージニア北部) (us-east-1) リージョンでのみ有効です。他のリージョンからこのパラメーターを設定しても無視されます。次のオプションから選択します。

  • REGIONAL— S3 クライアントと署名済み URL はリージョンのエンドポイントを使用します。

  • GLOBAL— S3 クライアントと署名済み URL はレガシーエンドポイントを使用します。

デフォルト: GLOBAL

logging

(オプション) コアデバイスのログ設定。Greengrass ログの設定と使用方法の詳細については、「AWS IoT Greengrass ログのモニタリング」を参照してください。

このオブジェクトには、次の情報が含まれます。

level

(オプション) 出力するログメッセージの最小レベル。

こちらにレベル順に一覧表示されているログレベルから選択します。

  • DEBUG

  • INFO

  • WARN

  • ERROR

デフォルト: INFO

format

(オプション) ログのデータ形式。次のオプションから選択します。

  • TEXT - ログをテキスト形式で表示する場合は、このオプションを選択します。

  • JSON - Greengrass CLI のログコマンドでログを表示したり、プログラムでログとやり取りしたりするには、このオプションを選択します。

デフォルト: TEXT

outputType

(オプション) ログの出力タイプ。次のオプションから選択します。

  • FILE— AWS IoT Greengrass Core ソフトウェアは、指定したディレクトリ内のファイルにログを出力します。outputDirectory

  • CONSOLE— AWS IoT Greengrass Core stdout ソフトウェアはログをに出力します。コアデバイスがログを印刷するときにログを表示するには、このオプションを選択します。

デフォルト: FILE

fileSizeKB

(オプション) 各ログファイルの最大サイズ (キロバイト単位)。ログファイルがこの最大ファイルサイズを超えると、 AWS IoT Greengrass Core ソフトウェアは新しいログファイルを作成します。

このパラメータは、FILE または outputType が指定されている場合にのみ適用されます。

デフォルト: 1024

totalLogsSizeKB

(オプション) Greengrass nucleus を含む各コンポーネントのログファイルの最大合計サイズ (キロバイト単位)。Greengrass nucleus のログファイルには、プラグインコンポーネントからのログも含まれます。コンポーネントのログファイルの合計サイズがこの最大サイズを超えると、 AWS IoT Greengrass Core ソフトウェアはそのコンポーネントの最も古いログファイルを削除します。

このパラメータは、ログマネージャーコンポーネントディスク容量の制限パラメータ (diskSpaceLimit) と同等で、Greengrass nucleus (システム) と各コンポーネントに対して指定できます。 AWS IoT Greengrass Core ソフトウェアは、2 つの値のうち最小値を Greengrass nucleus と各コンポーネントの最大合計ログサイズとして使用します。

このパラメータは、FILE または outputType が指定されている場合にのみ適用されます。

デフォルト: 10240

outputDirectory

(オプション) ログファイルの出力ディレクトリ。

このパラメータは、FILE または outputType が指定されている場合にのみ適用されます。

デフォルト:/greengrass/v2/logs/greengrass/v2 AWS IoT Greengrass はルートフォルダー。

fleetstatus

このパラメータは、このコンポーネントの v2.1.0 以降で利用できます。

(オプション) コアデバイスのフリートステータス設定。

このオブジェクトには、次の情報が含まれます。

periodicStatusPublishIntervalSeconds

(オプション) コアデバイスがデバイスステータスを AWS クラウドにパブリッシュする時間 (秒単位)。

最小:86400 (24 時間)

デフォルト: 86400 (24 時間)

telemetry

(オプション) コアデバイスのシステムヘルステレメトリ設定。テレメトリメトリクスとテレメトリデータに対する動作の詳細については、「AWS IoT Greengrass コアデバイスからシステムヘルステレメトリデータを収集する」を参照してください。

このオブジェクトには、次の情報が含まれます。

enabled

(オプション) テレメトリを有効または無効にできます。

デフォルト: true

periodicAggregateMetricsIntervalSeconds

(オプション) コアデバイスがメトリクスを集約する間隔 (秒単位)。

この値をサポートされている最小値よりも低く設定すると、nucleus では代わりにデフォルト値が使用されます。

最小: 3600

デフォルト: 3600

periodicPublishMetricsIntervalSeconds

(オプション) コアデバイスがテレメトリメトリクスを AWS クラウドにパブリッシュする間隔 (秒単位)。

この値をサポートされている最小値よりも低く設定すると、nucleus では代わりにデフォルト値が使用されます。

最小: 86400

デフォルト: 86400

deploymentPollingFrequencySeconds

(オプション) デプロイ通知をポーリングする期間 (秒)。

デフォルト: 15

componentStoreMaxSizeBytes

(オプション) コンポーネントの recipe とアーティファクトを含む、コンポーネントストアのディスク上の最大サイズ。

デフォルト: 10000000000 (10 GB)

platformOverride

(オプション) コアデバイスのプラットフォームを識別する属性のディクショナリ。これを使用して、コンポーネント recipe がコンポーネントの正しいライフサイクルとアーティファクトを識別するために使用できるカスタムプラットフォーム属性を定義します。たとえば、ハードウェア機能属性を定義して、コンポーネントを実行するアーティファクトの最小セットのみをデプロイできます。詳細については、コンポーネント recipe の「マニフェストプラットフォームパラメータ」を参照してください。

また、このパラメータを使用して、コアデバイスの os および architecture プラットフォーム属性を上書きすることができます。

httpClient

このパラメータは、このコンポーネントの v2.5.0 以降で利用できます。

(オプション) コアデバイスの HTTP クライアント設定。これらの設定オプションは、このコンポーネントによって行われたすべての HTTP リクエストに適用されます。コアデバイスが低速のネットワーク上で動作している場合、これらのタイムアウト時間を長くして HTTP 要求がタイムアウトするのを防ぐことができます。

このオブジェクトには、次の情報が含まれます。

connectionTimeoutMs

(オプション) 接続を開いた際に接続要求がタイムアウトするまの待機時間 (ミリ秒)。

デフォルト: 2000 (2 秒)

socketTimeoutMs

(オプション) 開いている接続でデータを転送した際に接続がタイムアウトするまでの待機時間 (ミリ秒)。

デフォルト: 30000 (30 秒)

例: 設定マージの更新
{ "iotRoleAlias": "GreengrassCoreTokenExchangeRoleAlias", "networkProxy": { "noProxyAddresses": "http://192.168.0.1,www.example.com", "proxy": { "url": "http://my-proxy-server:1100", "username": "Mary_Major", "password": "pass@word1357" } }, "mqtt": { "port": 443 }, "greengrassDataPlanePort": 443, "jvmOptions": "-Xmx64m", "runWithDefault": { "posixUser": "ggc_user:ggc_group" } }

ローカルログファイル

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

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

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

変更ログ

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

バージョン

変更

2.12.4

バグ修正と機能向上
  • 一部の Linux デバイスで、起動時に nucleus がデッドロック状態になる問題を修正しました。

2.12.3

警告

このバージョンは現在利用できません。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。

バグ修正と機能向上

  • nucleus の再起動後、およびコンポーネントの回復中に nucleus が正しいコンポーネントステータスを報告しない問題を修正しました。

  • 一般的なバグ修正と機能強化。

2.12.2

バグ修正と機能向上
  • 古いログが適切にクリーンアップされなかった問題を修正しました。

  • 一般的なバグ修正と機能強化。

2.12.1

バグ修正と機能向上
  • nucleus がデプロイメントトピックへの MQTT サブスクリプションを複製して、追加のロギングや MQTT の公開につながる可能性がある問題を修正しました。

2.12.0

新機能
  • ロールバックデプロイメントの一部としてブートストラップライフサイクルのステップを実行できます。

2.11.3

バグ修正と機能向上
  • 依存関係に障害が発生した場合にコンポーネントが不適切に起動する可能性がある nucleus の問題を修正しました。

新機能
  • 設定可能な S3 エンドポイントタイプを追加します。

2.11.2

バグ修正と機能向上
  • 多数 (50 超) のサブスクリプションが使用されている場合にオフラインとして表示される可能性がある nucleus MQTT 5 クライアントの問題を修正します。

  • Docker ダイヤル TCP エラーについての再試行を追加します。

2.11.1

バグ修正と機能向上
  • ブートストラップタスクが失敗し、デプロイメタデータファイルが破損している場合に nucleus が起動しない問題を修正します。

  • オンデマンド Lambda コンポーネントがデプロイステータスの更新で報告されない問題を修正します。

  • 重複する認可ポリシー ID のサポートを追加します。

2.11.0

新機能
  • ローカルのデプロイをキャンセルできます。

  • ローカルのデプロイの障害処理ポリシーを設定できます。

  • ディスクスプーラプラグインのサポートを追加します。

2.10.3

バグ修正と機能向上
  • PKCS #11 プロバイダーを使用しているときに Greengrass がデプロイ通知をサブスクライブしない問題を修正しました。

2.10.2

バグ修正と機能向上
  • コンポーネントのライフサイクルの大文字と小文字を区別しない解析が可能になります。

  • 環境 PATH 変数が正しく再作成されない問題を修正しました。

  • 特殊文字を含むユーザー名のストリームマネージャーを含むコンポーネントのプロキシ URI エンコーディングを修正しました。

2.10.1

バグ修正と機能向上
  • Jetson Nano など、特定の ARMv8 プロセッサで起動時にクラッシュする可能性がある問題を修正しました。

  • Greengrass はコンポーネントの標準入力を閉じないようにしました。これにより、2.10.0 以前の動作に戻ります。

2.10.0

新機能
  • 空の正規表現に interpolateComponentConfiguration サポートを追加します。Greengrass はルート設定オブジェクトから補間するようになりました。

  • MQTT5 のサポートを追加します。

  • プラグインコンポーネントをスキャンせずに素早く読み込むメカニズムを追加します。

  • Greengrass が未使用の Docker イメージを削除することでディスクスペースを節約できるようにします。

バグ修正と機能向上
  • ロールバック時に、特定の設定値がデプロイからそのままになる問題を修正します。

  • Greengrass nucleus AWS AWS がカスタムの非認証情報とデータエンドポイントのドメインシーケンスを検証する問題を修正します。

  • 複数グループの依存関係解決を更新し、アクティブなバージョンにロックするのではなく、 AWS クラウド ネゴシエーションによってすべてのグループ依存関係を再解決するようにしました。この更新により、デプロイエラーコード INSTALLED_COMPONENT_NOT_FOUND も削除されます。

  • Greengrass nucleus を更新し、既にローカルに存在する Docker イメージのダウンロードをスキップするようにしました。

  • Greengrass nucleus を更新し、タイムアウトが切れる前にコンポーネントのインストールステップを再開するようにしました。

  • 追加のマイナー修正と機能向上。

2.9.6

バグ修正と機能向上
  • Greengrass のデプロイがエラー LAUNCH_DIRECTORY_CORRUPTED で失敗し、その後のデバイス再起動で Greengrass の起動に失敗する問題を修正しました。このエラーは、Greengrass の再起動が必要なデプロイで、複数のモノグループ間で Greengrass デバイスを移動した場合に発生する場合があります。

2.9.5

新機能
  • Greengrass nucleus ソフトウェアの署名検証をサポートするようになりました。

バグ修正と機能向上
  • ローカル recipe のメタデータ領域が Greengrass nucleus の起動領域と一致しない場合に、デプロイが失敗する問題を修正しました。Greengrass nucleus は、このような場合にクラウドと再交渉するようになりました。

  • MQTT メッセージスプーラが一杯になり、メッセージが削除されない問題を修正しました。

  • 追加のマイナー修正と機能向上。

2.9.4

バグ修正と機能向上
  • QOS 0 メッセージを破棄する前に null メッセージの有無がチェックされます。

  • ジョブステータスの詳細値は、1024 文字の制限を超えると、切り捨てられます。

  • Windows のブートストラップスクリプトを更新して、パスにスペースが含まれている場合に Greengrass ルートパスを正しく読み取れるようにします。

  • AWS IoT Core サブスクリプション応答が送信されなかった場合にクライアントメッセージをドロップするようにサブスクライブを更新します。

  • メイン設定ファイルが破損しているかまたは見つからない場合に nucleus によってバックアップファイルから設定が確実に読み込まれます。

2.9.3

バグ修正と機能向上
  • MQTT クライアント ID が重複しないようにします。

  • ファイルの読み取りと書き込みがより堅牢になり、破損の回避と回復を図っています。

  • ネットワークに関連する特定のエラーの発生時に、Docker イメージのプルを再試行するようになりました。

  • MQTT 接続の noProxyAddresses オプションを追加します。

2.9.2

バグ修正と機能向上
  • 進行中のデプロイに interpolateComponentConfiguration の設定が適用されない問題を修正しました。

  • OSHI を使用して、すべての子プロセスを一覧表示します。

2.9.1

バグ修正と機能向上
  • デプロイがプラグインコンポーネントを削除する場合に Greengrass が再起動する問題の修正を追加しました。

2.9.0

新機能
  • サブデプロイを作成して、デバイスのより小さなサブセットでデプロイを再試行する機能を追加しました。この機能により、失敗したデプロイをより効率的にテストして解決できます。

バグ修正と機能向上
  • useraddgroupadd、および usermod を持たないシステムのサポートを改善しました。

  • 追加のマイナー修正と機能向上。

2.8.1

バグ修正と機能向上
  • Greengrass API エラーからデプロイエラーコードが正しく生成されなかった問題を修正します。

  • デプロイ中にコンポーネントが ERRORED 状態に達したときに、フリートステータスの更新によって不正確な情報が送信される問題を修正します。

  • Greengrass の既存のサブスクリプションが 50 を超える場合にデプロイを完了できなかった問題を修正します。

2.8.0

新機能
  • コアデバイスへのコンポーネントのデプロイで問題が発生した場合に、デプロイのヘルスステータスのレスポンス (詳細なエラーコードを含む) を報告するように、Greengrass nucleus を更新します。詳細については、「詳細なデプロイエラーコード」を参照してください。

  • コンポーネントが BROKEN または ERRORED の状態になったときに、コンポーネントのヘルスステータスレスポンス (詳細なエラーコードを含む) を報告するように、Greengrass nucleus を更新します。詳細については、「詳細なコンポーネントのステータスコード」を参照してください。

  • ステータスメッセージフィールドを展開して、デバイスのクラウド可用性情報を改善します。

  • フリートステータスサービスの堅牢性を向上させます。

バグ修正と機能向上
  • 設定が変更されたときに、壊れたコンポーネントを再インストールできるようにします。

  • ブートストラップデプロイ中に nucleus が再起動するとデプロイが失敗する問題を修正します。

  • ルートパスにスペースが含まれているとインストールが失敗する Windows の問題を修正します。

  • デプロイ中にシャットダウンされたコンポーネントが新しいバージョンのシャットダウンスクリプトを使用する問題を修正します。

  • シャットダウンのさまざまな改善。

  • 追加のマイナー修正と機能向上。

2.7.0

新機能
  • コアデバイスがローカルデプロイを適用したときに、Greengrass nucleus AWS IoT Greengrass を更新してステータス更新をクラウドに送信します。

  • CA が登録されていないカスタム認証局 (CA) によって署名されたクライアント証明書のサポートを追加します。 AWS IoTこの機能を使用するには、新しい greengrassDataPlaneEndpoint 設定オプションに iotdata を設定します。詳細については、「プライベート CA によって署名されたデバイス証明書を使用する」を参照してください。

バグ修正と機能向上
  • Nucleus が停止または再起動された場合の特定のシナリオで、Greengrass nucleus がデプロイをロールバックする問題を修正しました。今後 Nucleus は、再起動した後にも同じデプロイで動作します。

  • ソフトウェアをシステムサービスとしてセットアップする際、--start 引数が反映されるように Greengrass インストーラを更新しました。

  • nucleus がコンポーネントを更新したイベントのデプロイ ID を設定するように、SubscribeToComponentUpdates の動作を更新しました。

  • 追加のマイナー修正と機能向上。

2.6.0

新機能
  • ローカルで公開/サブスクライブされるトピックをサブスクライブする際に、MQTT ワイルドカードが使用できるようになりました。詳細については、「ローカルメッセージをパブリッシュ/サブスクライブする」および「SubscribeToTopic」を参照してください。

  • コンポーネント構成で、component_dependency_name:configuration:json_pointer recipe 変数以外の recipe 変数がサポートされました。これらの recipe 変数は、recipe でコンポーネントの DefaultConfiguration を定義している場合、またはデプロイでコンポーネントを構成している場合に使用できます。この機能を有効にするには、interpolateComponentConfiguration設定オプションをに設定しますtrue。詳細については、「レシピ変数」および「マージ更新で recipe 変数を使用する」を参照してください。

  • プロセス間通信 (IPC) 承認ポリシーでの、* ワイルドカードの完全なサポートを追加しました。これにより、リソース文字列内の * 文字を、文字の任意の組み合わせと一致させる指定が可能になりました。詳細については、「承認ポリシー内のワイルドカード」を参照してください。

  • Greengrass CLI が使用する IPC オペレーションを呼び出すために、カスタムコンポーネントが使用できるようになりました。これらの IPC オペレーションにより、ローカルでのデプロイ管理、コンポーネントの詳細の表示、およびローカルのデバッグコンソールへのサインイン用のパスワード生成を行うことができます。詳細については、「IPC: Manage local deployments and components」(IPC: ローカルのデプロイとコンポーネントを管理する) を参照してください。

バグ修正と機能向上
  • 特定のシナリオで、ハード依存関係が再起動もしくはステータスを変更をした際に、依存関係のあるコンポーネントが反応しない問題を修正しました。

  • AWS IoT Greengrass デプロイが失敗したときにコアデバイスがクラウドサービスに報告するエラーメッセージを改善します。

  • 特定のシナリオでの Greengrass nucleus の再起動時、nucleus がモノのデプロイを 2 回適用していた問題を修正しました。

  • 追加のマイナー修正と機能向上。詳細については、に記載されているリリースを参照してください GitHub。

2.5.6

新機能
  • ECC キーを使用するハードウェアセキュリティモジュールのサポートが追加されました。ハードウェアセキュリティモジュール (HSM) を使用して、デバイスのプライベートキーと証明書を安全に保存できます。詳細については、「ハードウェアセキュリティ統合」を参照してください。

バグ修正と機能向上
  • 特定のシナリオで壊れたインストールスクリプトを使用してコンポーネントをデプロイすると、デプロイが完了しない問題を修正しました。

  • 起動時のパフォーマンスが向上しました。

  • 追加のマイナー修正と機能向上。

2.5.5

新機能
  • コンポーネントの GG_ROOT_CA_PATH 環境変数が追加され、カスタムコンポーネントのルート認証局 (CA) 証明書にアクセスできるようになりました。

バグ修正と機能向上
  • 英語以外の表示言語を使用する Windows デバイスのサポートが追加されました。

  • Greengrass nucleus がインストーラ引数のブール値を解析する方法が更新され、true 値を指定するブール値なしでブール引数を指定できるようになりました。たとえば、--provision true の代わりに --provision をクリックして、自動リソースプロビジョニングを使用してインストールできるようになりました。

  • 特定のシナリオでプロビジョニングした後に、コアデバイスがステータスを AWS IoT Greengrass クラウドサービスに報告しない問題を修正しました。

  • 追加のマイナー修正と機能向上。

2.5.4

バグ修正と機能向上
  • 一般的なバグ修正と機能強化。

2.5.3

新機能
  • ハードウェアセキュリティ統合のサポートが追加されました。ハードウェアセキュリティモジュール (HSM) を使用して、デバイスのプライベートキーと証明書を安全に保存できます。詳細については、「ハードウェアセキュリティ統合」を参照してください。

バグ修正と機能向上
  • nucleus が AWS IoT Coreと MQTT 接続を確立している際のランタイム例外に関する問題を修正しました。

2.5.2

バグ修正と機能向上
  • Greengrass nucleus の更新後、デバイスを停止または再起動した後、Windows サービスが再び起動しない問題を修正しました。

2.5.1

警告

このバージョンは現在利用できません。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。

バグ修正と機能向上
  • Windows の 32 ビットバージョンの Java Runtime Environment (JRE) のサポートが追加されました。

  • AWS IoT ポリシーで、greengrass:ListThingGroupsForCoreDevice 権限が付与されないコアデバイスのモノグループの削除動作が変更されました。このバージョンでは、デプロイは続行され、警告が記録され、モノグループからコアデバイスを削除してもコンポーネントは削除されません。詳細については、「デバイスに AWS IoT Greengrass コンポーネントのデプロイ」を参照してください。

  • Greengrass nucleus が Greengrass コンポーネントプロセスで利用できるようにするシステム環境変数の問題を修正しました。これで、コンポーネントを再起動して、最新のシステム環境変数を使用できます。

2.5.0

新機能
  • Windows を実行するコアデバイスのサポートが追加されました。

  • モノグループを削除する動作が変更されました。このバージョンでは、モノグループからコアデバイスを削除して、次のデプロイでそのモノグループのコンポーネントをアンインストールできるようになりました。

    この変更により、 AWS IoT コアデバイスのポリシーには権限が必要になりました。greengrass:ListThingGroupsForCoreDeviceAWS IoT Greengrass Core ソフトウェアインストーラを使用してリソースをプロビジョニングした場合、 AWS IoT この権限を含むデフォルトポリシーでは許可されます。greengrass:*詳細については、「AWS IoT Greengrass のデバイス認証と認可」を参照してください。

  • HTTPS プロキシ設定のサポートが追加されました。詳細については、「ポート 443 での接続またはネットワークプロキシを通じた接続」を参照してください。

  • 新しい windowsUser 設定パラメータが追加されました。このパラメータを使用して、Windows コアデバイスでコンポーネントを実行するために使用するデフォルトユーザーを指定できます。詳細については、「コンポーネントを実行するユーザーを設定する」を参照してください。

  • HTTP リクエストのタイムアウトをカスタマイズして、低速ネットワークでのパフォーマンスを向上させるために使用できる新しい httpClient 設定オプションが追加されました。詳細については、httpClient 設定パラメータを参照してください。

バグ修正と機能向上
  • コンポーネントからコアデバイスを再起動するためのブートストラップライフサイクルオプションが修正されました。

  • recipe 変数でハイフンがサポートされるようになりました。

  • オンデマンド Lambda 関数コンポーネントの IPC 認証が修正されました。

  • ログメッセージを改善し、クリティカルでないログを INFO から DEBUG レベルに変更したことで、ログの利便性が高まりました。

  • 自動プロビジョニングで AWS IoT Greengrass Core ソフトウェアをインストールするときに Greengrass nucleus iot:DescribeCertificate が作成するデフォルトのトークン交換ロールから権限を削除します。この権限は Greengrass nucleus では使用されません。

  • iam:CreatePolicy が、同じポリシーで利用できる場合、自動プロビジョニングスクリプトで iam:GetPolicy 権限が必要ないように問題を修正しました。

  • 追加のマイナー修正と機能向上。

2.4.0

新機能
バグ修正と機能向上
  • 起動時にログ設定を更新します。これにより、起動時にログ設定が適用されなかった問題が修正されます。

  • インストール中に、Greengrass ルートフォルダ内のコンポーネントストアを指すように nucleus ローダーのシンボリックリンクを更新します。この更新により、 AWS IoT Greengrass Core ソフトウェアのインストール時にダウンロードした JAR ファイルやその他の nucleus アーティファクトを削除できるようになりました。

  • 追加のマイナー修正と機能向上。詳細については、のリリースを参照してください。 GitHub

2.3.0

新機能
  • iot:thingName の recipe 変数が追加されました。このレシピ変数を使用して、レシピに含まれるコアデバイスの名前を取得できます。 AWS IoT 詳細については、「レシピ変数」を参照してください。

バグ修正と機能向上

2.2.0

新機能
  • ローカルシャドウ管理用の IPC 操作が追加されました。

バグ修正と機能向上
  • JAR ファイルのサイズを小さくします。

  • メモリ使用量を削減します。

  • 特定のケースでログ設定が更新されなかった問題を修正しました。

  • 追加のマイナー修正と機能向上。詳細については、のリリースを参照してください GitHub。

2.1.0

新機能
  • Amazon ECR のプライベートリポジトリからの Docker イメージのダウンロードがサポートされます。

  • 次のパラメータを追加して、コアデバイスの MQTT 設定をカスタマイズします。

    • maxInFlightPublishes - 同時に送信できる未確認 MQTT QoS 1 メッセージの最大数。

    • maxPublishRetry - パブリッシュに失敗したメッセージを再試行する最大回数。

  • fleetstatusservice 設定パラメータを追加して、コアデバイスがデバイスステータスを AWS クラウドに公開する間隔を設定します。

  • 追加のマイナー修正と機能向上。詳細については、のリリースを参照してください GitHub。

バグ修正と機能向上
  • nucleus が再起動したときにシャドウデプロイが複製される問題を修正しました。

  • サービスロード例外が発生したときに nucleus がクラッシュする問題を修正しました。

  • 循環依存関係を含むデプロイが失敗するように、コンポーネントの依存関係の解決が改善されました。

  • そのコンポーネントがコアデバイスから削除された場合に、プラグインコンポーネントが再デプロイされない問題を修正しました。

  • Lambda コンポーネントや root で実行するコンポーネントの /greengrass/v2/work ディレクトリに HOME 環境変数が設定される問題を修正しました。コンポーネントを実行するユーザーのホームディレクトリに HOME 変数が正しく設定されるようになりました。

  • 追加のマイナー修正と機能向上。詳細については、のリリースを参照してください GitHub。

2.0.5

バグ修正と機能向上
  • AWS付属のコンポーネントをダウンロードするときに、設定済みのネットワークプロキシを介してトラフィックを正しくルーティングします。

  • AWS 中国リージョンで正しい Greengrass データプレーンのエンドポイントが使用されます。

2.0.4

新機能
  • ポート 443 経由の HTTPS トラフィックが有効になりました。nucleus コンポーネントのバージョン 2.0.4 新しい greengrassDataPlanePort 設定パラメータで、デフォルトのポート 8443 ではなくポート 443 を経由するように HTTPS 通信を設定できるようになりました。詳細については、「ポート 443 経由で HTTPS を設定する」を参照してください。

  • 作業パスの recipe 変数が追加されました。この recipe 変数を使用して、コンポーネントの作業フォルダへのパスを取得できます。このパスを使用して、コンポーネントとその依存関係間でファイルを共有できます。詳細については、「作業パスの recipe 変数」を参照してください。

バグ修正と機能向上
  • ロールポリシーがすでに存在する場合、トークンエクスチェンジ AWS Identity and Access Management (IAM) ロールポリシーが作成されないようにします。

    この変更の結果、--provision true で実行する際にインストーラで iam:GetPolicysts:GetCallerIdentity が必要になります。詳細については、「インストーラがリソースをプロビジョニングするための最小限の IAM ポリシー」を参照してください。

  • まだ正常に登録されていないデプロイのキャンセルが正しく処理されるようおになりました。

  • デプロイをロールバックするときに、新しいタイムスタンプのある古いエントリが削除されるように設定を更新しました。

  • 追加のマイナー修正と機能向上。詳細については、 GitHubのリリースを参照してください

2.0.3

当初のバージョン