私有化部署PaaS软件的公网访问需求

在阿里云计算巢,我们发现,很多本来应该只在VPC内网使用的三方PaaS软件和中间件,在部署时都开启了公网IP,这并不符合最佳实践。

以数据库为例,数据库保存了对企业来说最重要的核心数据,一般来说,只应该只开放给部署在内网的应用访问。阿里云官方的RDS数据库,创建完成后是默认是不开放公网访问的,内网访问也需要加入白名单才可以连接。

但计算巢上私有化部署的数据库软件,很多开放了公网,原因是数据库软件需要提供基于WEB的管控面板和监控面板(比如Grafana)。如果不提供公网服务,用户就没有办法登录基于WEB GUI的管控面板进行管理。除非用户的本地网络通过VPN与线上VPC打通,但大部分用户无法满足这个条件。

公网访问带来的问题

数据库服务提供了公网服务以后,其管控面板和监控面板的公网暴漏成为了安全的突破口,给用户的数据安全会带来很大风险。

为了安全,要求服务商的WEB服务能够支持HTTPS等安全机制,更进一步,可能要求用户部署SSL证书。另一方面,服务商要经常更新软件修复漏洞,但是对于私有化部署的服务,服务商无法像托管服务一样很便捷的更新软件。

从用户角度,除了安全风险,公网访问也会给用户带来额外的流量费用、增加了部署的复杂性。如果一套生产环境中部署了多个PaaS软件或中间件,可能会部署多个公网IP,给用户带来了管理成本。

计算巢内网WEB服务安全代理

计算巢提供了内网WEB服务安全代理,解决了服务商无法纯内网部署软件的痛点。

如果一个服务的输出中存在内网的WEB服务地址(http/https),计算巢控制台在WEB地址盘展示一个”安全代理直接访问的“按钮,用户点击后,即可在新窗口打开网页。

使用此功能,服务商只有少量的接入工作:

  • WEB服务所在的ECS实例安全组需要对Workbench内网地址开放
  • 服务输出增加内网的WEB地址

对用户来说,带来了很多好处:

  • 和公网访问WEB服务完全一致的体验
  • 消除了公网访问,大大提升安全度、
  • 通过RAM鉴权,只有实例的Owner账号才可以访问
  • 没有公网费用

在用户点击背后,计算巢和Workbench做了一系列工作:

  1. 计算巢需要验证用户的身份和权限,保证只有服务实例的Owner才可以访问。
  2. 计算巢需要从内网WEB地址中,解析出底层的VPC信息、ECS信息、IP和端口信息等等。
  3. 计算巢调用Workbench接口,传入访问信息,Workbench对访问者鉴权后返回VPC内网WEB代理地址。
  4. 计算巢控制台在新窗口打开代理地址,Workbench将用户请求转发到对应的内网ECS端口上,并返回WEB服务的响应。
  5. 代理链路对用户透明,Workbench提供https服务保证用户数据安全。

客户案例 - AutoMQ

AutoMQ for Kafka 是基于云原生理念重新设计的新一代 Kafka 发行版。在保持和 Apache Kafka 100%兼容前提下,AutoMQ 可以为用户提供高达 50% 的成本节省以及百倍的弹性优势,同时支持秒级分区迁移和流量自动重平衡,解决运维痛点。

AutoMQ依赖其控制台来进行Kafka实例的创建,因此控制台是一个必须使用的组件。在以前,AutoMQ在部署时默认给用户开启公网访问。现在,此选项可以默认关闭了,只有少量有需求的用户需要。

在计算巢部署了AutoMQ实例后,可以通过计算巢控制台访问VPC内网部署的控制台。

参考

计算巢产品文档

使用计算巢安全代理功能消除公网依赖

使用安全代理访问服务实例的VPC私网Web地址

