メインコンテンツまでスキップ

ステップ 2: ゲートウェイのインストールと設定

SDA Console でゲートウェイとデバイスの設定が完了したら、次の段階では選択したゲートウェイハードウェアに SDA Glue サービスをインストールします。このインストール手順は Linux と Windows のシステムで異なりますが、いずれの方法も同じ基本原則に従います。すなわち、バックグラウンドで継続的に稼働し、必要に応じてセキュアなトンネルを確立できるサービスをダウンロードして設定する、というものです。

インストール​

インストール手順は主に 2 つの段階で構成されます。

  1. 対象システムに SDA Glue と依存関係をインストールします。
  2. 特定のゲートウェイを認証する、SDA Console から取得した固有の認証情報でサービスを設定します。

インストールを開始する前に、対象システムで管理者権限を保有していることを確認してください。インストール処理では、システムサービスをインストールするために昇格された権限が必要です。Linux では sudo アクセスが、Windows では管理者として PowerShell を実行する必要があります。

警告

インストール手順はプロキシ環境にも対応できますが、各プラットフォーム固有のセクションで詳しく説明する追加の設定手順が必要です。

Linux​

インターネットに直接アクセスできる Linux システムに SDA Glue をインストールするには、ターミナルで次のコマンドを実行します。

curl -sSL 'https://api.eu1.sdaconsole.io/glue/v1/install.sh' | bash -

このコマンドは curl を使用して SDA の API エンドポイントからインストールスクリプトを安全に取得し、即時実行のために bash へパイプします。-sSL フラグにより、転送はサイレントで行われ、エラーが発生した場合は表示され、リダイレクトは安全に追跡されます。

Linux インストール手順の詳細

Linux のインストールでは、SDA Glue サービスのビルドと設定という複雑な処理を担う自動シェルスクリプトを使用します。このスクリプトはいくつかの重要なタスクを実行します。必要なランタイム依存関係とビルドツールのインストール、SDA のセキュアなリポジトリからの SoftEther VPN Client のダウンロードとコンパイル、そしてシステム起動時に自動的に開始される systemd サービスとしての SDA Glue のインストールです。

コンパイル方式を採用することで、検証済みのソースコードからビルドしてセキュリティを保ちながら、さまざまな Linux ディストリビューション間での互換性を確保します。systemd サービスとの統合により、問題が発生した場合にゲートウェイは自動的に再起動し、システム起動時には直ちに稼働を開始します。

実行前にインストールスクリプトを確認したい場合は、コマンドから | bash - の部分を削除するか、ウェブブラウザで https://api.eu1.sdaconsole.io/glue/v1/install.sh に直接アクセスすることで個別に取得できます。この透明性により、インストール処理がシステム上で何を行うのかを正確に把握できます。

プロキシ環境下の Linux​

Linux システムがプロキシサーバー経由でインターネットにアクセスする必要がある場合、インストールスクリプトを実行する前に適切な環境変数を設定する必要があります。現在の bash セッションで http_proxy と https_proxy の環境変数を設定してください。

export http_proxy=http://username:password@proxy.company.com:8080
export https_proxy=http://username:password@proxy.company.com:8080
curl -sSL 'https://api.eu1.sdaconsole.io/glue/v1/install.sh' | bash -

プロキシ URL は、ネットワーク構成で必要とされる場合は認証情報も含め、実際のプロキシサーバーの情報に置き換えてください。

Docker​

Docker は代替の展開方法を提供し、異なるホストシステム間での一貫性とコンテナ化による管理の簡素化を実現します。SDA Glue の Docker イメージは Debian をベースとしており、必要な依存関係がすべて事前設定された状態で含まれているため、手動でのコンパイルや依存関係の管理は不要です。

Docker を使用して SDA Glue を展開するには、必要なネットワーク機能を指定して次のコマンドを実行します。

docker run -d \
--name glue \
--device=/dev/net/tun \
--cap-add=NET_ADMIN \
-v glue-data:/var/lib/sdaglue \
--restart always \
-p 8081:8080 \
public.ecr.aws/t9c5s2d1/sdaglue:latest

