# ECE medium installation example, AWS, runner ip connectivity

**URL:** <https://discuss.elastic.co/t/ece-medium-installation-example-aws-runner-ip-connectivity/206040>\
**Category:** Elastic Cloud Enterprise (ECE)\
**Created:** [October 31, 2019, 1:02pm UTC](https://discuss.elastic.co/t/ece-medium-installation-example-aws-runner-ip-connectivity/206040 "2019-10-31T13:02:23Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![mesiasc](https://avatars.discourse-cdn.com/v4/letter/m/b38774/32.png) [@mesiasc](https://discuss.elastic.co/u/mesiasc)\
**Post date:** [October 31, 2019, 1:02pm UTC](https://discuss.elastic.co/t/ece-medium-installation-example-aws-runner-ip-connectivity/206040/1 "2019-10-31T13:02:24Z")

</div>

I'm installing the second instance (step 3 here: [https://www.elastic.co/guide/en/cloud-enterprise/current/ece-topology-example2.html](https://www.elastic.co/guide/en/cloud-enterprise/current/ece-topology-example2.html)) after the first instance seemed to install without problems.

The second instance complains:  
Checking runner ip connectivity... FAILED  
Can't connect $RUNNER\_HOST\_IP [10.5.3.195:22000]: Connection refused  
[...]

```auto
Errors have caused Elastic Cloud Enterprise installation to fail
Some of the prerequisites failed: [runner ip connectivity], please fix before continuing

```

I checked on the first instance and there isn't anything listening on this port:

netstat -anpt|grep LISTEN|grep 22000

Any advice?

Possibly relevant context. I'm using r5.xlarge instances. I had to manually set up docker as the cloud-init script to do this failed.  
Failed running /var/lib/cloud/scripts/per-instance/00-format-drives-enable-docker  
Possibly because of the storage being /dev/nvme1n1  
Instead I manually did parted mklabel, mkpart, mkfs.xfs, mkdir /mnt/data, install /mnt/data, mount, make the sysctl edits, systemctl restart docker...

---

<div class="post-metadata">

**Author:** ![Alex\_Piggott](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alex_piggott/32/11053_2.png) [@Alex\_Piggott](https://discuss.elastic.co/u/Alex_Piggott)\
**Post date:** [October 31, 2019, 6:45pm UTC](https://discuss.elastic.co/t/ece-medium-installation-example-aws-runner-ip-connectivity/206040/2 "2019-10-31T18:45:46Z")

</div>

Hi @mesiasc

I think what that error means is that a docker container running on the 2nd instance can't connect to its host on that port (which is in the range we use for container-container comms), it's nothing do with external connectivity.

I _believe_ it does that check on every install, so your first instance passed. Is there any `iptables` / `docker` config difference between the two?

---

<div class="post-metadata">

**Author:** ![mesiasc](https://avatars.discourse-cdn.com/v4/letter/m/b38774/32.png) [@mesiasc](https://discuss.elastic.co/u/mesiasc)\
**Post date:** [November 1, 2019, 6:51am UTC](https://discuss.elastic.co/t/ece-medium-installation-example-aws-runner-ip-connectivity/206040/3 "2019-11-01T06:51:54Z")

</div>

Thanks for the reply Alex.  
All instances are created in an auto scaling group from identical config although they are in different availability zones and subnets. In this case the IP given in the error message is the IP of the first instance.  
I've stepped back to a single instance install but would really like to get the medium example up and running - I will reproduce this.

---

<div class="post-metadata">

**Author:** ![mesiasc](https://avatars.discourse-cdn.com/v4/letter/m/b38774/32.png) [@mesiasc](https://discuss.elastic.co/u/mesiasc)\
**Post date:** [November 7, 2019, 6:10pm UTC](https://discuss.elastic.co/t/ece-medium-installation-example-aws-runner-ip-connectivity/206040/4 "2019-11-07T18:10:04Z")

</div>

Alex,

I had to rebuild the ECE installation, and reproduced the problem.

The first instance was installed with  
bash \<(curl -fsSL [https://download.elastic.co/cloud/elastic-cloud-enterprise.sh](https://download.elastic.co/cloud/elastic-cloud-enterprise.sh)) install --availability-zone MY\_ZONE-1 --memory-settings '{"runner":{"xms":"1G","xmx":"1G"},"allocator":{"xms":"4G","xmx":"4G"},"proxy":{"xms":"8G","xmx":"8G"},"zookeeper":{"xms":"4G","xmx":"4G"},"director":{"xms":"1G","xmx":"1G"},"constructor":{"xms":"4G","xmx":"4G"},"admin-console":{"xms":"4G","xmx":"4G"}}'

The second instance was installed with  
bash \<(curl -fsSL [https://download.elastic.co/cloud/elastic-cloud-enterprise.sh](https://download.elastic.co/cloud/elastic-cloud-enterprise.sh)) install --coordinator-host $HOST\_IP --roles-token "$MY\_TOKEN" --roles "director,coordinator,proxy,allocator" --availability-zone MY\_ZONE-2 --memory-settings '{"runner":{"xms":"1G","xmx":"1G"},"allocator":{"xms":"4G","xmx":"4G"},"proxy":{"xms":"8G","xmx":"8G"},"zookeeper":{"xms":"4G","xmx":"4G"},"director":{"xms":"1G","xmx":"1G"},"constructor":{"xms":"4G","xmx":"4G"},"admin-console":{"xms":"4G","xmx":"4G"}}'

HOST\_IP is the private IP address of the first instance which is routable from the second. MY\_TOKEN is set as described in the documentation. Nothing seems to be listening on port 22000 on either instance.

Any further ideas to diagnose this please?

---

<div class="post-metadata">

**Author:** ![Alex\_Piggott](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alex_piggott/32/11053_2.png) [@Alex\_Piggott](https://discuss.elastic.co/u/Alex_Piggott)\
**Post date:** [November 7, 2019, 9:51pm UTC](https://discuss.elastic.co/t/ece-medium-installation-example-aws-runner-ip-connectivity/206040/5 "2019-11-07T21:51:27Z")

</div>

Let me double check I understand this!

You happily install ECE on `$host1`

You then come to install a second host connecting to the first, say `$host2`

The `$host2` install fails on the _internal_ connectivity check (that's what 22000 is), BUT claiming it's trying to connect to `$host1.ip`? And you're 100% sure (sorry for asking this stupid question!) that `$host1` and `$host2` have different IPs?

---

<div class="post-metadata">

**Author:** ![Alex\_Piggott](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alex_piggott/32/11053_2.png) [@Alex\_Piggott](https://discuss.elastic.co/u/Alex_Piggott)\
**Post date:** [November 7, 2019, 9:57pm UTC](https://discuss.elastic.co/t/ece-medium-installation-example-aws-runner-ip-connectivity/206040/6 "2019-11-07T21:57:55Z")

</div>

So we use `HOST_IP` as an _internal_ environment variable to pass around the IP of the _host currently being installed_, eg `$host2` in the discussion above

It looks like you are maybe overriding it in your scripting! It should work if you either:

- Unset it
- Set it to `$host2`'s IP
- Use `--host-ip` in the install CLI

---

<div class="post-metadata">

**Author:** ![mesiasc](https://avatars.discourse-cdn.com/v4/letter/m/b38774/32.png) [@mesiasc](https://discuss.elastic.co/u/mesiasc)\
**Post date:** [November 8, 2019, 10:25am UTC](https://discuss.elastic.co/t/ece-medium-installation-example-aws-runner-ip-connectivity/206040/7 "2019-11-08T10:25:59Z")

</div>

Alex,

thanks for persevering, I should have thought of that! I have changed my scripting to not use HOST\_IP and it now works nicely. 🙂

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [November 22, 2019, 10:26am UTC](https://discuss.elastic.co/t/ece-medium-installation-example-aws-runner-ip-connectivity/206040/8 "2019-11-22T10:26:13Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
