

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

# Greengrass 核
<a name="greengrass-nucleus-component"></a>

Greengrass 核元件 (`aws.greengrass.Nucleus`) 是強制性元件，也是在裝置上執行 AWS IoT Greengrass Core 軟體的最低需求。您可以設定此元件以從遠端自訂和更新 AWS IoT Greengrass Core 軟體。部署此元件以在核心裝置上設定代理、裝置角色和 AWS IoT 物件組態等設定。

**注意**  
自 Greengrass 2.14.0 版起，限制邊緣裝置可使用記憶體使用量最佳化版本的 nucleus 裝置執行期。如需其組態和使用方式的詳細資訊，請參閱 [Greengrass nucleus lite](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)。

**重要**  
當核心元件的版本變更，或您變更特定組態參數時，包含您裝置上的核心 AWS IoT Greengrass 軟體和所有其他元件會開始套用變更。  
<a name="component-patch-update"></a>部署元件時， 會 AWS IoT Greengrass 安裝該元件所有相依性的最新支援版本。因此，如果您將新裝置新增至物件群組，或更新以這些裝置為目標的部署，則 AWS可能會自動將新修補程式版本的公有元件部署到您的核心裝置。有些自動更新，例如核更新，可能會導致您的裝置意外重新啟動。  
<a name="component-version-pinning"></a>為了防止在您裝置上執行之元件的意外更新，我們建議您[在建立部署](create-deployments.md)時直接包含該元件的偏好版本。如需 AWS IoT Greengrass Core 軟體更新行為的詳細資訊，請參閱 [更新 AWS IoT Greengrass 核心軟體 (OTA)](update-greengrass-core-v2.md)。

