SystemLink Enterpriseは、サービス指向アーキテクチャのアプリケーションです。Kubernetesでホストされるマイクロサービスがアーキテクチャを構成します。SystemLink Enterpriseは拡張性、耐障害性、高可用性を備えています。以下の表は、SystemLink Enterpriseアーキテクチャの主なコンポーネントの概要を示しています。

SystemLink Enterpriseアーキテクチャ

リンクされたダイアグラムは、SystemLink Enterpriseアーキテクチャのコンポーネントを示します。

メモ この章では、参照用にダイアグラムへのリンクを提供しますが、ダイアグラムはすべての使用例に適しているとは限りません。組織の特定の要件とインフラストラクチャに合わせてアーキテクチャをカスタマイズします。

SystemLink Enterpriseのデプロイメントリファレンスのサンプルについては、「SystemLink Enterprise Kubernetesのアーキテクチャ図」を参照してください。

SystemLink Enterprise Kubernetesクラスタ

SystemLink Enterprise Kubernetesクラスタは、SystemLink Enterpriseを構成するポッドをホストするLinux Kubernetesクラスタです。クラスタは以下の要素から構成されています。

  • SystemLink Webサービス: SystemLinkのコア機能にREST APIを提供するバックエンドマイクロサービス。たとえば、テストモニタサービス、ファイル取り込みサービス、資産サービス、タグサービスなどがあります。
  • SystemLink Webアプリケーション: Webブラウザを介してユーザが操作するフロントエンドユーザインタフェースコンポーネント。
  • Salt Master: ターゲットへの安全な接続、ターゲット設定、および構成を管理します。ソフトウェアのインストールワークフローを有効にします。
  • サポートインフラストラクチャ: RabbitMQ、Redis、Dremio、Jupyterなどのメッセージング、キャッシュ、データクエリ、Notebook実行用のコンポーネント。

最適なパフォーマンスと最適なリソース分離のためのノードグループ構成については、「ノードグループ構成」を参照してください。

外部依存項目

SystemLink Enterpriseでは、データストレージ、認証、および検索機能に以下の外部システムが必要です。

表 1. SystemLink Enterprise 外部依存項目
コンポーネント 説明
Elasticsearch Elasticsearchは検索エンジンです。SystemLinkは、Elasticsearchを使用して検索機能を向上させます。SystemLinkには、SystemLink Enterpriseと同じクラスタでElasticsearchを実行するためのオプションのスターターHelmチャートがあります。Elasticsearchの構成の詳細については、「Elasticsearchを構成する」を参照してください。
IDプロバイダ IDプロバイダは、ユーザを認証し、SystemLink WebアプリケーションにログインさせるためにSystemLinkが使用するサービスです。SystemLink Enterpriseは、OpenID Connect IDプロバイダのみをサポートします。プロバイダをSystemLinkに接続する方法の詳細については、「IDおよびアクセス管理」を参照してください。
MongoDB MongoDBはドキュメントデータベースです。SystemLinkはMongoDBワイヤプロトコルを使用してMongoDBインスタンスと通信します。MongoDBの構成の詳細については、「MongoDBデータベースを構成する」を参照してください。
オブジェクトストレージ オブジェクトストレージとは、バルクファイルストレージを必要とするSystemLinkサービスで使用されるAmazon S3、S3互換、またはAzure Blobストレージシステムを指します。
PostgreSQL PostgreSQLはリレーショナルデータベースです。SystemLinkは、データストレージにPostgreSQLを使用します。PostgreSQLの構成の詳細については、「PostgreSQL」を参照してください。

SystemLink Enterpriseインフラストラクチャ

SystemLink Enterpriseのデプロイとアクセスには、以下のインフラストラクチャコンポーネントが必要です。

