前提条件

Kubernetesクラスタ

Cognigy.AIのインストールには、完全に機能するKubernetesクラスタが必要です。一般的なパブリッククラウド事業者(Amazon EKS、Microsoft AKS、Google GKE)が提供するマネージドKubernetesクラスタを使用することをお勧めします。Cognigy.AIは以下のマネージドKubernetesサービスと完全な互換性があります:

  • AWS EKS
  • Azure AKS

オンプレミスのKubernetesクラスタ上でCognigy.AIを実行するには、お客様側で追加の設定作業が必要になります。そのため、代わりにパブリッククラウドを使用することをお勧めします。CognigyはKubernetesクラスタの設定とプロビジョニングのサポートを行わないことにご注意ください。

Kubernetesのバージョン

Cognigy.AIと互換性のあるKubernetesのバージョンはCognigy.AI Helm Chartで明記されています。

ハードウェア要件

英語をデフォルトのNLU言語とするCognigy.AIのインストールには、AWS EKS(または他のクラウドプロバイダーで同等のもの)で以下の仕様のKubernetesクラスタを推奨します:

  • 少なくとも 6 x c5.2xlarge (AWS) または 6 x Standard_F8s_v2 (Azure) のワーカーノード、または他のクラウドプロバイダーでは 8 CPU/16 GB RAM、x86_64 CPU アーキテクチャの同等の VM。
  • 1ワーカーノードあたり100GBのルートSSDストレージ。
  • Kubernetesのワーカーノードは3つのAZ(Availability Zone)に分散され、高可用性を実現しています。
  • アプリケーションデータベース用に250GBのブロックSSDストレージ(MongoDBを3レプリカ構築する場合は250GB×3)。
  • アプリケーションアセット用に10GBのファイルシステムストレージ(EFSまたは他のNFS互換品に相当するもの)。

汎用マシン

コンピュータに最適化されたマシンではなく、汎用マシンを選択すると、ソフトウェアのパフォーマンスに悪影響を及ぼします。CPUのクロック速度が高く、CPUのバジェットが確保されている、コンピュータに最適化されたマシンを選択することをお勧めします。複数の自然言語理解サービスをインストールする予定の場合、これは特に重要です。

Kubectlバイナリ

Kubernetesクラスタ上にCognigy.AIをデプロイするには、Cognigy.AIインストール用のKubernetesクラスタにアクセスできるLinuxマシン上にkubectlバイナリをインストールする必要があります。詳細についてはKubernetesの公式ドキュメントをご参照ください。kubectlのバージョンはKubernetesクラスタのバージョンと一致している必要があることにご注意ください。

Helmパッケージマネージャー

Cognigy製品はKubernetes用のHelmパッケージマネージャーで実装されています。インストールを進める前に、Helmの基本操作に慣れましょう。

Kustomizeの非推奨

Cognigy.AIインストール用のKustomizeスクリプトは非推奨です。すべての新規インストールにはHelm Chartsを使用することを強くお勧めします。廃止されたkustomizeのインストールドキュメントはこちらからダウンロードできます。本年末(2022年12月31日)でkustomizeファイルの更新を終了します。

Helmバージョン

Cognigy.AIと互換性のあるHelmのバージョンについては、[Cognigy.AI Helm Chart]をご参照ください。

Cognigyライセンス

Cognigy.AI のご利用にはライセンスキーが必要で、ライセンス契約締結後にライセンスキーが発行されます。ライセンスキーは製品のインストールに必要です。

ドメイン / DNS名

Cognigy.AIは、組織が運営するパブリックドメインのDNSレコードを割り当てる必要があるいくつかのウェブサービスを公開しています。ドメインのDNSプロバイダ(Go-Daddy、United-Domainsなど)にアクセスしてDNSレコードを設定できることを確認してください。Cognigy.AIにプライベートネットワークからのみアクセスする必要がある場合は、プライベートドメインにDNSレコードを作成できることをご確認ください。

TLS証明書

ウェブサーバーを認証し、クライアントとウェブサーバー間のウェブトラフィックを暗号化するには、Cognigy.AIのDNSレコードが作成されるドメインのSSL証明書が必要です。インストールプロセスが簡素化されるため、ワイルドカード証明書を強くお勧めします。何らかの理由でワイルドカード証明書を使用できない場合は、スタンドアロン証明書がCognigy.AIのすべてのDNSレコードをカバーしていることをご確認ください。Cognigy.AIに実装されているリバースプロキシは複数の証明書をサポートすることができず、Cognigyはそのような構成のサポートを行いません。

ドメインのホワイトリスト化

プライベートデータセンターでKubernetes環境をセットアップする予定がある場合、またはパブリッククラウドのセットアップでネットワークの制限が適用されている場合は、KubernetesノードがCognigyのコンテナレジストリcognigy.azurecr.io:443に到達できることをご確認ください。そうでない場合、Cognigy.AIのセットアップではインストール時に必要なDockerイメージやアセットをダウンロードすることができません。

ネットワークファイアウォール / Websocketのサポート

プライベートデータセンターでKubernetes環境をセットアップする予定がある場合、またはパブリッククラウドのセットアップでネットワーク制限が適用されている場合は、Kubernetesノードとインターネット間のすべての有効なHTTPメソッド(GET、POST、DELETEなど)が双方向でファイアウォールルールによってブロックされていないことをご確認ください。Cognigy.AIはWebSocketプロトコルに重依存しているため、Kubernetesノードとインターネット間のネットワークアプライアンス(Webプロキシ、DPIエンジン、ファイアウォール)がWebSocket接続をサポートし、そのような接続を適切に処理するように設定されていることをご確認ください。

ネットワーク設定サポート

前述のネットワーク関連の前提条件の設定については、弊社ではサポートいたしかねますのでご了承ください。ネットワーク/システム管理者、またはお客様の組織の関連チームにお問い合わせください。

限定的なWindowsサポート

Cognigy.AIをWindowsサーバにインストールすることは可能ではありますが、弊社ではOSとしてWindowsをサポートしておらず、またWindowsサーバ上でのCognigy.AIのテストも行っておりません。WindowsをOSとして選択された場合、Cognigy.AIのサポートは行えません。

インストール前のチェックリスト

インストール作業を開始する前に、前述の前提条件がすべて満たされていることを確認してください。インストール前のチェックリストでクロスチェックしてください。弊社のエンジニアがサポートするインストールプロセスでは、インストールを開始する前にこれらの前提条件が満たされている必要があります。