ElasticSearch License Update
This provides instructions on how to update ElasticSearch licenses across different environments.
License File
Closer to time of renewal, we should get license files provided by Elastic via email. Email normally contains a link. Follow the link and after agreeing T&C, it will show license file for Production and Non-Production.
Important: - Prod license should be applied to Prod only - Non-Prod license should be applied to all other environments i.e. Demo, ITHC, Perftest & AAT
Process Overview
License should be applied on each cluster locally as of now. (This can be automated using TF).
Connect to ES Node
You can pick any online node. For detailed connection instructions, see the Deleting Elastic Search Index runbook.
Check Cluster Health
curl -X GET http://localhost:9200/_cluster/health?pretty
Check Current License
curl -X GET "localhost:9200/_license?pretty"
Take a note of "expiry_date" and this should be updated after applying the new license.
Create License File
Create a file called license.json (you can choose any name, but make sure to use the same name in the following command).

Update License
curl -XPUT -u elkadmin 'http://localhost:9200/_license' -H "Content-Type: application/json" -d @license.json
It will ask for password which can be found in KeyVault under the key "ccd-ELASTIC-SEARCH-PASSWORD". For each environment, KeyVault and password is different.
Verify License Update
Check license again and see if it has extended "expiry_date":
curl -X GET "localhost:9200/_license?pretty"
Troubleshooting
Note: You may need to explicitly disable the below key/pair in elastic config if there are any issues. License file won’t be accepted until all issues are resolved. Config file location is
/etc/elasticsearch/elasticsearch.ymland it is managed through Terraform.
xpack.security.enabled: false




