私有化部署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. 重新点亮shell————awk函数[十五]

    前言 简单介绍一下awk函数. 正文 算术函数 字符串函数 自定义函数 例子: 结 awk就到这里了.

  2. javascript现代编程系列教程之二——IIFE

    IIFE(Immediately Invoked Function Expression,立即执行函数表达式)是一个在定义后立即执行的JavaScript函数.它具有以下特点: 是一个匿名函数:通常情 ...

  3. 力扣1083(MySQL)-销售分析Ⅱ(简单)

    题目: 编写一个 SQL 查询,查询购买了 S8 手机却没有购买 iPhone 的买家.注意这里 S8 和 iPhone 是 Product 表中的产品. 查询结果格式如下图表示: Product t ...

  4. 万节点规模云服务的 SRE 能力建设

    简介: 随着越来越多企业以容器作为系统底座,那么阿里云的云服务又是如何进行SRE规划呢?下文将由资深SRE工程师拆解2 万节点规模云服务背后的 SRE 能力建设,立即点击观看! 作者:宋傲(凡星)   ...

  5. Serverless 应用引擎 SAE 携手谱尼测试共同抗疫

    ​简介:潮落江平未有风,扁舟共济与君同. 阿里云联合乘云至达与谱尼测试携手, 共同筑建抗疫堡垒,共抗疫情.共克时艰. 作者 | 计缘 背景 当前疫情形势依然严峻,各行各业众志成城,携手抗疫.新冠病毒核 ...

  6. KubeVela 1.1 发布,开启混合环境应用交付新里程碑

    ​简介: KubeVela 作为一个开箱即用.面向现代微服务架构的应用交付与管理平台,今天正式发布了 1.1 版本,以更加用户友好和完善的功能集,开启了"让混合环境应用交付更加简单高效&qu ...

  7. 基于MaxCompute+开放搜索的电商、零售行业搜索开发实践

    ​简介: 搜索一直是电商行业流量来源的核心入口之一,如何搭建电商行业搜索并提升搜索效果,一直是电商行业开发者努力攻克的难题.基于传统数据库或开源引擎虽然能够搭建基础搜索服务,但随着商品数据的增多和业务 ...

  8. [Ethereum] 浅谈 ERC20 在 openzeppelin-contracts 中的结构与实现

    目前 openzeppelin-contracts 的稳定版是 v2.5,截止到本文发布,最新的 Tag 为 v3.0.0-rc.0 以下是 token/ETC20 的文件列表: IERC20.sol ...

  9. dotnet DirectX 通过 Vortice 控制台使用 ID2D1DeviceContext 绘制画面

    在上一篇博客里面告诉大家,如何使用 Vortice 从零开始控制台创建 Direct2D1 窗口.上一篇博客采用的是 CreateDxgiSurfaceRenderTarget 的方式拿到了 ID2D ...

  10. 2019-2-27-VisualStudio-插件-翻译注释

    title author date CreateTime categories VisualStudio 插件 翻译注释 lindexi 2019-02-27 15:50:33 +0800 2019- ...