このコマンドは「glue」という名前の永続的なコンテナを作成し、予期せず停止した場合には自動的に再起動します。ボリュームマウントにより、コンテナの再起動や更新の前後でゲートウェイの設定と認証データが保持されます。

また、アプリケーションのセットアップ用に Glue ウェブサーバーを稼働させるコンテナのポート 8080 を、ホストのポート 8081 に転送します。これにより http://localhost:8081/ でアクセスできます。

備考

同一ホスト上で複数の SDA Glue コンテナを実行する場合は、競合を防ぐため各コンテナが固有の名前とボリュームマウントを使用するようにしてください。

docker run -d --name glue-factory -v factory-data:/var/lib/sdaglue [...]

高度なネットワーク構成、トラブルシューティング手順、本番環境への展開のベストプラクティスを含む、包括的な Docker 展開ガイドについては、完全なドキュメントをご覧ください。

展開の詳細、設定例、トラブルシューティングのガイダンス。

Windows​

Windows の検索バーで「PowerShell」を検索し、結果を右クリックして「管理者として実行」を選択し、管理者として PowerShell を開きます。昇格された PowerShell セッションが開いたら、次のコマンドを実行します。

iwr -Uri 'https://api.eu1.sdaconsole.io/glue/v1/install.ps1' -UseBasicParsing | iex

この PowerShell コマンドは Invoke-WebRequest(略称 iwr)を使用してインストールスクリプトを取得し、即時実行のために Invoke-Expression(略称 iex)へパイプします。-UseBasicParsing パラメーターにより、さまざまな Windows のバージョンや構成間での互換性が確保されます。

PowerShell による SDA Glue のインストール成功

Windows インストール手順の詳細

Windows のインストール手順では、PowerShell を使用してインストールスクリプトをダウンロードし、実行することでシステムを SDA 接続用に構成します。ソースからソフトウェアをコンパイルする Linux の方式とは異なり、Windows インストーラーは OpenVPN Community Client と SDA Glue サービスのビルド済みバイナリをダウンロードし、SDA Glue を Windows サービスとして登録します。

Windows サービスとの統合により、SDA Glue はシステム起動時に自動的に開始され、問題が発生した場合には自動的に再起動します。これは Linux の systemd 方式と同等の信頼性をもたらしますが、Windows ネイティブのサービス管理基盤を使用します。

Linux の場合と同様に、| iex の部分を削除するか、ウェブブラウザで https://api.eu1.sdaconsole.io/glue/v1/install.ps1 に直接アクセスすることで、実行前にインストールスクリプトを確認できます。

プロキシ環境下の Windows​

Windows システムがプロキシサーバーの背後で稼働している場合、インストール処理には 2 段階のアプローチが必要です。まずプロキシ設定を構成してインストールスクリプトをダウンロードし、次に適切なプロキシ構成でスクリプトを実行します。

まず、プロキシ構成用の PowerShell 変数を設定します。

# Configure your specific proxy details
$ProxyHost="proxy.company.com:8080"
$ProxyUser="your-username"

# Download the installation script through the proxy
iwr -Uri 'https://api.eu1.sdaconsole.io/glue/v1/install.ps1' -UseBasicParsing -OutFile .\glue-install.ps1 -Proxy http://$ProxyHost -ProxyCredential $ProxyUser

# Execute the script with proxy configuration
.\glue-install.ps1 -Proxy $ProxyHost -ProxyCredential $ProxyUser

