

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

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

# AWS IoT Greengrass Core ソフトウェアをインストールする
<a name="install-ggc"></a>

<a name="ggc-software-descripton"></a> AWS IoT Greengrass Core ソフトウェアは AWS 機能を AWS IoT Greengrass コアデバイスに拡張し、ローカルデバイスが生成したデータに対してローカルで動作できるようにします。

AWS IoT Greengrass には、 AWS IoT Greengrass Core ソフトウェアをインストールするためのいくつかのオプションがあります。
+ [tar.gz ファイルをダウンロードして解凍する](#download-and-extract-tarball)。
+ [Greengrass デバイスのセットアップスクリプトを実行する](#run-device-setup-script)。
+ [APT リポジトリからインストールする](#ggc-package-manager)。

AWS IoT Greengrass は、 AWS IoT Greengrass Core ソフトウェアを実行するコンテナ化された環境も提供します。
+ [Docker コンテナ AWS IoT Greengrass で を実行します](#gg-docker-support)。
+ [をスナップ AWS IoT Greengrass で実行](#gg-snap-support)します。

 

## AWS IoT Greengrass Core ソフトウェアパッケージをダウンロードして抽出する
<a name="download-and-extract-tarball"></a>

プラットフォームの AWS IoT Greengrass Core ソフトウェアを選択して tar.gz ファイルとしてダウンロードし、デバイスで抽出します。最新バージョンのソフトウェアをダウンロードできます。詳細については、「[AWS IoT Greengrass コアソフトウェア](what-is-gg.md#gg-core-download-tab)」を参照してください。

 

## Greengrass デバイスのセットアップスクリプトを実行する
<a name="run-device-setup-script"></a>

Greengrass デバイスのセットアップを実行してデバイスを設定し、最新の AWS IoT Greengrass Core ソフトウェアバージョンをインストールし、Hello World Lambda 関数を数分でデプロイします。詳細については、「[クイックスタート: Greengrass デバイスのセットアップ](quick-start.md)」を参照してください。

 

## APT リポジトリから AWS IoT Greengrass Core ソフトウェアをインストールする
<a name="ggc-package-manager"></a>

**重要**  
2022 年 2 月 11 日以降、APT リポジトリから AWS IoT Greengrass Core ソフトウェアをインストールまたは更新できなくなります。 AWS IoT Greengrass リポジトリを追加したデバイスでは、[ソースリストからリポジトリを削除](#ggc-package-manager-remove-sources)する必要があります。APT リポジトリからソフトウェアを実行するデバイスは、引き続き正常に動作します。[tar ファイル](#download-and-extract-tarball)を使用して AWS IoT Greengrass Core ソフトウェアを更新することをお勧めします。

が提供する APT リポジトリ AWS IoT Greengrass には、次のパッケージが含まれています。
+ `aws-iot-greengrass-core`。 AWS IoT Greengrass Core ソフトウェアをインストールします。
+ `aws-iot-greengrass-keyring`。 AWS IoT Greengrass パッケージリポジトリの署名に使用される GnuPG (GPG) キーをインストールします。

  このソフトウェアをダウンロードすると、[Greengrass Core ソフトウェアのライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に同意したと見なされます。

**Topics**
+ [systemd スクリプトを使用した Greengrass デーモンのライフサイクルの管理](#ggc-package-manager-systemd)
+ [APT リポジトリを使用して AWS IoT Greengrass コアソフトウェアをアンインストールする](#ggc-package-manager-uninstall)
+ [AWS IoT Greengrass コアソフトウェアリポジトリソースを削除する](#ggc-package-manager-remove-sources)

### systemd スクリプトを使用した Greengrass デーモンのライフサイクルの管理
<a name="ggc-package-manager-systemd"></a>

この`aws-iot-greengrass-core`パッケージでは、 AWS IoT Greengrass Core ソフトウェア (デーモン) ライフサイクルの管理に使用できる`systemd`スクリプトもインストールされます。
+ 起動時に Greengrass デーモンを開始するには:

  ```
  systemctl enable greengrass.service
  ```
+ Greengrass デーモンを開始するには:

  ```
  systemctl start greengrass.service
  ```
+ Greengrass デーモンを停止するには:

  ```
  systemctl stop greengrass.service
  ```
+ Greengrass デーモンのステータスを確認するには:

  ```
  systemctl status greengrass.service
  ```

### APT リポジトリを使用して AWS IoT Greengrass コアソフトウェアをアンインストールする
<a name="ggc-package-manager-uninstall"></a>

 AWS IoT Greengrass コアソフトウェアをアンインストールするときに、デバイス証明書、グループ情報、ログファイルなど、 AWS IoT Greengrass コアソフトウェアの設定情報を保持するか削除するかを選択できます。

**AWS IoT Greengrass コアソフトウェアをアンインストールし、設定情報を保持するには**
+ 次のコマンドを実行して、 AWS IoT Greengrass コアソフトウェアパッケージを削除し、設定情報を `/greengrass`フォルダに保存します。

  ```
  sudo apt remove aws-iot-greengrass-core aws-iot-greengrass-keyring
  ```

**AWS IoT Greengrass コアソフトウェアをアンインストールし、設定情報を削除するには**

1. 次のコマンドを実行して、 AWS IoT Greengrass コアソフトウェアパッケージを削除し、 から設定情報を削除します`/greengrass folder`。

   ```
   sudo apt purge aws-iot-greengrass-core aws-iot-greengrass-keyring
   ```

1. ソースリストから AWS IoT Greengrass コアソフトウェアリポジトリを削除します。詳細については、「[AWS IoT Greengrass コアソフトウェアリポジトリソースを削除する](#ggc-package-manager-remove-sources)」を参照してください。

### AWS IoT Greengrass コアソフトウェアリポジトリソースを削除する
<a name="ggc-package-manager-remove-sources"></a>

APT リポジトリから AWS IoT Greengrass コアソフトウェアをインストールまたは更新する必要がなくなったら、 AWS IoT Greengrass コアソフトウェアリポジトリソースを削除できます。2022 年 2 月 11 日以降、`apt update` の実行時にエラーが発生しないように、ソースリストからリポジトリを削除する必要があります。

**APT リポジトリをソースリストから削除するには**
+ 次のコマンドを実行して、ソースリストから AWS IoT Greengrass コアソフトウェアリポジトリを削除します。

  ```
  sudo rm /etc/apt/sources.list.d/greengrass.list
  sudo apt update
  ```

## Docker コンテナ AWS IoT Greengrass で を実行する
<a name="gg-docker-support"></a>

AWS IoT Greengrass には、Docker コンテナで AWS IoT Greengrass Core ソフトウェアを簡単に実行できる Dockerfile イメージと Docker イメージが用意されています。詳細については、「[AWS IoT Greengrass Docker ソフトウェア](what-is-gg.md#gg-docker-download)」を参照してください。

**注記**  
Docker アプリケーションは、Greengrass コアデバイスで実行することもできます。そのためには、[Greengrass Docker アプリケーションのデプロイコネクタ](docker-app-connector.md)を使用します。

 

## スナップ AWS IoT Greengrass で を実行する
<a name="gg-snap-support"></a>

<a name="gg-snap-description"></a>AWS IoT Greengrass snap 1.11.x を使用すると、コンテナ化された環境で、必要なすべての依存関係とともに、便利なソフトウェアパッケージ AWS IoT Greengrass を通じて限定バージョンの を実行できます。

<a name="gg-snap-support-ends"></a>2023 年 12 月 31 日、 は [snapcraft.io ](https://snapcraft.io/aws-iot-greengrass)で公開されている AWS IoT Greengrass コアソフトウェアバージョン 1.11.x スナップのメンテナンスを AWS IoT Greengrass 終了します。現在スナップを実行しているデバイスは、追って通知があるまで引き続き動作します。ただし、メンテナンス終了後、 AWS IoT Greengrass コアスナップはセキュリティパッチやバグ修正を受け取らなくなります。

### スナップの概念
<a name="gg-snap-concepts"></a>

 AWS IoT Greengrass スナップの使い方を理解しやすくするために重要なスナップの概念を以下に示します。

**[[チャネル]](https://snapcraft.io/docs/channels)**  
インストールされ、更新のために追跡されるスナップのバージョンを定義するスナップコンポーネント。スナップは、現在のチャネルの最新バージョンに自動的に更新されます。

**[インターフェイス](https://snapcraft.io/docs/interface-management)**  
ネットワークやユーザーファイルなどのリソースへのアクセスを許可するスナップコンポーネント。  
 AWS IoT Greengrass スナップを実行するには、次のインターフェイスを接続する必要があります。最初に `greengrass-support-no-container` を接続し、切断してはならないことに注意してください。  

```
      - greengrass-support-no-container
      - hardware-observe
      - home-for-hooks
      - hugepages-control
      - log-observe
      - mount-observe
      - network
      - network-bind
      - network-control
      - process-control
      - system-observe
```
その他のインターフェイスはオプションです。Lambda 関数が特定のリソースにアクセスする必要がある場合は、適切なインターフェイスに接続する必要があります。

**[更新](https://snapcraft.io/docs/managing-updates)**  
スナップは自動的に更新されます。`snapd` デーモンは、デフォルトで 1 日に 4 回更新をチェックするスナップパッケージマネージャーです。各更新チェックは更新と呼ばれます。更新が発生すると、デーモンが停止し、スナップが更新され、デーモンが再起動されます。

詳細については、[Snapcraft](https://snapcraft.io/) のウェブサイトを参照してください。

### AWS IoT Greengrass snap v1.11.x の新機能
<a name="gg-snap-whats-new"></a>

以下では、 AWS IoT Greengrass スナップのバージョン 1.11.x の新機能と変更点について説明します。
+ このバージョンでは、ユーザー ID (UID) およびグループ (GID) の `584788` として公開された `snap_daemon` ユーザーのみサポートします。
+ このバージョンでは、コンテナ化されていない Lambda 関数のみをサポートしています。
**重要**  
コンテナ化されていない Lambda 関数は同じユーザー (`snap_daemon`) を共有する必要があるため、Lambda 関数は互いに分離されません。詳細については、「[Greengrass Lambda 関数のグループ固有の設定による実行の制御](https://docs.aws.amazon.com/greengrass/v1/developerguide/lambda-group-config.html)」を参照してください。
+ このバージョンでは、C、C\$1\$1、Java 8、Node.js 12.x、Python 2.7、Python 3.7、Python 3.8 のランタイムがサポートされます。
**注記**  
冗長な Python ランタイムを避けるために、Python 3.7 Lambda 関数は実際には Python 3.8 ランタイムを実行します。

### snap の開始 AWS IoT Greengrass 方法
<a name="gg-snap-get-started"></a>

次の手順は、デバイスに AWS IoT Greengrass スナップをインストールして設定するのに役立ちます。

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

 AWS IoT Greengrass スナップを実行するには、以下を実行する必要があります。
+ Ubuntu、Linux Mint、Debian、Fedora など、サポートされている Linux ディストリビューションで AWS IoT Greengrass スナップを実行します。
+ `snapd` デーモンをデバイスにインストールします。`snap` ツールを含む `snapd` デーモンは、デバイス上のスナップ環境を管理します。

サポートされている Linux ディストリビューションのリストとインストール手順については、スナップに関する資料の「[Installing snapd](https://snapcraft.io/docs/installing-snapd)」(snapd をインストールする) を参照してください。

#### AWS IoT Greengrass スナップをインストールして設定する
<a name="gg-snap-install-config"></a>

次のチュートリアルでは、デバイスに AWS IoT Greengrass スナップをインストールして設定する方法を示します。

**注記**  
このチュートリアルでは Amazon EC2 インスタンス (x86 t2.micro Ubuntu 20.04) を使用しますが、Raspberry Pi などの物理ハードウェアを使用して AWS IoT Greengrass スナップを実行できます。
`snapd` デーモンは Ubuntu にプリインストールされています。

1. 使用するデバイスのターミナルで次のコマンドを実行して、`core18` スナップをインストールします。

   ```
   sudo snap install core18
   ```

   `core18` スナップとは、一般的に使用されるライブラリを持つランタイム環境を提供する[ベーススナップ](https://snapcraft.io/docs/base-snaps)です。このスナップは、[Ubuntu 18.04 LTS](http://releases.ubuntu.com/18.04/) から構築されます。

1. 次のコマンドを実行して `snapd` をアップグレードします。

   ```
   sudo snap install --channel=edge snapd; sudo snap refresh --channel=edge snapd
   ```

1. `snap list` コマンドを実行して、 AWS IoT Greengrass スナップがインストールされているかどうかを確認します。

   次のレスポンスの例では、`snapd` はインストールされているが、`aws-iot-greengrass` はインストールされていないことを示しています。

   ```
   Name              Version               Rev    Tracking         Publisher   Notes
   amazon-ssm-agent  3.0.161.0             2996   latest/stable/…  aws✓        classic
   core              16-2.48               10444  latest/stable    canonical✓  core
   core18            20200929              1932   latest/stable    canonical✓  base
   lxd               4.0.4                 18150  4.0/stable/…     canonical✓  -
   snapd             2.48+git548.g929ccfb  10526  latest/edge      canonical✓  snapd
   ```

1. snap 1.11.x AWS IoT Greengrass をインストールするには、次のいずれかのオプションを選択します。
   +  AWS IoT Greengrass スナップをインストールするには、次のコマンドを実行します。

     ```
     sudo snap install aws-iot-greengrass
     ```

     レスポンスの例:

     ```
     aws-iot-greengrass 1.11.5 from Amazon Web Services (aws) installed
     ```
   + 以前のバージョンから v1.11.x に移行するか、使用可能な最新のパッチバージョンにアップデートするには、次のコマンドを実行します。

     ```
     sudo snap refresh --channel=1.11.x aws-iot-greengrass
     ```

   他のスナップと同様に、 AWS IoT Greengrass スナップはチャネルを使用してマイナーバージョンを管理します。スナップは、現在のチャネルの利用可能な最新バージョンに自動的に更新されます。たとえば、 を指定した場合`--channel=1.11.x`、 AWS IoT Greengrass スナップは v1.11.5 に更新されます。

   `snap info aws-iot-greengrass` コマンドを実行して、使用可能なチャネルのリストを取得できます AWS IoT Greengrass。

   レスポンスの例:

   ```
   name:      aws-iot-greengrass
   summary:   AWS supported software that extends cloud capabilities to local devices.
   publisher: Amazon Web Services (aws✓)
   store-url: https://snapcraft.io/aws-iot-greengrass
   contact:   https://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass
   license:   Proprietary
   description: |
     AWS IoT Greengrass seamlessly extends AWS onto edge devices so they can act locally on the data
     they generate, while still using the cloud for management, analytics, and durable storage.
     AWS IoT Greenrgrass snap v1.11.0 enables you to run a limited version of AWS IoT Greengrass with
     all necessary dependencies in a containerized environment.
     The AWS IoT Greengrass snap doesn't support connectors and machine learning (ML) inference.
     By downloading this software you agree to the Greengrass Core Software License Agreement
     (https://s3-us-west-2.amazonaws.com/greengrass-release-license/greengrass-license-v1.pdf).
     For more information, see Run AWS IoT Greengrass in a snap
     (https://docs.aws.amazon.com/greengrass/latest/developerguide/install-ggc.html#gg-snap-support) in
     the AWS IoT Greengrass Developer.
     If you need help, try the AWS IoT Greengrass tag on AWS re:Post
     (https://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass) or connect with an AWS IQ expert
     (https://iq.aws.amazon.com/services/aws/greengrass).
   snap-id: SRDuhPJGj4XPxFNNZQKOTvURAp0wxKnd
   channels:
     latest/stable:    1.11.3 2021-06-15 (59) 111MB -
     latest/candidate: 1.11.3 2021-06-14 (59) 111MB -
     latest/beta:      1.11.3 2021-06-14 (59) 111MB -
     latest/edge:      1.11.3 2021-06-14 (59) 111MB -
     1.11.x/stable:    1.11.3 2021-06-15 (59) 111MB -
     1.11.x/candidate: 1.11.3 2021-06-15 (59) 111MB -
     1.11.x/beta:      1.11.3 2021-06-15 (59) 111MB -
     1.11.x/edge:      1.11.3 2021-06-15 (59) 111MB -
   ```

1. Lambda 関数が必要とする特定のリソースにアクセスするには、追加のインターフェイスに接続できます。

   次のコマンドを実行して、 AWS IoT Greengrass スナップでサポートされているインターフェイスのリストを取得します。

   ```
   snap connections aws-iot-greengrass
   ```

   レスポンスの例:

   ```
   Interface                Plug                                                Slot                 Notes
   camera                   aws-iot-greengrass:camera                           -                    -
   dvb                      aws-iot-greengrass:dvb                              -                    -
   gpio                     aws-iot-greengrass:gpio                             -                    -
   gpio-memory-control      aws-iot-greengrass:gpio-memory-control              -                    -
   greengrass-support       aws-iot-greengrass:greengrass-support-no-container  :greengrass-support  -
   hardware-observe         aws-iot-greengrass:hardware-observe                 :hardware-observe    manual
   hardware-random-control  aws-iot-greengrass:hardware-random-control          -                    -
   home                     aws-iot-greengrass:home-for-greengrassd             -                    -
   home                     aws-iot-greengrass:home-for-hooks                   :home                manual
   hugepages-control        aws-iot-greengrass:hugepages-control                :hugepages-control   manual
   i2c                      aws-iot-greengrass:i2c                              -                    -
   iio                      aws-iot-greengrass:iio                              -                    -
   joystick                 aws-iot-greengrass:joystick                         -                    -
   log-observe              aws-iot-greengrass:log-observe                      :log-observe         manual
   mount-observe            aws-iot-greengrass:mount-observe                    :mount-observe       manual
   network                  aws-iot-greengrass:network                          :network             -
   network-bind             aws-iot-greengrass:network-bind                     :network-bind        -
   network-control          aws-iot-greengrass:network-control                  :network-control     -
   opengl                   aws-iot-greengrass:opengl                           :opengl              -
   optical-drive            aws-iot-greengrass:optical-drive                    :optical-drive       -
   process-control          aws-iot-greengrass:process-control                  :process-control     -
   raw-usb                  aws-iot-greengrass:raw-usb                          -                    -
   removable-media          aws-iot-greengrass:removable-media                  -                    -
   serial-port              aws-iot-greengrass:serial-port                      -                    -
   spi                      aws-iot-greengrass:spi                              -                    -
   system-observe           aws-iot-greengrass:system-observe                   :system-observe      -
   ```

   [Slot] (スロット) 列がハイフン (-) になっている場合、対応するインターフェイスは接続されていません。

1. [AWS IoT Greengrass 「 Core ソフトウェア](module2.md)のインストール」に従って、 AWS IoT モノ、Greengrass グループ、 との安全な通信を可能にするセキュリティリソース AWS IoT、および AWS IoT Greengrass Core ソフトウェア設定ファイルを作成します。設定ファイル には`config.json`、証明書ファイルの場所や AWS IoT デバイスデータエンドポイントなど、Greengrass コアに固有の設定が含まれています。
**注記**  
ファイルを別のデバイスにダウンロードした場合は、[次のステップ](start-greengrass.md#transfer-files-to-device)に従ってファイルを AWS IoT Greengrass コアデバイスに転送します。

1.  AWS IoT Greengrass スナップの場合は、以下に示すように [config.json](gg-core.md#config-json) ファイルを更新してください。
   + *certificateId* の各インスタンスを証明書とキーファイルの名前に含まれる証明書 ID と置き換えます。
   + Amazon ルート CA 1 とは異なる Amazon ルート CA 証明書をダウンロードした場合は、*AmazonRootCA1.pem* の各インスタンスを Amazon ルート CA ファイルの名前と置き換えます。

   ```
   {
     ...
     "crypto" : {
       "principals" : {
         "SecretsManager" : {
           "privateKeyPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/certificateId-private.pem.keyy"
         },
         "IoTCertificate" : {
           "privateKeyPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/certificateId-private.pem.key",
           "certificatePath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/certificateId-certificate.pem.crt"
         }
       },
       "caPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/AmazonRootCA1.pem"
     },
     "writeDirectory": "/var/snap/aws-iot-greengrass/current/ggc-write-directory",
     "pidFileDirectory": "/var/snap/aws-iot-greengrass/current/pidFileDirectory"
   }
   ```

1. 次のコマンドを実行して、 AWS IoT Greengrass 証明書と設定ファイルを追加します。

   ```
   sudo snap set aws-iot-greengrass gg-certs=/home/ubuntu/my-certs
   ```

### Lambda 関数のデプロイ
<a name="gg-snap-lambda"></a>

このセクションでは、カスタマー管理の Lambda 関数を AWS IoT Greengrass スナップにデプロイする方法を示します。

**重要**  
AWS IoT Greengrass snap v1.11 は、コンテナ化されていない Lambda 関数のみをサポートします。

1. 次のコマンドを実行して、 AWS IoT Greengrass デーモンを起動します。

   ```
   sudo snap start aws-iot-greengrass
   ```

   レスポンスの例:

   ```
   Started.
   ```
**注記**  
エラーを受け取る場合は、`snap run` コマンドを使用すると、詳細なエラーメッセージを表示することができます。トラブルシューティングの詳細については、「[error: cannot perform the following tasks: - Run service command "start" for services ["greengrassd"] of snap "aws-iot-greengrass" ([start snap.aws-iot-greengrass.greengrassd.service] failed with exit status 1: Job for snap.aws-iot-greengrass.greengrassd.service failed because the control process exited with error code. See "systemctl status snap.aws-iot-greengrass.greengrassd.service" and "journalctl -xe" for details.)](#gg-snap-troubleshoot-snaprun)」を参照してください。

1. デーモンが実行中であることを確認するには、次のコマンドを実行します。

   ```
   snap services aws-iot-greengrass.greengrassd
   ```

   レスポンスの例:

   ```
   Service                         Startup   Current  Notes
   aws-iot-greengrass.greengrassd  disabled  active   -
   ```

1. 「[モジュール 3 (パート 1): AWS IoT Greengrassでの Lambda 関数](https://docs.aws.amazon.com/greengrass/v1/developerguide/module3-I.html)」に従って、Hello World Lambda 関数を作成し、デプロイします。ただし、Lambda 関数をデプロイする前に、次のステップを完了してください。

1. Lambda 関数が `snap_daemon` ユーザーとして、コンテナなしモードで実行されていることを確認します。Greengrass グループの設定を更新するには、 AWS IoT Greengrass コンソールで次の操作を行います。

   1.  AWS IoT Greengrass コンソールにサインインします。

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

   1. **[Greengrass groups]** (グリーングラスのグループ) で、対象グループを選択します。

   1. ナビゲーションペインのグループ設定ページで、**[Lambda functions]** (Lambda 関数) タブを選択します。

   1. **[Default Lambda function runtime environment]** (デフォルトの Lambda 関数ランタイム環境) から、**[Edit]** (編集) を選択して、次を行います。

      1. **[Default system user and group]** (デフォルトシステムユーザーとグループ) には、**[Another user ID/group ID]** (別のユーザー ID とグループ ID) を選択し、**[System user ID (number)]** (システムユーザー ID (数値)) と **[System group ID (number)]** (システムグループ ID (数値)) の両方に **584788** を入力します。

      1. **[Default Lambda function containerization]** (デフォルト Lambda 関数のコンテナ化) には、**[No container]** (コンテナなし) を選択します。

      1. **[保存]** を選択します。

### AWS IoT Greengrass デーモンの停止
<a name="gg-snap-stop"></a>

`snap stop` コマンドを使用して、サービスを停止することができます。

 AWS IoT Greengrass デーモンを停止するには、次のコマンドを実行します。

```
sudo snap stop aws-iot-greengrass
```

コマンドが `Stopped.` を返します。

スナップが正常に停止したかどうかを確認するには、次のコマンドを実行します。

```
snap services aws-iot-greengrass.greengrassd
```

レスポンスの例:

```
Service                         Startup   Current   Notes
aws-iot-greengrass.greengrassd  disabled  inactive  -
```

### AWS IoT Greengrass スナップのアンインストール
<a name="gg-snap-uninstall"></a>

 AWS IoT Greengrass スナップをアンインストールするには、次のコマンドを実行します。

```
sudo snap remove aws-iot-greengrass
```

レスポンスの例:

```
aws-iot-greengrass removed
```

### AWS IoT Greengrass スナップのトラブルシューティング
<a name="gg-snap-troubleshoot"></a>

次の情報は、 AWS IoT Greengrass スナップに関する問題のトラブルシューティングに役立ちます。

#### 「アクセス許可が拒否されました」というエラーを受け取った。
<a name="gg-snap-troubleshoot-permission-denied"></a>

**解決策**:「アクセス許可が拒否されました」というエラーは、多くの場合、インターフェイスがないために発生します。欠落しているインターフェイスのリストと詳細なトラブルシューティング情報については、`snappy-debug` ツールを使用することができます。

次のコマンドを実行して、ツールをインストールします。

```
sudo snap install snappy-debug
```

レスポンスの例:

```
snappy-debug 0.36-snapd2.45.1 from Canonical✓ installed
```

別のターミナルセッションで `sudo snappy-debug` コマンドを実行します。この操作は、「アクセス許可が拒否されました」というエラーが発生するまで続行します。

例えば、Lambda 関数が `$HOME` ディレクトリ内のファイルを読み取ろうとすると、次のレスポンスが返されます。

```
INFO: Following '/var/log/syslog'. If have dropped messages, use:
INFO: $ sudo journalctl --output=short --follow --all | sudo snappy-debug
kernel.printk_ratelimit = 0
= AppArmor =
Time: Dec  6 04:48:26
Log: apparmor="DENIED" operation="mknod" profile="snap.aws-iot-greengrass.greengrassd" name="/home/ubuntu/my-file.txt" pid=12345 comm="touch" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
File: /home/ubuntu/my-file.txt (write)
Suggestion:
* add 'home' to 'plugs'
```

次の例は、`/home/ubuntu/my-file.txt` ファイルを作成したら、アクセス許可エラーが返されたことを示しています。また、`home` を `plugs` に追加するように提案しています。ただし、この提案は適用されません。`home-for-greengrassd` プラグおよび `home-for-hooks` プラグには読み取り専用アクセスのみが与えられます。

詳細については、スナップに関する資料の「[The snappy-debug snap](https://snapcraft.io/docs/debug-snaps#heading--snappy-debug)」(snappy-debug スナップ) を参照してください。

#### error: cannot perform the following tasks: - Run service command "start" for services ["greengrassd"] of snap "aws-iot-greengrass" ([start snap.aws-iot-greengrass.greengrassd.service] failed with exit status 1: Job for snap.aws-iot-greengrass.greengrassd.service failed because the control process exited with error code. See "systemctl status snap.aws-iot-greengrass.greengrassd.service" and "journalctl -xe" for details.)
<a name="gg-snap-troubleshoot-snaprun"></a>

**解決策**: `snap start aws-iot-greengrass` コマンドが AWS IoT Greengrass Core ソフトウェアの起動に失敗すると、このエラーが表示されることがあります。

トラブルシューティングの詳細を得るには、次のコマンドを実行します。

```
sudo snap run aws-iot-greengrass.greengrassd
```

レスポンスの例:

```
Couldn't find /snap/aws-iot-greengrass/44/greengrass/config/config.json.
```

この例では、 AWS IoT Greengrass が `config.json` ファイルを見つけられませんでした。設定ファイルと証明書ファイルは確認できます。

#### /var/snap/aws-iot-greengrass/current/ggc-write-directory/packages/1.11.5/rootfs/merged is not an absolute path or is a symlink。
<a name="gg-snap-troubleshoot-lambda"></a>

**解決策**: AWS IoT Greengrass スナップは、コンテナ化されていない Lambda 関数のみをサポートします。Lambda 関数がコンテナなしモードで実行されていることを確認します。詳細については、「AWS IoT Greengrass Version 1 デベロッパーガイド」の「[Lambda 関数のコンテナ化を選択する場合の考慮事項](https://docs.aws.amazon.com/greengrass/v1/developerguide/lambda-group-config.html#no-container-mode)」を参照してください。

#### sudo snap refresh snapd コマンドを実行した後、snapd デーモンの再起動に失敗した。
<a name="gg-snap-troubleshoot-snapd"></a>

**解決策**: のステップ 6～8 に従って[AWS IoT Greengrass スナップをインストールして設定する](#gg-snap-install-config)、 AWS IoT Greengrass 証明書と設定ファイルを AWS IoT Greengrass スナップに追加します。

## AWS IoT Greengrass Core ソフトウェアのインストールをアーカイブする
<a name="archive-ggc-version"></a>

 AWS IoT Greengrass Core ソフトウェアの新しいバージョンにアップグレードすると、現在インストールされているバージョンをアーカイブできます。これにより現在のインストール環境が維持されるため、同じハードウェア上で新しいソフトウェアバージョンをテストできます。これにより、何らかの理由であなたのアーカイブバージョンに簡単にロールバックすることもできます。

**現在のインストールをアーカイブして新しいバージョンをインストールするには**

1. アップグレードする [AWS IoT Greengrass Core ソフトウェア](what-is-gg.md#gg-core-download-tab)インストールパッケージをダウンロードします。

1. パッケージを宛先コアデバイスにコピーします。ファイルを転送する方法を示す手順については、こちらの[ステップ](start-greengrass.md#transfer-files-to-device)を参照してください。
**注記**  
現在の証明書、キー、および設定ファイルを後で新しいインストールにコピーします。

   コアデバイス端末で次のステップのコマンドを実行します。

1. コアデバイスで Greengrass デーモンが停止していることを確認します。

   1. デーモンが実行中かどうかを確認するには、以下を実行します。

      ```
      ps aux | grep -E 'greengrass.*daemon'
      ```

      出力に `root` で実行中の `/greengrass/ggc/packages/ggc-version/bin/daemon` のエントリが含まれていれば、デーモンは実行されています。
**注記**  
この手順は、 AWS IoT Greengrass Core ソフトウェアが `/greengrass` ディレクトリにインストールされていることを前提としています。

   1.  デーモンを停止するには

      ```
      cd /greengrass/ggc/core/
      sudo ./greengrassd stop
      ```

1. 現在の Greengrass ルートディレクトリを別のディレクトリに移動します。

   ```
   sudo mv /greengrass /greengrass_backup
   ```

1. コアデバイス上の新しいソフトウェアを解凍します。コマンドの *os アーキテクチャ*プレースホルダーと*バージョン*プレースホルダーを交換します。

   ```
   sudo tar –zxvf greengrass-os-architecture-version.tar.gz –C /
   ```

1. アーカイブされた証明書、キー、および設定ファイルを後で新しいインストールにコピーします。

   ```
   sudo cp /greengrass_backup/certs/* /greengrass/certs
   sudo cp /greengrass_backup/config/* /greengrass/config
   ```

1. デーモンを開始します。

   ```
   cd /greengrass/ggc/core/
   sudo ./greengrassd start
   ```

これで、新しいインストールをテストするためのグループデプロイを作成できます。何らかの失敗が発生した場合は、アーカイブされたインストールを復元することができます。

**アーカイブされたインストールを復元するには**

1. デーモンを停止します。

1. 新しい `/greengrass` ディレクトリを削除します。

1. `/greengrass_backup` ディレクトリを `/greengrass` に戻します。

1. デーモンを開始します。