ノードのセキュア設定のリロードAPI
クラスタ内のノードのキーストアをリロードします。
リクエスト
POST /_nodes/reload_secure_settings
POST /_nodes/<node_id>/reload_secure_settings
前提条件
- Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するには
manage
クラスタ特権を持っている必要があります。
説明
セキュア設定は、ディスク上のキーストアに保存されます。これらの設定の一部はリロード可能です。つまり、ディスク上で変更し、クラスタ内のノードを再起動せずにリロードできます。キーストア内のリロード可能なセキュア設定を更新した場合、このAPIを使用して各ノードでそれらの設定をリロードできます。
Elasticsearchのキーストアがパスワードで保護されており、単に難読化されていない場合、セキュア設定をリロードする際にキーストアのパスワードを提供する必要があります。クラスタ全体の設定をリロードする場合、すべてのノードのキーストアが同じパスワードで保護されていることを前提としています。この方法は、ノード間通信が暗号化されている場合にのみ許可されます。あるいは、APIにローカルにアクセスし、ノード固有のElasticsearchキーストアパスワードを渡すことで、各ノードのセキュア設定をリロードできます。
パスパラメータ
<node_id>
- (オプション、文字列) 対象とするクラスタ内の特定のノードの名前。例えば、
nodeId1,nodeId2
。ノード選択オプションについては、ノード仕様を参照してください。
Elasticsearchはクラスタノード間で一貫したセキュア設定を要求しますが、この一貫性は強制されません。したがって、特定のノードをリロードすることは標準的ではありません。失敗したリロード操作を再試行する場合にのみ正当化されます。
リクエストボディ
secure_settings_password
- (オプション、文字列) Elasticsearchキーストアのパスワード。
例
以下の例は、クラスタのすべてのノードでElasticsearchキーストアの共通パスワードを前提としています:
Python
resp = client.nodes.reload_secure_settings(
secure_settings_password="keystore-password",
)
print(resp)
resp1 = client.nodes.reload_secure_settings(
node_id="nodeId1,nodeId2",
secure_settings_password="keystore-password",
)
print(resp1)
Js
const response = await client.nodes.reloadSecureSettings({
secure_settings_password: "keystore-password",
});
console.log(response);
const response1 = await client.nodes.reloadSecureSettings({
node_id: "nodeId1,nodeId2",
secure_settings_password: "keystore-password",
});
console.log(response1);
コンソール
POST _nodes/reload_secure_settings
{
"secure_settings_password":"keystore-password"
}
POST _nodes/nodeId1,nodeId2/reload_secure_settings
{
"secure_settings_password":"keystore-password"
}
レスポンスには、ノードIDでキー付けされたマップであるnodes
オブジェクトが含まれています。各値にはノードname
とオプションのreload_exception
フィールドがあります。reload_exception
フィールドは、リロードプロセス中にスローされた例外のシリアル化です(あれば)。
コンソール-結果
{
"_nodes": {
"total": 1,
"successful": 1,
"failed": 0
},
"cluster_name": "my_cluster",
"nodes": {
"pQHNt5rXTTWNvUgOrdynKg": {
"name": "node-0"
}
}
}