Engineerの研鑽

メインはプログラミング系ブログ(本の要約とかもします)

質問はCONTACTやコメントでお願い致します。

【簡単3分】AWS EC2 (Amazon Linux 2)でFIWARE環境を作成してみよう

FIWARE

こんにちわ。新卒が入ってきて自分の存在意義を考え始めた2年目のゆきとです。

 

最近、IoTを活用したスマートシティ検討がより活発化していく流れの中で、一際注目を浴びているサービスがFIWARE(分野横断的なデータ流通に主眼を置いたデータ管理基盤)です。

 

今日は、そんなFIWAREをEC2で使うための環境設定方法を紹介していきます。

*「はじめに」ではFIWAREの紹介をしているだけですので、環境構築だけしたいという方は、「はじめに」を飛ばしてください。

はじめに

FIWAREとは

FIWAREとは分野横断的なデータ流通に主眼を置いたデータ管理基盤です。

7カテゴリー、約40種のモジュール群で構成され、用途に合わせて自由に組み合わせて利用できます。

各モジュールは、OMA(Open Mobile Alliance)で標準化された「NGSI(Next Generation Service Interface)」で規定されており、これを通してデータの受け渡しが行われます。

要は、FIWAREは柔軟性の高いデータモデルで統合管理を可能にするすごいやつなんです。

FIWAREとは分野横断的なデータ流通に主眼を置いたデータ管理基盤

モジュール群の7カテゴリーは以下の通り。

  1. DATA/CONTEXT:コンテキスト管理、データ・メディア統合
  2. Internet of Things:IoTデバイスのサポート
  3. Advanced UI:3DやAR機能付きWeb UI等
  4. Security:セキュリティ・モニタリング認証、アクセス管理
  5. Interface to Networks and Devices (I2ND):ネットワーク、ロボット制御等
  6. APPS:可視化、ダッシュボード、データセット/サービスの公開
  7. Cloud:クラウド環境

FIWAREの特長

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インスタンスを作成する
  2. Teratermを使ってEC2へログイン
  3. EC2の中にdocker、docker-composeをインストールする
  4. docker環境にFIWAREを導入する
1. 特定の条件でEC2インスタンスを作成する

下記の条件を満たす形でEC2を作成します

  • リージョン : 東京(ap-northeast-1)
  • OS : Amazon Linux 2 AMI (HVM), SSD Volume Type
  • インスタンスタイプ : t2.micro
  • セキュリティグループ : allow-ssh (22番ポートを開放していれば名前はなんでもよい)
2. Teratermを使ってEC2へログイン

Teratermwindowsに内蔵された基本ツール)を使って、ステップ1で作成したEC2へ接続します。

Teratermを使って、EC2へログインをする際に必要な設定項目は下記です。

  • ホスト : EC2のパブリックIPv4アドレス
  • ユーザ名 : ec2-user
  • 認証方式 : 秘密鍵(この秘密鍵にはEC2作成時に発行したキーペアを指定してください)

* 下の写真を追いかけながら、EC2へのログインを試みてください。

EC2ログイン1

EC2ログイン2

EC2ログイン3

EC2ログイン4

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のインストール

  • 一度EC2からログアウト、再ログイン(docker、docker-composeコマンドが使えるようになっています)

4. docker環境にFIWAREを導入する
  • docker環境にFIWAREを導入
    • docker pull mongo:3.6
    • docker pull fiware/orion
    • docker network create fiware_default

docker, docker-composeをインストールする

上記の様な画面が表示されると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/

FIWAREバージョン確認

できた!!!

今日の内容は以上です!少しでも参考になれば幸いです。

それではまた後日!

参考サイト

www.sbbit.jp

www.letsfiware.jp

fiware-tutorials.letsfiware.jp

qiita.com