

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

# 管理核心裝置端點
<a name="manage-core-device-endpoints"></a>

當您使用雲端探索時，您可以將核心裝置的 MQTT 代理程式端點存放在雲端服務中 AWS IoT Greengrass 。用戶端裝置會連線至 AWS IoT Greengrass ，以擷取這些端點及其相關聯核心裝置的其他資訊。

對於每個核心裝置，您可以自動或手動管理端點。
+ **使用 IP 偵測器自動管理端點**

  如果您有非複雜網路設定，例如用戶端裝置與核心裝置位於相同網路上，您可以部署 [IP 偵測器元件](ip-detector-component.md)來自動管理核心裝置端點。例如，如果核心裝置位於將 MQTT 代理程式連接埠轉送至核心裝置的路由器後方，則無法使用 IP 偵測器元件。

  如果您部署到物件群組，IP 偵測器元件也很有用，因為它會管理物件群組中所有核心裝置的端點。如需詳細資訊，請參閱[使用 IP 偵測器自動管理端點](#use-ip-detector)。
+ **手動管理端點**

  如果您無法使用 IP 偵測器元件，則必須手動管理核心裝置端點。您可以使用 主控台或 API 更新這些端點。如需詳細資訊，請參閱[手動管理端點](#manually-manage-endpoints)。

**Topics**
+ [使用 IP 偵測器自動管理端點](#use-ip-detector)
+ [手動管理端點](#manually-manage-endpoints)

## 使用 IP 偵測器自動管理端點
<a name="use-ip-detector"></a>

如果您有簡單的網路設定，例如與核心裝置位於相同網路上的用戶端裝置，您可以部署 [IP 偵測器元件](ip-detector-component.md)來執行下列動作：
+ 監控 Greengrass 核心裝置的本機網路連線資訊。此資訊包括核心裝置的網路端點，以及 MQTT 中介裝置操作所在的連接埠。
+ 向 AWS IoT Greengrass 雲端服務報告核心裝置的連線資訊。

IP 偵測器元件會覆寫您手動設定的端點。

**重要**  
核心裝置的 AWS IoT 政策必須允許 使用 IP 偵測器元件的`greengrass:UpdateConnectivityInfo`許可。如需詳細資訊，請參閱[AWS IoT 資料平面操作的 政策](device-auth.md#iot-policies)及[設定 AWS IoT 物件政策](connect-client-devices.md#configure-iot-policy-requirement)。

您可以執行下列任一動作來部署 IP 偵測器元件：
+ 使用 主控台中的**設定探索**頁面。如需詳細資訊，請參閱[設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)。
+ 建立和修訂部署以包含 IP 偵測器。您可以使用 主控台 AWS CLI、 或 AWS API 來管理部署。如需詳細資訊，請參閱[建立部署](create-deployments.md)。

### 部署 IP 偵測器元件 （主控台）
<a name="deploy-ip-detector-console"></a>

1. 在[AWS IoT Greengrass 主控台](https://console.aws.amazon.com/greengrass)導覽功能表中，選擇**元件**。

1. 在**元件**頁面上，選擇**公有元件**索引標籤，然後選擇 **aws.greengrass.clientdevices.IPDetector**。

1. 在 **aws.greengrass.clientdevices.IPDetector** 頁面中，選擇**部署**。

1. <a name="deploy-component-choose-deployment-step"></a>從**新增至部署**中，選擇要修改的現有部署，或選擇建立新的部署，然後選擇**下一步**。

1. <a name="deploy-component-choose-target-step"></a>如果您選擇建立新的部署，請選擇部署的目標核心裝置或物件群組。在**指定目標**頁面的**部署目標**下，選擇核心裝置或物件群組，然後選擇**下一步**。

1. 在**選取元件**頁面上，確認已選取**aws.greengrass.clientdevices.IPDetector**元件，選擇**下一步**。

1. 在**設定元件**頁面上，選取 **aws.greengrass.clientdevices.IPDetector**，然後執行下列動作：

   1. 選擇**設定元件**。

   1. 在**設定aws.greengrass.clientdevices.IPDetector**模態、**組態更新**下，**在要合併的組態中**，您可以輸入組態更新來設定 IP 偵測器元件。您可以指定下列任何組態選項：
      + `defaultPort` – <a name="ip-detector-component-configuration-default-port-definition"></a>（選用） 此元件偵測到 IP 地址時要報告的 MQTT 代理程式連接埠。如果您將 MQTT 代理程式設定為使用與預設連接埠 8883 不同的連接埠，則必須指定此參數。
      + `includeIPv4LoopbackAddrs` – <a name="ip-detector-component-configuration-include-ipv4-loopback-addrs-definition"></a>（選用） 您可以啟用此選項來偵測和報告 IPv4 回送地址。這些是 IP 地址，例如 `localhost`，裝置可以自行通訊。在核心裝置和用戶端裝置在相同系統上執行的測試環境中使用此選項。
      + `includeIPv4LinkLocalAddrs` – <a name="ip-detector-component-configuration-include-ipv4-link-local-addrs-definition"></a>（選用） 您可以啟用此選項來偵測和報告 IPv4 [連結本機地址](https://en.wikipedia.org/wiki/Link-local_address)。如果核心裝置的網路沒有動態主機組態協定 (DHCP) 或靜態指派的 IP 地址，請使用此選項。
      + `includeIPv6LoopbackAddrs` – <a name="ip-detector-component-configuration-include-ipv6-loopback-addrs-definition"></a>（選用） 您可以啟用此選項來偵測和報告 IPv6 回送地址。這些是 IP 地址，例如 `localhost`，裝置可以自行通訊。在核心裝置和用戶端裝置在相同系統上執行的測試環境中使用此選項。您必須將 `includeIPv4Addrs` 設定為 `false`，並將 `includeIPv6Addrs` 設定為 `true`，才能使用此選項。您必須擁有 IP 偵測器 v2.2.0 或更新版本，才能使用此選項。
      + `includeIPv6LinkLocalAddrs` – <a name="ip-detector-component-configuration-include-ipv6-link-local-addrs-definition"></a>（選用） 您可以啟用此選項來偵測和報告 IPv6 [連結本機地址](https://en.wikipedia.org/wiki/Link-local_address)。如果核心裝置的網路沒有動態主機組態協定 (DHCP) 或靜態指派的 IP 地址，請使用此選項。您必須將 `includeIPv4Addrs` 設定為 `false`，並將 `includeIPv6Addrs` 設定為 `true`，才能使用此選項。您必須擁有 IP 偵測器 v2.2.0 或更新版本，才能使用此選項。
      + `includeIPv4Addrs` – <a name="ip-detector-component-configuration-include-ipv4-addrs-definition"></a>（選用） 預設值設為 true。您可以啟用此選項來發佈核心裝置上找到的 IPv4 地址。您必須擁有 IP 偵測器 v2.2.0 或更新版本，才能使用此選項。
      + `includeIPv6Addrs` – <a name="ip-detector-component-configuration-include-ipv6-addrs-definition"></a>（選用） 您可以啟用此選項來發佈核心裝置上找到的 IPv6 地址。`includeIPv4Addrs`設定為 `false` 以使用此選項。您必須擁有 IP 偵測器 v2.2.0 或更新版本，才能使用此選項。

      組態更新看起來可能會類似下列範例。

      ```
      {
        "defaultPort": "8883",
        "includeIPv4LoopbackAddrs": false,
        "includeIPv4LinkLocalAddrs": false
      }
      ```

   1. 選擇**確認**以關閉模態，然後選擇**下一步**。

1. <a name="deploy-component-configure-advanced-settings-step"></a>在**設定進階設定**頁面上，保留預設組態設定，然後選擇 **下一步**。

1. <a name="deploy-component-review-and-deploy-step"></a>在 **Review (檢閱)** 頁面，選擇 **Deploy (部署)**。

   部署可能需要一分鐘的時間才能完成。

### 部署 IP 偵測器元件 (AWS CLI)
<a name="deploy-ip-detector-cli"></a>

若要部署 IP 偵測器元件，請建立包含在 `components` 物件`aws.greengrass.clientdevices.IPDetector`中的部署文件，並指定元件的組態更新。遵循 中的指示[建立部署](create-deployments.md)建立新的部署或修改現有的部署。

您可以在建立部署文件時指定下列任一選項來設定 IP 偵測器元件：
+ `defaultPort` – <a name="ip-detector-component-configuration-default-port-definition"></a>（選用） 此元件偵測到 IP 地址時要報告的 MQTT 代理程式連接埠。如果您將 MQTT 代理程式設定為使用與預設連接埠 8883 不同的連接埠，則必須指定此參數。
+ `includeIPv4LoopbackAddrs` – <a name="ip-detector-component-configuration-include-ipv4-loopback-addrs-definition"></a>（選用） 您可以啟用此選項來偵測和報告 IPv4 回送地址。這些是 IP 地址，例如 `localhost`，裝置可以自行通訊。在核心裝置和用戶端裝置在相同系統上執行的測試環境中使用此選項。
+ `includeIPv4LinkLocalAddrs` – <a name="ip-detector-component-configuration-include-ipv4-link-local-addrs-definition"></a>（選用） 您可以啟用此選項來偵測和報告 IPv4 [連結本機地址](https://en.wikipedia.org/wiki/Link-local_address)。如果核心裝置的網路沒有動態主機組態協定 (DHCP) 或靜態指派的 IP 地址，請使用此選項。
+ `includeIPv6LoopbackAddrs` – <a name="ip-detector-component-configuration-include-ipv6-loopback-addrs-definition"></a>（選用） 您可以啟用此選項來偵測和報告 IPv6 回送地址。這些是 IP 地址，例如 `localhost`，裝置可以自行通訊。在核心裝置和用戶端裝置在相同系統上執行的測試環境中使用此選項。您必須將 `includeIPv4Addrs` 設定為 `false`，並將 `includeIPv6Addrs` 設定為 `true`，才能使用此選項。您必須擁有 IP 偵測器 v2.2.0 或更新版本，才能使用此選項。
+ `includeIPv6LinkLocalAddrs` – <a name="ip-detector-component-configuration-include-ipv6-link-local-addrs-definition"></a>（選用） 您可以啟用此選項來偵測和報告 IPv6 [連結本機地址](https://en.wikipedia.org/wiki/Link-local_address)。如果核心裝置的網路沒有動態主機組態協定 (DHCP) 或靜態指派的 IP 地址，請使用此選項。您必須將 `includeIPv4Addrs` 設定為 `false`，並將 `includeIPv6Addrs` 設定為 `true`，才能使用此選項。您必須擁有 IP 偵測器 v2.2.0 或更新版本，才能使用此選項。
+ `includeIPv4Addrs` – <a name="ip-detector-component-configuration-include-ipv4-addrs-definition"></a>（選用） 預設值設為 true。您可以啟用此選項來發佈核心裝置上找到的 IPv4 地址。您必須擁有 IP 偵測器 v2.2.0 或更新版本，才能使用此選項。
+ `includeIPv6Addrs` – <a name="ip-detector-component-configuration-include-ipv6-addrs-definition"></a>（選用） 您可以啟用此選項來發佈核心裝置上找到的 IPv6 地址。`includeIPv4Addrs`設定為 `false` 以使用此選項。您必須擁有 IP 偵測器 v2.2.0 或更新版本，才能使用此選項。

下列範例部分部署文件指定 將連接埠 8883 報告為 MQTT 代理程式連接埠。

```
{
  ...,
  "components": {
    ...,
    "aws.greengrass.clientdevices.IPDetector": {
      "componentVersion": "2.1.1",
      "configurationUpdate": {
        "merge": "{\"defaultPort\":\"8883\",}"
      }
    }
  }
}
```

## 手動管理端點
<a name="manually-manage-endpoints"></a>

您可以手動管理核心裝置的 MQTT 代理程式端點。

每個 MQTT 代理程式端點都有以下資訊：

**端點** (`HostAddress`)  
用戶端裝置可以連線到核心裝置上 MQTT 代理程式的 IP 地址或 DNS 地址。

**連接埠** (`PortNumber`)  
MQTT 中介裝置在核心裝置上操作的連接埠。  
您可以在預設使用連接埠 8883 的 [Moquette MQTT 代理程式元件](mqtt-broker-moquette-component.md)上設定此連接埠。

**中繼資料 **(`Metadata`)  
要提供給連接到此端點之用戶端裝置的其他中繼資料。

**Topics**
+ [管理端點 （主控台）](#manually-manage-endpoints-console)
+ [管理端點 (AWS CLI)](#manually-manage-endpoints-cli)
+ [管理端點 (API)](#manually-manage-endpoints-api)

### 管理端點 （主控台）
<a name="manually-manage-endpoints-console"></a>

您可以使用 AWS IoT Greengrass 主控台來檢視、更新和移除核心裝置的端點。

**管理核心裝置的端點 （主控台）**

1. <a name="navigate-greengrass-console"></a>導覽至 [AWS IoT Greengrass 主控台](https://console.aws.amazon.com/greengrass)。

1. 選擇**核心裝置**。

1. 選擇要管理的核心裝置。

1. 在核心裝置的詳細資訊頁面上，選擇**用戶端裝置**索引標籤。

1. 在 **MQTT 代理程式端點**區段中，您可以查看核心裝置的 MQTT 代理程式端點。選擇**管理端點**。

1. 在**管理端點**模態中，新增或移除核心裝置的 MQTT 代理程式端點。

1. 選擇**更新**。

### 管理端點 (AWS CLI)
<a name="manually-manage-endpoints-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 來管理核心裝置的端點。

**注意**  
由於 中的用戶端裝置支援 AWS IoT Greengrass V2 與 回溯相容 AWS IoT Greengrass V1，您可以使用 AWS IoT Greengrass V2 或 AWS IoT Greengrass V1 API 操作來管理核心裝置端點。

**取得核心裝置的端點 (AWS CLI)**
+ 使用下列其中一個命令：
  + [greengrassv2：get-connectivity-info](https://docs.aws.amazon.com/cli/latest/reference/greengrassv2/get-connectivity-info.html)
  + [greengrass：get-connectivity-info](https://docs.aws.amazon.com/cli/latest/reference/greengrass/get-connectivity-info.html)

**更新核心裝置的端點 (AWS CLI)**
+ 使用下列其中一個命令：
  + [greengrassv2：update-connectivity-info](https://docs.aws.amazon.com/cli/latest/reference/greengrassv2/update-connectivity-info.html)
  + [greengrass：update-connectivity-info](https://docs.aws.amazon.com/cli/latest/reference/greengrass/update-connectivity-info.html)

### 管理端點 (API)
<a name="manually-manage-endpoints-api"></a>

您可以使用 AWS API 來管理核心裝置的端點。

**注意**  
由於 中的用戶端裝置支援 AWS IoT Greengrass V2 與 回溯相容 AWS IoT Greengrass V1，您可以使用 AWS IoT Greengrass V2 或 AWS IoT Greengrass V1 API 操作來管理核心裝置端點。

**取得核心裝置 (AWS API) 的端點**
+ 使用下列任一操作：
  + [V2：GetConnectivityInfo](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_GetConnectivityInfo.html)
  + [V1：GetConnectivityInfo](https://docs.aws.amazon.com/greengrass/v1/apireference/getconnectivityinfo-get.html)

**更新核心裝置 (AWS API) 的端點**
+ 使用下列任一操作：
  + [V2：UpdateConnectivityInfo](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_UpdateConnectivityInfo.html)
  + [V1：UpdateConnectivityInfo](https://docs.aws.amazon.com/greengrass/v1/apireference/updateconnectivityinfo-put.html)