越来越多的组织正在Cloud Run上构建应用程序,这是一个完全托管的计算平台,可让您在 Google 的基础架构之上运行容器化应用程序。想想 Web 应用程序、实时仪表板、API、微服务、批量数据处理、测试和监控工具、数据科学推理模型等等。近日,谷歌宣布,在 Cloud Run 上构建内部应用比以往任何时候都更加容易。在本文中,将介绍三种常见的设计模式以及 Cloud Run 中有助于实施这些模式的新功能。
1、内部 Web 应用程序 – 由Identity-Aware Proxy的 GA 发布启用
2、内部 API – 由区域内部 HTTP(S) 负载均衡器的 GA 发布启用
3、跨共享 VPC 的微服务 – 通过共享 VPC Ingress的公共预览版启用
1. 内部网络应用
许多客户的一个常见用例是构建仅供员工访问的内部 Web 应用程序。以前,您必须利用 VPN 和自定义身份验证流程,这并不理想。现在,您可以简化登录体验并通过对 Cloud Run 的身份感知代理 (IAP) 支持获得集中式访问控制,后者已普遍可用。
Identity-Aware Proxy通过提供对在 Google Cloud 或其他云平台上运行的应用程序的安全访问,使用 OAuth 2.0 和 OpenID Connect 标准对用户进行身份验证和授权,从而帮助您实现零信任原则。如果您有一个在 Cloud Run 上运行的 Web 应用程序,您现在可以使用 IAP 根据客户端的用户身份和上下文授权对您的应用程序的访问。这种架构简化了登录体验,并为安全管理员提供了对公司内部 Web 应用程序的集中访问控制。对安全敏感的组织还可以选择使用 IAP 升级到BeyondCorp Enterprise,以实现对 Cloud Run 应用程序的完全上下文感知访问,包括用户和设备上下文。
这种集成的独特之处在于,IAP 服务本身现在可以向 Cloud Run 的内置 IAM 系统进行身份验证。具体来说,当 IAP 将请求转发到 Cloud Run 时,它将在X-Serverless-Authorization标头中包含一个用于其自己的服务帐户的 OpenID Connect ID 令牌。在 Cloud Run 方面,您不再需要为“allUsers”授予Cloud Run Invoker 角色,这对那些使用域受限共享组织策略的客户来说是一个障碍。现在在 GA 中,您只需将 Cloud Run Invoker 角色授予 IAP 的服务账户。
2. 内部API
Cloud Run 也是构建 API 的绝佳选择,因为它简单、安全且经济高效。对于面向公众的 API,您可以使用外部 HTTP(S) 负载均衡器,它支持自定义域、高级流量管理和许多安全功能。对于面向内部的 API,您可以使用区域内部 HTTP(S) 负载均衡器,它现在也普遍可用。区域内部 HTTP(S) 负载平衡器将外部 HTTP(S) 负载平衡器的最佳功能用于内部工作负载,包括那些跨越多个项目的工作负载。
与外部负载均衡器不同,内部 HTTP(S) 负载均衡器只能从 VPC 上的其他资源访问。这种架构将所有流量都保留在 VPC 内,客户不再需要通过其公共 IP 调用 Cloud Run 服务。要进一步锁定访问,请将入口设置为internal,这样来自公共互联网的流量就无法到达您的 Cloud Run 服务。
3. 跨共享 VPC 的微服务
如果您有跨共享 VPC 的微服务模型,您可能正在寻找一种架构,该架构允许轻松直接进行服务到服务调用,同时确保所有流量都在您的专用网络中。
谷歌宣布,适用于 Cloud Run 的共享 VPC 入口现已推出公共预览版。此次发布简化了将 Cloud Run 与共享 VPC结合使用所需的设置。以前,如果您将 Cloud Run 入口限制为“内部”,则来自共享 VPC 中服务项目的流量将被阻止。通过此次发布,Cloud Run 服务修订版现在将接受来自其所连接的共享 VPC 网络的请求,包括当入口配置为“内部”或“内部和云负载平衡”时。
Cloud Run 和共享 VPC 可以帮助您的组织更快速、更轻松地构建和部署应用程序。您将受益于集中式网络管理、改进的安全性和增强的可扩展性。
【Cloud Ace 是谷歌云全球战略合作伙伴,拥有 300 多名工程师,也是谷歌最高级别合作伙伴,多次获得 Google Cloud 合作伙伴奖。作为谷歌托管服务商,我们提供谷歌云、谷歌地图、谷歌办公套件、谷歌云认证培训服务。】