RaspbianにAWS IoT Greengrass Coreをインストールする手順をAnsible化しました。
処理の元ネタ
Qiita側に書いたこの記事の内容です。
前提
- piユーザにSSHでパスワード認証でアクセス可能であること
- Ansibleがインストールされていること
- sshpassがインストールされていること
リポジトリの取得
git clone https://github.com/yomon8/ansible-raspberrypi-greengrass-core.git cd ansible-raspberrypi-greengrass-core
変数の設定
以下のワンライナーで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}'
変数をexportします。
# ワンライナーで取得したAWS認証情報 export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE= # Greengrass設定 export AWS_REGION=ap-northeast-1 export GG_GROUP_NAME=my-pi-grp export GG_CORE_NAME=my-pi-core # Raspberry Pi設定 export RPI_IP=192.168.1.4
Ansible実行
以下のスクリプトからAnsibleが実行できます。変数のExportが漏れているとエラーになります。
/bin/bash install.sh SSH password: