クラスタへの接続
このトピックでは、OpenSearchを使用してOCI SearchのOpenSearchクラスタに接続するために必要な前提条件および接続の詳細について説明します。また、クラスタと同じVCNおよびサブネット内のVMインスタンスを使用するいくつかの基本的な接続シナリオのステップを説明するウォークスルーも含まれています。
ここに示した情報を使用して、OpenSearchクライアントおよびカスタム検索ソリューションで、クラスタからデータを接続および収集できるようにします。
OpenSearchによる検索では、クラスタのインスタンスにパッチが適用されているか、またはクラスタのサイズ変更中、クラスタの検索機能は読取り専用モードですが、メンテナンス・ウィンドウでは書込みモードが無効になります。詳細は、クラスタ・パッチ適用およびサイズ変更操作を参照してください。
プライベート・エンドポイント
OpenSearchで検索すると、プライベート・エンドポイントを介してクラスタのクラスタおよびOpenSearchダッシュボードにアクセスできます。このサービスには、クラスタのプライベート・エンドポイントに接続するための2つの方法があります:
プライベートIP: プライベート・エンドポイントのプライベートIPアドレス。クラスタと同じVCNおよびサブネット内のVMインスタンスから接続する場合は、プライベートIPを使用します。VMインスタンスにポート転送が構成されているローカル・マシンから接続する場合は、プライベートIPを使用することもできます。
- APIエンドポイント: クラスタのプライベート・エンドポイントにアクセスするためにサービスによって提供される完全修飾ドメイン名(FQDN)。OpenSearchクライアントから接続する場合は、LogStashやBeatsなどのAPIエンドポイントを使用します。
詳細は、Cluster Connection Informationを参照してください。
プライベート・エンドポイントでは、トラフィックはインターネットを経由しません。エンドポイントには、クラスタのVCN内からのみアクセスできます。APIエンドポイントがOpenSearchクライアントにアクセスできるようにするには、エンドポイントを外部クライアントからアクセス可能にするための構成がさらに必要です。たとえば、APIゲートウェイを使用して、パブリックIPアドレスによるアクセスを有効にできます。
事前設定
クラスタへの接続に必要な前提条件のリストを次に示します
- クラスタの接続情報を確認します。
-
必須セキュリティ・ルールを作成します。
-
(オプション)VMインスタンスを作成して接続します。
クラスタ接続情報
クラスタの接続情報には、クラスタおよびクラスタのOpenSearchダッシュボードへの接続および操作に使用するAPIエンドポイントおよびIPアドレスが含まれます。詳細は、プライベート・エンドポイントを参照してください。
すべての接続情報は、コンソールの「クラスタの詳細」ページで確認できます。
2022年9月15日より前に作成されたクラスタに接続するには、証明書をダウンロードする必要があります。これらのクラスタのAPIエンドポイントのドメインは、oci.oracleiaas.com
です。
oci.oraclecloud.com
です。-
ナビゲーション・メニューを開き、「データベース」をクリックします。OpenSearchで、「クラスタ」をクリックします。
-
「クラスタ」リストで、詳細を表示するクラスタの名前をクリックします。
-
「クラスタの詳細」ページで、次のことに注意してください:
- APIエンドポイント: クラスタのプライベート・エンドポイントのFQDN。
- プライベートIP: クラスタのプライベート・エンドポイントのプライベートIPアドレス。
- OpenSearchダッシュボードAPIエンドポイント: クラスタのOpenSearchダッシュボードのFQDN。
- OpenSearchダッシュボード・プライベートIP: クラスタのOpenSearchダッシュボードへの接続に使用できるプライベート・エンドポイントのIPアドレス。
セキュリティ・ルールの作成
クラスタおよびクラスタのOpenSearchダッシュボードへの接続を許可するには、クラスタのVCNのセキュリティ・ルールを作成する必要があります。
クラスタからデータにアクセスできるようにするには、次の場合、TCPトラフィックにステートフル・イングレス・セキュリティ・ルールを追加する必要があります:
- ソース0.0.0.0/0および任意のソース・ポートからの宛先ポート9200のOpenSearch。
- OpenSearchソース0.0.0.0/0および任意のソース・ポートからの宛先ポート5601のダッシュボード。
これらのルールを使用してセキュリティ・リストを作成することも、クラスタのVCNのデフォルト・セキュリティ・リストに追加することもできます。
-
ナビゲーション・メニューを開き、「データベース」をクリックします。OpenSearchで、「クラスタ」をクリックします。
- 目的のクラスタをクリックします。
- 「Cluster details」の「Virtual cloud network」で、クラウド・ネットワークの名前をクリックします。「Virtual Cloud Network Details」ページが開きます。
- 「リソース」で、「セキュリティ・リスト」をクリックします
- 「セキュリティ・リストの作成」をクリックします。
- 次を入力します:
- 名前: セキュリティ・リストの摘要名。名前は必ずしも一意である必要はありませんが、後でコンソールで変更できません(ただし、APIで変更できます)。機密情報を入力しないでください。
- コンパートメントで作成: セキュリティ・リストを作成するコンパートメント(現在作業しているコンパートメントと異なる場合)。
- 「別のイングレス・ルール」をクリックします
-
ルールの次の値を入力します:
- ステートレス: このチェック・ボックスは選択を解除したままにします
- ソース・タイプ: CIDR
- ソースCIDR: 0.0.0.0/0
- IPプロトコル: TCP
- ソース・ポート範囲: すべて
- 宛先ポート範囲: 9200
- 説明: ルールの説明(オプション)。
- 「別のイングレス・ルール」をクリックします。
-
ルールの次の値を入力します:
- ステートレス: このチェック・ボックスは選択を解除したままにします
- ソース・タイプ: CIDR
- ソースCIDR: 0.0.0.0/0
- IPプロトコル: TCP
- ソース・ポート範囲: すべて
- 宛先ポート範囲: 5601
- 説明: ルールの説明(オプション)。
- 「セキュリティ・リストの作成」をクリックします。
-
ナビゲーション・メニューを開き、「データベース」をクリックします。OpenSearchで、「クラスタ」をクリックします。
- 目的のクラスタをクリックします。
- 「Cluster details」の「Virtual cloud network」で、クラウド・ネットワークの名前をクリックします。「Virtual Cloud Network Details」ページが開きます。
- 「リソース」で、「セキュリティ・リスト」をクリックします
- 「VCN_nameのデフォルト・セキュリティ・リスト」という名前のセキュリティ・リストをクリックします。
- 「イングレス・ルールの追加」をクリックします
-
ルールの次の値を入力します:
- ステートレス: このチェック・ボックスは選択を解除したままにします
- ソース・タイプ: CIDR
- ソースCIDR: 0.0.0.0/0
- IPプロトコル: TCP
- ソース・ポート範囲: すべて
- 宛先ポート範囲: 9200
- 説明: ルールの説明(オプション)。
- 「別のイングレス・ルール」をクリックします。
-
ルールの次の値を入力します:
- ステートレス: このチェック・ボックスは選択を解除したままにします
- ソース・タイプ: CIDR
- ソースCIDR: 0.0.0.0/0
- IPプロトコル: TCP
- ソース・ポート範囲: すべて
- 宛先ポート範囲: 5601
- 説明: ルールの説明(オプション)。
- 「イングレス・ルールの追加」をクリックします。
VMインスタンスの作成(オプション)
接続の前提条件の完了後、オプションでVMインスタンスを作成していくつかの基本的な接続テストを実行し、前提条件が正しく構成されていること、および正しい接続情報があることを確認できます。クラスタを作成したVCNの同じサブネットにVMインスタンスを作成します。インスタンスの作成方法については、次のいずれかのトピックを参照してください。
インスタンスが作成されたら、ローカル・マシンからインスタンスに接続します。詳細は、次を参照してください:
クラスタへの接続のテスト
ローカル・マシンからVMインスタンスに接続したら、次のいずれかのコマンドを実行して接続をテストします。
APIエンドポイント・ドメインがoci.oraclecloud.com
(2022年9月15日以降に作成)であるクラスタの場合:
curl https://<cluster_API_endpoint>:9200
このコマンドで渡されるURLは、「クラスタの詳細」ページの「APIエンドポイント」フィールドに指定された値です。Cluster Connection Informationを参照してください。
エンドポイントへの接続が成功すると、次のようなレスポンスが返されます:
{
"name" : "opensearch-master-0",
"cluster_name" : "<cluster_name>",
"cluster_uuid" : "<cluster_UUID>",
"version" : {
"distribution" : "opensearch",
"number" : "1.2.4-SNAPSHOT",
"build_type" : "tar",
"build_hash" : "<build_hash>",
"build_date" : "2022-02-08T16:44:39.596468Z",
"build_snapshot" : true,
"lucene_version" : "8.10.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}
クラスタへのデータのプッシュやクラスタへの検索問合せの送信など、テストできるその他のコマンドについては、OpenSearchによるOCI検索サービスを使用したデータの検索およびビジュアル化のチュートリアルを参照してください。
クラスタのOpenSearchダッシュボードへの接続のテスト
クラスタのOpenSearchダッシュボードに接続できる方法の1つは、ローカル・マシンから、クラスタと同じVCNおよびサブネットで作成したVMインスタンスへのポート転送を構成することです。
OpenSearchダッシュボードに接続するようにポート転送を構成するには
VMインスタンスを作成します。
ローカル・マシンから次のコマンドを実行します。
ssh -C -v -t -L 127.0.0.1:5601:<OpenSearch_Dashboards_private_IP>:5601 -L 127.0.0.1:9200:<OpenSearch_cluster_private_IP>:9200 opc@<VM_instance_public_IP> -i <private_key_file>
<OpenSearch_Dashboards_private_IP>は、クラスタのOpenSearchダッシュボードのプライベートIPに置き換えます。<OpenSearch_cluster_private_IP>をクラスタのプライベートIPに置き換えます。プライベートIPを特定するには、クラスタ接続情報を参照してください。
<VM_instance_public_IP>をVMインスタンスのパブリックIPアドレスに置き換えます。<private_key_file>を、インスタンスへの接続に使用する秘密キーへのパスに置き換えます。これらの値とその検索方法の詳細は、インスタンスへの接続を参照してください。
ローカル・マシンのブラウザから、
https://localhost:5601
を開き、OpenSearchダッシュボードにアクセスします。
OpenSearchリソース
OpenSearchで検索すると、オープン・ソースのOpenSearch API、OpenSearchダッシュボード、プラグインおよびその他のOpenSearch機能がサポートされます。OpenSearchの操作の詳細は、次の外部リソースを参照してください。