プロキシ URL の書式には重要な違いがあることに注意してください。Invoke-WebRequest コマンドは完全な URL スキーム(http://proxy.company.com:8080)を必要としますが、インストールスクリプトはホスト名とポートのみ(proxy.company.com:8080)を想定しています。

下部のログが示すとおり、CLI を使用して SDA Glue でプロキシサーバーを設定する必要があります

認証とログイン​

SDA Glue ソフトウェアのインストールが正常に完了したら、物理ゲートウェイを SDA Cloud サービスで認証する必要があります。この認証処理では、対象のゲートウェイ専用に SDA Console が生成した固有の認証情報を使用します。これらの認証情報は、短いゲートウェイ識別子と、セキュリティ強化のために定期的にローテーションされるワンタイムパスワードで構成されます。

SDA Console のゲートウェイセットアップコマンド

SDA Console に戻り、ゲートウェイのセットアップダイアログにある 2 番目のコマンドを見つけてください。このコマンドは次の例のような形式になります。

Linux​

sudo sdaglue login -e eu1 G1ABCD 123456

Docker​

docker exec glue sdaglue login -e eu1 G1ABCD 123456

Windows​

sdaglue.exe login -e eu1 G1ABCD 123456

コマンドの構造には、ヨーロッパリージョンのエンドポイントを指定する -e eu1 フラグ、続いてゲートウェイの固有識別子(G1ABCD など)とワンタイムパスワード(123456 など)が含まれます。これらの値はゲートウェイ固有のものであり、示した例とは異なります。

備考

ワンタイムパスワードはセキュリティ上の理由から定期的に更新されます。認証に失敗する場合は、SDA Console に戻ってゲートウェイセットアップダイアログから最新のパスワードを取得してください。

サービスのステータス​

インストールと認証の手順が完了したら、SDA Glue サービスがシステム上で正しく稼働していることを確認します。

Linux​

systemd コマンドを使用してサービスのステータスを確認します。

sudo systemctl status sdaglue

ライブのログ出力を監視して問題をトラブルシューティングするには次を実行します。

sudo journalctl -efu sdaglue -n 100

Docker​

Docker コンテナからは次のコマンドでサービスログを取得できます。

docker logs -n 100 --follow glue # tracks the latest 100 logs from the service

Windows​

Windows のサービスアプリケーションからサービスを確認できます。Windows の検索バーで「サービス」を検索し、サービス一覧で「SDA Glue」を探します。サービスは、スタートアップの種類が「自動」で「実行中」と表示されるはずです。

Windows でアクティブなサービスを表示

Windows サービスはイベントログを生成します。これはイベントビューアーの Windows ログ → Application から参照できます。検索バーを使用してイベントビューアーを開いてください。

イベントビューアーで SDA Glue のログにアクセス

設定​

SDA Glue では、特定のネットワーク環境内で最適に動作するよう挙動を変更できます。これらの設定調整により、プロキシサーバー、ファイアウォールによる制限、異なる通信プロトコルなど、産業用ネットワーク固有の特性にかかわらず、信頼性の高い接続性が確保されます。

サービスの制御には環境変数を使用します。設定変更を有効にするにはサービスの再起動が必要です。環境変数は設定パラメーターと同じ命名規則を維持しますが、GLUE プレフィックスを使用し、アンダースコアで区切られます。

log.level -> GLUE_LOG_LEVEL
webui.enabled -> GLUE_WEBUI_ENABLED

現在の設定パラメーターを表示する:

# Linux & Windows
sdaglue config describe

# Docker
docker exec glue sdaglue config describe

パラメーターの設定:

# Linux & Windows
sdaglue config set --log.level debug --webui.enabled true --webui.port 8080

# Docker
docker exec sdaglue config set --log.level debug --webui.enabled true --webui.port 8080

パラメーターの取得:

# Linux & Windows
sdaglue config list

# Docker
docker exec sdaglue config list

変更後のサービス再起動:

# Linux & Windows
sdaglue service restart

# Docker
docker exec glue sdaglue service restart # or
docker restart glue

MQTT トランスポートプロトコル​

最も重要な設定上の判断の一つは、ゲートウェイが SDA Cloud サービスとどのように通信するかの選択です。SDA Glue は 2 つのトランスポートプロトコルをサポートしており、それぞれ異なるネットワーク環境向けに設計されています。

トランスポートプロトコルポートユースケース
MQTTSSL / TCP443インターネットに直接アクセスできる標準的なネットワーク
MQTT over WebSocketWebSocket Secure (TCP)443透過型プロキシや SSL インスペクションのあるネットワーク

WebSocket トランスポートの場合:

# Linux & Windows
sdaglue config set --iot.transport websocket

# Docker
docker exec glue sdaglue config set --iot.transport websocket

標準的な MQTT トランスポートの場合:

# Linux & Windows
sdaglue config set --iot.transport mqtt

# Docker
docker exec glue sdaglue config set --iot.transport mqtt
備考

サービスがすでにログイン済みで接続されている場合、新しいトランスポートプロトコルは次回のサービス再起動後に初めて有効になります。

WebSocket トランスポートを使用すべき場合

透過型プロキシ: 一部の企業ネットワークでは、ネットワークトラフィックを傍受して解析する透過型プロキシが使用されています。これらのプロキシは標準的な MQTT SSL 接続を妨げることがありますが、通常 WebSocket 接続は問題なく通過できます。

制限の厳しいファイアウォール: ディープパケットインスペクションや厳格なプロトコルフィルタリングを行うネットワークでは、MQTT トラフィックがブロックされる一方で、標準的なウェブトラフィックに類似して見える WebSocket 接続は許可される場合があります。

企業のネットワークポリシー: HTTP 以外のプロトコルを制限するポリシーを持つ組織もあり、コンプライアンスの観点から WebSocket トランスポートが推奨される選択肢となります。

プロキシサーバー​

ネットワークがすべてのインターネットトラフィックを特定のプロキシサーバー経由にすることを要求する場合、SDA Cloud サービスとの接続を確立するために SDA Glue にプロキシ情報を設定する必要があります。これは、セキュリティ上の理由からインターネットへの直接アクセスが制限されている企業環境では特に一般的です。

プロキシアドレスは標準的な形式に従います: scheme://username:password@hostname:port

  • スキーム: 通常は http:// または https://
  • ユーザー名/パスワード: 認証情報(プロキシで必要な場合)
  • ホスト名: プロキシサーバーのアドレス
  • ポート: プロキシサーバーのポート番号

SDA Glue の通信要件を完全にカバーするため、HTTP と HTTPS の両方のプロキシ設定を構成する必要があります。

備考

プロキシサーバーが認証を必要としない場合は、ユーザー名とパスワードを省略するだけです。

proxy_server="http://proxy.company.com:8080"

Linux​

proxy_server="http://username:password@proxy.company.com:8080"
sdaglue config set --proxy.http=$proxy_server --proxy.https=$proxy_server

# Restart the service to apply changes
sdaglue service restart

Docker​

proxy_server="http://username:password@proxy.company.com:8080"
docker exec glue sdaglue config set --proxy.http=$proxy_server --proxy.https=$proxy_server

# Restart the container to apply changes
docker restart glue

Windows​

$ProxyServer="http://username:password@proxy.company.com:8080"
sdaglue.exe config set --proxy.http=$ProxyServer --proxy.https=$ProxyServer

# Restart the service to apply changes
sdaglue.exe service restart

よくある問題​

透過型プロキシのある企業ネットワーク​

問題: ゲートウェイは最初に接続するものの、頻繁に切断される、または接続が不安定になる。

解決策: WebSocket トランスポートプロトコルに切り替えます。

制限の厳しいファイアウォール環境​

問題: ゲートウェイが SDA Cloud サービスへの初回接続を確立できない。

解決策: WebSocket トランスポートを設定し、ポート 443 での送信 HTTPS 接続が許可されていることを確認します。

認証が必要なプロキシサーバー​

問題: 認証が必要な企業プロキシ経由でゲートウェイが接続できない。

解決策: 適切な認証情報を含めて両方のプロキシ設定を構成し、サービスを再起動します。

これらの設定オプションを適切に構成することで、SDA Glue サービスはネットワーク環境に適応し、SDA Cloud サービスへの信頼性の高い接続を維持して、産業用デバイスへのセキュアなアクセスを実現します。