このトピックでは、PolarDB-X インテリジェント検索エンジンインスタンスのアクセス資格情報 (アカウント、ホワイトリスト、パブリックネットワーク) を設定する方法と、REST API、公式クライアント、または OpenSearch Dashboards を介して検索ノードに接続する方法について説明します。
ホワイトリストの設定
検索ノードにアクセスする前に、ビジネス環境の IP アドレスをホワイトリストに追加してください。
-
アクセス設定 タブで、ホワイトリスト セクションを探します。
-
ホワイトリストグループの追加 ボタンをクリックし、ダイアログボックスで次の情報を指定します:
-
[グループ名]:異なるソース (たとえば、office や app-prod など) を識別するために使用します。
-
[グループホワイトリスト]:許可する IP アドレスまたは CIDR ブロックです。 複数指定する場合は、カンマ (,) で区切ります。
-
-
送信後、ホワイトリストに名前、IP、および操作 (編集 / 削除) を示す新しい行が表示されます。
不正アクセスを防ぐため、パブリックネットワークアクセスのホワイトリストを必ず設定してください。
アクセスアカウントの設定
REST API にアクセスするには、基本認証のユーザー名とパスワードが必要です。アカウントは アカウント管理 セクションで管理します。
アカウントの作成
-
アカウントの新規作成 ボタンをクリックします。
-
フォームに入力してください。
-
[アカウント名]:文字と数字を組み合わせたアカウント名。
-
[パスワード]: パスワードは 8~32 文字の長さにする必要があります。また、大文字、小文字、数字、特殊文字のうち、3 種類以上を含める必要があります。パスワードには、連続した文字 (例:
123やabc) や、一般的な脆弱なパターンを含めることはできません。 -
[パスワードの確認]: パスワードをもう一度入力します。
-
-
送信後、アカウントを REST API 認証に使用できます。
パスワードのリセット
アカウント一覧で、対象アカウントの行にあるパスワードのリセットをクリックし、パスワードの複雑さの要件を満たす新しいパスワードの値を入力して、送信します。
アカウントの削除
アカウントリストで、対象アカウントの行の削除をクリックします。確認後、アカウントはアクセス資格情報から削除されます。
接続情報の表示
接続情報 セクションには、以下のエンドポイント情報が表示されます。
|
フィールド |
説明 |
|
[プライベートアドレス] |
VPC 内から REST API にアクセスするために使用するプライベートドメイン名。 |
|
[プライベートポート] |
プライベート REST API ポート (9200 に固定)。 |
|
[パブリックアドレス] |
パブリックドメイン名。まずパブリックネットワークアクセスを有効にする必要があります。 |
|
[パブリックポート] |
パブリック REST API ポート (9200 に固定)。 |
|
[Dashboard プライベートアドレス] |
OpenSearch Dashboards のプライベートアドレス。 |
|
[Dashboard 内部ポート] |
OpenSearch Dashboards のプライベートポート。 |
|
[ダッシュボード パブリックアドレス] |
OpenSearch Dashboards のパブリックアドレス。 |
|
[Dashboard パブリックポート] |
OpenSearch Dashboards のパブリックポート。 |
|
[HTTPS プロトコルの使用] |
ビジネス要件に基づいて HTTPS を有効にするかどうかを決定してください。デフォルトでは HTTP が使用されます。 |
パブリックネットワークアクセスの有効化または無効化
パブリックネットワークアクセスは、デフォルトでは未有効化です。必要な場合は、今すぐ有効化をクリックしてパブリックドメイン名を取得します。有効にした後、パブリックアクセスの無効化をクリックしてパブリックネットワークアクセスを無効にできます。
パブリックネットワークアクセスを有効にすると、インスタンスがインターネットに公開されます。必ずホワイトリストと強力なパスワードアカウントを維持してください。
コマンドラインからの接続 (curl)
基本的な接続確認
# クラスターヘルスステータス
curl -XGET "http://<API endpoint>:<port>/_cluster/health?pretty" -u "<username>:<password>"
# ノード情報
curl -XGET "http://<API endpoint>:<port>/_cat/nodes?v" -u "<username>:<password>"
# インデックス一覧
curl -XGET "http://<API endpoint>:<port>/_cat/indices?v" -u "<username>:<password>"
一般的な管理コマンド
# クラスターの設定
curl -XGET "http://<API endpoint>:<port>/_cluster/settings?include_defaults=true&pretty" -u "<username>:<password>"
# インデックスの詳細
curl -XGET "http://<API endpoint>:<port>/<index name>?pretty" -u "<username>:<password>"
# ノードリソース使用率
curl -XGET "http://<API endpoint>:<port>/_cat/nodes?v&h=name,heap.percent,ram.percent,cpu,disk.used_percent" \
-u "<username>:<password>"
OpenSearch公式クライアント
インテリジェント検索インスタンスは、OpenSearch 公式クライアントと完全に互換性があります。
|
言語 |
クライアント |
参照 |
|
Java |
opensearch-java |
|
|
Python |
opensearch-py |
https://opensearch.org/docs/latest/clients/python-low-level/ |
|
Go |
opensearch-go |
|
|
Node.js |
opensearch-js |
https://opensearch.org/docs/latest/clients/javascript/index/ |
|
.NET / Ruby / Rust / PHP |
opensearch-net / -ruby / -rs / -php |
接続設定の要点:
-
ホスト:接続情報のプライベートアドレスまたはパブリックアドレス。
-
ポート:コンソールに表示されるポート (9200 に固定)。
-
プロトコル:ビジネス要件に基づいて HTTPS を有効にするかどうかを決定してください。デフォルトでは HTTP が使用されます。
-
認証:ベーシック認証 (アカウント管理で作成したユーザー名とパスワード)。
OpenSearch Dashboards
Dashboards は、OpenSearch に組み込まれたビジュアル管理コンソールです。次の機能を提供します。
-
[Dev Tools]:REST API リクエストをデバッグするためのインタラクティブなクエリコンソール。
-
[Discover]:インデックス内のデータの参照と検索。
-
[Visualize]:データ可視化チャートの作成。
-
[Dashboard]:複数のビジュアライゼーションをダッシュボードに統合。
アクセス方法
-
接続情報 セクションで、プライベートまたはパブリック Dashboards アドレスを取得します。
-
ブラウザでアドレスを開き、アカウント管理で作成したユーザー名とパスワードでログインしてください。
Dev Tools でのクエリの実行
GET _cluster/health
PUT /test-index
{ "settings": { "number_of_shards": 1 } }
POST /test-index/_search
{ "query": { "match_all": {} } }
接続のトラブルシューティング
|
問題 |
考えられる原因 |
解決策 |
|
接続拒否 |
ポートに到達できない、またはパブリックネットワークが有効になっていない |
|
|
接続タイムアウト |
ネットワークに到達できない、または VPC ルーティングが接続されていない |
クライアントとインスタンスが同じ VPC 内にあることを確認するか、パブリックネットワーク経由で接続してください。 |
|
401 Unauthorized |
認証失敗 |
ベーシック認証のユーザー名とパスワードが正しいかどうか、およびパスワード内の特殊文字をエスケープする必要があるかどうかを確認してください。 |