

支援終止通知：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)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 單元 2：安裝 AWS IoT Greengrass 核心軟體
<a name="module2"></a>

本單元說明如何在您選擇的裝置上安裝 AWS IoT Greengrass 核心軟體。在本單元中，您先建立 Greengrass 群組和核心。然後，在您的核心裝置上下載、設定和啟動軟體。如需有關 AWS IoT Greengrass 核心軟體功能的詳細資訊，請參閱 [設定 AWS IoT Greengrass 核心](gg-core.md)。

開始之前，請確定已為所選的裝置完成[單元 1](module1.md) 中的設定步驟。

**提示**  
<a name="ggc-install-options"></a>AWS IoT Greengrass 也提供安裝 AWS IoT Greengrass 核心軟體的其他選項。例如，您可以使用 [Greengrass 裝置設定](quick-start.md)來設定您的環境，並安裝最新版本的 AWS IoT Greengrass Core 軟體。或者，在支援的 Debian 平台上，您可以使用 [APT 套件管理員](install-ggc.md#ggc-package-manager)來安裝或升級 AWS IoT Greengrass 核心軟體。如需詳細資訊，請參閱[安裝 AWS IoT Greengrass 核心軟體](install-ggc.md)。

本單元應可在 30 分鐘內完成。

**Topics**
+ [佈建要用作 Greengrass 核心的 AWS IoT 物件](provision-core.md)
+ [建立核心的 AWS IoT Greengrass 群組](create-group.md)
+ [AWS IoT Greengrass 在核心裝置上安裝和執行](start-greengrass.md)

# 佈建要用作 Greengrass 核心的 AWS IoT 物件
<a name="provision-core"></a>

Greengrass *核心*是執行 AWS IoT Greengrass Core 軟體以管理本機 IoT 程序的裝置。若要設定 Greengrass 核心，您可以建立 AWS IoT *實物*，代表連線的裝置或邏輯實體 AWS IoT。當您將裝置註冊為 AWS IoT 物件時，該裝置可以使用允許其存取的數位憑證和金鑰 AWS IoT。您可以使用 [AWS IoT 政策](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policies.html)來允許裝置與 AWS IoT 和 AWS IoT Greengrass 服務通訊。

在本節中，您將裝置註冊為 AWS IoT 物件，以將其用作 Greengrass 核心。

**建立 AWS IoT 物件**

1. 導覽至 [AWS IoT 主控台](https://console.aws.amazon.com/iot)。

1. 在**管理**下，展開**所有裝置**，然後選擇**物件**。

1. 在 **Things** (物件) 頁面上，選擇 **Create things** (建立物件)。

1. <a name="gg-group-create-single-thing"></a>在**建立物件**頁面上，選擇**建立單一物件**，然後選擇**下一步**。

1. 在**指定物件屬性**頁面上，執行下列動作：

   1. 針對**物件名稱**，輸入代表您的裝置的名稱，例如 **MyGreengrassV1Core**。

   1. 選擇**下一步**。

1. <a name="gg-group-create-device-configure-certificate"></a>在**設定裝置憑證**頁面上，選擇**下一步**。

1. 在**將政策連接至憑證**頁面上，執行下列其中一項操作：
   + 選取授予核心所需許可的現有政策，然後選擇**建立物件**。

     此時會開啟模式，您可以在其中下載裝置用來連線至 的憑證和金鑰 AWS 雲端。
   + 建立連接授予核心裝置許可的新政策。請執行下列操作：

     1. 選擇**建立政策**。

        **Create policy (建立政策)** 頁面隨即在新標籤中開啟。

     1. 在 **Create policy (建立政策)** 頁面上，執行下列動作：

        1. 針對**政策名稱**，輸入描述政策的名稱，例如 **GreengrassV1CorePolicy**。

        1. 在**政策陳述**式索引標籤**的政策文件**下，選擇 **JSON**。

        1. 輸入下列政策文件。此政策允許核心與 AWS IoT Core 服務通訊、與裝置陰影互動，以及與 AWS IoT Greengrass 服務通訊。如需如何根據您的使用案例限制此政策存取的資訊，請參閱 [AWS IoT Greengrass 核心裝置的最低 AWS IoT 政策](device-auth.md#gg-config-sec-min-iot-policy)。

------
#### [ JSON ]

****  

           ```
           {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
               {
                 "Effect": "Allow",
                 "Action": [
                   "iot:Publish",
                   "iot:Subscribe",
                   "iot:Connect",
                   "iot:Receive"
                 ],
                 "Resource": [
                   "*"
                 ]
               },
               {
                 "Effect": "Allow",
                 "Action": [
                   "iot:GetThingShadow",
                   "iot:UpdateThingShadow",
                   "iot:DeleteThingShadow"
                 ],
                 "Resource": [
                   "*"
                 ]
               },
               {
                 "Effect": "Allow",
                 "Action": [
                   "greengrass:*"
                 ],
                 "Resource": [
                   "*"
                 ]
               }
             ]
           }
           ```

------

        1. 選擇 **Create (建立)** 以建立政策。

     1. 返回瀏覽器索引標籤，開啟**附加政策至憑證**頁面。請執行下列操作：

        1. 在**政策**清單中，選取您建立的政策，例如 **GreengrassV1CorePolicy**。

           如果您沒有看到政策，請選擇重新整理按鈕。

        1. 選擇 **Create thing** (建立物件)。

           模態開啟，您可以在其中下載核心用來連線的憑證和金鑰 AWS IoT。

1. 返回瀏覽器索引標籤，開啟**附加政策至憑證**頁面。請執行下列操作：

   1. 在**政策**清單中，選取您建立的政策，例如 **GreengrassV1CorePolicy**。

      如果您沒有看到政策，請選擇重新整理按鈕。

   1. 選擇 **Create thing** (建立物件)。

      模態開啟，您可以在其中下載核心用來連線的憑證和金鑰 AWS IoT。

1. <a name="gg-group-create-device-download-certs"></a>在**下載憑證和金鑰**模態中，下載裝置的憑證。
**重要**  
選擇**完成**之前，請下載安全資源。

   請執行下列操作：

   1. 針對**裝置憑證**，選擇**下載**以下載裝置憑證。

   1. 針對**公有金鑰檔案**，選擇**下載**以下載憑證的公有金鑰。

   1. 針對**私有金鑰檔案**，選擇**下載**以下載憑證的私有金鑰檔案。

   1. 檢閱《 *AWS IoT 開發人員指南*》中的[伺服器身分驗證](https://docs.aws.amazon.com/iot/latest/developerguide/server-authentication.html)，然後選擇適當的根 CA 憑證。我們建議您使用 Amazon Trust Services (ATS) 端點和 ATS 根 CA 憑證。在**根 CA 憑證**下，選擇根 CA 憑證的**下載**。

   1. 選擇**完成**。

   請記下裝置憑證和金鑰檔案名稱中常見的憑證 ID。供稍後使用。

# 建立核心的 AWS IoT Greengrass 群組
<a name="create-group"></a>

AWS IoT Greengrass *群組*包含與其元件相關的設定和其他資訊，例如用戶端裝置、Lambda 函數和連接器。群組定義核心的組態，包括其元件如何互相互動。

在本節中，您會為核心建立 群組。

**提示**  
如需使用 AWS IoT Greengrass API 建立和部署群組的範例，請參閱 GitHub 上的 [gg\$1group\$1setup](https://github.com/awslabs/aws-greengrass-group-setup) 儲存庫。

**建立核心的群組**

1. 導覽至 [AWS IoT 主控台](https://console.aws.amazon.com/iot)。

1. 在**管理**下，展開 **Greengrass 裝置**，然後選擇**群組 (V1)**。
**注意**  
如果您沒有看到 **Greengrass 裝置**選單，請變更為 AWS 區域 支援的 AWS IoT Greengrass V1。如需支援區域的清單，請參閱《*AWS 一般參考*》中的 [AWS IoT Greengrass V1 端點和配額](https://docs.aws.amazon.com/general/latest/gr/greengrass.html)。您必須在 AWS IoT Greengrass V1 可使用 的區域中[為核心建立 AWS IoT 物件](provision-core.md)。

1. 在 **Greengrass 群組**頁面上，選擇**建立群組**。

1. 在**建立 Greengrass 群組**頁面上，執行下列動作：

   1. 針對 **Greengrass 群組名稱**，輸入描述群組的名稱，例如 **MyGreengrassGroup**。

   1. 針對 **Greengrass 核心**，選擇您先前建立的 AWS IoT 物件，例如 **MyGreengrassV1Core**。

      主控台會自動為您選取物件的裝置憑證。

   1. 選擇**建立群組**。

# AWS IoT Greengrass 在核心裝置上安裝和執行
<a name="start-greengrass"></a>

**注意**  
本教學課程提供在 Raspberry Pi 上執行 AWS IoT Greengrass 核心軟體的指示，但您可以使用任何支援的裝置。

在本節中，您會在核心裝置上設定、安裝和執行 AWS IoT Greengrass 核心軟體。

**安裝和執行 AWS IoT Greengrass**

1. 從本指南的核心[AWS IoT Greengrass 軟體](what-is-gg.md#gg-core-download-tab)區段中，下載 AWS IoT Greengrass 核心軟體安裝套件。選擇最適合您核心裝置 CPU 架構、發行版和作業系統的套件。
   + 對於 Raspberry Pi，請下載 Armv7l 架構和 Linux 作業系統的 套件。
   + 對於 Amazon EC2 執行個體，請下載 x86\$164 架構和 Linux 作業系統的 套件。
   + 對於 NVIDIA Jetson TX2，請下載 Armv8 (AArch64) 架構和 Linux 作業系統的套件。
   + 對於 Intel Atom，請下載 x86\$164 架構和 Linux 作業系統的 套件。

1. 在先前的步驟中，您下載了五個檔案到您的電腦：
   + `greengrass-OS-architecture-1.11.6.tar.gz` – 此壓縮檔案包含 AWS IoT Greengrass 核心裝置上執行的 核心軟體。
   + `certificateId-certificate.pem.crt` – 裝置憑證檔案。
   + `certificateId-public.pem.key` – 裝置憑證的公有金鑰檔案。
   + `certificateId-private.pem.key` – 裝置憑證的私有金鑰檔案。
   + `AmazonRootCA1.pem` – Amazon 根憑證授權機構 (CA) 檔案。

   在此步驟中，您會將這些檔案從電腦傳輸到核心裝置。請執行下列操作：

   1. 如果您不知道 Greengrass 核心裝置的 IP 地址，請在核心裝置上開啟終端機並執行下列命令。
**注意**  
對於某些裝置，此命令可能不會傳回正確的 IP 地址。請參閱您的裝置文件，以擷取裝置 IP 地址。

      ```
      hostname -I
      ```

   1. <a name="transfer-files-to-device"></a>將這些檔案從您的電腦傳輸到核心裝置。檔案傳輸步驟會根據電腦的作業系統而有所不同。選擇您的作業系統，以取得展示如何將檔案傳輸到 Raspberry Pi 裝置的步驟。
**注意**  
Raspberry Pi 的預設使用者名稱為 **pi**、預設密碼為 **raspberry**。  
NVIDIA Jetson TX2 的預設使用者名稱為 **nvidia**、預設密碼為 **nvidia**。

------
#### [ Windows ]

      若要將壓縮檔案從您的電腦傳輸到 Raspberry Pi 裝置，請使用工具 (像是 [WinSCP](https://winscp.net/eng/download.php)) 或 [PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) **pscp** 命令。若要使用 **pscp** 命令，請在電腦開啟 [命令提示] 視窗，並執行下列動作：

      ```
      cd path-to-downloaded-files
      pscp -pw Pi-password greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi
      pscp -pw Pi-password certificateId-certificate.pem.crt pi@IP-address:/home/pi
      pscp -pw Pi-password certificateId-public.pem.key pi@IP-address:/home/pi
      pscp -pw Pi-password certificateId-private.pem.key pi@IP-address:/home/pi
      pscp -pw Pi-password AmazonRootCA1.pem pi@IP-address:/home/pi
      ```

**注意**  
<a name="use-correct-package-version"></a>此命令中的版本編號必須符合您的 AWS IoT Greengrass Core 軟體套件版本。

------
#### [ macOS ]

      若要將壓縮檔案從您的 Mac 傳輸到 Raspberry Pi 核心裝置，請在您的電腦上開啟「終端機」視窗，並執行下列命令。*path-to-downloaded-files* 通常是 `~/Downloads`。

**注意**  
您可能會收到提示，要求您輸入兩組密碼。若是跳出提示請您輸入兩組密碼，則第一組密碼為 Mac 的 `sudo` 命令密碼，第二組則為 Raspberry Pi 的密碼。

      ```
      cd path-to-downloaded-files
      scp greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi
      scp certificateId-certificate.pem.crt pi@IP-address:/home/pi
      scp certificateId-public.pem.key pi@IP-address:/home/pi
      scp certificateId-private.pem.key pi@IP-address:/home/pi
      scp AmazonRootCA1.pem pi@IP-address:/home/pi
      ```

**注意**  
<a name="use-correct-package-version"></a>此命令中的版本編號必須符合您的 AWS IoT Greengrass Core 軟體套件版本。

------
#### [ UNIX-like system ]

      若要將壓縮檔案從您的電腦傳輸到 Raspberry Pi 核心裝置，請在您的電腦開啟 [終端機] 視窗，並執行下列命令：

      ```
      cd path-to-downloaded-files
      scp greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi
      scp certificateId-certificate.pem.crt pi@IP-address:/home/pi
      scp certificateId-public.pem.key pi@IP-address:/home/pi
      scp certificateId-private.pem.key pi@IP-address:/home/pi
      scp AmazonRootCA1.pem pi@IP-address:/home/pi
      ```

**注意**  
<a name="use-correct-package-version"></a>此命令中的版本編號必須符合您的 AWS IoT Greengrass Core 軟體套件版本。

------
#### [ Raspberry Pi web browser ]

      如果您使用 Raspberry Pi 的 Web 瀏覽器下載壓縮檔案，檔案應該位於 Pi 的`~/Downloads`資料夾中，例如 `/home/pi/Downloads`。否則，壓縮的檔案應該位於 Pi 的`~`資料夾中，例如 `/home/pi`。

------

1. 在 Greengrass 核心裝置上，開啟終端機，然後導覽至包含 AWS IoT Greengrass Core 軟體和憑證的資料夾。將 *path-to-transferred-files* 取代為您在核心裝置上傳輸檔案的路徑。例如，在 Raspberry Pi 上執行 `cd /home/pi`。

   ```
   cd path-to-transferred-files
   ```

1. 解壓縮 AWS IoT Greengrass 核心裝置上的 核心軟體。執行下列命令來解壓縮您傳輸至核心裝置的軟體封存。此命令使用 `-C /`引數，在核心裝置的根`/greengrass`資料夾中建立 資料夾。

   ```
   sudo tar -xzvf greengrass-OS-architecture-1.11.6.tar.gz -C /
   ```
**注意**  
<a name="use-correct-package-version"></a>此命令中的版本編號必須符合您的 AWS IoT Greengrass Core 軟體套件版本。

1. 將憑證和金鑰移至 AWS IoT Greengrass Core 軟體資料夾。執行下列命令來建立憑證的資料夾，並將憑證和金鑰移至其中。將 *path-to-transferred-files* 取代為您在核心裝置上傳輸檔案的路徑，並將 *certificateId* 取代為檔案名稱中的憑證 ID。例如，在 Raspberry Pi 上，將 *path-to-transferred-files* 取代為 **/home/pi**

   ```
   sudo mv path-to-transferred-files/certificateId-certificate.pem.crt /greengrass/certs
   sudo mv path-to-transferred-files/certificateId-public.pem.key /greengrass/certs
   sudo mv path-to-transferred-files/certificateId-private.pem.key /greengrass/certs
   sudo mv path-to-transferred-files/AmazonRootCA1.pem /greengrass/certs
   ```

1. Core AWS IoT Greengrass 軟體使用指定軟體參數的組態檔案。此組態檔案會指定憑證檔案的檔案路徑，以及要使用的 AWS 雲端 端點。在此步驟中，您會為核心建立 AWS IoT Greengrass 核心軟體組態檔案。請執行下列操作：

   1. 取得核心 AWS IoT 物件的 Amazon Resource Name (ARN)。請執行下列操作：

      1. 在[AWS IoT 主控台](https://console.aws.amazon.com/iot)的**管理**下，於 **Greengrass 裝置**下，選擇**群組 (V1)**。

      1. 在 **Greengrass 群組**頁面上，選擇您先前建立的群組。

      1. 在**概觀**下，選擇 **Greengrass 核心**。

      1. 在核心詳細資訊頁面上，複製**AWS IoT 物件 ARN**，並儲存它以在 AWS IoT Greengrass 核心組態檔案中使用。

   1. 取得 AWS 帳戶 目前區域中 的裝置 AWS IoT 資料端點。裝置使用此端點做為 AWS AWS IoT 實物連線至 。請執行下列操作：

      1. 在 [AWS IoT 主控台](https://console.aws.amazon.com/iot)中，選擇**設定**。

      1. 在**裝置資料端點**下，複製**端點**並儲存以用於 AWS IoT Greengrass 核心組態檔案。

   1. 建立 AWS IoT Greengrass 核心軟體組態檔案。例如，您可以執行下列命令，使用 GNU nano 建立 檔案。

      ```
      sudo nano /greengrass/config/config.json
      ```

      使用下列 JSON 文件取代 檔案的內容。

      ```
      {
        "coreThing" : {
          "caPath": "AmazonRootCA1.pem",
          "certPath": "certificateId-certificate.pem.crt",
          "keyPath": "certificateId-private.pem.key",
          "thingArn": "arn:aws:iot:region:account-id:thing/MyGreengrassV1Core",
          "iotHost": "device-data-prefix-ats.iot.region.amazonaws.com",
          "ggHost": "greengrass-ats.iot.region.amazonaws.com",
          "keepAlive": 600
        },
        "runtime": {
          "cgroup": {
            "useSystemd": "yes"
          }
        },
        "managedRespawn": false,
        "crypto": {
          "caPath": "file:///greengrass/certs/AmazonRootCA1.pem",
          "principals": {
            "SecretsManager": {
              "privateKeyPath": "file:///greengrass/certs/certificateId-private.pem.key"
            },
            "IoTCertificate": {
              "privateKeyPath": "file:///greengrass/certs/certificateId-private.pem.key",
              "certificatePath": "file:///greengrass/certs/certificateId-certificate.pem.crt"
            }
          }
        }
      }
      ```

      然後，執行下列動作：
      + 如果您下載的 Amazon 根 CA 憑證與 Amazon 根 CA 1 不同，請將 *AmazonRootCA1.pem* 的每個執行個體取代為 Amazon 根 CA 檔案的名稱。
      + 將 *certificateId* 的每個執行個體取代為憑證和金鑰檔案名稱中的憑證 ID。
      + 將 *arn：aws：iot：*region*：*account-id*：thing/MyGreengrassV1Core* 取代為您先前儲存的核心物件的 ARN。
      + 以核心物件的名稱取代 *MyGreengrassV1core*。
      + 以您稍早儲存 AWS IoT 的裝置資料端點取代 *device-data-prefix-ats.iot.region.amazonaws.com*。
      + 將*區域*取代為您的 AWS 區域。

      如需您可以在此組態檔案中指定之組態選項的詳細資訊，請參閱 [AWS IoT Greengrass 核心組態檔案](gg-core.md#config-json)。

1. 確認您的核心裝置已連線到網際網路。然後， AWS IoT Greengrass 在您的核心裝置上啟動 。

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

   您應該會看到 `Greengrass successfully started` 訊息。請記下 PID。
**注意**  
若要設定核心裝置在系統開機 AWS IoT Greengrass 時啟動，請參閱 [設定初始化系統，啟動 Greengrass 協助程式](gg-core.md#start-on-boot)。

   您可以執行下列命令，以確認 AWS IoT Greengrass Core 軟體 (Greengrass 協助程式） 正常運作。將 *PID-number* 取代為您的 PID：

   ```
   ps aux | grep PID-number
   ```

   您應該會看到一個 PID 項目，包含指向執行中 Greengrass 協助程式的路徑 (例如 `/greengrass/ggc/packages/1.11.6/bin/daemon`)。如果您遇到啟動問題 AWS IoT Greengrass，請參閱 [故障診斷 AWS IoT Greengrass](gg-troubleshooting.md)。