Elastisearch installed via rpm only listens on localhost, not other IP address

I’m running amazon linux, as:
uname -a
Linux ip-172-31-23-41.ec2.internal 4.14.138-114.102.amzn2.x86_64 #1 SMP Thu Aug 15 15:29:58 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

installed via RPM package:
opendistroforelasticsearch.noarch 1.2.0-1

with the default values in /etc/elasticsearch/elasticsearch.yml
it comes up listening on localhost as:

sudo lsof -i -P -n | grep LISTEN | grep 9200
java 16250 elasticsearch 251u IPv6 3124716 0t0 TCP [::1]:9200 (LISTEN)
java 16250 elasticsearch 252u IPv6 3124717 0t0 TCP 127.0.0.1:9200 (LISTEN)

all well and good so far…

but I’m failing to get it to listen to any other network interface. I’ve tried the following combinations in elasticsearch.yml
network.host: 172.31.23.41 – elastisearch fails to start
network.host: “172.31.23.41” – elastisearch fails to start
server.host: “172.31.14.107” – starts but lsof shows nothing listening on port 9200
server.host: 172.31.23.41 – still listens just localhost

using “sudo systemctl start elasticsearch.service” to start/stop/status

any advice is welcome. Thanks in advance.

Brent

This is long overdue but may help someone,

Had the same issue, checked on the log and found message below

[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

So added the discovery.seed_hosts in the elasticsearch.yml and it starts after setting network.host