Cloud Foundry后端和公共应用程序

时间:2018-07-19 12:32:00

标签: security microservices cloudfoundry pivotal-cloud-foundry 12factor

在大多数解决方案中,某些应用程序应该是公共的,而某些应用程序只能在内部访问。

这种解决方案是否有经过验证的配置模式?

执行此操作的简单方法可能是创建两个CF空间(在同一CF组织中):

  • internal space
      该空间中的
    • 应用程序已绑定到指向internal domain的{​​{1}}(例如* .my-internal-cf.cloud)
    • internal load-balancer是主要的共享域
    • internal domain无法从Internet访问,只能用于Cloud Foundry中的应用程序
    • internal load-balancer可以访问支持服务(cf安全组)
  • internal space
      该空间中的
    • app已绑定到指向public space的{​​{1}}(例如* .my-pub-cf.cloud)
    • public domain可从Internet访问,并且仅将流量传递到public load-balancer
    • public load-balancer只能访问后备服务,甚至只能访问public domains中的应用程序(参见安全组)

此配置安全吗?

可以轻松完成吗?

1 个答案:

答案 0 :(得分:1)

此处使用的组织和空间与公共/私人应用无关。组织和空格用于内部组织您的应用程序,并限制通过cf cli对这些应用程序的访问。您可以使用适合您的团队和公司的任何结构。

要使应用公开/私有,这完全取决于路由的使用。如果您想公开访问某个应用,则可以将一条公共路由绑定到该应用(即,不是内部路由)。如果您不希望某个应用程序公开,请绑定internal route或完全不绑定路由。如果您绑定内部路由,则可以使用the platform's DNS-based discovery或自己携带,例如Eureka或Consul。如果您不绑定路由,则可以通过服务(例如消息代理)进行通信。

您甚至可以通过policies控制容器到容器网络上两个应用之间的流量。这使您可以根据类型和端口来允许或限制流量。