Overview
MongoDB Search とベクトル検索は、mongot と mongod の間で 2 つの内部通信チャンネルを使用します。
同期ソース接続 (
mongot→mongod/mongos):mongotは、レプリカセットからデータとメタデータを読み取り、検索インデックスをビルドして維持します。この接続の TLS は、mongot構成ファイルのsyncSourceセクションで構成できます。Query Server接続(
mongod→mongot):mongodは、MongoDB Searchおよびベクトル検索クエリとインデックス・マネジメント・コマンドをgRPC経由でmongotに転送します。この接続の TLS は、mongot構成ファイルのserver.grpc.tlsセクションで構成します。
同期ソース接続の TLS の構成
mongot MongoDB クライアントとしてレプリカセットに接続し、インデックスの作成のためにデータを同期します。この接続を暗号化するには、mongot 構成ファイルのsyncSource.replicaSet セクションの scramAuth.tls ブロックを構成します。
syncSource: replicaset: hostAndPort: "localhost:27017" #Replace with the mongod host and port. scramAuth: username: "mongot" passwordFile: "/etc/mongot/secrets/passwordFile" tls: enabled: true tlsCertificateKeyFile: "/path/to/mongot-client.pem" tlsCertificateKeyFilePasswordFile: "etc" caFile: "/path/to/ca.pem"
scramAuth.tls 構成で caFile を指定しない場合、mongot はシステムキーストアを使用してサーバー証明書を検証します。mongot が信頼する証明書を制御するには、CA ファイルを指定します。
mongot が mongos ルーターを介してシャーディングされたクラスターに接続する場合は、syncSource.router.scramAuth.tls を true に設定する必要があります。
クエリ サーバーの TLS を構成する
mongod gRPC を介して mongot に接続し、MongoDB Search およびベクトル検索クエリを送信します。この接続を暗号化するには、mongot 構成ファイルで server.grpc.tls を構成します。
クエリサーバーは、次の TLS モードをサポートします。
モード | 説明 |
|---|---|
| TLS を無効にします。 |
| TLS を有効にする。 |
| 相互 TLS を有効にします。検索トラフィックが流れる前に、 |
クエリ サーバーでTLSを有効にする
クエリサーバーでTLSを有効にするには、server.grpc.tls.mode を "TLS" に設定し、mongot 証明書と秘密キーPEMファイルへのパスを指定します。
server: grpc: address: "<host>:<port>" tls: mode: "TLS" certificateKeyFile: "/etc/mongot-tls/mongot-combined.pem"
クエリサーバーでmTLSを有効にする
クエリ サーバーで相互 TLS を有効にするには、server.grpc.tls.mode を "mTLS" に設定します。mongot が mongod に認証できるように、証明書キー ファイルと CA ファイルを指定します。
server: grpc: address: "<host>:<port>" tls: mode: "mTLS" certificateKeyFile: "/etc/mongot-tls/mongot-combined.pem" caFile: "/etc/mongot-tls/ca.pem"