I'm developing a CF application using IBM Bluemix. Once a service has been provisioned and bound to the app, is there any requirement that the credentials it provides refer to a publicly-accessible URL or IP address?
I ask because I've been experimenting with Cloudfocker, which provides a local approximation of the Cloud Foundry runtime environment, for a faster app development workflow. But to do any serious work, you need access to the services bound to your app in the real Bluemix. (You'd also need Bluemix's set of buildpacks too, but I'm ignoring that for the time being).
For example, say I'm developing an app that uses a database. I want to connect directly to the DB service instance from my Cloudfocker environment running on my local machine. Can I do that?
I ran a few experiments, and the results varied: a Cloudant service handed out a legal URL that I could reach from anywhere, but a Mongodb service gave me an IP that appears to refuse connections from non-Bluemix clients (see below).
# My endpoint is: mongodb://23.246.199.67:10027/db
# Within a Bluemix app, works
vcap@18jf19lbdo5:~$ nc -v 23.246.199.67 10027
Connection to 23.246.199.67 10027 port [tcp/*] succeeded!
^C
vcap@18jf19lbdo5:~$
# Outside Bluemix, fails
mamacdon@markm-vm:~$ nc -v 23.246.199.67 10027
nc: connect to 23.246.199.67 port 10027 (tcp) failed: Connection timed out
mamacdon@markm-vm:~$
Is this approach feasible, or will I have to resort to some kind of tunnel solution instead?