OpenSearchクラスタによる検索

OpenSearchを使用したOCI検索では、検索ソリューションのOpenSearchクラスタを作成できます。

OpenSearchクラスタを作成した後、OpenSearchによる検索では、セキュリティ更新、アップグレード、サイズ変更、スケジュールされたバックアップなどの操作を含め、検索クラスタの管理および操作のほとんどが処理されます。

次のOpenSearchクラスタ・タスクを実行できます。

コンパートメント内のOpenSearchクラスタをリストします

新しいOpenSearchクラスタを作成します

OpenSearchクラスタの詳細の取得

OpenSearchクラスタの名前を変更します

OpenSearchクラスタのサイズを変更します

OpenSearchクラスタ・ソフトウェアを使用した検索のアップグレード

テナンシからOpenSearchクラスタを削除します

クラスタ構成のスケール・アップの詳細は、「OpenSearchクラスタを使用した検索のサイズ変更」を参照してください。バックアップからクラスタをリストアする手順については、Search with OpenSearch Automated Cluster Backupsを参照してください。既存のクラスタを新しいバージョンのOpen Searchにアップグレードするには、OpenSearchクラスタ・ソフトウェアを使用した検索のアップグレードを参照してください。

IAMポリシー

Oracle Cloud Infrastructureを使用するには、管理者によってポリシーでセキュリティ・アクセス権が付与されている必要があります。コンソールまたは(SDK、CLIまたはその他のツールを使用した) REST APIのどれを使用しているかにかかわらず、このアクセス権が必要です。権限を持っていない、または認可されていないというメッセージが表示された場合は、持っているアクセス権のタイプと作業しているコンパートメントを管理者に確認してください。

クラスタを作成または管理するには、必要なネットワーキング・リソースを作成および管理するためのアクセス権をユーザーに付与する権限、およびOpenSearchリソースを使用して検索を作成および管理するためのユーザー権限を構成する必要があります。ネットワーキング・リソースを含むコンパートメントに対してネットワーキング権限を構成する必要があるため、クラスタがVCNおよびサブネットとは異なるコンパートメントにある場合は、VCNおよびサブネットを含むコンパートメントに対してネットワーキング権限が構成されていることを確認してください。

次のポリシーの例には、カスタム・グループSearchOpenSearchAdminsに必要な権限が含まれています。

Allow group SearchOpenSearchAdmins to manage vnics in compartment <NETWORK_RESOURCES_COMPARTMENT>
Allow group SearchOpenSearchAdmins to manage vcns in compartment <NETWORK_RESOURCES_COMPARTMENT>
Allow group SearchOpenSearchAdmins to manage subnets in compartment <NETWORK_RESOURCES_COMPARTMENT>
Allow group SearchOpenSearchAdmins to use network-security-groups in compartment <NETWORK_RESOURCES_COMPARTMENT>
Allow group SearchOpenSearchAdmins to manage opensearch-family in compartment <CLUSTER_RESOURCES_COMPARTMENT>
ヒント

この例のSearchOpenSearchAdminsグループは、作成するカスタム・グループを参照します。詳細は、グループの管理を参照してください。

この例に含まれるネットワーキング・リソースに対する権限は、指定どおりに必要です。この例の最後の行で指定されたOpenSearchリソースを使用して、検索の権限をより細かく構成できます。

ポリシーを初めて使用する場合は、ポリシーの開始および共通ポリシーを参照してください。

ロード・バランサの構成

OpenSearchクラスタを作成すると、ロード・バランサも自動的に作成されます。このロード・バランサは、OpenSearch APIエンドポイントに送信されたすべてのリクエストを処理します。OpenSearchクラスタの作成時にロード・バランサの帯域幅サイズを選択して、受信メッセージ・トラフィックの処理を最適化できます。既存のOpenSearchクラスタを編集して、ロード・バランサの帯域幅を変更することもできます。

帯域幅サイズの選択はオプションです。ロード・バランサの帯域幅サイズを指定しない場合、デフォルトのサイズはOpenSearchクラスタ・サイズ(マスター、データ、キバナおよび検索ノードの数)に基づいて設定されます。

機械学習ノード

機械学習(ML)ノードは、OpenSearchのML Commonsプラグインおよび関連するAIコンポーネントを介して機械学習ワークロードを実行するように最適化されています。これらのノードは、モデルの登録、デプロイメント、推論、テキスト埋込み、異常検出、RCA分析などの計算集中型の操作を処理します。

MLアクティビティをプライマリ・データおよびクラスタ・マネージャ・ノードから分離することで、MLノードは、索引付け/検索タスクでI/Oまたはメモリーを競合させずに、高度なAIパイプラインおよび推論ワークロードを実行できます。

MLノードには、専用ロール(node.roles: ["ml"] )が自動的に割り当てられ、ブロック・ボリュームもアタッチされます。このロールは、ML Commonsジョブおよびテキスト埋込み取込みパイプラインのコンピュート・エンドポイントとして指定します。モデルをローカルで処理したり、OCI Data Science Model Deploymentsや外部LLMなどのリモート推論エンドポイントに接続したりできます。

