Bluemix服务端点是否可公开访问?

我正在使用IBM Bluemix开发CF应用程序。 一旦服务已经configuration并绑定到应用程序,是否有任何要求提供的凭据是指可公开访问的URL或IP地址?

我问,因为我一直在尝试Cloudfocker ,它提供了Cloud Foundry运行时环境的本地近似,以加快应用程序开发工作stream程。 但是要做任何认真的工作,您需要在真正的Bluemix中访问绑定到您的应用程序的服务。 (您还需要Bluemix的buildpack套件,但是我暂时忽略了这一点)。

例如,假设我正在开发一个使用数据库的应用程序。 我想直接连接到我的本地机器上运行的Cloudfocker环境中的数据库服务实例。 我可以这样做吗?

我进行了一些实验,结果各不相同:一个Cloudant服务发布了一个我可以从任何地方访问的合法URL,但是一个Mongodb服务给了我一个IP,似乎拒绝来自非Bluemix客户端的连接(见下文)。

# 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:~$ 

这种方法是可行的,还是我不得不求助于某种隧道解决scheme?

有些服务可以公开访问。 这取决于服务。 当我在本地开发时,我有我的应用程序检测环境(检查VCAP_SERVICES环境variables),并在本地运行时连接到本地/testing数据库。

在Bluemix中提供的数据库服务中,可从Bluemix应用程序之外访问的数据库服务包括:Cloudant,dashDB和SQL数据库。 您可以从VCAP_SERVICES环境variables中find凭证信息(URL,用户名,密码,数据库名称和端口号)。

对于dashDB和SQL数据库,您还需要下载驱动程序以进行连接(如果您没有预装DB2客户机或Data Studio)。 例如,在dashDB中:

  1. 点击你的dashDB服务实例
  2. 您可以使用右上angular的“启动”button启动dashDB服务。
  3. 一旦dashDB仪表板加载,在左侧,点击:设置 – >连接应用程序
  4. 下载dashDB驱动程序并记下连接所需的凭据信息(URL,用户名,密码,数据库名称和端口号)

其他的答案让我相信,没有一个通用的解决scheme可以与CFv2中的所有Bluemix服务一起工作。 (旧版本的CF提供了cf tunnel命令,但不再支持。)

好消息是Cloud Foundry即将发布的“Diego”版本将支持将SSH直接插入应用程序实例,从而启用端口通道。 所以你将能够获得外部访问你的应用程序内的服务…最终。

有关详细信息,请参阅此邮件列表 。