このトピックでは、curl を使用してコマンドラインから Alibaba Cloud Elasticsearch クラスターに接続する方法について説明します。
事前準備
クラスターエンドポイントの取得
VPC プライベートネットワーク経由の内部エンドポイントまたはパブリックエンドポイントを使用して、Elasticsearch クラスターに接続できます。
-
内部エンドポイント:低レイテンシーで安定性の高い接続を Elasticsearch クラスターに提供します。このエンドポイントは、クラスターの作成時にデフォルトで有効になります。
-
パブリックエンドポイント:インターネット経由で Elasticsearch クラスターに接続できます。このエンドポイントは手動で有効にする必要があります。
パブリックアクセスの有効化
-
Elasticsearch コンソールにログインし、インスタンスの 基本情報 ページに移動します。
-
左のナビゲーションペインで、設定と管理 > セキュリティ設定 を選択し、パブリックアクセスを有効にします。クラスターのステータスが 初期化中 から 有効 に変わると、パブリックアクセスが有効になります。
[パブリックアクセス] を有効にすると、[パブリックエンドポイント] は
es-cn-<instance_ID>.public.elasticsearch.aliyuncs.comの形式になります。[パブリック IP ホワイトリスト] はデフォルトで空のため、設定が必要です。重要パブリックエンドポイントを使用すると、Elasticsearch クラスターのセキュリティが侵害される可能性があります。パブリックエンドポイントを使用する場合は、必ず IP ホワイトリストを設定し、完了後はパブリックアクセスを無効にしてください。
IP ホワイトリストの設定
クラスターを保護するには、アクセスに使用するデバイスの IP アドレスを、Elasticsearch クラスターの VPC プライベートネットワークまたはパブリック IP ホワイトリストに追加する必要があります。ホワイトリスト内の IP アドレスを持つデバイスのみがクラスターにアクセスできます。
-
アクセスに使用するデバイスの IP アドレスを取得します。
次の表に、さまざまなシナリオで IP アドレスを取得する方法を示します。
シナリオ
IP アドレス
方法
ローカルデバイスから Elasticsearch クラスターに接続
ローカルデバイスのパブリック IP アドレス。
ローカルデバイスが自宅や会社のネットワークなどのローカルエリアネットワーク (LAN) 上にある場合は、LAN のゲートウェイのパブリック IP アドレスをクラスターのパブリック IP ホワイトリストに追加する必要があります。
curl ipinfo.io/ipコマンドを実行して、ローカルデバイスのパブリック IP アドレスを確認します。別の VPC 内の ECS インスタンスから Elasticsearch クラスターに接続
ECS インスタンスのパブリック IP アドレス。
ECS コンソールにログインし、インスタンスリストで表示します。
同じ VPC 内の ECS インスタンスから Elasticsearch クラスターに接続
ECS インスタンスのプライベート IP アドレス。
ECS コンソールにログインし、インスタンスリストで表示します。
-
この IP アドレスをホワイトリストグループに追加します。
-
Elasticsearch コンソールにログインします。インスタンスの 基本情報 ページで、左のナビゲーションペインの 設定と管理 > セキュリティ設定 を選択します。変更 をクリックして、VPC プライベートネットワークまたはパブリック IP ホワイトリストを設定します。
-
default グループの右側にある [設定] をクリックします。表示されたダイアログボックスで、VPC プライベートネットワークまたはパブリック IP ホワイトリストに IP アドレスを追加します。クラスターには最大 300 個の IP アドレスまたは CIDR ブロックを追加できます。複数のエントリはコンマ (,) で区切り、その前後にスペースは入れないでください。
-
Add IP address whitelist Group をクリックして、カスタムグループを作成することもできます。
-
ホワイトリストグループは IP アドレスの管理のみを目的としており、アクセス権限には影響しません。すべてのグループのすべての IP アドレスは同じ権限を持ちます。
設定タイプ
形式と例
重要な注意点
IPv4 アドレス形式
-
単一 IP:
192.168.0.1 -
CIDR ブロック:
192.168.0.0/24
-
すべてのアクセスを拒否:
127.0.0.1 -
すべてのアクセスを許可:
0.0.0.0/0重要高いセキュリティリスクが生じるため、
0.0.0.0/0を設定しないことを強く推奨します。一部のクラスターバージョン (7.16 や 8.5 など) およびリージョンでは
0.0.0.0/0はサポートされていません。詳細については、コンソールの UI またはエラーメッセージをご参照ください。
IPv6 アドレス形式
(China (Hangzhou) リージョンの v2 デプロイアーキテクチャ クラスターでのみサポート)
-
単一 IP:
2401:XXXX:1000:24::5 -
CIDR ブロック:
2401:XXXX:1000::/48
-
すべてのアクセスを拒否:
::1 -
すべてのアクセスを許可:
::/0重要これには高いセキュリティリスクが伴います。
::/0を設定しないよう、強く推奨します。一部のクラスターバージョンでは
::/0はサポートされていません。詳細については、コンソールの UI または設定プロンプトをご参照ください。
-
-
OK をクリックします。
-
プロトコルと証明書
-
パブリック HTTPS:信頼された認証局 (CA) によって発行された証明書を使用します。特別なクライアント設定は不要です。
https://プロトコルを使用して直接接続します。 -
プライベート HTTPS:暗号化伝送に自己署名証明書を使用します。VPC プライベートネットワークは中間者攻撃に対して安全であるため、
-kパラメーターを使用して証明書検証をバイパスすることで、クラスターに安全にアクセスできます。
クラスターへの接続
コマンド構文
# パブリック HTTPS
curl -u '<UserName>:<YourPassword>' 'https://<YourEsHost>:port'
# プライベート HTTP
curl -u '<UserName>:<YourPassword>' 'http://<YourEsHost>:port'
# プライベート HTTPS (-k を使用して証明書検証をバイパス)
curl -k -u '<UserName>:<YourPassword>' 'https://<YourEsHost>:port'
|
パラメーター |
説明 |
|
UserName |
デフォルトのユーザー名 elastic は、クラスターで最も高い権限を持つ管理者アカウントです。 セキュリティ上の理由から、本番環境ではこのデフォルトの管理者アカウントを使用しないことを推奨します。Elasticsearch X-Pack のロールベースのアクセス制御 (RBAC) メカニズムを使用して、カスタムロールを作成し、権限を割り当て、ユーザーにロールを割り当てることで、きめ細かなアクセス制御を実現できます。詳細については、「Elasticsearch X-Pack のロールを使用したユーザー権限の管理」をご参照ください。 |
|
YourPassword |
指定された UserName のパスワードです。 |
|
https |
アクセスプロトコルです。デフォルトでは HTTP プロトコルが有効になっています。 転送中のデータの機密性、セキュリティ、完全性を確保するために、HTTPS プロトコルを有効にして使用することを推奨します。HTTPS を有効にするには、Elasticsearch コンソールにログインします。インスタンスの 基本情報 ページで、左のナビゲーションペインの 設定と管理 > セキュリティ設定 を選択し、HTTPS プロトコルを有効にします。 重要
|
|
YourEsHost |
「事前準備」セクションで取得したクラスターエンドポイントです:
|
|
port |
クラスターにアクセスするためのポートです。デフォルトのポートは、VPC プライベートネットワークとパブリックアクセスの両方で 9200 です。 |
例
# パブリック HTTPS アクセス
curl -u 'user123:Passw0rd!' 'https://es-xx-xxxxxxxxxxxxxxxxx.public.elasticsearch.aliyuncs.com:9200'
# プライベート HTTP アクセス
curl -u 'user123:Passw0rd!' 'http://es-cn-0pp1****.elasticsearch.aliyuncs.com:9200'
# プライベート HTTPS アクセス (-k を使用して証明書検証をバイパス)
curl -k -u 'user123:Passw0rd!' 'https://es-cn-0pp1****.elasticsearch.aliyuncs.com:9200'
接続に成功すると、次のクラスター情報が返されます。その後、Elasticsearch REST API を使用してクラスターを管理したり、インデックス操作を実行したりできます。
{
"name" : "es-cn-aic**************-master-i-2",
"cluster_name" : "es-cn-aic**************",
"cluster_uuid" : "InmpfI1oQB2ijtdZ******",
"version" : {
"number" : "8.17.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "0bdf7********************************50279ae7c",
"build_date" : "2025-03-05T02:31:55.853663566Z",
"build_snapshot" : false,
"lucene_version" : "10.0.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}