Azure Virtual Machine Discovery
editAzure Virtual Machine Discovery
editAzure VM discovery allows to use the Azure APIs to perform automatic discovery. Here is a simple sample configuration:
cloud: azure: management: subscription.id: XXX-XXX-XXX-XXX cloud.service.name: es-demo-app keystore: path: /path/to/azurekeystore.pkcs12 password: WHATEVER type: pkcs12 discovery: seed_providers: azure
Binding the network host
The keystore file must be placed in a directory accessible by Elasticsearch like the config
directory.
It’s important to define network.host
as by default it’s bound to localhost
.
You can use core network host settings. For example _en0_
.
How to start (short story)
edit- Create Azure instances
- Install Elasticsearch
- Install Azure plugin
-
Modify
elasticsearch.yml
file - Start Elasticsearch
Azure credential API settings
editThe following are a list of settings that can further control the credential API:
|
/path/to/keystore |
|
|
|
your_password for the keystore |
|
your_azure_subscription_id |
|
your_azure_cloud_service_name. This is the cloud service name/DNS but without the |
Advanced settings
editThe following are a list of settings that can further control the discovery:
-
discovery.azure.host.type
-
Either
public_ip
orprivate_ip
(default). Azure discovery will use the one you set to ping other nodes. -
discovery.azure.endpoint.name
-
When using
public_ip
this setting is used to identify the endpoint name used to forward requests to Elasticsearch (aka transport port name). Defaults toelasticsearch
. In Azure management console, you could define an endpointelasticsearch
forwarding for example requests on public IP on port 8100 to the virtual machine on port 9300. -
discovery.azure.deployment.name
-
Deployment name if any. Defaults to the value set with
cloud.azure.management.cloud.service.name
. -
discovery.azure.deployment.slot
-
Either
staging
orproduction
(default).
For example:
discovery: type: azure azure: host: type: private_ip endpoint: name: elasticsearch deployment: name: your_azure_cloud_service_name slot: production