【企业实战】:阿里云高可用架构之“CDN+WAF+SLB+ECS” 推荐 原创 甘兵 2018-05-31 21:16:16 博主文章分类:集群和分布式 ©著作权 文章标签 高可用 集群 waf cdn 负载均衡 文章分类 架构 后端开发 ©著作权归作者所有:来自51CTO博客作者甘兵的原创作品,请联系作者获取转载授权,否则将追究法律责任 回顾历史 相信有些朋友看过笔者之前写的这篇文章 《如何为企业快速设计高可用的阿里云架构》,并对阿里云的一些服务和产品的选型有了初步的了解,其实这篇文章写得比较粗,只是对企业选型描述大概的框架,并没有用太多笔墨来描述具体实现过程、配置操作。而导致有些博友看了也不过瘾。 所以,笔者这就要和大家一起来讨论一下《 阿里云高可用架构之“CDN+WAF+SLB+ECS”》如何实现,以及具体配置过程是怎样的。为什么拿这个架构来讨论呢,主要是这个架构目前在企业中使用率比较通用、普遍,也比较有代表性。 如果在企业中要具体来配置和实现,如果没有操过的朋友可能会有点晕、还会有点胆怯,具体该如何实现呢?不用担心。下面我们一起把它玩起来。 架构图 架构层级关系 CND(入口层)-> WAF(应用层防护)-> SLB(负载层)-> ECS(服务器源站) -> RDS(数据库) 域名 cname CDN CDN指向WAF WAF指向SLB SLB负载ECS 说明:在企业中当然还会有其他的服务,比较redis、oss、nfs、监控、弹性ip、日志等等服务,这些都不是本文的重点,本文的重点主要介绍CDN>WAF>SLB>ECS这几层服务的关系该如何配置,从哪一层开始配置是最为适合。 规划配置思路 无非是两种思路:从外到内、从内到外。 **从外到内:**什么是从外到内呢?刚才也分析了,即从CDN开始配置,逐渐往内配置一直到最里面的ECS服务器,这种思路方法笔者不建议。 **从内到外:**理解了从外到内之后,在来理解从内到外就简单多了。从最底层ECS服务器开始配置测试,在慢慢的往外层配置和测试,直到CDN最外那一层,建议用这种方法配置,便于在配置过程中的测试及问题排查。 下面我们来看下从内到外的配置方法具体是怎么实现的(ECS>SLB>WAF>CDN>域名)。 具体实现 1.ECS服务器 服务器上无非是部署项目,在企业中比较普遍的是php项目或者java项目。 php项目:服务器上部署nginx+php java项目:服务器上部署nginx+jdk+tomcat 至于具体怎么配置这些,相信大家都很熟悉。不过笔者建议在nginx的配置时候不建议使用upstream,因为ecs服务器前面已经有一层slb了。举个例子吧: upstream tomcat_server { server 10.0.0.10:8080; server 10.0.0.20:8080; } location / { root html; index index.html index.htm; proxy_pass http://tomcat_server; 像上面这种upstream就可以省去了,ecs前面挂了slb之后,nginx上的upstream就没有实际的意义了。 2.SLB负载均衡 SLB配置思路 开通SLB > 配置“虚拟服务器组” > “添加监听” 开通SLB实例 SLB负载均衡,开通即用。有两种类型的方式(公网、私网)。顾名思义,公网就是带公网IP的负载地址。私网就是带私网IP的负载地址。如下图: 说明: 本文中选用的是公网负载,因为在本案中SLB上面(外)有一层WAF,WAF下面(内)必须是公网IP的服务器或SLB,WAF上面(外)为CDN。 SLB的计费方式有两种,流量和固定带宽,根据公司的预算进行选择,建议带宽和规格也要根据业务需求来选型。比如,开通某个SLB,下面挂载的ECS服务器集群不大,业务访问量也不多,那么开通的这个SLB带宽和实例规格就可以小一点。 开通SLB还要注意一点,如果公司项目多,ECS集群多,那么最好1个SLB对应1个ECS集群环境。不要为了省这点钱影响以后业务性能。如果公司就一个项目,就那么3、5台ECS服务器,开通一个SLB我觉得完全就够用了。比如下图,就开通了好几个SLB实例,每个SLB对应相应的ECS集群服务器: 配置“虚拟服务器组” 开通好了之后,开始配置,点击“管理“进入SLB实例,添加”虚拟服务器组“,如下图 把服务器添加到右边的列表中,配置端口,权重默认都为100,如果你们服务器每台配置都不一样,可适当调一下权重,比如配置低一点的服务器,把权重调小一点(70、60等)。 “添加监听” a,添加监听,配置“基本配置”,如下图: 前端协议:HTTP 80 后端协议:HTTP 80 调度算法:加权轮询(默认),权重值越高的后端服务器,被轮询到的次数(概率)也越高。 使用虚拟服务器组:把刚才配置的“虚拟服务器组”选上就行 b,高级配置,如下图: 会话保持:开启,HTTP 协议会话保持基于cookie。如果业务不需要会话保持,可不用开启此功能。 会话保持时间:3600,这个时间和开发商量一下配置多少合适。 Gzip数据压缩:开启,开启将对特定文件类型进行压缩;关闭则不会对任何文件类型进行压缩。 c,健康检查,如下图: 当然,你可以不开启健康检查,如不开启,SLB不管后端ECS服务器是不是存活,它都会按照策略进行负载下去。所以一般建议开启它。 域名:自定义 检查端口:80 检查路径:/test.html,这也是自定义静态页面,用于SLB检查ECS服务器的页面,放在ECS服务器的根目录下面就行,test.html里面内容可以为空,也可以随便写点东西进去。比如笔者自定义了一个server,如下图: server { listen 80; server_name test.ganbing.com index index.html index.htm; root html; access_log off; } 注意:上面的 access_log建议off掉,不然access.log会因为slb的健康检查每天会生成一大堆无用的日志。 到此,SLB就配置到这里了,如果有HTTPS协议,需要在添加一项监听,并把证书挂上去。下面我们来看一下waf的配置。 3.WAF防火墙 WAF配置思路 添加网站 > 初步的“防护配置” 配置waf a,添加网站,如下图: 域名:test.ganbing.com,配置项目的域名。 协议类型:如果公司没有HTTPS,就选HTTP。 服务器地址:IP,这里配置SLB 的IP地址。如果没有SLB(或者你们公司不打算用SLB),这里就直接配置ECS服务器的公网IP。 WAF前是否有七层代理(高防/CDN等):是,这个选项已经提示很明显了,如果WAF前面有CDN就选是,没有就选否。 负载均衡算法:IP hash。 注意,如果公司有HTTPS协议,而且需要强HTTPS强制跳转,需要配置“高级设置”,如下图: (开启后,HTTP请求将显示为HTTPS,默认跳转到443端口) b,初始化“防护配置” web应用×××防护:模式/防护,防护规则策略/正常 恶意IP惩罚:启用 CC安全防护:模式/正常 精准访问控制:启用 先把防护初始化一下,简单配置开启相关防护项,后期在慢慢细化它。 c,复制配置好的waf域名,如下图: 把waf的域名先复制,后面配置cdn用得上,然后我们继续下去,把最后一层CDN搞定。 4.CDN CDN配置思路 添加域名 > 基础配置 > 其它可选项配置 配置CDN a,添加域名,建议使用“全站加速域名”新的CDN产品,如下图: 说明:全站加速产品,是融合了 动态加速 和 静态加速 技术的CDN产品。该产品一站式解决了页面动静态资源混杂、跨运营商、网络不稳定、单线源站、突发流量、网络拥塞等诸多因素导致的响应慢、丢包、服务不稳定的问题,提升全站性能和用户体验。 b,基础配置,如下图: 加速域名:test.ganbing.com,输入使用的域名。 源站信息:选择“源站域名”,粘贴刚才复制的waf域名。 端口:80端口 c,回源配置,可选项配置,可根据业务需求配置,这里笔者开启了“静态协议跟随加源”,如下图: 说明:开启"静态协议跟随加源"该功能后,回源使用协议和客户端访问资源的协议保持一致。即如果客户端使用 HTTPS 方式请求资源,当节点上未缓存该资源时,会使用相同的 HTTPS 方式回源获取资源;同理,客户端使用 HTTP 方式请求资源,节点回源时以 HTTP 方式请求。 d,动静态加速规则,这里笔者也开启了,这个是可选项,可以不用开启,也是根据自身业务需求来使用,如下图: 说明: 开启:可自定义动静态资源加速规则,静态内容使用边缘缓存,动态内容采用最优路由回源 关闭:无动态内容加速效果,仅保留静态边缘缓存功能 e,https配置,如果你们公司用的是https,一定要配置此项,如果没有https,这项可不用配置,如下图: 如果业务需要httt强制https,则需要修改强制跳转的配置,如下图: f,另外,还可以开启智能压缩,页面优化等功能,这也是可选项配置,如下图: **页面优化:**去除页面冗余内容如HTML页面、内嵌Javascript和CSS中的注释以及重复的空白符。 **智能压缩:**对静态文件类型进行压缩,有效减少用户传输内容大小。 复制CDN地址 把CDN的CNAME地址复制好,用于等下解析到域名上,如下图: 好了,cdn也配置好了,最后把域名解析到cdn即可。 测试验证 进入ganbing.com域名,配置cname解析,如下图: 域名解析好了之后,在浏览器进行验证吧。 整个过程到此结束,这么一套架构配置下来扛住上百万的用户是绝对妥妥的,安全、稳定、可靠。老铁们开搞吧。 总结 1、整个配置过程最主要的是顺序和思路不要乱,最好画个草图,先从哪开始,到哪结束。 2、每配置好一层的时候,可以当时就解析到域名进行验证,比如你把SLB配置好了,当时就可以把SLB的IP解析到域名进行验证,确定没问题后,在配置上一层。 3、HTTP和HTTPS的需求搞清楚,公司的域名有没有买CA证书,如果有,整个业务是HTTP、HTTPS共享呢,还是HTTP强制跳转HTTPS呢?如果没有CA证书,那就只能用HTTP协议了。 4、配置好了之后,一层一层的把监控报警做好,建议也是从最内层(底层)开始配置。 本章内容到此结束,喜欢我的文章,请点击最上方右角处的《关注》!!! 赞 收藏 评论 分享 举报 上一篇:(CC)与(WAF)之间的较量 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 腾讯云取消免费10G CDN流量包:免费CDN时代结束 免费送了7-8年的腾讯云10G免费流量包,从2024年开始,停止赠送了!自此,国内绝大多数互联网大厂的CDN都开收费了! 腾讯云 百度云 自媒体 AWS ECS Fargate任务定义优化:复制与更新的实践 引言Amazon Elastic Container Service(ECS)为容器化应用程序的部署和管理提供了强大的平台。在实际应用中,有时候我们需要基于已有的任务定义进行优化或调整。本文将介绍如何通过Boto3和Python实现在AWS ECS中复制并更新任务定义,重点关注启动命令和日志配置的更新。1. 背景假设您有一个名为test-worker-agent的任务定义,现在您需要创建一个新的任 AWS Python AWS ECS Fargate 容器 SCDN和CDN有什么区别 一.CDN是什么?CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的 服务器 IP 安全防护 阿里云高可用架构之“CDN+WAF+SLB+ECS 架构 阿里云 CDN原理与搭建 ################################################HTTP缓存。 与Squid不同... 缓存 服务器 web服务器 CDN与前端技术 CDN(Content Delivery Network)是一种广泛应用于网络加速和内容分发的技术。它通过在全球各地部署服务器节点,将静态资源如图片、CSS和Javascript文件等缓存到离用户最近的节点上,从而提供更快速和可靠的内容交付。在前 理、前端与CDN的结合以及一些最佳实践。 缓存 源服务器 静态资源 CDN与全局负载均衡 CDN与全局负载均衡 Linux运维 CDN cdn 全局负载均衡 GLB 《CDN 之我见》原理篇——CDN的由来与调度 CDN是将源站内容分发至全国所有的节点,从而缩短用户查看对象的延迟,提高用户访问网站的响应速度与网站的可用性的技术。它能够有效解决网络带宽小、用户访问量大、网点分布不均等问题。为了让大家更全面的了解CDN的原理、调度、缓存和安全等关键技术点,阿里云高级技术专家白金将自己从事CDN相关领域工作8年来的一些经验、收获和个人认知撰写成《CDN之我见》系列文章,分享给大家。《CDN之我见》共分成多个部分, 服务器 域名 电信 CDN - CDN架设、CDN产品介绍、CDN加速原理 随着互联网的发展,用户在使用网络时对网站的浏览速度和效果愈加重视,但由于网民数量激增,网络访问 CDN 负载均衡 百度CDN与360CDN简单评测,果断选择百度CDN 项目要用到CDN分流,重点看了下百度CDN与360CDN,其他CDN更不行。1、http://cdn.code.baidu.com/ 百度静态资源公共库CDN取http://apps.bdimg.com/libs/jquery/2.1.1/jquery.js 进行速度评测2、http://libs.useso.com/ 360静态资源公共库CDN取http://lib 百度 360 cdn评测 cdn架构与缓存 cdn存储 一、 方案背景 高清、超高清视频的蓬勃发展,用户对高品质视频体验的渴望,对网络的并发处理和内容平台的存储能力提出了更高的要求。作为产业链的重要一环,CDN(内容分发网络)进入规范发展快车道。CDN的快速发展将为内容分发平台的建设和普及提供强有力的支撑。随着业务的不断拓展,具备横向扩展、弹性自适应、支撑海量客户端并发访问的存储平台顺应超高清视频时代的发展趋势。 二、 挑战 1、 传统存储无法满足源站 cdn架构与缓存 CDN 视频流 数据 数据安全 cdn与sdn架构 cdn网络原理与架构 CDN网络架构主要由两大部分,分为中心和边缘两部分,中心指CDN网管中心和DNS重定向解析中心,负责全局负载均衡,设备系统安装在管理中心机房,边缘主要指异地节点,CDN分发的载体,主要由Cache和负载均衡器等组成。 当用户访问加入CDN服务的网站时,域名解析请求将最终交给全局负载均衡DNS进行处理。全局负载均衡DNS通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户,使用户能够得到 cdn与sdn架构 工作 负载均衡 缓存服务器 cache cdn与云平台 cdn与云的关系 你是否为看视频的时候电脑卡而困扰,明明网络很好还是会卡;一张图片打开会经常延迟,试试华为云CDN,说不定会有意想不到的收获,华为云CDN你可以理解为加速器,具体是什么,来看看下面内容。华为云CDN是什么?CDN全称是Content Delivery Network,即内容分发网络。CDN的主要作用就是“加速”,把你需要访问的音频、视频、图像、应用等文件,放到离你家门口最近的服务器上,让你访问贼 cdn与云平台 人工智能 缓存 运营商 HTTPS cdn网络原理与架构 cdn的理解 1. 什么是CDN?CDN是一个空间换时间的策略。CDN的全称是Content Delivery Network,即内容分发网络。 CDN是构建在网络之上的内容分发网络。CDN使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN依靠部署在各地的边缘服务器,包括中心平台的负载均衡、内容分发、调度等功能模块。2. CDN的服务模式是什么?内容分发网络(CDN)是一 cdn网络原理与架构 cdn 负载均衡 服务器 DNS CDN使用架构 cdn网络原理与架构 什么是cdn?CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。市场上小型CDN的原理是什么?我将从用户访问到需要访问的网站来一一说明。 CDN使用架构 linux 服务器 静态资源 访问控制 redis ecs redis ecs was 最近买了阿里云服务器,打算自己搭建一套完整java技术链【如有问题欢迎大家指正】,下面是在【阿里云ECS】CentOS上Redis安装与配置的操作说明。1. Redis下载与安装我的Centos版本: CentOS 8.0 64位我下载的redis版本:redis-6.0.1 【不同版本目录可能有些不同,不过基本原理都一样】1.1 安装gcc环境yum install gcc-c++1.2 进入 redis ecs redis IP Redis cdn与云服务区别 cdn服务商 第一款,百度加速乐加速乐目前被百度收购,这样百度也有了自己运营的CDN产品,可以丰富自身站长平台工具使用用户群。目前有免费用户和付费用户的区别,对于一般的网站免费方案也足够使用。特点具备智能解析、加速、抗DDOS之外,还与百度统计以及百度搜索引擎的索引、蜘蛛爬行统计关联,这点也是他的优势。如果是其他产品,我们需要通过日志分析才可以得到数据。针对没有"北岸"的网站可以选择使用日本或者香港节点。从用户 cdn与云服务区别 百度 网站安全 IP android cdn使用 cdn cdn 在介绍网站架构之前,我们先介绍一些网站架构中最基础和常见的概念,以便更好的理解后面的有关负载均衡和分布式存储等技术。第一个,首先讲讲CDN。 1、CDN是什么 CDN(Content Delivery Network),就是内容发布网或者内容分发网,它的主要目的:通过在现有的Internet中增加一层新的网络架构,将网站的内容 android cdn使用 网络 分布式存储 负载均衡 互联网 cdn 与云服务器 cdn服务器配置 前言 CDN(Content Delivery Network,内容分发网络)是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。 国内的 cdn 与云服务器 运维 python 缓存 HTTP cdn网络原理与架构图 cdn的工作原理 一、CDN工作机制1.CDN原理 CDN(Content Delivery Network)内容分发网络,它是通过在现有的Internet中增加一层新的网站架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需内容,提高用户访问网站的响应速度。CDN=镜像(Mirror)+缓存(Cache)+整体负载均衡(GSLB)。2.CDN应用 cdn网络原理与架构图 服务器 负载均衡 DNS