systemd를 사용하여 Hub SDK 배포 - 에 대한 관리형 통합 AWS IoT Device Management

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

systemd를 사용하여 Hub SDK 배포

중요

최신 업데이트는 release.tgz 파일의 hubSystemdSetup 디렉터리readme.md에 있는를 따르세요.

이 섹션에서는 Linux 기반 허브 디바이스에 서비스를 배포하고 구성하기 위한 스크립트 및 프로세스에 대해 설명합니다.

개요

배포 프로세스는 두 가지 기본 스크립트로 구성됩니다.

  • copy_to_hub.sh: 호스트 시스템에서 실행하여 필요한 파일을 허브에 복사합니다.

  • setup_hub.sh: 허브에서 실행하여 환경을 구성하고 서비스를 배포합니다.

또한는 프로세스 부트스트랩 시퀀스 및 프로세스 권한 관리를 systemd/deploy_iotshd_services_on_hub.sh 처리하고에 의해 자동으로 트리거됩니다setup_hub.sh.

사전 조건

배포에 성공하려면 나열된 사전 요구 사항이 필요합니다.

  • 허브에서 systemd 서비스 사용 가능

  • 허브 디바이스에 대한 SSH 액세스

  • 허브 디바이스에 대한 Sudo 권한

  • scp 호스트 시스템에 설치된 유틸리티

  • sed 호스트 시스템에 설치된 유틸리티

  • 호스트 시스템에 설치된 유틸리티의 압축을 풉니다.

파일 구조

파일 구조는 다양한 구성 요소의 구성 및 관리를 용이하게 하여 콘텐츠에 효율적으로 액세스하고 탐색할 수 있도록 설계되었습니다.

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/

디바이스 구성 파일 추가

나열된 두 단계에 따라 디바이스 구성 파일을 생성하고 허브에 복사합니다.

  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으로 이름이 변경됨)

  • 구성 파일

  • 인증서

  • 시스템화된 서비스 파일

허브 설정

파일을 복사한 후 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 맞게를 수정해야 합니다. 배포하기 전에 모든 인증서 파일 및 구성이 올바르게 설정되었는지 확인합니다.