4 サービスの展開方法

SenseIDのインストール方法について記載しています。

SenseIDを認証するための展開方法について、主にインストール、設定、重要なサービスの起動、また発生する可能性のある問題とその解決策について詳しく説明しています。

4.1 インストールパッケージの展開確認

ライセンスファイルファイルを配置する為に、パッケージを解凍します。手順は3.3.1節をご参照ください。

解凍されたファイルのディレクトリへ移動し、現在のディレクトリにあるファイルを表示します。

$ cd 1v1-private-cloud-v1.8
$ ls -1

構造は次のとおりです。

api.tar
docker-compose
docker-compose.yml
go-workers
load_image.sh
package.toml
product.toml

4.2 Go-Workersの展開

このサービスは主要なコンピューティングサービスであるため、できれば専用のサーバーリソースを割り当てるようにしてください。

4.2.1 並行CPU数を調整

Go-Workersを配置する前に、サーバーの物理CPUコア数を確認する必要があります。物理CPUコア情報を取得するコマンドは以下のとおりです。

$ echo Cores=$(($(lscpu | awk '/^Socket/{print $2}') * $(lscpu | awk '/^Core/{print $4}')))

Go-Workersディレクトリへ移動して.envファイルを開き、専用サーバーを利用する場合、HANDLERSの値を先程確認した物理CPUコア数に設定してください。それ以外の場合は、コア数を指定してください。編集後、.envファイルを保存してください。

$ cd go-workers
$ vi .env

HANDLERSには、サーバーの物理CPUコア数を超える値を設定することはできません。HANDLERS値が大きいほど、サービスの同時実行数が高くなり、メモリとCPUの消費量が多くなります。

4.2.2 Go-Workersサービスを開始

開始する前に、ライセンスが置き換え済であることを確認してください。

Go-Workersサービスを開始します。

$ sudo ./start.sh

この命令を実行する必要があるのは一度のみです。

なお、展開ディレクトリ内に停止スクリプトも用意されています。停止したい場合、以下の命令を実行してください。

$ sudo ./stop.sh

4.2.3 Go-Workersサービス開始の確認

サービスが正常に開始したかを確認するために、以下の命令でログを参照します。

$ tail -f tmp/worker.log.0

tailコマンドの実行結果にポート番号50050のServer Listenが含まれていれば、サービスが正常に開始されたことを示します。

また、以下の命令でヘルスチェックを実施してください。

$ curl 127.0.0.1:50050/healthcheck

正常に展開された場合の実行結果の例は、以下のとおりです(これはサービスが正常に開始したことを示しています)。

{"request_id":"07a41c21822e4223a373e77bfc186ed2","status":"ok"}

4.3 Ruby-Cloud-APIを展開

以下のサービスのデプロイはDockerに依存しますので、ご自身でDockerをインストールしてください。

4.3.1 サービスイメージを読み込む

Ruby-Cloud-APIのイメージファイルを読み込みます。

$ cd 1v1-private-cloud-v1.8
$ sudo ./load_image.sh

実行結果は以下のとおりです。

Loaded image: registry.sensetime.com/senseid-cloudv2/api-1v1:xxx

4.3.2 Go-Workersサービスアドレスを設定

Go-WorkersサーバーのIPアドレスを取得してください。

$ hostname -I | cut -d' ' -f1

SenseIDインストールパッケージのルートフォルダにある.envファイルを開きます。

$ vi .env

最終行の WORKER_IP 値を、Go-Workersサービスが展開されているサーバーの IP アドレスで設定します。

4.3.3 並行CPU数を調整

Go-Workersと同様に、サーバーの物理CPUコア数を設定します。

$ vi .env

.envファイルを開き、専用サーバーを利用する場合、API_HANDLESの値を先程確認した物理CPUコア数に設定してください。それ以外の場合は、コア数を指定してください。編集後、.envファイルを保存してください。

API_HANDLESには、サーバーの物理CPUコア数を超える値を設定することはできません。API_HANDLES値が大きいほど、サービスの同時実行数が高くなり、メモリとCPUの消費量が多くなります。

4.3.4 Ruby-Cloud-APIサービス開始

Ruby-Cloud-APIサービスを開始します。

$ sudo ./docker-compose up -d

結果は、以下のとおりです。

Creating network "1v1-private-cloud-yyyymmdd_default" with the default driver
Creating 1v1-private-cloud-yyyymmdd_api_1 ... done

Dockerが起動していることを確認します。

$ sudo ./docker-compose ps

結果は以下のとおりです。

         Name                    Command             State               Ports
---------------------------------------------------------------------------------------
1v1-private-cloud_api_1   ./entrypoint.sh start   Up (healthy)   0.0.0.0:3000->3000/tcp

ここまででサービスは展開されています。

4.3.5 Ruby-Cloud-APIサービス開始を確認

以下の命令で、ヘルスチェックを実施してください。

$ curl 127.0.0.1:3000/healthcheck

正常に展開された場合、実行結果の例は以下のとおりです(サービスが正常に開始したことを示しています)。

{"code":1000,"status":"ok"}

最終更新