systemd を使用して Hub SDK をデプロイする - のマネージド統合 AWS IoT Device Management

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

systemd を使用して Hub SDK をデプロイする

重要

最新の更新についてはreadme.md、 release.tgz ファイルの hubSystemdSetup ディレクトリにある に従ってください。

このセクションでは、Linux ベースのハブデバイスにサービスをデプロイして設定するためのスクリプトとプロセスについて説明します。

概要

デプロイプロセスは、次の 2 つの主要なスクリプトで構成されます。

  • copy_to_hub.sh: ホストマシンで を実行して、必要なファイルをハブにコピーします

  • setup_hub.sh: ハブで を実行して環境を設定し、サービスをデプロイします

さらに、 はプロセスのブートストラップシーケンスとプロセスのアクセス許可管理systemd/deploy_iotshd_services_on_hub.shを処理し、 によって自動的にトリガーされますsetup_hub.sh

前提条件

デプロイを成功させるには、リストされている前提条件が必要です。

  • systemd サービスがハブで利用可能に

  • ハブデバイスへの SSH アクセス

  • ハブデバイスの Sudo 権限

  • scp ホストマシンにインストールされた ユーティリティ

  • sed ホストマシンにインストールされた ユーティリティ

  • ホストマシンにインストールされている unzip ユーティリティ

ファイル構造

ファイル構造は、さまざまなコンポーネントの整理と管理を容易にし、コンテンツの効率的なアクセスとナビゲーションを可能にするように設計されています。

hubSystemdSetup/ ├── README.md ├── copy_to_hub.sh ├── setup_hub.sh ├── iotshd_config.json # Sample configuration file ├── local_certs/ # Directory for DHA certificates └── systemd/ ├── *.service.template # Systemd service templates └── deploy_iotshd_services_on_hub.sh

SDK リリース tgz ファイルでは、全体的なファイル構造は次のとおりです。

IoT-managed-integrations-Hub-SDK-aarch64-v1.0.0.tgz ├──package/ ├──greengrass/ ├──artifacts/ ├──recipes/ ├──hubSystemdSetup/ ├── REAME.md ├── copy_to_hub.sh ├── setup_hub.sh ├── iotshd_config.json # Sample configuration file ├── local_certs/ # Directory for DHA certificates └── systemd/ ├── *.service.template # Systemd service templates └── deploy_iotshd_services_on_hub.sh

の初期セットアップ

SDK パッケージを抽出する

tar -xzf managed-integrations-Hub-SDK-vVersion-linux-aarch64-timestamp.tgz

抽出されたディレクトリに移動し、パッケージを準備します。

# Create package.zip containing required artifacts
zip -r package.zip package/greengrass/artifacts
# Move package.zip to the hubSystemdSetup directory
mv package.zip ../hubSystemdSetup/

デバイス設定ファイルを追加する

リストされている 2 つのステップに従ってデバイス設定ファイルを作成し、ハブにコピーします。

  1. デバイス設定ファイルを追加して、必要なデバイス設定ファイルを作成します。SDK は、このファイルをその関数に使用します。

  2. 設定ファイルをコピーして、作成した設定ファイルをハブにコピーします。

ハブにファイルをコピーする

ホストマシンからデプロイスクリプトを実行します。

chmod +x copy_to_hub.sh
./copy_to_hub.sh hub_ip_address package_file
./copy_to_hub.sh 192.168.50.223 ~/Downloads/EAR3-package.zip

これにより、以下がコピーされます。

  • パッケージファイル (ハブの package.zip に名前変更)

  • 設定ファイル

  • 証明書

  • Systemd サービスファイル

ハブのセットアップ

ファイルがコピーされたら、ハブに SSH 接続し、セットアップスクリプトを実行します。

ssh hub@hub_ip
chmod +x setup_hub.sh
sudo ./setup_hub.sh

ユーザーとグループの設定

デフォルトでは、SDK コンポーネントにユーザーハブとグループハブを使用します。設定には複数の方法があります。

  • カスタムユーザー/グループを使用する:

    sudo ./setup_hub.sh --user=USERNAME --group=GROUPNAME
  • セットアップスクリプトを実行する前に、手動で作成します。

    sudo groupadd -f GROUPNAME
    sudo useradd -r -g GROUPNAME USERNAME
  • でコマンドを追加しますsetup_hub.sh

のサービスを管理する

すべてのサービスを再起動するには、ハブから次のスクリプトを実行します。

sudo /usr/local/bin/deploy_iotshd_services_on_hub.sh

セットアップスクリプトは、必要なディレクトリを作成し、適切なアクセス許可を設定し、サービスを自動的にデプロイします。SSH/SCP を使用していない場合は、特定のデプロイ方法copy_to_hub.shに合わせて を変更する必要があります。デプロイする前に、すべての証明書ファイルと設定が正しく設定されていることを確認します。