在大多数解决方案中,某些应用程序应该是公共的,而某些应用程序只能在内部访问。
这种解决方案是否有经过验证的配置模式?
执行此操作的简单方法可能是创建两个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
:
public space
的{{1}}(例如* .my-pub-cf.cloud)public domain
可从Internet访问,并且仅将流量传递到public load-balancer
public load-balancer
只能访问后备服务,甚至只能访问public domains
中的应用程序(参见安全组)此配置安全吗?
可以轻松完成吗?
答案 0 :(得分:1)
此处使用的组织和空间与公共/私人应用无关。组织和空格用于内部组织您的应用程序,并限制通过cf cli对这些应用程序的访问。您可以使用适合您的团队和公司的任何结构。
要使应用公开/私有,这完全取决于路由的使用。如果您想公开访问某个应用,则可以将一条公共路由绑定到该应用(即,不是内部路由)。如果您不希望某个应用程序公开,请绑定internal route或完全不绑定路由。如果您绑定内部路由,则可以使用the platform's DNS-based discovery或自己携带,例如Eureka或Consul。如果您不绑定路由,则可以通过服务(例如消息代理)进行通信。
您甚至可以通过policies控制容器到容器网络上两个应用之间的流量。这使您可以根据类型和端口来允许或限制流量。