**Topics**
+ [版本](#greengrass-nucleus-component-versions)
+ [裝置要求](#greengrass-v2-requirements)
+ [支援平台](#greengrass-v2-supported-platforms)
+ [作業系統](#greengrass-nucleus-component-os-support)
+ [需求](#greengrass-nucleus-component-requirements)
+ [相依性](#greengrass-nucleus-component-dependencies)
+ [下載並安裝](#greengrass-nucleus-component-install)
+ [Configuration](#greengrass-nucleus-component-configuration)
+ [本機日誌檔案](#greengrass-nucleus-component-log-file)
+ [變更記錄](#greengrass-nucleus-component-changelog)

## 版本
<a name="greengrass-nucleus-component-versions"></a>

此元件具有下列版本：
+ 2.17.x
+ 2.16.x
+ 2.15.x
+ 2.14.x
+ 2.13.x
+ 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

## 裝置要求
<a name="greengrass-v2-requirements"></a>

**注意**  
您可以使用 AWS IoT Device Tester 的 AWS IoT Greengrass 來驗證您的裝置是否可以執行 AWS IoT Greengrass 核心軟體並與 通訊 AWS 雲端。如需詳細資訊，請參閱[使用 AWS IoT Device Tester for AWS IoT Greengrass V2](device-tester-for-greengrass-ug.md)。

------
#### [ Linux ]
+ <a name="requirement-supported-region"></a>使用 [AWS 區域](https://en.wikipedia.org/wiki/Amazon_Web_Services#Availability_and_topology) 支援的 AWS IoT Greengrass V2。如需支援區域的清單，請參閱《*AWS 一般參考*》中的 [AWS IoT Greengrass V2 端點和配額](https://docs.aws.amazon.com/general/latest/gr/greengrassv2.html)。
+  AWS IoT Greengrass 核心軟體可用的磁碟空間至少為 256 MB。此要求不包含部署到核心裝置的元件。
+ 配置給 AWS IoT Greengrass Core 軟體的最小 96 MB RAM。此要求不包含在核心裝置上執行的元件。如需詳細資訊，請參閱[使用 JVM 選項控制記憶體配置](configure-greengrass-core-v2.md#jvm-tuning)。
+ Java 執行期環境 (JRE) 第 8 版或更新版本。Java 必須在裝置上的 [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) 環境變數上可用。若要使用 Java 開發自訂元件，您必須安裝 Java 開發套件 (JDK)。我們建議您使用 [Amazon Corretto](https://aws.amazon.com/corretto/) 或 [OpenJDK](https://openjdk.java.net/) 長期支援版本。第 8 版或更新版本為必要項目。
+ [GNU C 程式庫](https://www.gnu.org/software/libc/) (glibc) 2.25 版或更新版本。
+ 您可以根使用者身分執行 AWS IoT Greengrass Core 軟體。例如`sudo`，使用 。您也可以以非根使用者身分執行 AWS IoT Greengrass Core 軟體。如需詳細資訊，請參閱[將 AWS IoT Greengrass V2 核心裝置設定為非根裝置](setup-greengrass-non-root.md)。
+ 執行 AWS IoT Greengrass Core 軟體的根使用者，例如 `root`，必須具有`sudo`許可，才能使用任何使用者和任何群組執行 。`/etc/sudoers` 檔案必須授予此使用者執行 `sudo`做為其他群組的許可。中使用者的許可`/etc/sudoers`應如下所示。

  ```
  root    ALL=(ALL:ALL) ALL
  ```
+ 核心裝置必須能夠對一組端點和連接埠執行傳出請求。如需詳細資訊，請參閱[允許透過代理或防火牆的裝置流量](allow-device-traffic.md)。
+ `/tmp` 目錄必須掛載有 `exec` 許可。
+ 下列所有 shell 命令：
  + `ps -ax -o pid,ppid`
  + `sudo`
  + `sh`
  + `kill`
  + `cp`
  + `chmod`
  + `rm`
  + `ln`
  + `echo`
  + `exit`
  + `id`
  + `uname`
  + `grep`
+ 您的裝置也可能需要下列選用的 shell 命令：
  + （選用） `systemctl`。此命令用於將 AWS IoT Greengrass Core 軟體設定為系統服務。
  + （選用） `useradd`、 `groupadd`和 `usermod`。這些命令用於設定`ggc_user`系統使用者和`ggc_group`系統群組。
  + （選用） `mkfifo`。此命令用於執行 Lambda 函數做為元件。
+ 若要設定元件程序的系統資源限制，您的裝置必須執行 Linux 核心版本 2.6.24 或更新版本。
+ 若要執行 Lambda 函數，您的裝置必須符合其他要求。如需詳細資訊，請參閱[Lambda 函數需求](setting-up.md#greengrass-v2-lambda-requirements)。

------
#### [ Windows ]
+ <a name="requirement-supported-region"></a>使用 [AWS 區域](https://en.wikipedia.org/wiki/Amazon_Web_Services#Availability_and_topology) 支援的 AWS IoT Greengrass V2。如需支援區域的清單，請參閱《*AWS 一般參考*》中的 [AWS IoT Greengrass V2 端點和配額](https://docs.aws.amazon.com/general/latest/gr/greengrassv2.html)。
+  AWS IoT Greengrass 核心軟體可用的磁碟空間至少為 256 MB。此要求不包含部署到核心裝置的元件。
+ 配置給 AWS IoT Greengrass Core 軟體的最小 160 MB RAM。此要求不包含在核心裝置上執行的元件。如需詳細資訊，請參閱[使用 JVM 選項控制記憶體配置](configure-greengrass-core-v2.md#jvm-tuning)。
+ Java 執行期環境 (JRE) 第 8 版或更新版本。Java 必須在裝置上的 [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) 系統變數上可用。若要使用 Java 開發自訂元件，您必須安裝 Java 開發套件 (JDK)。我們建議您使用 [Amazon Corretto](https://aws.amazon.com/corretto/) 或 [OpenJDK](https://openjdk.java.net/) 長期支援版本。第 8 版或更新版本為必要項目。
**注意**  
若要使用 [Greengrass 核](#greengrass-nucleus-component)的 2.5.0 版，您必須使用 64 位元版本的 Java 執行期環境 (JRE)。Greengrass 核版本 2.5.1 支援 32 位元和 64 位元 JREs。
+ 安裝 AWS IoT Greengrass Core 軟體的使用者必須是管理員。
+ 您必須將 AWS IoT Greengrass Core 軟體安裝為系統服務。在安裝軟體`--setup-system-service true`時指定 。
+ 每個執行元件程序的使用者都必須存在於 LocalSystem 帳戶中，而且使用者名稱和密碼必須位於 LocalSystem 帳戶的 Credential Manager 執行個體中。您可以在遵循[安裝 AWS IoT Greengrass Core 軟體](install-greengrass-core-v2.md)的指示時設定此使用者。
+ 核心裝置必須能夠對一組端點和連接埠執行傳出請求。如需詳細資訊，請參閱[允許透過代理或防火牆的裝置流量](allow-device-traffic.md)。

------

## 支援平台
<a name="greengrass-v2-supported-platforms"></a>

AWS IoT Greengrass 正式支援執行下列平台的裝置。此清單中未包含平台的裝置可能可以運作，但只能在這些指定的平台上 AWS IoT Greengrass 進行測試。

------
#### [ Linux ]

架構：
+ Armv7l
+ Armv8 (AArch64)
+ x86\$164

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

架構：
+ x86\$164

版本：
+ Windows 10
+ Windows 11
+ Windows Server 2019
+ Windows Server 2022

**注意**  
Windows 裝置目前不支援某些 AWS IoT Greengrass 功能。如需詳細資訊，請參閱[Greengrass 功能相容性](operating-system-feature-support-matrix.md)及[功能考量事項](#greengrass-v2-windows-feature-considerations)。

------

### 功能考量事項
<a name="greengrass-v2-windows-feature-considerations"></a>

Windows 裝置目前不支援某些 AWS IoT Greengrass 功能。檢閱功能差異，以確認 Windows 裝置是否符合您的需求。如需詳細資訊，請參閱[Greengrass 功能相容性](operating-system-feature-support-matrix.md)。

若要建置自訂 Linux 作業系統，您可以在[`meta-aws`專案](https://github.com/aws/meta-aws/tree/master/recipes-iot)中使用適用於 AWS IoT Greengrass 的 BitBake 配方。`meta-aws` 專案提供配方，可讓您用來在以 [OpenEmbedded](https://www.openembedded.org/wiki/Main_Page) 和 Yocto Project 組建架構建置的[內嵌 Linux](https://elinux.org/) 系統中建置 AWS 邊緣軟體功能。[Yocto 專案](https://www.yoctoproject.org/)是一種開放原始碼協同合作專案，可協助您為嵌入式應用程式建置自訂 Linux 型系統，而不論硬體架構為何。的 AWS IoT Greengrass BitBake 配方會在您的裝置上安裝、設定和自動執行 AWS IoT Greengrass Core 軟體。

Linux 平台也可以 AWS IoT Greengrass 在 Docker 容器中執行。如需詳細資訊，請參閱[在 Docker 容器中執行 AWS IoT Greengrass 核心軟體](run-greengrass-docker.md)。

## 作業系統
<a name="greengrass-nucleus-component-os-support"></a>

此元件可以安裝在執行下列作業系統的核心裝置上：
+ Linux
+ Windows

如需詳細資訊，請參閱[支援平台](#greengrass-v2-supported-platforms)。

## 需求
<a name="greengrass-nucleus-component-requirements"></a>

裝置必須符合特定需求，才能安裝和執行 Greengrass 核和 AWS IoT Greengrass Core 軟體。如需詳細資訊，請參閱[裝置要求](#greengrass-v2-requirements)。

Greengrass 核元件支援在 VPC 中執行。若要在 VPC 中部署此元件，需要下列項目。
+ Greengrass 核元件必須具有與 AWS IoT data、 AWS IoT Credentials 和 Amazon S3 的連線能力。

## 相依性
<a name="greengrass-nucleus-component-dependencies"></a>

Greengrass 核不包含任何元件相依性。不過，數個 AWS提供的元件包含 核心做為相依性。如需詳細資訊，請參閱[AWS提供的元件](public-components.md)。

如需元件相依性的詳細資訊，請參閱[元件配方參考](component-recipe-reference.md#recipe-reference-component-dependencies)。

## 下載並安裝
<a name="greengrass-nucleus-component-install"></a>

您可以下載安裝程式，在裝置上設定 Greengrass 核元件。此安裝程式會將您的裝置設定為 Greengrass 核心裝置。您可以執行兩種類型的安裝：為您建立必要 AWS 資源的快速安裝，或是自行建立 AWS 資源的手動安裝。如需詳細資訊，請參閱[安裝 AWS IoT Greengrass Core 軟體](install-greengrass-core-v2.md)。

您也可以遵循教學課程來安裝 Greengrass 核，並探索 Greengrass 元件開發。如需詳細資訊，請參閱[教學課程：入門 AWS IoT Greengrass V2](getting-started.md)。

## Configuration
<a name="greengrass-nucleus-component-configuration"></a>

此元件提供下列組態參數，您可以在部署元件時自訂這些參數。有些參數需要 AWS IoT Greengrass Core 軟體重新啟動才能生效。如需為何及如何設定此元件的詳細資訊，請參閱 [設定 AWS IoT Greengrass 核心軟體](configure-greengrass-core-v2.md)。

`iotRoleAlias`  
<a name="nucleus-component-configuration-iot-role-alias"></a>指向字符交換 IAM AWS IoT 角色的角色別名。 AWS IoT 登入資料提供者會擔任此角色，以允許 Greengrass 核心裝置與 AWS 服務互動。如需詳細資訊，請參閱[授權核心裝置與 AWS 服務互動](device-service-role.md)。  
當您使用 `--provision true`選項執行 AWS IoT Greengrass Core 軟體時，軟體會佈建角色別名，並在 nucleus 元件中設定其值。

  `interpolateComponentConfiguration`   
（選用） 您可以啟用 Greengrass 核，在[元件組態中插入元件配方變數](component-recipe-reference.md#recipe-variables)，並[合併組態更新](update-component-configurations.md#merge-configuration-update-recipe-variables)。我們建議您將此選項設定為 ，`true`讓核心裝置可以執行在其組態中使用配方變數的 Greengrass 元件。  
此功能適用於此元件的 v2.6.0 和更新版本。  
預設：`false`

`networkProxy`  
（選用） 用於所有連線的網路代理。如需詳細資訊，請參閱[連線至連接埠 443 或透過網路代理](configure-greengrass-core-v2.md#configure-alpn-network-proxy)。  
<a name="nucleus-component-parameter-restart-para"></a>當您部署變更至此組態參數時， AWS IoT Greengrass 核心軟體會重新啟動，讓變更生效。
此物件包含下列資訊：    
`noProxyAddresses`  
（選用） 從代理中豁免的 IP 地址或主機名稱的逗號分隔清單。  
`proxy`  
要連線的代理。此物件包含下列資訊：    
`url`  
代理伺服器的 URL，格式為 `scheme://userinfo@host:port`。  <a name="nucleus-component-configuration-proxy-url-segments"></a>
+ `scheme` – 結構描述，必須是 `http`或 `https`。
**重要**  
<a name="https-proxy-greengrass-nucleus-requirement"></a>Greengrass 核心裝置必須執行 [Greengrass 核 v](#greengrass-nucleus-component)2.5.0 或更新版本，才能使用 HTTPS 代理。  
如果您設定 HTTPS 代理，則必須將代理伺服器 CA 憑證新增至核心裝置的 Amazon 根 CA 憑證。如需詳細資訊，請參閱[讓核心裝置信任 HTTPS 代理](configure-greengrass-core-v2.md#https-proxy-certificate-trust)。
+ `userinfo` – （選用） 使用者名稱和密碼資訊。如果您在 中指定此資訊`url`，Greengrass 核心裝置會忽略 `username`和 `password` 欄位。
+ `host` – 代理伺服器的主機名稱或 IP 地址。
+ `port` – （選用） 連接埠號碼。如果您未指定連接埠，則 Greengrass 核心裝置會使用下列預設值：
  + `http` – 80
  + `https` – 443  
`username`  
（選用） 驗證代理伺服器的使用者名稱。  
`password`  
（選用） 驗證代理伺服器的密碼。

`mqtt`  
（選用） Greengrass 核心裝置的 MQTT 組態。如需詳細資訊，請參閱[連線至連接埠 443 或透過網路代理](configure-greengrass-core-v2.md#configure-alpn-network-proxy)。  
<a name="nucleus-component-parameter-restart-para"></a>當您部署變更至此組態參數時， 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 核會拒絕發生錯誤的訊息。  
此功能適用於此元件的 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 核元件](#greengrass-nucleus-component)的 v2.11.0 和更新版本。  
如果 MQTT 多工緩衝處理器`storageType`設定為 ，`Disk`且您想要將 Greengrass 核從 2.11.x 版降級為舊版，您必須將組態變更回 `Memory`。Greengrass 核版本 2.10.x 及更早版本`storageType`支援 的唯一組態是 。 `Memory`未遵循此指引可能會導致多工緩衝處理中斷。這會導致您的 Greengrass 核心裝置無法將 MQTT 訊息傳送至 AWS 雲端。
預設：`Memory`  
`pluginName`  
（選用） 外掛程式元件名稱。只有在 `storageType`設定為 時，才會使用此元件`Disk`。此選項預設為 `aws.greengrass.DiskSpooler`，並將使用 Greengrass 提供的 [磁碟多工緩衝處理](disk-spooler-component.md)。  
此功能適用於 [Greengrass 核元件](#greengrass-nucleus-component)的 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 核元件](#greengrass-nucleus-component)的 v2.10.0 和更新版本。  
預設：`mqtt5`  
`receiveMaximum`  
（選用） 代理程式可以傳送的未確認 QoS1 封包數目上限。  
此功能適用於 [Greengrass 核元件](#greengrass-nucleus-component)的 v2.10.0 和更新版本。  
預設：`100`  
`sessionExpirySeconds`  
（選用） 您可以請求工作階段從 IoT Core 持續的時間，以秒為單位。預設值為 支援的最長時間 AWS IoT Core。  
此功能適用於 [Greengrass 核元件](#greengrass-nucleus-component)的 v2.10.0 和更新版本。  
預設：`604800 (7 days)`  
`minimumReconnectDelaySeconds`  
（選用） 重新連線行為的選項。MQTT 重新連線的最短時間，以秒為單位。  
此功能適用於 [Greengrass 核元件](#greengrass-nucleus-component)的 v2.10.0 和更新版本。  
預設：`1`  
`maximumReconnectDelaySeconds`  
（選用） 重新連線行為的選項。MQTT 重新連線的秒數上限。  
此功能適用於 [Greengrass 核元件](#greengrass-nucleus-component)的 v2.10.0 和更新版本。  
預設：`120`  
`minimumConnectedTimeBeforeRetryResetSeconds`  
（選用） 重新連線行為的選項。在重試延遲重設回最小值之前，連線必須處於作用中狀態的秒數。  
此功能適用於 [Greengrass 核元件](#greengrass-nucleus-component)的 v2.10.0 和更新版本。  
預設：`30`

  `jvmOptions`  
（選用） 用來執行 AWS IoT Greengrass Core 軟體的 JVM 選項。如需執行 AWS IoT Greengrass Core 軟體的建議 JVM 選項相關資訊，請參閱 [使用 JVM 選項控制記憶體配置](configure-greengrass-core-v2.md#jvm-tuning)。  
<a name="nucleus-component-parameter-restart-para"></a>當您部署變更至此組態參數時， AWS IoT Greengrass 核心軟體會重新啟動，讓變更生效。

`iotDataEndpoint`  
<a name="nucleus-component-configuration-iot-data-endpoint"></a>您 AWS IoT 的資料端點 AWS 帳戶。  
<a name="nucleus-component-set-iot-endpoints"></a>當您使用 `--provision true`選項執行 AWS IoT Greengrass 核心軟體時，軟體會從 取得您的資料和登入資料端點 AWS IoT ，並在 核心元件中設定它們。

`iotCredEndpoint`  
<a name="nucleus-component-configuration-iot-cred-endpoint"></a>您 的 AWS IoT 登入資料端點 AWS 帳戶。  
<a name="nucleus-component-set-iot-endpoints"></a>當您使用 `--provision true`選項執行 AWS IoT Greengrass 核心軟體時，軟體會從 取得您的資料和登入資料端點 AWS IoT ，並在 核心元件中設定它們。

`greengrassDataPlaneEndpoint`  
此功能適用於此元件的 v2.7.0 和更新版本。  
如需詳細資訊，請參閱[使用私有 CA 簽署的裝置憑證](configure-greengrass-core-v2.md#configure-nucleus-private-ca)。

`greengrassDataPlanePort`  
此功能適用於此元件的 v2.0.4 和更新版本。  
（選用） 用於資料平面連線的連接埠。如需詳細資訊，請參閱[連線至連接埠 443 或透過網路代理](configure-greengrass-core-v2.md#configure-alpn-network-proxy)。  
您必須指定裝置可以進行傳出連線的連接埠。如果您指定封鎖的連接埠，裝置將無法連線至 AWS IoT Greengrass 以接收部署。
您可以從以下選項中選擇：  
+ `443`
+ `8443`
預設：`8443`

`awsRegion`  
 AWS 區域 要使用的 。

`runWithDefault`  
用來執行元件的系統使用者。  
<a name="nucleus-component-parameter-restart-para"></a>當您部署變更至此組態參數時， AWS IoT Greengrass 核心軟體會重新啟動，讓變更生效。
此物件包含下列資訊：    
`posixUser`  
系統使用者的名稱或 ID，也可以選擇核心裝置用來執行一般和 Lambda 元件的系統群組。以下列格式指定使用者和群組，並以冒號 (`:`) 分隔：`user:group`。群組為選用項目。如果您未指定群組，則 AWS IoT Greengrass Core 軟體會使用使用者的主要群組。例如，您可以指定 `ggc_user` 或 `ggc_user:ggc_group`。如需詳細資訊，請參閱[設定執行元件的使用者](configure-greengrass-core-v2.md#configure-component-user)。  
當您使用 `--component-default-user ggc_user:ggc_group`選項執行 AWS IoT Greengrass Core 軟體安裝程式時，軟體會在 nucleus 元件中設定此參數。  
`windowsUser`  
此功能適用於此元件的 v2.5.0 和更新版本。  
用於在 Windows 核心裝置上執行此元件的 Windows 使用者名稱。使用者必須存在於每個 Windows 核心裝置上，且其名稱和密碼必須存放在 LocalSystem 帳戶的 Credentials Manager 執行個體中。如需詳細資訊，請參閱[設定執行元件的使用者](configure-greengrass-core-v2.md#configure-component-user)。  
當您使用 `--component-default-user ggc_user`選項執行 AWS IoT Greengrass Core 軟體安裝程式時，軟體會在 nucleus 元件中設定此參數。  
`systemResourceLimits`  
此功能在 v2.4.0 和此元件的更新版本中提供。 目前 AWS IoT Greengrass 不支援 Windows 核心裝置上的此功能。  
根據預設，要套用至一般和非容器 Lambda 元件程序的系統資源限制。您可以在建立部署時覆寫個別元件的系統資源限制。如需詳細資訊，請參閱[設定元件的系統資源限制](configure-greengrass-core-v2.md#configure-component-system-resource-limits)。  
此物件包含下列資訊：    
`cpus`  
 <a name="system-resource-limits-cpu-definition-each"></a>每個元件程序可在核心裝置上使用的 CPU 時間上限。核心裝置的 CPU 總時間等於裝置的 CPU 核心數。例如，在具有 4 個 CPU 核心的核心裝置上，您可以將此值設定為 `2`，將每個元件的程序限制為每個 CPU 核心的 50% 用量。在具有 1 個 CPU 核心的裝置上，您可以將此值設定為 `0.25`，將每個元件的程序限制為 CPU 的 25% 用量。如果您將此值設定為大於 CPU 核心數量的數字，則 AWS IoT Greengrass Core 軟體不會限制元件的 CPU 用量。  
`memory`  
 <a name="system-resource-limits-memory-definition-each"></a>每個元件程序可在核心裝置上使用的 RAM 數量上限 （以 KB 為單位）。

 `s3EndpointType`   
（選用） S3 端點類型。此參數僅適用於美國東部 （維吉尼亞北部） (`us-east-1`) 區域。從任何其他區域設定此參數將被忽略。您可以從以下選項中選擇：  
+ `REGIONAL` – S3 用戶端和預先簽章的 URL 使用區域端點。
+ `GLOBAL` – S3 用戶端和預先簽章的 URL 使用舊版端點。
+ `DUALSTACK` – S3 預先簽章的 URL 使用雙堆疊端點。
預設：`GLOBAL`

 `fipsMode`   
（選用） 讓 Greengrass 使用 FIPS 端點。如需如何啟用 FIPS 端點的詳細資訊，請參閱 [FIPS 端點](FIPS.html)。  
您可以從以下選項中選擇：  
+ `true` 當設定為 true 時，端點將使用 FIPS 端點。
+ `false` 當 false 時，端點不會使用 FIPS 端點。
預設：`false`

`logging`  
（選用） 核心裝置的記錄組態。如需如何設定和使用 Greengrass 日誌的詳細資訊，請參閱 [監控 AWS IoT Greengrass 日誌](monitor-logs.md)。  
此物件包含下列資訊：    
  `level`   
（選用） 要輸出的日誌訊息最低層級。  
從下列日誌層級中選擇，此處依層級順序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
預設：`INFO`  
  `format`   
（選用） 日誌的資料格式。您可以從以下選項中選擇：  
+ `TEXT` – 如果您想要以文字形式檢視日誌，請選擇此選項。
+ `JSON` – 如果您想要使用 [Greengrass CLI 日誌命令檢視日誌](gg-cli-logs.md)或以程式設計方式與日誌互動，請選擇此選項。
預設：`TEXT`  
`outputType`  
（選用） 日誌的輸出類型。您可以從以下選項中選擇：  
+ `FILE` – Core AWS IoT Greengrass 軟體會將日誌輸出至您在 中指定的目錄中的檔案`outputDirectory`。
+ `CONSOLE` – Core AWS IoT Greengrass 軟體會將日誌列印到 `stdout`。選擇此選項可在核心裝置列印日誌時檢視日誌。
預設：`FILE`  
  `fileSizeKB`   
（選用） 每個日誌檔案的大小上限 （以 KB 為單位）。日誌檔案超過此檔案大小上限後， AWS IoT Greengrass 核心軟體會建立新的日誌檔案。  
<a name="nucleus-component-logging-parameter-file-only"></a>此參數僅適用於您`FILE`為 指定 時`outputType`。  
預設：`1024`  
  `totalLogsSizeKB`   
（選用） 每個元件的日誌檔案總大小上限 （以 KB 為單位），包括 Greengrass 核。Greengrass 核的日誌檔案也包含[來自外掛程式元件](develop-greengrass-components.md#component-types)的日誌。當元件的日誌檔案總大小超過此大小上限後， AWS IoT Greengrass Core 軟體會刪除該元件最舊的日誌檔案。  
此參數等同於[日誌管理員元件的](log-manager-component.md)[磁碟空間限制](log-manager-component.md#log-manager-component-configuration)參數 (`diskSpaceLimit`)，您可以為 Greengrass 核 （系統） 和每個元件指定此參數。Core AWS IoT Greengrass 軟體使用兩個值的最小值作為 Greengrass 核和每個元件的總日誌大小上限。  
<a name="nucleus-component-logging-parameter-file-only"></a>此參數僅適用於您`FILE`為 指定 時`outputType`。  
預設：`10240`  
  `outputDirectory`   
（選用） 日誌檔案的輸出目錄。  
<a name="nucleus-component-logging-parameter-file-only"></a>此參數僅適用於您`FILE`為 指定 時`outputType`。  
預設：`/greengrass/v2/logs`，其中 `/greengrass/v2` AWS IoT Greengrass 是根資料夾。

  `fleetstatus`   
此參數適用於此元件的 v2.1.0 和更新版本。  
（選用） 核心裝置的機群狀態組態。  
此物件包含下列資訊：    
`periodicStatusPublishIntervalSeconds`  
（選用） 核心裝置將裝置狀態發佈到 之間的時間量 （以秒為單位） AWS 雲端。  
下限： `86400` (24 小時）  
預設：`86400`(24 小時）

  `telemetry`   
（選用） 核心裝置的系統運作狀態遙測組態。如需遙測指標以及如何對遙測資料採取行動的詳細資訊，請參閱 [從 AWS IoT Greengrass 核心裝置收集系統運作狀態遙測資料](telemetry.md)。  
此物件包含下列資訊：    
`enabled`  
（選用） 您可以啟用或停用遙測。  
預設：`true`  
`periodicAggregateMetricsIntervalSeconds`  
（選用） 核心裝置彙總指標的間隔 （以秒為單位）。  
如果您將此值設定為低於支援的最小值，則核會改用預設值。  
下限：`3600`  
預設：`3600`  
`periodicPublishMetricsIntervalSeconds`  
（選用） 核心裝置將遙測指標發佈到 之間的時間量 （以秒為單位） AWS 雲端。  
如果您將此值設定為低於支援的最小值，則核會改用預設值。  
下限：`86400`  
預設：`86400`

`deploymentPollingFrequencySeconds`  
（選用） 輪詢部署通知的期間，以秒為單位。  
預設：`15`

`componentStoreMaxSizeBytes`  
（選用） 元件存放區磁碟上的大小上限，其中包含元件配方和成品。  
預設： `10000000000` (10 GB)

  `platformOverride`   
（選用） 識別核心裝置平台的屬性字典。使用此項目來定義元件配方可用來識別元件正確生命週期和成品的自訂平台屬性。例如，您可以定義硬體功能屬性，只部署要執行之元件的最低成品集。如需詳細資訊，請參閱元件配方中的[資訊清單平台參數](component-recipe-reference.md#component-platform-definition)。  
您也可以使用此參數來覆寫核心裝置的 `os`和 `architecture`平台屬性。

  `httpClient`   
此參數適用於此元件的 v2.5.0 和更新版本。  
（選用） 核心裝置的 HTTP 用戶端組態。這些組態選項適用於此元件提出的所有 HTTP 請求。如果核心裝置在較慢的網路上執行，您可以增加這些逾時持續時間，以防止 HTTP 請求逾時。  
此物件包含下列資訊：    
`connectionTimeoutMs`  
（選用） 在連線請求逾時之前等待連線開啟的時間量 （以毫秒為單位）。  
預設：`2000`(2 秒）  
`socketTimeoutMs`  
（選用） 在連線逾時之前，等待資料透過開放連線傳輸的時間量 （以毫秒為單位）。  
預設：`30000`(30 秒）

  `deploymentConfigurationTimeSource`   
此參數適用於此元件的 v2.15.0 和更新版本。  
（選用） 處理部署時要使用的時間戳記。預設值為 `deploymentCreationTime`。  
此物件包含下列值：    
`deploymentCreationTime`  
預設值 `deploymentConfigurationTimeSource`。裝置使用部署建立時間戳記來解決處理期間的組態金鑰衝突。選取此行為時，核持有的本機裝置組態的時間戳記可能比傳入部署的時間戳記更大，並拒絕現在視為過期的傳入組態變更。  
`deploymentProcessingTime`  
裝置會使用其本機時間戳記來解決部署處理期間的組態金鑰衝突。處理時，裝置會根據處理時間戳記而非部署建立時間戳記來更新組態。此行為假設裝置時鐘已正確校正。  
如果您希望新裝置在第一次連線時使用此行為，請在初始裝置映像或安裝中設定此核心設定，而不是透過部署進行設定。使用此組態的 nucleus 傳統安裝程式[https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-installer.html](https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-installer.html)選項。  
此初始組態至關重要，因為裝置會依任意順序處理多個部署。如果沒有適當的初始組態，裝置可能會在接收將核心組態設定為 的部署之前，使用預設`deploymentCreationTime`行為來處理部署`deploymentProcessingTime`。

**Example 範例：組態合併更新**  

```
{
  "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"
  }
}
```

## 本機日誌檔案
<a name="greengrass-nucleus-component-log-file"></a>

此元件使用以下日誌檔案。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

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

```
C:\greengrass\v2\logs\greengrass.log
```

------

**檢視此元件的日誌**
+ 在核心裝置上執行下列命令，以即時檢視此元件的日誌檔案。將 `/greengrass/v2`或 *C：\$1greengrass\$1v2* 取代為 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
  ```

------

## 變更記錄
<a name="greengrass-nucleus-component-changelog"></a>

下表說明每個版本元件的變更。


|  **版本**  |  **變更**  | 
| --- | --- | 
|  2.17.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.16.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.16.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.15.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.15.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.3  |  錯誤修正和改善 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.2  |  錯誤修正和改善 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.1  |  錯誤修正和改善 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.0  |  此版本不再可用。此版本的改善功能可在此元件的較新版本中使用。  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.13.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.3  |   此版本不再可用。此版本的改善功能可在此元件的較新版本中使用。  錯誤修正和改善 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.0  |  <a name="changelog-nucleus-2.12.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.3  |  <a name="changelog-nucleus-2.11.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.2  |  <a name="changelog-nucleus-2.11.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.1  |  <a name="changelog-nucleus-2.11.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.0  |  <a name="changelog-nucleus-2.11.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.3  |  <a name="changelog-nucleus-2.10.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.2  |  <a name="changelog-nucleus-2.10.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.1  |  <a name="changelog-nucleus-2.10.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.0  |  <a name="changelog-nucleus-2.10.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.6  |  <a name="changelog-nucleus-2.9.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.5  |  <a name="changelog-nucleus-2.9.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.4  |  <a name="changelog-nucleus-2.9.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.3  |  <a name="changelog-nucleus-2.9.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.2  |  <a name="changelog-nucleus-2.9.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.1  |  <a name="changelog-nucleus-2.9.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.0  |  <a name="changelog-nucleus-2.9.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.8.1  |  <a name="changelog-nucleus-2.8.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.8.0  |  <a name="changelog-nucleus-2.8.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.7.0  |  <a name="changelog-nucleus-2.7.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.6.0  |  <a name="changelog-nucleus-2.6.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.6  |  <a name="changelog-nucleus-2.5.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.5  |  <a name="changelog-nucleus-2.5.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.4  |  <a name="changelog-nucleus-2.5.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.3  |  <a name="changelog-nucleus-2.5.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.2  |  <a name="changelog-nucleus-2.5.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.1  |   此版本不再可用。此版本的改進功能可在此元件的較新版本中使用。  <a name="changelog-nucleus-2.5.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.0  |  <a name="changelog-nucleus-2.5.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.4.0  |  <a name="changelog-nucleus-2.4.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.3.0  |  <a name="changelog-nucleus-2.3.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.2.0  |  <a name="changelog-nucleus-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.1.0  |  <a name="changelog-nucleus-2.1.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.0.5  |  <a name="changelog-nucleus-2.0.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.0.4  |  <a name="changelog-nucleus-2.0.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.0.3  |  初始版本。  | 