後にArmadilloがカメラから取得した画像を閲覧するために、WebサーバーをAmazon Elastic Compute Cloud(EC2)上に構築します。
本手順では、EC2のインスタンスの作成を行います。
EC2のインスタンスの作成を行うことができるIAMユーザーで作業を行ってください。
EC2インスタンスページにアクセスし、「インスタンスを起動」をクリックしてください。
「ステップ1: Amazonマシンイメージ(AMI)」では、無料枠のある「Ubuntu Server 20.04 LTS (HVM)」の64ビットを選択してください。
「ステップ2: インスタンスタイプの選択」では、無料枠の「t2.micro」を選択し、「確認と作成」をクリックしてください。
「ステップ7: インスタンス作成の確認」では、「セキュリティグループの編集」をクリックしてください。
「ステップ6: セキュリティグループの設定」では、「ルールの追加」をクリックし、以下の様に設定して「確認と作成」をクリックしてください。
再度「ステップ7: インスタンス作成の確認」に戻りますので、右下の「起動」をクリックしてください。
クリックすると、以下のポップアップが出るので、「新しいキーペアの作成」を選択し、キーペア名は任意の文字列を入力して「キーペアのダウンロード」を行ってください。
以下の例ではキーペア名を「monitoring_camera」として行っています。
「[キーペア名].pem」を任意の場所に保存しておいてください。
その後、「インスタンスの作成」をクリックしてください。
しばらくするとインスタンスの起動が完了します。
3.1.1.2. インスタンスへのIAMロールの追加
作成したEC2インスタンスは、S3とDynamoDBへの読み込みアクセスが可能である必要があります。
本手順では、作成したEC2インスタンスに適切なIAMロールを割り当てます。
EC2インスタンスページから先程作成したインスタンスを選択し、「アクション」→「セキュリティ」→「IAM ロールを変更」をクリックしてください。
「新しいIAM ロールを作成」をクリックしてください。
新しいタブでページが開かれるので、「ロールの作成」をクリックしてください。
「または、サービスを選択してユースケースを表示します」から「EC2」をクリックし、画面下部に表示された「ユースケースの選択」から「EC2」を選択して、「次のステップ: アクセス権限」をクリックしてください。
以下の2つのポリシーをアタッチし、「次のステップ: タグ」に進みます。
-
AmazonDynamoDBReadOnlyAccess
-
AmazonS3ReadOnlyAccess
タグは設定不要です。
「次のステップ: 確認」に進みます。
「ロール名」に任意の文字列を設定してください。
以下の例では「EC2WebServer」としています。
ロール名が決まったら「ロールの作成」をクリックしてください。
「IAM ロールを変更」の画面に戻り、更新ボタンをクリックし、プルダウンメニューから作成したIAM ロールを選択してください。
選択したら、「保存」をクリックしてください。
EC2インスタンスページに戻り、作成したインスタンスを選択してインスタンスの再起動を行ってください。
しばらくすると再起動が完了します。
EC2インスタンスページから先程作成したインスタンスを選択し、「接続」をクリックしてください。
「インスタンスに接続」の「SSH クライアント」タブを開き、「4. ご使用中のインスタンスのパブリックDNSを使用してインスタンスに接続」の下にある文字列をメモしてください。
以上でEC2の設定は完了です。
次にAmazon Simple Storage Service(S3)上にバケットを作成します。
S3のバケット作成を行うことができるIAMユーザーで作業を行ってください。
S3バケットページにアクセスし、「バケットを作成」をクリックしてください。
「バケット名」は任意の文字列、リージョンは「アジアパシフィック(東京) ap-northeast-1」を選択して、「ブロックパブリックアクセスのバケット設定」では「パブリックアクセスをすべてブロック」のチェックを外し、「現在の設定により、このバケットとバケット内のオブジェクトがパブリックになる可能性があることを承認します。」にチェックを入れて「バケットの作成」をクリックしてください。
バケット一覧に作成したバケットが表示されたら完了です。
3.1.2.2. S3バケットのライフサイクルルールの追加
「S3バケットの作成」で作成したバケットをそのまま使用しても問題ありませんが、現状の設定ではバケットに保存された画像は手動で削除しない限り永遠に残り続けます。
S3は保存容量による課金がありますので、このままの運用では料金が膨れ上がっていきます。
本手順では、作成したS3バケットにライフサイクルルールを追加し、保存から2日で自動的に削除されるように設定します。
作成したS3のバケットページから、「管理」タブをクリックします。
管理タブから「ライフサイクルルールを作成する」をクリックしてください。
「ライフサイクルルールを作成する」ページに遷移するので、以下の様に設定します。
-
「ライフサイクルルール名」: S3_lifecycle
-
「ルールスコープを選択」: 「このルールは、バケット内のすべてのオブジェクトに適用されます」を選択
-
「このルールがバケット内のすべてのオブジェクトに適用されることを了承します。」にチェック
「ライフサイクルルールのアクション」は以下の2つにチェック
-
「オブジェクトの現行バージョンの有効期限が切れる」
-
「オブジェクトの以前のバージョンを完全に削除する」
-
「オブジェクトの現行バージョンの有効期限が切れる」の「オブジェクト作成後の日数」を 1 に設定
-
「オブジェクトの以前のバージョンを完全に削除する」の「オブジェクトが以前のバージョンになってからの日数」を 1 に設定
設定後、「ルールの作成」をクリックしてください。
以上でS3の設定は完了です。
AWSマネジメントコンソールへログインし、サービス一覧からIAMを選択してください。その後、ユーザータブを開き、「ユーザーを追加」をクリックします。
下記の通り入力、選択し「次のステップ:アクセス権限」に進みます。
-
ユーザー名
-
AWSアクセスの種類を両方選択
-
コンソールのパスワードは自動生成パスワードを選択
-
「パスワードのリセットが必要」にチェックを入れる
下記の手順でポリシーをアタッチし、「次のステップ: タグ」に進みます。
-
「既存のポリシーを直接アタッチ」を選択
表示された中から以下にチェック
-
AmazonS3FullAccess
-
AmazonDynamoDBFullAccess
今回は設定不要です。
「次のステップ:確認」に進みます。
確認画面が表示されます。
設定した通りの内容になっていることを確認し、「ユーザーの作成」をクリックしてください。
成功すると下記のような画面が表示されます。
後ほどArmadillo-X1の設定で使用するため、ここでは必ずcsvのダウンロードを忘れずに行ってください。
行わなかった場合、再度IAMユーザーを作成する必要があります。
ダウンロードしたファイル( new_user_credentials.csv )の内容は、以下のようなカンマ区切りの文字列になります。
User name,Password,Access key ID,Secret access key,Console login link
user,pass,AWS123,asdfghjkl,https://***.signin.aws.amazon.com/console
この例の場合、Access key IDの値は AWS123
で、Secret access keyの値は asdfghjkl
です。
3.1.4. IDS Software Suiteのダウンロード
本アプリケーションノートで使用するカメラのドライバを含むソフトウェアのダウンロードを行います。
ダウンロードページから、対応するソフトウェアをダウンロードしてください。
今回ダウンロードするソフトウェアは、ダウンロードするためにサイトへの登録が必要となっていますので、登録後にダウンロードを行ってください。
例として本アプリケーションノートで使用するUI-5220SEのダウンロードページは こちらです。
ダウンロードページから、「 ids-software-suite-linux-armhf-[VERSION].tgz 」をダウンロードしてください。
監視カメラシステムのインストールディスクイメージをダウンロードしてください。
次にダウンロードしたインストールディスクイメージをSDカードに書き込みます。
インストールディスクイメージはzip圧縮されていますので、書き込み前に展開してください。
SDカードをPCに接続してください。
PCのOS毎に書き込み方法が異なりますので、該当の項目を参考に書き込んでください。
インストールディスクの第1パーティションには、本アプリケーションが動作するための設定を記入するファイルが格納されています。
本手順ではそれらの設定ファイルの編集方法について説明します。
Armadiiloが動作するための各種ファイルを配置します。
-
インストールディスクイメージが書き込まれたSDカードをPCに接続
「ファイル」から「1.1GB ボリューム」をクリック
下記のファイルを etc/monitoring_camera/ 以下に配置してください。
本アプリケーションが動作する際の初期設定値の編集を行います。
-
「ファイル」から「1.1GB ボリューム」をクリック
etc/monitoring_camera/parameter.json をテキストエディタで開きます
以下の7項目を編集します( s3_bucket_nameとec2_public_dnsは必ず編集してください )
以下は編集例です
SDカードの2つのボリュームをアンマウントしてから、PCからSDカードを抜いてください。
以上で起動前の設定ファイルの書き込みは完了です。
SDスロット拡張ボード上のスライドスイッチを「SD BOOT」に設定し、Armadillo-X1に取り付けてください。
作成したインストールディスクをSDスロット拡張ボードに挿入し、Armadillo-X1上のユーザスイッチを押しながら電源を投入してください。
Armadillo-X1へのソフトウェアのインストールが開始されます。
インストールには数分間かかります。
インストールの進捗は、Armadillo-X1の緑色LEDの状態で確認することが出来ます。
インストールの進捗とLEDの状態の関係は以下の表の通りです。
緑色LEDが点滅から点灯に変わり、インストールが完了したらACアダプタを抜いてください。