Search code examples
amazon-web-serviceselasticsearchamazon-elasticsearch

How do I find out that Amazon ElasticSearch service is used instead of casual ES?


I am writing my tool for Elasticsearch and have found out that when working with Amazon that some parts work differently. So I am writing custom handlers for that. But is there a way I can determine that ES cluster is on AWS ES?


Solution

  • Look at the hostname: if you're running on AWS Managed Elasticsearch it will end with es.amazonaws.com.

    You can also look at the results of a top-level GET (and should), to find the version and whether or not it's running the open-source edition.

    {
      "name" : "xxxxxx",
      "cluster_name" : "123456789012:xxx",
      "cluster_uuid" : "xxxxxxxxxxxxxxxxxxxxx",
      "version" : {
        "number" : "6.8.0",
        "build_flavor" : "oss",
        "build_type" : "tar",
        "build_hash" : "dadef69",
        "build_date" : "2020-04-28T01:07:12.310753Z",
        "build_snapshot" : false,
        "lucene_version" : "7.7.0",
        "minimum_wire_compatibility_version" : "5.6.0",
        "minimum_index_compatibility_version" : "5.0.0"
      },
      "tagline" : "You Know, for Search"
    }