AWS IoT Greengrass Core를 Raspberry Pi에 자동 설치하는 단계

6177 단어 RaspberryPiawsIoTAWS
여기에 gg-device-setup-latest.sh 스크립트를 이용합니다. 자동 설치의 원본 정보도 여기를 참조합니다.

다음 항목을 조합하여 자동 설치합니다.

사전 준비



SSH를 활성화하여 작업 폴더를 만듭니다.
mkdir ~/work
cd ~/work

작업 PC 쪽에서 다음 원라이너로 AWS 자격 증명 얻기 합니다.
aws sts get-session-token --query 'Credentials | {A:AccessKeyId,B:SecretAccessKey,C:SessionToken}' --output yaml | awk  'NR==1{print "export AWS_ACCESS_KEY_ID="$2} NR==2{print "export AWS_SECRET_ACCESS_KEY="$2} NR==3{print "export AWS_SESSION_TOKEN="$2}'

변수 설정


# ワンライナーで取得したAWS認証情報
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=

# 以下は適当に調整します
MAC_ADDR=$(ethtool -P eth0 | cut -d" " -f3 | tr -d :)
export GG_GROUP_NAME=otomo-pi-grp-${MAC_ADDR}
export GG_CORE_NAME=otomo-pi-core--${MAC_ADDR}
export AWS_REGION=ap-northeast-1

OS 설정 및 Config 생성


wget -q -O ./gg-device-setup-latest.sh https://d1onfpft10uf5o.cloudfront.net/greengrass-device-setup/downloads/gg-device-setup-latest.sh && chmod +x ./gg-device-setup-latest.sh && sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass \
--region ${AWS_REGION} \
--group-name ${GG_GROUP_NAME} \
--core-name ${GG_CORE_NAME} \
--ggc-root-path / --log-path ./ --deployment-timeout 300  \
--verbose

스크립트가 완료되면 다음과 같이 GreengrassDeviceSetup.config.info가 출력됩니다.


cgroup 등의 OS 설정을 반영하기 위해 재부팅합니다.
sudo reboot

Greengrass Core 설치



Raspbean 다시 SSH로 로그온합니다.
# AWS認証情報の設定
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=

# ワークディレクトリに移動
cd ~/work

# プロンプトの答えのyesを流し込みスクリプトを実行
echo "yes" | sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass

아래와 같이 표시되면 설치 완료입니다.



[옵션] Python3.7의 greengrasssdk 설치



greengrasssdk는 초기에 도입되지 않았으므로 필요에 따라 설치합니다.
curl -kL https://bootstrap.pypa.io/get-pip.py | sudo python3.7
sudo pip3.7 install greengrasssdk

[Option] systemd 설정



다음 명령으로 Greengrass Core를 서비스합니다.
# systemdの設定を投入
cat <<EOF | sudo tee /etc/systemd/system/greengrassd.service
[Unit]
Description=Greengrass Daemon

[Service]
Type=forking
PIDFile=/var/run/greengrassd.pid
Restart=on-failure
ExecStart=/greengrass/ggc/core/greengrassd start
ExecReload=/greengrass/ggc/core/greengrassd restart
ExecStop=/greengrass/ggc/core/greengrassd stop

[Install]
WantedBy=multi-user.target
EOF
# サービスを有効化
sudo systemctl daemon-reload
sudo systemctl enable greengrassd.service
sudo systemctl start greengrassd.service

Ansible화



여기 자신의 블로그 기사 에서 Ansible화도 해 보았습니다.

좋은 웹페이지 즐겨찾기