使用计算巢打造纯内网部署的PaaS服务的更多相关文章

  1. Redis-3.2.1集群内网部署

    摘要: Redis-3.2.1集群内网部署 http://rubygems.org国内连不上时的一种Redis集群部署解决方案.不足之处,请广大网友指正,谢谢! 一. 关于redis cluster  ...

  2. Nginx代理实现内网主机访问公网服务

    通过Nginx代理实现内网主机访问公网和接口服务 1.需求: m2.test.com为公司测试环境的微信测试域名,因为要调用微信服务接口需要访问外网,现通过Nginx代理现实此功能. 2.环境如下: ...

  3. centos7谷歌chrome内网部署演示

    上传需要的包,注释网关创建内网环境 [root@localhost ~]# ls anaconda-ks.cfg chrome mcw4 mcw4.tar.gz mcwchromerpm.tar.gz ...

  4. 内网部署Docker版本Gitlab

    Gitlab部署: 1. 还原备份文件后记得拷贝gitlab-secrets.json,不然会遇到500错误 2. 下载Docker以及依赖项rpm包 3. 在外网机器下载镜像 a. 拉取——Dock ...

  5. 内网部署YApi

    官网地址:https://hellosean1025.github.io/yapi/devops/index.html 环境要求 nodejs(7.6+) mongodb(2.6+),安装看这篇文章: ...

  6. yapi内网部署 centos

    1.部署方案 官方说明: https://hellosean1025.github.io/yapi/devops/index.html 2.需要注意的点 (1)在centos等服务启上最好使用“命令行 ...

  7. DLINK 企业路由器内网部署web开启端口转发后还需要开启是否支持端口回流功能

    跑后台使用的服务器,配置一般都很低,带宽只有2Mb 一些大型文件比如app的更新包使用这种服务器不可行 但是公司的网络是100Mb对等静态ip专线 所以能利用起来,每年将会省下8万块 说干就干,这个步 ...

  8. 内网探测之SPN服务扫描及相关利用

    在写下一个大块之前,补充一些小知识点,也没啥新东西 0x01简介 如果常规扫描服务,结果不理想,非常GG,可以考虑使用SPN进行服务扫描,这是为了借助Kerberos的正常查询行为(向域控发起LDAP ...

  9. 记一次metasploitable2内网渗透之samba服务的攻击

    80端口中对应一些web靶场,在这里不记录 111端口的利用是向rpcbind服务的UDP套接字发送60字节载荷,便可填充目标内存,搞崩主机系统.在这里也不记录 Samba服务简介 Samba是在Li ...

  10. 内网学习之MySQL服务提权

    利用MySQL提权原理: 1.具有mysql的root权限,且mysql以system权限运行. 2.具有执行sql语句的权限,webshell或者外连皆可 UDF提权 UDF(user define ...

随机推荐

  1. spark 计算前后两条记录之间的差(diff),时间差等

    有时候会遇到这样的场景:有一个datafram,我们需要计算同一组对象中,前后两条记录之间的差值,此处并不仅限于时间,还可以是其他的数据类型 需要用到两个工具:spark窗口函数Window对对象分组 ...

  2. 【4】Spring框架的起源

    在我们的<Java Spring框架入门教程>中对 Spring 框架进行了十分详尽的介绍和剖析,但在学习 Spring Boot 之前,在这里回顾一下 Spring 是怎么出现的. Sp ...

  3. IaC:实现持续交付和 DevOps 自动化的关键

    基础架构即代码(IaC)和 CI/CD 流水线最初似乎并不匹配.因为它们代表了两种不同的流程.IaC 主要关注基础设施的配置和开发,而 CI/CD 则围绕软件开发.测试和部署. 然而,将 IaC 集成 ...

  4. Python 生成带Logo的圆角带边框二维码

    Python 生成二维码方式就不累述了,不会的自己百度吧 但python生成的二维码太难看了,要么没有logo,要么logo直接贴进去的,难看死了,有的也处理了一下,但没有圆角,也难看: 以下:是不是 ...

  5. 了解3D世界的黑魔法-纯Java构造一个简单的3D渲染引擎

    简介: 对于非渲染引擎相关工作的开发者来说,可能认为即使构建最简单的3D程序也非常困难,但事实上并非如此,本篇文章将通过简单的200多行的纯 Java代码,去实践正交投影.简单三角形光栅化.z缓冲(深 ...

  6. 行业 SaaS 微服务稳定性保障实战

    简介: 对于Tob企业而言,稳定性即是生命线.那么,面对商户数目暴增, C 端场景业务不断扩展呢,F6汽车科技又是如何搭建可观测体系呢?一线负责人深度解读实际演进过程! 很多研发人员在日常工作中经常回 ...

  7. 如何实现一个 Paxos

    简介: Paxos 作为一个经典的分布式一致性算法(Consensus Algorithm),在各种教材中也被当做范例来讲解.但由于其抽象性,很少有人基于朴素 Paxos 开发一致性库,本文介绍的实现 ...

  8. 如何合理使用 CPU 管理策略,提升容器性能?

    ​简介:CPU Burst.拓扑感知调度是阿里云容器服务 ACK 提升应用性能的两大利器,它们解决了不同场景下的 CPU 资源管理,可以共同使用.点击下文,查看详情! 作者:张佐玮(佑祎) 前言 在云 ...

  9. 从托管到原生,MPP架构数据仓库的云原生实践

    ​简介:本文介绍了云原生数据仓库产品AnalyticDB PostgreSQL从Cloud-Hosted到Cloud-Native的演进探索,探讨为了实现真正的资源池化和灵活售卖的底层设计和思考,涵盖 ...

  10. [Go] 有了 cast 组件, golang 类型转换从此不再困扰

    在 golang 中,参数和返回值之间往往涉及 int.string.[].map 等之间的转换. 如果是手动去处理,一容易出错,二不能兼容多数类型,比较麻烦. 使用 cast,能够让代码更健壮.可维 ...