Azure Virtual Machine Discovery
editAzure Virtual Machine Discovery
editAzure VM discovery allows to use the azure APIs to perform automatic discovery (similar to multicast in non hostile multicast environments). 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: zen.hosts_provider: 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