環境の準備

ホストマシン

Diamond ホストでは、クラスタ管理コンポーネントが稼働します。HA 環境以外の場合は、1 台の Diamond ホストで十分です。HA を設定する場合は 3 台の Diamond ホストが必要です。

SenseLink ホストでは、SenseLink サービスが稼働します。HA クラスタとして 3 台のホストが必要です。SenseLink Enterprise Pro 用ホストの最小システム要件を以下に記載します。

ELK ホストでは、Elasticsearch サービスが稼働します。HA クラスタとして 2 台以上のホストが必要です。ELK ホストには大容量ストレージディスクを搭載することを推奨します。 ストレージ容量の要件については、以下の表をご参照ください。

デイリーアクティブデバイス

ログレプリカ (デフォルト)

レグリカあたりのログストレージ

有効期限 (デフォルト)

ストレージ要件

備考

100

2

3 GB

15

100 GB

(ログレプリカ) * (レプリカあたりのストレージ) * (有効期限)

200

2

3 GB

15

200 GB

また、 SenseLink ホストの拡張ディスクは、初期化して /data パスにマウントする必要があります。

下記は300台のデバイスで25,000従業員が1日に4回顔認証を実施して1.5年間に使う場合のサーバー構成例です。SenseLinkホストとCVホストはそれぞれ3台の構成となっています。

ホスト名

用途

CPU

メモリ

OS ディスク

拡張ディスク

備考

ECS 0

Diamond ホスト

8 コア

32 GB

500 GB

500 GB

--

ECS 1~3

SenseLink ホスト

8 コア

32 GB

500 GB

500 GB

--

ECS 4~6

CV ホスト

16 コア

120 GB

500 GB

500 GB

GPU*2, Nvidia P100

SenseLinkホストとCVホストをスケールアウトして、それぞれ4台の構成にする場合、400台のデバイスで25,000従業員が1日に4回顔認証を実施して1.5年間に使える見込みです。

SLB サービス

SenseLink Enterprise Pro をクラウド上にデプロイするには、3 つの SLB サービスが必要です。1 つは内部用、2 つは外部トラフィック用です。SLB サービスはデプロイで使用されるため、デプロイの前に SLB の構成を設定する必要があります。

外部 SLB

外部 SLB によりクラウド内のサービスが外部と繋がり、SenseLink 管理者やすべての Sense デバイスがクラウドサービスにアクセスできるようになります。外部 SLB の構成を以下に記載します。1 番目の外部 SLB はインターネットによるアクセスが可能です。2 番目の外部 SLB には、Web 管理サイトおよび Diamond ポータルサイトの管理者のみがアクセスできます。特に 2 番目の外部 SLB は、イントラネットからのアクセスのみを許可することを推奨します。

用途

用途

リスナー

外部ポート

ルール

バックエンド ポート

ホスト

1 番目の外部 SLB

SenseLink ポータル (要認証)

HTTPS

443

RoundRobin

40080

ECS 1/2/3/4/5/6

2 番目の外部 SLB

Diamond ポータル (オプション)

HTTP

30080

RoundRobin

30080

ECS 1/2/3/4/5/6

内部 SLB

内部 SLB は、Kubernetes API の HA サービス用であり、 トラフィックをすべての k8s マスターサーバにルーティングします。これにより、k8s マスターホストがクラッシュしても、現行の k8s クラスタに影響が及ぶことはありません。

用途

リスナー

外部ポート

ルール

バックエンドポート

ホスト

Kubernetes HA

TCP または HTTPS

9443

RoundRobin

6443

ECS 0/1/2

外部サービス

SenseLink では、ソリューション内の MongoDB、MySQL、Redis および OSS が活用されます。これらのサービスは、クラウドプロバイダーから購入します。このとき、サービスの仕様が以下に記載する要件を満たしているかを注意して確認する必要があります。 特にデータベースのアカウントに注意が必要です。ユーザやデータベースを作成するには、高い特権 が設定されたアカウントが必要です。

サービス

バージョン

アカウント

備考

MySQL

v5.7

高い特権

# setting global variables set global innodb_large_prefix=1; set global log_bin_trust_function_creators=1;

MongoDB

v4.0

高い特権

---

Redis

v5.0

--

--

OSS

--

--

--

RDS前提条件

SenseLinkをインストールする前に、データベースの初期化が必要です。高特権のアカウントを使用して、下のSQLでデータベースを初期化してください。

# Make sure the global variables is setup
set global innodb_large_prefix=1;
set global log_bin_trust_function_creators=1;

drop database  bi_slink_base; 
drop database  bi_slink_device_log; 
drop database  bi_link_fs;
create database IF NOT EXISTS bi_slink_base default charset=utf8mb4; 
create database IF NOT EXISTS bi_slink_device_log default charset=utf8mb4; 
create database IF NOT EXISTS bi_link_fs default charset=utf8mb4;

create user IF NOT EXISTS 'senselink'@'%' identified by 'senselink_2018_local';
grant all on bi_slink_base.* to senselink@'%' identified by 'senselink_2018_local' with grant option;
grant all on bi_link_fs.* to senselink@'%' identified by 'senselink_2018_local' with grant option;
grant all on bi_slink_device_log.* to senselink@'%' identified by 'senselink_2018_local' with grant option;
flush privileges;

サーバホストに接続するための キーリングデータ がローカルファイルに保存されている場合、keyring_file プラグイン が必要です。 キーリングプラグインがアクティブになっているかを確認するには、SHOW PLUGINS 構文を使用するか、INFORMATION_SCHEMA.PLUGINS テーブルに対してクエリを実行します。以下に例を示します。

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS  
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+

その他の前提条件

(オプション) すべてのホストのニックネームを設定

デプロイや稼働中、 Diamond ホストからワークロードホストに対して ssh の実行が必要になる場合があります。すべての ECS ホストの /etc/hosts でニックネームを設定すると、ssh を簡単に実行できるようになります。ニックネームは、ECS の元のホスト名にすることもできます。

10.10.10.1  hostname1  # Diamond Host & k8s master
10.10.10.2  hostname2  # k8s master
10.10.10.3  hostname3  # k8s master
10.10.10.4  hostname4  # SenseLink Host 1
10.10.10.5  hostname5  # SenseLink Host 2
10.10.10.6  hostname6  # SenseLink Host 3

最終更新