はじめに
こんにちは、すぎもんです
今回は 2024年12月にリリースを予定している HULFT10 Smart Proxy を先行で触ってみました!
HULFT10 Smart Proxy は、HULFT通信を中継したり、外部ネットワークからHULFT10 Smart Proxyを経由してオンプレミスのHULFTに配信要求や送信要求できます。
※ HULFT10 Smart Proxyの他にNginxとPostgreSQLのインストールが必要です。
HULFT10 について紹介している公式サイトもあわせてご覧ください。
■ HULFT10 製品紹介ページ
【公式】HULFT10 Smart Proxy ガイド
※2024年11月11日以降公開予定
本資料は2024年9月開発中時点のリリース前モジュールでの環境構築ナレッジです。
設定内容等の細かい部分は変更になる可能性がある点、ご留意ください。
今回やること
HULFT10 Smart Proxy とNginx、PosgreSQLを導入して環境構築を行います。
最初に、WebサーバーアプリケーションのNginxの導入とモジュールの追加と証明書の配置、ファイルの設定等を行います。
次に、PosgreSQLの導入とデータベースの新規作成を行います。
最後に、HULFT10 Smart Proxyを任意のディレクトリーに展開し、各ファイルの設定と、セットアップコマンドの使用を行っていきます。
それでは早速やってみましょう!
実施手順
以下の流れでHULFT10 Smart Proxyの環境構築を行っていきます。
- ① Nginxの導入
- 1. Nginxの導入
- 2. 追加パッケージ
- 3. 追加モジュール
- 4. 証明書の配置
- 5. Nginxの設定
- ② PosgreSQLの導入
- 1. PosgreSQLの導入
- 2. データベースの作成
- ② HULFT10 Smart Proxyの導入
- 1. HULFT10 Smart Proxyの導入
- 2. 環境変数
- 3. APIサーバー設定ファイル
- 4. WSSサーバー設定ファイル
- 5. セットアップコマンド
- 6. 実行ファイルの作成
① Nginxの導入
先ずはWebサーバーアプリケーションの Nginx の導入から始めます。
Nginxの導入は、下記の手順で行っていきます。
- Nginxの導入
- 追加パッケージ
- 追加モジュール
- 証明書の配置
- Nginxの設定
1. Nginxの導入
nginx.org のサイトからバージョン1.24以降のNginxソースコードをダウンロードします。
wget http://nginx.org/download/nginx-1.24.0.tar.gz
ダウンロードしたNginxを任意のディレクトリーに導入します。
./configure --prefix=/usr/local --conf-path=/(導入ディレクトリー)/nginx/conf/nginx.conf
このとき、必要なパッケージが不足しているとエラーが表示される場合があります。
./configure: error: the HTTP rewrite module requires the PCRE library.
上記の場合は、Nginxの導入に 必要なパッケージ を追加してください。
パッケージを追加したら、Nginxを導入し直してください。
2. 追加パッケージ
先述の Nginxの導入 で必要なパッケージが不足のエラーが表示された場合、パッケージの追加を行ってください。
■ openssl-devel 導入例
yum install openssl-devel
■ pcre-devel 導入例
yum install pcre-devel
■ zlib-devel 導入例
yum install zlib-devel
3. 追加モジュール
Nginx にTCPを透過するためのモジュールを組み込みます。
./configure --with-http_ssl_module --with-stream
make
make install
4. 証明書の配置
TLS 通信を行うために、サーバー証明書を任意のディレクトリーに配備します。
サーバー証明書については、正規のサーバー証明書を入手する必要があります。
mkdir /etc/certs
openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -keyout /etc/certs/server.key -out /etc/certs/server.crt -subj "/CN=localhost" -addext "subjectAltName = DNS:localhost“
openssl genrsa -out cert.key 2048
openssl req -subj /CN=localhost -key cert.key -out cert.pem -new -x509
cp cert.key cert.pem /usr/local/nginx/conf
配備したサーバー証明書は、Nginxの設定ファイル(nginx.conf) で指定します。
5. Nginxの設定
NginxからHULFT10 Smart Proxy(Web API)またはHULFT10 Smart Proxy(WSS)に処理を振り分けるための設定を行います。
設定は、Nginxの設定ファイル (/(導入ディレクトリー)/nginx/conf/nginx.conf) にて行います。
Web APIまたはWSSへの振り分け
本記事では、https 標準待ち受けポート(443)で受信した要求の振り分け について記載しています。
# HTTPS server
#
server {
listen 443 ssl;
server_name localhost;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
#
# bind to api-server port
location /api/ {
proxy_pass https://sp-api-server-001:41000;
}
# bind to wss-server port
location /wss/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass https://sp-wss-server-001:42000/;
}
}
② PosgreSQLの導入
続いてPosgreSQLの導入を下記の手順で行っていきます。
- PosgreSQLの導入
- データベースの作成
1. PosgreSQLの導入
postgresql.orgのサイトからバージョン16以降のPostgreSQLをダウンロードします。
ダウンロードしたPostgreSQLを任意のディレクトリーに導入します。
2. データベースの作成
導入したPostgreSQL に任意の名称でデータベースを作成します。
CREATE DATABASE hulsp;
③ HULFT10 Smart Proxy の導入
最後に下記の手順で HULFT10 Smart Proxy の導入を行っていきます。
- HULFT10 Smart Proxyの導入
- 環境変数
- APIサーバー設定ファイル
- WSSサーバー設定ファイル
- セットアップコマンド
- 実行ファイルの作成
1. HULFT10 Smart Proxyの展開
任意のディレクトリーに HULFT10 Smart Proxy(hulft-smart-proxy-v100200.tar.gz) を展開します。
2. 環境変数
HULFT10 Smart Proxyを導入したディレクトリーを 環境変数(HULFT_SMART_PROXY_HOME) に設定します。
3. APIサーバー設定ファイル
APIサーバー設定ファイル(api-config.yml)では、HULFT10 Smart Proxy(Web API)を使用するために、サーバー関連の情報、ログおよびデータベース関連の項目を設定します。
設定ファイルの更新は テキストエディタ で行います。
$HULFT_SMART_PROXY_HOME/etc/api-config.yml
下記が設定項目になります。(※一部抜粋)
■ サーバー関連定義(server)
項目 | 内容 | 備考 |
---|---|---|
port | 41000 | APIサーバーが起動する際に使用するポート番号 |
tls-cert-path | /etc/certs/server.crt | TLS通信を行うためのサーバー証明書のファイルパス |
tls-key-path | /etc/certs/server.key | サーバー証明書に対応する秘密鍵のファイルパス |
■ データベース関連定義(database)
項目 | 内容 | 備考 |
---|---|---|
driver | postgres | データベースへの接続に使用するドライバー名 |
dbname | hulsp | アプリケーションで使用するデータベース名 |
user | postgres | データベースへの接続に使用するユーザー名 |
password | postgres | データベースへの接続に使用するパスワード |
host | localhost | 接続するデータベースのホスト名 |
port | 5432 | 接続するデータベースのポート番号 |
4. WSSサーバー設定ファイル
WSSサーバー設定ファイル(wss-config.yml)では、HULFT10 Smart Proxy(WSS)を使用するために、識別情報、通信、セキュリティ、ログおよびデータベース関連の項目を設定します。
設定ファイルの更新はテキストエディタで行います。
$HULFT_SMART_PROXY_HOME/etc/wss-config.yml
■ WSSサーバー設定ファイルの設定例
下記が設定項目になります。(※一部抜粋)
■ 識別情報定義
項目 | 内容 | 備考 |
---|---|---|
hostname | localhost | 自サーバーのホスト名 |
servicename | demo | 自サービスのサービス名 |
■ 通信関連定義
項目 | 内容 | 備考 |
---|---|---|
inner-bind-ip | 0.0.0.0 | HULFTから接続するためのbind IPアドレス |
inner-port | 31000 | HULFTに接続するための受付ポート |
outer-bind-ip | 0.0.0.0 | WebSocketから接続するためのbind IPアドレス |
outer-port | 42000 | WebSocketに接続するための受付ポート |
■ セキュリティ定義
項目 | 内容 | 備考 |
---|---|---|
tls-cert-path | /etc/certs/server.crt | サーバーがhttpsサーバーとして利用するSSL証明書 |
tls-key-path | /etc/certs/server.key | サーバーがhttpsサーバーとして利用するSSL秘密鍵 |
■ データベース関連定義
項目 | 内容 | 備考 |
---|---|---|
dbDriver | postgres | データベースの接続に使用するドライバー名 |
dbname | hulsp | アプリケーションで使用するデータベース名 |
user | postgres | データベースへの接続に使用するユーザー名 |
password | postgres | データベースへの接続に使用するパスワード |
host | localhost | 接続するデータベースのホスト名 |
port | 5432 | 接続するデータベースのポート番号 |
5. セットアップコマンド
HULFT10 Smart Proxy のセットアップは 「初期セットアップ」 と 「ライセンス登録」 で実行し、登録したライセンスを確認する場合は 「ライセンス一覧」 を行います。
- ■ 初期セットアップ
- HULFT10 Smart Proxyの初期セットアップには、initコマンド を使用します。
setup init
- ■ ライセンス登録
- HULFT10 Smart Proxyのライセンス登録には、activateコマンド を使用します。
setup activate -p (プロダクトキー) -s (シリアル番号) [-t 期間限定ライセンス]
- ■ ライセンス一覧
- 登録したライセンスを確認したい場合は、listコマンドを使用します。
setup list
$ setup list
HOST_NAME
PRODUCT_KEY SERIAL_NUMBER EXPIRY_PERIOD CREATED_AT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ABCDEFG23456789ABCDE23456 1234567891234 ---------- 2025-01-23T12:34:56+00:00
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
789DEFG23456789ABCDE23456 9994567891234 ---------- 2025-01-23T12:34:55+00:00
6. 実行ファイルの作成
HULFT10 Smart Proxy(Web API) と HULFT10 Smart Proxy(WSS) の実行ファイルを作成します。
- ■ HULFT10 Smart Proxy(Web API)の実行ファイルの作成
- $HULFT_SMART_PROXY_HOME/bin/ に、実行ファイルを作成します。
#!/bin/bash
cd "$HULFT_SMART_PROXY_HOME/bin" || { echo "Failed to change directory.
Exiting.";exit 1;}
if [ ! -x "./hsp-api-server" ]; then
echo "./hsp-api-server is not executable. Exiting."
exit 1
fi
./hsp-api-server > /dev/null
- ■ HULFT10 Smart Proxy(WSS)の実行ファイルの作成
- $HULFT_SMART_PROXY_HOME/bin/ に、実行ファイルを作成します。
#!/bin/bash
cd "$HULFT_SMART_PROXY_HOME/bin" || { echo "Failed to change directory.
Exiting.";exit 1;}
if [ ! -x "./hsp-wss-server" ]; then
echo "./hsp-wss-server is not executable. Exiting."
exit 1
fi
./hsp-wss-server > /dev/null
POINT
実行ファイルには、実行権限を付与 する必要があります。
最後に
HULFT10 Smart Proxy とPostgreSQL、Nginxの導入を行ってみましたが、いかがだったでしょうか。
いよいよ2024年12月にリリースされるHULFT10のラインナップの1つである HULFT10 Smart Proxyです!皆様もぜひたくさん触ってみてください。
このブログでは、今後も様々なTopics記事や接続検証等、皆さんの役に立つような記事を投稿していきたいと思います!
ここまで読んでいただきありがとうございました。それでは、また!