SnappyData v.0.5
In our AWS SnappyData instance, we have the following attributes:
- public IP: 52.x.x.x (exposed to the Internet)
- private/internal IP: 172.x.x.x (exposed only inside AWS)
- private/internal Name: ip-172-x-x-x.us-west-2.compute.internal (exposed only inside AWS)
To connect with JDBC from my Windows client, I use a JDBC URL like this:
jdbc:snappydata://52.x.x.x:1527/
The sequence of events the connection makes is:
- JDBC client connects into AWS and reaches the Locator at 172.x.x.x:1527
- Locator finds the Server running at 172.x.x.x:somePort
- Locator sends the internal host name back to the Windows Client
- Windows JDBC Client tries to connect to this:
ip-172-x-x-x.us-west-2.compute.internal
The JDBC connection fails because only the 52.x.x.x IP address is really publicly available to the Internet.
To remedy, I had to change my Windows hosts file, adding a mapping of:
52.x.x.x ip-172-x-x-x.us-west-2.compute.internal
Please advise on a better way, so my clients don't need to hack their 'hosts' files.