Unable to reach specified node in AWS EC2

I’m trying to use the new gRPC C# client with the latest EventStoreDb and unable to find out or autodetect connection string details here https://developers.eventstore.com/clients/grpc/getting-started/#connection-details

I get unabe to reach specified node when using the IP of my EC2. For example 52.47.183.152 and port 2113.

I’m probably missing some settings but can’t find which ones.

It’s all good locally when using docker. For example:

docker run --name esdb-node -it -p 2113:2113 -p 1113:1113 eventstore/eventstore:latest --insecure --run-projections=All --enable-external-tcp --enable-atom-pub-over-http

and connecting with the connection string esdb://localhost:2113?tls=false

For EC2 Ubuntu 20.04 64bits I followed the instructions and I’ve got EventStore running as I can verify

$ systemctl | grep eventstore
  eventstore.service                               loaded active running   EventStoreDB Server

with the following settings at /etc/eventstore/eventstore.conf

RunProjections: None
ClusterSize: 1
Db: "/home/ubuntu/my-storage"
Log: "/home/ubuntu/my-logs"
Insecure: true
EnableExternalTcp: true

As I understood, gRPC uses TCP, so I’ve created the following inbound rules in the security group for the EC2 instance (to allow TCP connections on 1113 and 2113 from anywhere)

1113	TCP	0.0.0.0/0	launch-wizard-1
1113	TCP	::/0	launch-wizard-1
2113	TCP	0.0.0.0/0	launch-wizard-1
2113	TCP	::/0	launch-wizard-1

What else am I missing? Would the connection string use the public IP address as in esdb://52.47.183.152:2113?tls=false ?

PS: by the way, the command eventstore is not found when following documentation steps, although it’s probably irrelevant here.

I solved it. For some reason the https://developers.eventstore.com/clients/grpc/getting-started/#connection-details cannot detect my event store Db despite of opening all traffic at the EC2.

Anyway, this is the config. Probably something there is not needed, but it works for gRPC clients and the admin UI

# Cluster
ClusterSize: 1

# Paths
Db: "/home/ubuntu/my-storage"
Log: "/home/ubuntu/my-logs"
Index: "/home/ubuntu/my-index"

# Security
Insecure: true

# Network
IntIp: 172.31.29.3 # this is the private eth0
ExtIp: 172.31.29.3 # this is the private eth0
HttpPort: 2113
IntTcpPort: 1113
ExtTcpPort: 1113
EnableExternalTcp: false
EnableAtomPubOverHttp: true

# Projections
RunProjections: None

Then in EC2 I just have to open the following traffic

Custom TCP|TCP|1113|From my Ip (or other less restrictive)
Custom TCP|TCP|2113|From my Ip (or other less restrictive)