設定閘道 - AWS IoT SiteWise

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

設定閘道

閘道可做為您的伺服器和AWS IoT SiteWise。您可以部署AWS IoT SiteWise閘道軟體,可在任何可執行AWS IoT Greengrass。如需詳細資訊,請參閱 選擇閘道平台

您可以啟用AWS IoT SiteWise通過使用網關上的數據處理包在邊緣設備上本地處理數據。當您將網關添加到AWS IoT SiteWise。如需在邊緣處理資料的詳細資訊,請參啟用邊緣資料處理

若要設定在 Amazon EC2 上執行的閘道,您可以從AWS CloudFormation模板。如需詳細資訊,請參閱 在 Amazon Elastic Compute Cloud 上設定閘道依性

注意

我們建議您與具備您本機和公司網路 IT 管理存取權的人員一起完成下列步驟。這些步驟可能需要具備您伺服器和權限的人員,才能設定防火牆設定。

設定閘道環境

在此程序中,您要安裝 AWS IoT Greengrass 和設定閘道以搭配 AWS IoT SiteWise 使用。

注意

本節包含使用 apt 指令安裝套件的說明。這適用於執行 Ubuntu 或類似的系統。如果您沒有使用類似的系統,請參閱分佈文件,並使用建議的套件安裝程式。

如何設定閘道

  1. 視需要修改閘道的 BIOS 設定,如下所示。

    1. 確定閘道在潛在電源故障後自動重新啟動 (如適用)。

    2. 確定閘道不會休眠或睡眠 (如適用)。

  2. 確定閘道連線到網際網路。

  3. (選用) 若要在不使用滑鼠、鍵盤和監控的情況下使用閘道,請執行下列步驟以在閘道上設定 ssh

    1. 如果您尚未安裝 SSH 套件,請執行下列命令。

      sudo apt install ssh
    2. 執行下列 命令。

      service ssh status
    3. 搜尋輸出中的 Active: active (running),以確認 SSH 伺服器正在執行。

    4. Q 結束。

    執行下列命令,以使用 SSH 從另一台電腦連接到閘道。將 username 取代為使用者登入,並將 IP 取代為閘道的 IP 地址。

    ssh username@IP

    您可以使用 -p port-number 引數連接到預設連接埠 22 以外的連接埠。

  4. 下載並安裝AWS IoT GreengrassCore 軟體 v1.10.2 或更新版本,然後建立AWS IoT Greengrass組。若要執行此作業,請依照入門AWS IoT Greengrass中的AWS IoT Greengrass開發人員指南

    建議您執行 AWS IoT Greengrass 裝置設定指令碼以快速開始使用。若要更仔細地檢閱 AWS IoT Greengrass 需求和程序,您可以逐步執行模組 1模組 2 中的步驟來設定 AWS IoT Greengrass。

    重要

    請參AWS區域哪裡AWS IoT SiteWise系統支援 。當您選擇 AWS IoT Greengrass 的「Region」(區域) 時,請確認該區域也支援 AWS IoT SiteWise。否則,則無法將閘道連接到 AWS IoT SiteWise。

    繼續進行下一步之前,您應在閘道上安裝 AWS IoT Greengrass Core 軟體。

  5. 執行下列命令以安裝 Java 8。

    sudo apt update sudo apt install openjdk-8-jre

    您稍後按照本指南所安裝的 AWS IoT SiteWise 閘道軟體會使用 Java 8 執行時間。

  6. 執行下列命令以驗證 Java 安裝成功。

    java -version
  7. AWS IoT Greengrass 核心軟體擔任 java8 目錄。執行下列命令,將 Java 安裝連接到該 java8 目錄。

    sudo ln -s /usr/bin/java /usr/bin/java8
  8. 請執行下列指令,建立 /var/sitewise 資料目錄,並授予 ggc_user 該目錄的許可。AWS IoT SiteWise 會將資料存放在此目錄中。您已在稍早按照本程序設定 AWS IoT Greengrass 時建立了 ggc_user

    sudo mkdir /var/sitewise sudo chown ggc_user /var/sitewise sudo chmod 700 /var/sitewise

    /var/sitewise 是 AWS IoT SiteWise 使用的預設目錄。您可以自訂目錄路徑 (例如,用 /var/custom/path/ 取代 /var/sitewise),但這樣做需要在建立 AWS IoT SiteWise 閘道之後執行額外的步驟。如需詳細資訊,請參閱設定 AWS IoT SiteWise 連接器中的步驟 6。

  9. 如有需要,請要求您的 IT 管理員將下列端點和連接埠新增至您的本機網路允許清單:

    • 連接埠 443、8443 和 8883

      重要

      您可以將 AWS IoT Greengrass Core 設定為僅使用連接埠 443 來進行所有網路通訊。如需詳細資訊,請參閱「」連線至連接埠 443 或透過網路代理中的AWS IoT Greengrass開發人員指南

    • 閘道的 IP 地址 (連接埠 443)。若要取得 IP 地址,請執行 ip addressifconfig 命令,並記下 inet 值 (例如 203.0.113.0)。

    • AWS IoT SiteWise 資料端點:data.iotsitewise.region.amazonaws.com (連接埠 443)。

    • 閘道使用下列 AWS 端點。您可以在 /greengrass-root/config/config.json 檔案中找到這些端點:將 greengrass-root 取代為您的 AWS IoT Greengrass 安裝的根目錄。

      • ggHostgreengrass-ats.iot.region.amazonaws.com (連接埠 443、8443 和 8883)。

      • iotHostprefix-ats.iot.region.amazonaws.com (連接埠 443、8443 和 8883)。

      如需詳細資訊,請參閱 AWS IoT Greengrass 端點和配額

  10. 如果 AWS IoT Greengrass Core 軟體尚未執行,請執行下列命令以啟動 AWS IoT Greengrass Core 軟體。將 greengrass-root 取代為您的 AWS IoT Greengrass 安裝的根目錄。預設的 greengrass-root/greengrass

    cd /greengrass-root/ggc/core sudo ./greengrassd start

    您應該會看到此訊息:Greengrass successfully started with PID: some-PID-number

  11. 將 AWS IoT Greengrass 核心軟體設定為在閘道開啟時自動啟動。若要進一步了解閘道作業系統,請參閱文件。

