I have setup an AWS Neptune database cluster with one primary and two replica nodes in three private subnets, each in three availability zones within the same region. I have also created corresponding public subnets where EC2 instances will have a graph db visualizer app like https://github.com/bricaud/graphexp or https://github.com/erandal/graphexp. I am using the later (erandal), due to its more appealing UI. It is also deployed in apache httpd web server.
The private subnets have access to the internet through a NAT gateway associated with the public subnets.
For now I just have one EC2 instance to try out the connectivity of these UI tools to Neptune first before increasing the availability of the instances by deployment replicas in different AZs.
I have tried to connect by both options that Graphexp exposes (websockets and http) but without success. I keep getting the error - ERR_ADDRESS_UNREACHABLE in the Chrome Dev tools console. I have tried connecting to both the Neptune clusters' cluster endpoint hostname and its internal IP address etc. What is interesting is that I am able to call Neptune's gremlin endpoint successfully from the EC2 instance's shell using cURL. Why is this web app not working?