MLノードには次の利点があります。

  • パフォーマンス: データおよびクラスタ・マネージャ・ノードから計算集約型のML推論とトレーニング・タスクをオフロードすることで、検索と索引付けのレイテンシが一貫して低くなります。
  • スケーラビリティ: 水平スケーリング(MLノードの追加)と垂直スケーリング(OCPU/メモリーの増加)の両方をサポートし、さまざまなMLワークロードに対して柔軟なリソース割当てを可能にします。
  • コスト効率: OCI FLEXシェイプは、必要なコンピュート・フットプリントに対してのみ支払う、推論当たりのコストを最適化するために使用できます。
  • 管理の容易性: ML Commonsコントローラは、利用可能なメモリとキューの深さに基づいて、推論とトレーニングのタスクを適格なMLノードに自動的にルーティングします。
  • 統合の柔軟性: Open Search 3.xで導入された取込みパイプライン、ベクトル検索、異常検出、エージェントAI機能をテキスト埋め込みでシームレスに接続できます。

MLノードは、AI/MLワークロード向けにスケーラブルで分離されたコンピュート・レイヤーを提供し、クラスタのスループット、安定性、リソースの効率を向上させます。

クラスタのMLノードの構成

MLノードは、クラスタの作成時に構成することも、既存のクラスタで更新することもできます。スケール・アップとスケール・ダウンの両方を含め、通常のノードと同様のMLノードで水平および垂直のサイズ変更操作を実行できます。

ただし、MLアクティビティがクラスタで検出された場合、MLノードを0にスケール・ダウンすることはできません。MLノードを0にダウンスケールするリクエストは、MLモデルのアンデプロイなどのML関連アクティビティが停止されないかぎり失敗します。認定されたMLアクティビティには、次のものが含まれます。

  • MLモデルの導入
  • 登録AIエージェント
  • 登録およびデプロイされたリモート・モデル
  • AIアシスタント・ルート・エージェント
  • MCPツール

MLノードがない場合、MLアクティビティは通常のデータ・ノードで実行され、専用のMLノードのないクラスタの場合と同様に、MLノードのロールを自動的に引き継ぎます。

クラスタの設定

専用MLノードを含むクラスタを作成したり、既存のクラスタに専用MLノードを追加する場合、 "only_run_on_ml_node": "true"パラメータはデフォルトでTrueに設定されます。MLノードを0にスケール・ダウンすると、このパラメータは自動的にFalseにリセットされ、新しいMLワークロードをデータ・ノードでシームレスに実行できます。

これらのクラスタ設定パラメータは変更できます。ただし、これらの設定がクラスタにどのように影響するかを明確に理解する必要があります。専用MLノードがないクラスタでこのパラメータをTrueに設定すると、すべてのMLリクエストの処理が失敗します。同様に、専用MLノードを持つクラスタでこのフラグをFalseに設定すると、MLノードとデータ・ノードの両方でMLワークロードが処理され、専用MLノード上のMLワークロードをデータ・ノード上の取り込みワークロードと問合せワークロードから分離するという意図した目的がなくなります。

構成可能なパラメータ

次のパラメータを使用して、クラスタでMLノードを構成できます。

  • ノード・シェイプ(SHAPEまたはFLEXファミリの場合): クラスタのMLノードのノード・シェイプ。
  • ノード数: クラスタに追加するMLノードの数。
  • ノード・メモリー: MLノードのメモリー量(ギガバイト単位)。
  • ノードOCPU数: クラスタのMLノード用に構成するOCPUの数。
  • ノード・ストレージ: クラスタのMLノードのノードごとに構成するストレージの量(ギガバイト単位)。
ノート

GPUノードは、MLノードまたはデータ・ノードではサポートされていません。

パスワード・ハッシュの生成(CLIおよびTerraformのみ)

security-master-user-password-hashパラメータをsecurity-master-user-nameパラメータとともに使用する場合は、パスワード・ハッシュを生成する必要があります。

  1. 次のファイルをダウンロードします。

    oci-crypto-common.jar

  2. コマンド・プロンプトを開き、次のコマンドを実行します:
    java -jar oci-crypto-common.jar pbkdf2_stretch_1000 <password-in-plain-text>

    ここで、 <password-in-plain-text> は選択したパスワードです。

    このコマンドを実行する前に、コンピュータにJavaをインストールしておく必要があります。

  3. 生成されたパスワードハッシュを記録します。
  4. 生成されたパスワード・ハッシュをsecurity-master-user-password-hashパラメータの値として含めます。

    パスワードを一重引用符で囲みます。次に例を示します。

    oci opensearch cluster create ... --security-master-user-name MyUser --security-master-user-password-hash 'pbkdf2_...MNUT5No='

リソースのタグ付け

リソースにタグを適用すると、ビジネス・ニーズに応じてそれらを整理しやすくなります。リソースの作成時にタグを適用することも、後から必要なタグでリソースを更新することもできます。タグの適用に関する一般情報は、タグ付けの概要に関する項を参照してください。