こんにちわ。新卒が入ってきて自分の存在意義を考え始めた2年目のゆきとです。
最近、IoTを活用したスマートシティ検討がより活発化していく流れの中で、一際注目を浴びているサービスがFIWARE(分野横断的なデータ流通に主眼を置いたデータ管理基盤)です。
今日は、そんなFIWAREをEC2で使うための環境設定方法を紹介していきます。
*「はじめに」ではFIWAREの紹介をしているだけですので、環境構築だけしたいという方は、「はじめに」を飛ばしてください。
はじめに
FIWAREとは
FIWAREとは分野横断的なデータ流通に主眼を置いたデータ管理基盤です。
7カテゴリー、約40種のモジュール群で構成され、用途に合わせて自由に組み合わせて利用できます。
各モジュールは、OMA(Open Mobile Alliance)で標準化された「NGSI(Next Generation Service Interface)」で規定されており、これを通してデータの受け渡しが行われます。
要は、FIWAREは柔軟性の高いデータモデルで統合管理を可能にするすごいやつなんです。
モジュール群の7カテゴリーは以下の通り。
- DATA/CONTEXT:コンテキスト管理、データ・メディア統合
- Internet of Things:IoTデバイスのサポート
- Advanced UI:3DやAR機能付きWeb UI等
- Security:セキュリティ・モニタリング認証、アクセス管理
- Interface to Networks and Devices (I2ND):ネットワーク、ロボット制御等
- APPS:可視化、ダッシュボード、データセット/サービスの公開
- Cloud:クラウド環境
FIWAREのメリット
メリット1
FIWAREの1番の売りは、なんといっても「低コストかつ効率的な基盤開発が可能」であるということでしょう。
モジュールはいずれもOpenStackやHadoop、ckanなど、新旧を含めたOSSをベースに開発されており、そのリファレンス実装は「FIWARE Catalogue」としてWebで広く公開されています。あとは雛形を参考に、必要なモジュールを組み合わせたり、機能を独自に追加したりなどの作業で、ライセンス費用の負担なくシステム環境を整備できたりもします。(すげー...)
メリット2
FIWAREならではのデータ管理性の高さも外せないポイントです。
その秘密は実世界の多様な情報を抽象化して表現可能な独自のデータモデルにあり、たとえば温度センサーであれば、その属性である『温度』と、属性値である『摂氏』『20』『設置場所』など、多様なデータを『コンテキストデータ』として格納できる点にあります。また、ネットワーク経由でのデータ検出/取り込みのためのAPIも用意されています。
メリット3
システムの独立性の高さも事業者、開発者にとっては外せないポイントです。
FIWAREは、アプリケーションとデータがNGSIにより、いわば“疎結合”となることで、システム改修の手間とコストを軽減しています。結果、システムの見直しや新サービスの追加も容易となり、成功したプロジェクトのデータモデルを参考に、取り組みの横展開までも容易にしてしまいます。
すでに「環境」「交通」「廃棄物管理」「天候」などの領域でいくつものデータモデルが公開されています。
ここまで読むと、FIWAREがなんたるかがわかってきたのではないでしょうか?
さて、前置きが長くなってしまいましたが、それでは本題のFIWAREをEC2で使うための環境設定方法を紹介していきます。
FIWAREをEC2で使うための環境設定方法
開発環境
- windowsPC
環境設定方法詳細
FIWAREをEC2で使うための環境設定方法の手順は下記のステップです。
1. 特定の条件でEC2インスタンスを作成する
下記の条件を満たす形でEC2を作成します
- リージョン : 東京(ap-northeast-1)
- OS : Amazon Linux 2 AMI (HVM), SSD Volume Type
- インスタンスタイプ : t2.micro
- セキュリティグループ : allow-ssh (22番ポートを開放していれば名前はなんでもよい)
2. Teratermを使ってEC2へログイン
Teraterm(windowsに内蔵された基本ツール)を使って、ステップ1で作成したEC2へ接続します。
Teratermを使って、EC2へログインをする際に必要な設定項目は下記です。
* 下の写真を追いかけながら、EC2へのログインを試みてください。
3. EC2の中にdocker、docker-composeをインストールする
-
Dockerのインストール(2021年4月9日現在Docker 19.03.13-ceがインストールされます)
-
sudo yum install -y docker
-
sudo systemctl start docker
-
sudo usermod -a -G docker ec2-user(※ec2-userの場合を想定)
-
-
(オプション)自動起動を有効にする
-
sudo systemctl enable docker
-
-
docker-composeのインストール
-
sudo curl -L https://github.com/docker/compose/releases/download/1.28.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose (Docker Composeは1.28.5をインストールします)
-
sudo chmod +x /usr/local/bin/docker-compose
-
-
一度EC2からログアウト、再ログイン(docker、docker-composeコマンドが使えるようになっています)
4. docker環境にFIWAREを導入する
- docker環境にFIWAREを導入
- docker pull mongo:3.6
- docker pull fiware/orion
- docker network create fiware_default
上記の様な画面が表示されるとFIWAREのインストールは完了です。
ここで終わっても良いのですが、それでは味気ないので実際にFIWAREを入れたdocker環境にローカル環境アクセスし、FIWAREのバージョンを確認してみましょう!
MongoDB データベースを実行している Docker コンテナを起動し、ネットワークに接続するには、次のコマンドを実行します 。
docker run -d --name=mongo-db --network=fiware_default \
--expose=27017 mongo:4.2 --bind_ip_all
Orion Context Brokerは、次のコマンドを使用して起動し、ネットワークに接続できま す。
docker run -d --name fiware-orion --network=fiware_default \
-p 1026:1026 fiware/orion -dbhost mongo-db
ここまでできればあとは、EC2のIPアドレスに/version/をつけてアクセスしてみてください!FIWAREのバージョンを見ることができます。
ex. http://124.654.493:1026/version/
できた!!!
今日の内容は以上です!少しでも参考になれば幸いです。
それではまた後日!