表 2. SystemLink Enterpriseインフラストラクチャコンポーネント
コンポーネント 説明
アーチファクトリポジトリ SystemLinkコンテナとHelmチャートを含むOCI (Open Container Initiative) レジストリ。NIアーティファクトリポジトリまたはステージコンテナとHelmチャートは、独自のリポジトリで使用できます。詳細については、「SystemLinkリポジトリを構成する」を参照してください。
ネットワークインタフェース

SystemLinkは、通常動作で3つのネットワークインタフェースを使用します。

  • Webアプリケーション
  • API
  • Salt
これらのインタフェースは3つのホスト名にマッピングされます。ユーザは、Webアプリケーションイングレスとホストを使用してSystemLink Webアプリケーションにアクセスします。ターゲットとアプリケーションは、APIイングレスとホストを使用してSystemLink REST APIを介してデータとリソースにアクセスします。Saltイングレスとホストは、ターゲットをSystemLink EnterpriseでホストされたSaltマスタに接続します。これらのホスト名の構成の詳細については、「レイヤ7 (アプリケーション) イングレス」および「レイヤ4 (TCP) イングレス」を参照してください。

SystemLink Enterpriseテストシステム

SystemLink Enterpriseは、ターゲットと呼ばれるテストシステムに接続して管理します。

表 3. SystemLink Enterpriseテストシステム
コンポーネント 説明
ターゲット

ターゲットは、SystemLinkが管理する安全に接続されたテストシステムです。ターゲットは、テスト結果、ステータス、および正常性データをSystemLinkにアップロードします。これらのシステムで使用できるオペレーティングシステムは、WindowsおよびNI Linux Real-Timeです。

ターゲットは、HTTPSおよびSaltStack TCPプロトコルを使用してSystemLinkと通信します。サーバとのすべての通信は、そのプロトコルに関係なく、常にテストシステムが開始します。SystemLinkサーバにターゲットを追加する方法については、「SystemLinkクライアントを設定する」を参照してください。

SystemLinkは、HTTPSを使用してタグ、ファイル、資産、およびテスト結果の通信を行います。Saltジョブとピラーは、AES方式で暗号化されたSalt TCPトランスポートを使用して通信します。Saltジョブは、ソフトウェアのインストールとSystemLinkサーバからのターゲット構成の変更に使用されます。プライベート認証局証明書を使用する場合、SaltはSystemLink証明書を送信します。この転送により、ターゲットはSystemLinkとの信頼を確立できます。ターゲットでは、これらの証明書を手動で管理する必要はありません。「Salt TCP Transportの概要については、「SaltStack TCP Transportドキュメント」を参照してください。

権限のあるユーザがSystemLinkでターゲットを承認すると、そのターゲットは管理下システムになります。その後、SystemLinkはターゲットがSystemLinkで認証するために必要な構成、証明書、および資格情報を安全に転送します。SystemLinkクライアントPythonおよびLabVIEW APIには、これらの資格情報を自動的に使用する自動構成関数が含まれています。資格情報などのシークレットをテストアプリケーションコードに含める必要はありません。

ノードグループ構成

最適なパフォーマンスと最適なリソース分離を実現するには、以下のコンポーネントを独自の専用ノードグループおよびプールで実行するように構成します。

  • SystemLink WebサービスおよびWebアプリケーション
  • Jupyter NotebookおよびNotebookの実行
  • Data Frameサービスとその依存項目Dremio

ノードセレクタを構成するサンプルYAMLファイルについては、node-selectors.yamlを参照してください。

クラウドプロバイダ固有のアーキテクチャ

AWSおよびAzureのデプロイメント例については、「AWS SystemLink Enterprise Kubernetesのアーキテクチャ図」および「Azure SystemLink Enterprise Kubernetesのアーキテクチャ図」を参照してください。

メモ リンクされた図は、AWSおよびAzureにSystemLink Enterpriseをデプロイするためのリファレンスサンプルです。実際のデプロイメントは、お客様の特定の要件、セキュリティポリシー、および組織の既存のインフラストラクチャによって異なる可能性があります。