

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

# AWS IoT Greengrass Core ソフトウェア (OTA) の更新
<a name="update-greengrass-core-v2"></a>

AWS IoT Greengrass Core ソフトウェアは、ソフトウェアに無線通信 (OTA) を実行するためにデバイスに展開できる [Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)と他のオプションコンポーネントで設定されています。この機能は AWS IoT Greengrass Core ソフトウェアに組み込まれています。

OTA 更新により、以下の作業の効率が向上します。
+ セキュリティの脆弱性を修正する。
+ ソフトウェアの安定性の問題に対処する。
+ 新しい機能や改良された機能をデプロイする。

**Topics**
+ [要件](#ota-update-requirements)
+ [コアデバイスの考慮事項](#ota-update-considerations)
+ [Greengrass nucleus の更新動作](#ota-update-behavior-nucleus)
+ [OTA 更新の実行](#create-ota-update)

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

AWS IoT Greengrass Core ソフトウェアに対する OTA 更新をデプロイするため、次の要件が適用されます:
+ Greengrass コアデバイスはデプロイを受信するため、AWS クラウド への接続が必要です。
+ Greengrass コアデバイスは、AWS IoT Core と AWS IoT Greengrass を使用した認証用の証明書とキーで正しく設定およびプロビジョニングする必要があります。
+ AWS IoT Greengrass Core ソフトウェアは、システムサービスとしてセットアップして実行する必要があります。nucleus を JAR ファイル、`Greengrass.jar` から実行する場合、OTA 更新は機能しません。詳細については、「[Greengrass nucleus をシステムサービスとして設定する](configure-greengrass-core-v2.md#configure-system-service)」を参照してください。

## コアデバイスの考慮事項
<a name="ota-update-considerations"></a>

OTA 更新を実行する前に、更新するコアデバイスと接続されているクライアントデバイスへの影響に注意してください:
+ Greengrass nucleus がシャットダウンします。
+ コアデバイスで実行されているすべてのコンポーネントもシャットダウンされます。これらのコンポーネントがローカルリソースに書き込む場合、それらのリソースを適切にシャットダウンしない限り、正しくない状態で放置する場合があります。コンポーネントは、使用するリソースをクリーンアップするまで、[プロセス間通信](interprocess-communication.md)を使用して、nucleus コンポーネントに更新を延期するように指示します。
+ nucleus コンポーネントがシャットダウン中、コアデバイスは AWS クラウド とローカルデバイスとの接続を失います。コアデバイスは、シャットダウン中にクライアントデバイスからのメッセージをルーティングしません。
+ コンポーネントとして実行される存続期間の長い Lambda 関数は、動的状態の情報を失って保留中の作業はすべて破棄されます。

## Greengrass nucleus の更新動作
<a name="ota-update-behavior-nucleus"></a>

<a name="component-patch-update"></a>コンポーネントをデプロイする際、AWS IoT Greengrass は、そのコンポーネントの従属関係においてサポートされた最新のバージョンをインストールします。このため、新しいデバイスをモノグループに追加したり、これらのデバイスを対象とするデプロイを更新すると、AWS が提供するパブリックコンポーネントの新しいパッチバージョンが自動的にコアデバイスにデプロイされる場合があります。nucleus の更新など、一部の自動更新により、デバイスに予期せぬ再起動が発生することがあります。

[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)のバージョンが変更されるとき、AWS IoT Greengrass Core ソフトウェア (デバイスの nucleus と他のすべてのコンポーネントを含む) が再起動して変更を適用します。nucleus コンポーネントが更新される際の[コアデバイスへの影響](#ota-update-considerations)によって、新しい nucleus パッチバージョンがデバイスにデプロイされるタイミングを制御することをお勧めします。それを実行するには、Greengrass nucleus コンポーネントを直接デプロイに含める必要があります。コンポーネントを直接含めるということは、そのコンポーネントの特定バージョンをデプロイ設定に含め、コンポーネントの従属関係に依存してそのコンポーネントをデバイスにデプロイしないことを意味します。コンポーネントレシピで従属関係を定義する方法の詳細については、「[レシピの形式](component-recipe-reference.md#recipe-format)」を参照してください。

次の表を参照して、アクションとデプロイ設定に基づいて Greengrass nucleus コンポーネントの更新動作について把握します。


| アクション | デプロイ設定 | nucleus の更新動作 | 
| --- | --- | --- | 
| デプロイを改訂せずに、既存のデプロイがターゲットするモノグループに新しいデバイスを追加します。 | デプロイは Greengrass nucleus を直接含めていない。デプロイは、AWS が提供するコンポーネントを少なくとも 1 つ直接含み、あるいは AWS が提供するコンポーネントに依存するカスタムコンポーネント、または Greengrass nucleus のカスタムコンポーネントが含まれます。 | 新しいデバイスには、すべてのコンポーネントに関する依存関係の要件を満たす nucleus の最新パッチバージョンをインストールします。既存のデバイスには、nucleus のインストールされたバージョンを更新しません。 | 
| デプロイを改訂せずに、既存のデプロイがターゲットするモノグループに新しいデバイスを追加します。 |  デプロイは、Greengrass nucleus の特定バージョンが直接含まれています。  | 新しいデバイスには、指定された nucleus バージョンをインストールします。既存のデバイスには、nucleus のインストールされたバージョンを更新しません。 | 
| 新しいデプロイを作成、あるいは既存のデプロイを修正します。 | デプロイは Greengrass nucleus を直接含めていない。デプロイは、AWS が提供するコンポーネントを少なくとも 1 つ直接含み、あるいは AWS が提供するコンポーネントに依存するカスタムコンポーネント、または Greengrass nucleus のカスタムコンポーネントが含まれます。 | すべてのターゲットデバイスには、ターゲットのモノグループに追加する新しいデバイスをすべて含め、すべてのコンポーネントにおける依存関係の要件を満たす nucleus の最新パッチバージョンをインストールします。 | 
| 新しいデプロイを作成、あるいは既存のデプロイを修正します。 | デプロイは、Greengrass nucleus の特定バージョンが直接含まれています。 | すべてのターゲットデバイスには、ターゲットのモノグループに追加する新しいデバイスをすべて含め、指定された nucleus バージョンをインストールします。 | 

## OTA 更新の実行
<a name="create-ota-update"></a>

OTA 更新を実行するには、[nucleus コンポーネント](greengrass-nucleus-component.md)とインストールするバージョンを含む[デプロイを作成](create-deployments.md)します。