如何在三层架构中使用VLAN或VPC保护应用​

如何在三层架构中使用VLAN或VPC保护应用​

2023-09-13 09:00:00

云计算 在当今的容器和云环境中,我们可以很容易地将不同组件分离到不同系统中,而这样做的好处也是很明显的:轻松快速地构建出更可靠、更安全、可扩展性更高的应用程序。​

通过VPC实现网络隔离能在安全性方面带来很多好处,例如实现内部协作以及妥善存储敏感信息。

在开发工作方面,网络隔离还可用于实现多层Web应用程序的部署。通过对应用进行分层,我们可以将能够以及不能访问公共互联网的应用划分为不同的片段,例如通常可以通过这种方式将数据库层与公共互联网隔离,同时依然可以从上层拉取补丁和软件更新,而不需要直接访问公共互联网。除了减小攻击面,这种做法还有助于实现多区域部署

延伸阅读,了解Akamai cloud-computing

出海云服务,选择Akamai Linode!

我们可以通过多种方式来运行多层应用,通常只需要依赖一些最基础的形式即可获得最大化的可扩展性、安全性以及可靠性。三层架构是一种最常见的设计形式,这种形式在云端环境中尤为常见。

三层应用程序通常由三个层组成,这些层往往位于不同服务器上,能够分别以高度独立的方式开发和维护。这三层分别是:

  • 表示层:管理用户和应用程序间通信的外部接口,通常由Web服务器组成,运行HTML和Web开发代码。
  • 应用程序层:一种自定义应用程序,提供了必要的业务逻辑,借此将应用程序“黏合”在一起。
  • 数据层:数据库系统,用于存储和检索应用程序中使用的数据。

这三层内容作为独立的服务,需要通过基于网络的API进行通信。出于安全和性能方面的考虑,应用程序层和数据层通常需要位于同一个本地网络中,并且需要放置在同一个防火墙之后,但每一层的分离也使得我们可以将每个组件部署在不同硬件上,甚至部署到不同的地理位置。实际可以实现的灵活性主要取决于应用程序的具体需求。

下图展示了现实世界中一个最基础的三层Web应用程序。表示层的Web服务器在浏览器窗口中为用户提供了交互界面;另一端的数据层则是一个数据库,该数据库可以是一个单独的系统,或是在网络中用一个单一实体所代表的集群。数据库层方面流行的开源选项包括MySQL、MariaDB、PostgreSQL for SQL、MongoDB以及Cassandra for NoSQL等。

图1:三层架构可将Web应用程序拆分为表示层、应用程序层和数据层

Web服务器和数据库之间还有应用程序层,我们的大部分开发工作可能都是围绕这里进行的。应用程序层包含供应用程序实现目标所需的自定义代码和业务逻辑。在前端,Web服务器会将查询发送给应用程序层,随后应用程序层会响应Web服务器,并由Web服务器设置数据格式随后展示给用户。在后端,应用程序层将查询数据库,接收数据,随后处理收到的数据,产生用户需要的信息或结果。

作为一个非常简单的例子,我们可以将数据库想象成存储了公司销售记录的记录册。用户输入请求,希望得到一段时间内某一特定商品在特定地点的平均日销量。Web服务器会将请求发送给应用程序层,应用程序层构造数据库查询,接收原始数据,执行必要的计算,随后将响应发送回Web服务器。

图2:用户向表示层请求一系列信息,应用程序层可将请求转换为数据库查询

对于应用程序层来说,Apache Web服务器可能是最方便的表示层解决方案,而MongoDB可能是最方便的数据层解决方案。而应用程序层的自定义代码通常会使用Python、PHP或Ruby等语言编写。并且在一些现成的编程框架帮助下,我们可以更高效的开始编写自己的代码,例如Python开发可选择Django,Ruby开发可选择Rails,PHP开发可选择Symfony。

理论上,应用程序层可以和表示层结合在一起,为此只需要向Web服务器提供直接查询数据库所需的必要代码,但对于大多数复杂的业务逻辑来说,这种做法并不现实,并且也抵消了应用程序划分所带来的好处。

上文提到的“好处”中最重要的一点是:可以减小攻击面从而提高安全性。如图1所示,三层解决方案最大限度减少了必须放置在防火墙之外的应用程序组件。Web服务器可以通过安全的API进行通信,其他活动都发生在防火墙内部,更重要的是,都发生在私有地址空间中,因此无法通过互联网访问,这样即可遏制包括SQL注入在内的很多隐患,毕竟SQL注入已经是最常见,也最具破坏性的漏洞。好在这些隐患通常可以通过对数据库进行隔离和保护所有直接通信等方式加以遏制。

三层应用程序带来的另一个好处是可靠性。当每一层都运行在单独的服务器上,运行在不同的物理硬件,甚至在完全不同的数据中心内运行时,一层出现的故障就不太可能影响到其他层。这还有助于进一步提高可扩展性。因为这些独立运行的组件也可以独立进行扩展。举例来说,如果数据库访问遇到性能瓶颈,即可向数据库集群添加更多节点,这一过程对整体运行的影响也是最小的。

三层方法还有助于优化开发流程。连接各层的API以一种支持高效分工的方式将不同组件分开,Web开发者和管理员可以操作和管理Web服务器,数据库开发者和管理员可以运行数据库系统。在这两者之间,精通应用程序层所用框架技术的专家可以只专注于应用程序代码。例如在DevOps场景中,应用程序开发者可以用脱机的方式构建并测试新版应用程序代码,并在保证对运行只产生最小影响的前提下轻松更改应用代码。

如果你要着手开发Web应用程序,可以从一开始就考虑采用三层架构。在当今的容器和云环境中,我们可以很容易地将不同组件分离到不同系统中,而这样做的好处也是很明显的:轻松快速地构建出更可靠、更安全、可扩展性更高的应用程序。

这篇文章的内容感觉还行吧?有没有想要立即在 Linode 平台上亲自尝试一下?别忘了,现在注册可以免费获得价值 100 美元的使用额度,快点自己动手体验本文介绍的功能和服务吧↓↓↓

出海云服务,选择Akamai Linode

欢迎关注Akamai,第一时间了解高可用的MySQL/MariaDB参考架构,以及丰富的应用程序示例。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/281485.html<

(0)
管理的头像管理
上一篇2025-05-13 00:37
下一篇 2025-05-13 00:38

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注