建立 IAM 政策和角色

您必須建立AWS Identity and Access Management(IAM) 政策和角色,以允許閘道存取AWS IoT SiteWise會代表您執行。

建立 IAM 政策和角色

  1. 導覽至 IAM 主控台

  2. 在導覽窗格中,選擇 Policies (政策),然後選擇 Create policy (建立政策)

    
                        IAM「政策」頁面螢幕抓取畫面。
  3. JSON (JSON) 分頁上,刪除政策欄位的目前內容,然後將以下政策貼入該欄位中。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*" } ] }
    注意

    若要改善安全性,您可以在 Condition 屬性中指定 AWS IoT SiteWise 資產階層路徑。下列範例是指定資產階層路徑的信任政策。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/root node asset ID", "/root node asset ID/*" ] } } } ] }
  4. 選擇 Review policy (檢閱政策)。

  5. 輸入政策的名稱和描述,然後選擇 Create policy (建立政策)

  6. 在導覽窗格中,選擇 Roles (角色),然後選擇 Create role (建立角色)

    
                        IAM「角色」頁面屏幕快照。
  7. Select type of trusted entity (選擇可信任執行個體類型) 下,選擇 AWS service ( 服務)。UNDERP選擇將使用角色的服務,選擇Greengrass作為將使用該角色的服務,然後選擇下一頁: Permissions (許可)。

    
                        IAM「選擇信任的實體類型」頁面截圖。
  8. 搜尋您建立的政策,選取核取方塊,然後選擇下一頁: Tags (標籤)。

    
                        IAM「附加權限政策」頁面截圖。
  9. (選用)將標籤新增到您的角色,然後選擇下一頁: Review (檢閱)。

  10. 輸入該角色的名稱與描述,然後選擇 Create role (建立角色)

    
                        IAM「查看」頁面屏幕抓取畫面。
  11. 在綠色橫幅中,選擇新角色的連結。您也可以使用搜尋欄位來尋找角色。

    
                        IAM「角色 SiteWiseDemo 」頁面屏幕截圖。
  12. 選擇 Trust Relationships (信任關係) 標籤,然後選擇 Edit Trust Relationship (編輯信任關係)

    
                        「信任關係」選項卡的 IAM「摘要」頁面屏幕截圖。
  13. 將政策欄位的目前內容取代為以下內容,然後選擇 Update Trust Policy (更新信任政策)

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "greengrass.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

設定 AWS IoT Greengrass 群組

將 IAM 角色連接至羣組並啟用串流管理器

  1. 導覽至 AWS IoT Greengrass 主控台

  2. 在左側導覽窗格中,於 Greengrass (Greengrass) 底下選擇 Groups (群組),然後選擇您在 設定閘道環境 中建立的群組。

    
                        AWS IoT Greengrass 「Greengrass 群組」頁面螢幕擷取畫面。
  3. 在左側的導覽窗格中,選擇 Settings (設定)。在 Group Role (群組角色) 區段中,選擇 Add Role (新增角色)

    
                        AWS IoT Greengrass 「新增角色」頁面螢幕擷取畫面。
  4. 選擇您在 建立 IAM 政策和角色 中建立的角色,然後選擇 Save (儲存)

    
                        AWS IoT Greengrass 「您群組的 IAM 角色」頁面螢幕擷取畫面。
  5. Settings (設定) 頁面的 Stream manager (串流管理員) 區段中,選擇 Edit (編輯)

    串流管理員是一項 AWS IoT Greengrass 功能,可讓您的 AWS IoT Greengrass Core 將資料串流至 AWS 雲端。AWS IoT SiteWise 閘道需要啟用串流管理員。如需詳細資訊,請參閱「」管理AWS IoT Greengrass核心中的AWS IoT Greengrass Version 1開發人員指南

    
                        AWS IoT Greengrass 「串流管理員」區段的螢幕擷取畫面。
  6. 選擇 Enabled (啟用),然後選擇 Save (儲存)

  7. 在左上角,選擇 Services (服務) 來準備下一個程序。

設定 AWS IoT SiteWise 連接器

在此程序中,您會將AWS IoT SiteWise連 Greengrass。連結器是預先建置的模組,可加速一般邊緣案例的開發生命週期。如需詳細資訊,請參閱「」AWS IoT Greengrass連接器中的AWS IoT Greengrass Version 1開發人員指南

如何設定 AWS IoT SiteWise 連接器

  1. 導覽至 AWS IoT Greengrass 主控台

  2. 在左側導覽窗格中,於 Greengrass (Greengrass) 底下選擇 Groups (群組),然後選擇您在 設定閘道環境 中建立的群組。

    
                        AWS IoT Greengrass 「Greengrass 群組」頁面螢幕擷取畫面。
  3. 在左側導覽頁面中,選擇 Connectors (連接器)。在 Connectors (連接器) 頁面上,選擇 Add a connector (新增連接器)

    
                        AWS IoT Greengrass 「連接器」頁面擷取畫面。
  4. 從清單中選擇 IoT SiteWise (IoT SiteWise),然後選擇 Next (下一步)

    
                        AWS IoT Greengrass 「選取連接器」頁面擷取畫面。
  5. 如果您的服務器需要身份驗證,您可以創建AWS Secrets Manager機密以及服務器的使用者名稱和密碼。然後,您可以將每個祕密附加到您的 Greengrass 組,並在用户名稱/密碼密碼密碼密碼的 ARNs 清單。如需建立和設定秘密的詳細資訊,請參閱設定來源身份驗證。您也可以稍後再將秘密新增至連接器。

    
                        AWS IoT Greengrass 「設定連接器」頁面螢幕擷取畫面。
  6. 如果您使用 /var/sitewise 以外的路徑設定閘道,請於 Local storage path (本機儲存路徑) 輸入該路徑。

  7. (選擇性) 輸入連接器的最大磁碟緩衝區大小。如果 AWS IoT Greengrass Core 失去對 AWS 雲端的連線,則連接器會對資料進行快取,直到可以成功連線為止。如果快取大小超過磁碟緩衝區大小上限,則連接器會捨棄佇列中最舊的資料。

  8. 選擇 Add (新增)

  9. 在右上角的 Actions (動作) 功能表中,選擇 Deploy (部署)

  10. 選擇 Automatic detection (自動偵測) 以開始部署。

    如果部署失敗,請再次選擇 Deploy (部署)。如果部署繼續失敗,請參閱 AWS IoT Greengrass 部署疑難排解

將閘道新增至 AWS IoT SiteWise

在此程序中,您可以將閘道的 GreenGreenGlass 組添加到AWS IoT SiteWise。向 AWS IoT SiteWise 註冊您的閘道後,服務即可將您的資料來源組態部署至閘道。

將閘道新增至 AWS IoT SiteWise

  1. 導覽至 AWS IoT SiteWise 主控台

  2. 選擇 Add Contact (新增閘道)

  3. Add SiteWise 閘道頁面上,執行以下操作:

    1. 輸入閘道的 Name (名稱)。考慮將閘道位置包含在名稱中,方便您輕鬆識別。

    2. 適用於Greengrass 組 ID下,選擇您先前建立的 Greengrass 拉斯羣組。

      
                              AWS IoT SiteWise 「新增閘道」頁面的螢幕擷取畫面。
    3. (可選)對於Edge 功能,選擇資料處理包。這樣,您的網關與為邊緣配置的任何資產模型和資產之間的通信。如需詳細資訊,請參閱 啟用邊緣資料處理

      重要

      如果將數據處理包添加到網關,則必須在AWS IoT Greengrass組。執行後續步驟。

    4. 選擇 Add Contact (新增閘道)

  4. 如果將數據處理包添加到網關,請配置和部署AWS IoT SiteWise數據處理器連接器AWS IoT Greengrass組。請遵循設定 AWS IoT SiteWise 連接器配置AWS IoT SiteWise數據處理器連接器:

    1. 適用於選擇連接器中的AWS IoT Greengrass控制台中,選擇AWS IoT SiteWise資料處理器

    2. 適用於本機儲存路徑下,輸入閘道的路徑。

    3. 選擇 Add (新增)

    4. 在右上角,在動作菜單中,選擇部署選擇,接著選擇自動偵測以開始部署。

部署閘道後,您可以為每個要讓閘道從中獲取資料的服務器添加來源。如需詳細資訊,請參閱 設定資料來源

您可以檢視卓越亞馬遜 CloudWatch 衡量指標,以驗證您的閘道連接至AWS IoT SiteWise。如需詳細資訊,請參閱 閘道指標