产品架构
云服务器ECS主要包含以下功能组件:
- 实例:等同于一台虚拟服务器,内含CPU、内存、操作系统、网络配置、磁盘等基础的计算组件。实例的计算性能、内存性能和适用业务场景由实例规格决定,其具体性能指标包括实例vCPU核数、内存大小、网络性能等。
- 镜像:提供实例的操作系统、初始化应用数据及预装的软件。操作系统支持多种Linux发行版和多种Windows Server版本。
- 块储存:块设备类型产品,具备高性能和低时延的特性。提供基于分布式存储架构的云盘以及基于物理机本地存储的本地盘。
- 快照:某一时间点一块云盘的数据状态文件。常用于数据备份、数据恢复和制作自定义镜像等。
- 安全组:由同一地域内具有相同保护需求并相互信任的实例组成,是一种虚拟防火墙,用于设置实例的网络访问控制。
- 网络
- 专有网络
- 逻辑上彻底隔离的云上私有网络。您可以自行分配私网IP地址范围、配置路由表和网关等。
- 经典网络:所有经典网络类型实例都建立在一个共用的基础网络上。由阿里云统一规划和管理网络配置。
更多功能组件详情,请参见云服务器ESC产品详情页
以下为云服务器ECS的产品组件架构图,图中涉及的功能组件的详细介绍请参见相应的帮助文档。
产品定价
云服务器ECS支持包年包月、按量付费、预留实例券、抢占式实例等多种账单计算模式。更多详情,请参见计费概述和云产品定价页。
管理工具
通过注册阿里云账号,您可以在任何地域下,通过阿里云提供的以下途径创建、使用或者释放云服务器ECS:
- ECS管理控制台:具有交互式操作的Web服务页面。关于管理控制台的操作,请参见常用操作导航。
ECS API:支持GET和POST请求的RPC风格API。关于API说明,请参见API参考。以下为调用云服务器ECS API的常用开发者工具
命令行工具CLI:基于阿里云API建立的灵活且易于扩展的管理工具。您可基于命令行工具封装阿里云的原生API,扩展出您需要的功能。
OpenAPI Explorer:提供快速检索接口、在线调用API和动态生成SDK示例代码等服务。
阿里云SDK:提供Java、Python、PHP等多种编程语言的SDK。
资源编排(Resource Orchestration Service):通过创建一个描述您所需的所有阿里云资源的模板,然后资源编排将根据模板,自动创建和配置资源。
运维编排服务(Operation Orchestration Service):自动化管理和执行运维任务。您可以在执行模板中定义执行任务、执行顺序、执行输入和输出等,通过执行模板达到自动化完成运维任务的目的。
Terraform:能够通过配置文件在阿里云以及其他支持Terraform的云商平台调用计算资源,并对其进行版本控制的开源工具。
阿里云App:移动端类型的管理工具。
Alibaba Cloud Toolkit:阿里云针对IDE平台为开发者提供的一款插件,用于帮助您高效开发并部署适合在云端运行的应用。
部署建议
您可以从以下维度考虑如何启动并使用云服务器ECS:
- 地域和可用区
地域指阿里云的数据中心,地域和可用区决定了ECS实例所在的物理位置。一旦成功创建实例后,其元数据(仅专有网络VPC类型ECS实例支持获取元数据)将确定下来,并无法更换地域。您可以从用户地理位置、阿里云产品发布情况、应用可用性、以及是否需要内网通信等因素选择地域和可用区。例如,如果您同时需要通过阿里云内网使用云数据库RDS,RDS实例和ECS实例必须处于同一地域中。更多详情,请参见地域和可用区。
高可用性
为保证业务处理的正确性和服务不中断,建议您通过快照实现数据备份,通过跨可用区、部署集、负载均衡(Server Load Balancer)等实现应用容灾。
网络规划
阿里云推荐您使用专有网络VPC,可自行规划私网IP,全面支持新功能和新型实例规格。此外,专有网络VPC支持多业务系统隔离和多地域部署系统的使用场景。更多详情,请参见专有网络(Virtual Private Cloud)。
安全方案您可以使用云服务器ECS的安全组,控制ECS实例的出入网访问策略以及端口监听状态。对于部署在云服务器ECS上的应用,阿里云为您提供了免费的DDoS基础防护和基础安全服务
通过DDoS高防IP保障源站的稳定可靠。更多详情,请参见DDoS高防IP文档。
通过云安全中心保障云服务器ECS的安全。更多详情,请参见云安全中心文档
- 。
相关服务
使用云服务器ECS的同时,您还可以选择以下阿里云服务:
- 根据业务需求和策略的变化,使用弹性伸缩(Auto Scaling)自动调整云服务器ECS的数量。更多详情,请参见弹性伸缩。
使用专有宿主机(Dedicated Host)部署ECS实例,可让您独享物理服务器资源、降低上云和业务部署调整的成本、满足严格的合规和监管要求。更多详情,请参见专有宿主机DDH。
使用容器服务Kubernetes版在一组云服务器ECS上通过Docker容器管理应用生命周期。更多详情,请参见容器服务Kubernetes版。
通过负载均衡(Server Load Balancer)对多台云服务器ECS实现流量分发的负载均衡目的。更多详情,请参见负载均衡。
通过云监控(CloudMonitor)制定实例、系统盘和公网带宽等的监控方案。更多详情,请参见云监控。
在同一阿里云地域下,采用关系型云数据库(Relational Database Service)作为云服务器ECS的数据库应用是典型的业务访问架构,可极大降低网络延时和公网访问费用,并实现云数据库RDS的最佳性能。云数据库RDS支持多种数据库引擎,包括MySQL、SQL Server、PostgreSQL、PPAS和MariaDB。更多详情,请参见关系型云数据库。
在云市场获取由第三方服务商提供的基础软件、企业软件、网站建设、代运维、云安全、数据及API、解决方案等相关的各类软件和服务。您也可以成为云市场服务供应商,提供软件应用及服务。更多详情,请参见云市场文档。
什么是RDS
阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和SSD盘高性能存储,RDS支持MySQL、SQL Server、PostgreSQL、PPAS(Postgre Plus Advanced Server,高度兼容Oracle数据库)和MariaDB TX引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。
为什么选择云数据库RDS
选择云数据库RDS,您可以快速搭建稳定可靠的数据库服务,相比自建数据库有如下优势:
- 便宜易用,具有灵活计费、按需变配、即开即用等优点。
- 高性能,包括参数优化、SQL优化建议等。
- 高可用架构和多种容灾方案。
- 高安全性,提供多种安全措施保障数据安全。
在性价比、可用性、可靠性、易用性、性能等方面,云数据库RDS都有很大优势,价格相比ECS自建数据库,仅需约1/3,相比自购服务器搭建数据库,仅需约1/10。
mysql迁移上RDSmysql
https://help.aliyun.com/document_detail/126875.html?spm=a2c4g.11186623.2.2.16a17070MP5GaB
vpc
阿里云解释
专有网络是您自己独有的云上私有网络。您可以完全掌控自己的专有网络,例如选择IP地址范围、配置路由表和网关等,您可以在自己定义的专有网络中使用阿里云资源如云服务器、云数据库RDS版和负载均衡等。
您可以将专有网络连接到其他专有网络或本地网络,形成一个按需定制的网络环境,实现应用的平滑迁移上云和对数据中心的扩展。
基础架构
基于目前主流的隧道技术,专有网络(VPC)隔离了虚拟网络。每个VPC都有一个独立的隧道号,一个隧道号对应一个虚拟化网络
。
背景信息
随着云计算的不断发展,对虚拟化网络的要求越来越高,例如弹性(scalability)、安全性(security)、可靠性(reliability)和私密性(privacy),并且还有极高的互联性能(performance)需求,因此催生了多种多样的网络虚拟化技术。
比较早的解决方案,是将虚拟机的网络和物理网络融合在一起,形成一个扁平的网络架构,例如大二层网络。随着虚拟化网络规模的扩大,这种方案中的ARP欺骗、广播风暴、主机扫描等问题会越来越严重。为了解决这些问题,出现了各种网络隔离技术,把物理网络和虚拟网络彻底隔开。其中一种技术是用户之间用VLAN进行隔离,但是VLAN的数量最大只能支持4096个,无法支撑巨大的用户量。
原理描述
基于目前主流的隧道技术,专有网络隔离了虚拟网络。每个VPC都有一个独立的隧道号,一个隧道号对应着一个虚拟化网络。一个VPC内的ECS(Elastic Compute Service)实例之间的传输数据包都会加上隧道封装,带有唯一的隧道ID标识,然后送到物理网络上进行传输。不同VPC内的ECS实例因为所在的隧道ID不同,本身处于两个不同的路由平面,所以不同VPC内的ECS实例无法进行通信,天然地进行了隔离。
基于隧道技术和软件定义网络SDN(Software Defined Network)技术,阿里云的研发在硬件网关和自研交换机设备的基础上实现了VPC产品。
逻辑架构
如下图所示,VPC包含交换机、网关和控制器三个重要的组件。交换机和网关组成了数据通路的关键路径,控制器使用自研协议下发转发表到网关和交换机,完成了配置通路的关键路径,配置通路和数据通路互相分离。交换机是分布式的结点,网关和控制器都是集群部署并且是多机房互备的,并且所有链路上都有冗余容灾,提升了VPC的整体可用性。
应用场景
托管应用程序
托管主动访问公网的应用程序
跨可用区容灾
业务系统隔离
构建混合云
多个应用流量波动大
专有网络(VPC)是完全隔离的网络环境,配置灵活,可满足不同的应用场景。
托管应用程序
您可以将对外提供服务的应用程序托管在VPC中,并且可以通过创建安全组规则、访问控制白名单等方式控制Internet访问。您也可以在应用程序服务器和数据库之间进行访问控制隔离,将Web服务器部署在能够进行公网访问的子网中,将应用程序的数据库部署在没有配置公网访问的子网中。
托管主动访问公网的应用程序
您可以将需要主动访问公网的应用程序托管在VPC中的一个子网内,通过网络地址转换(NAT)网关路由其流量。通过配置SNAT规则,子网中的实例无需暴露其私网IP地址即可访问Internet,并可随时替换公网IP,避免被外界攻击。
跨可用区容灾
您可以通过创建交换机为专有网络划分一个或多个子网。同一专有网络内不同交换机之间内网互通。您可以通过将资源部署在不同可用区的交换机中,实现跨可用区容灾。
业务系统隔离
不同的VPC之间逻辑隔离。如果您有多个业务系统例如生产环境和测试环境要严格进行隔离,那么可以使用多个VPC进行业务隔离。当有互相通信的需求时,可以在两个VPC之间建立对等连接。
构建混合云
VPC提供专用网络连接,可以将本地数据中心和VPC连接起来,扩展本地网络架构。通过该方式,您可以将本地应用程序无缝地迁移至云上,并且不必更改应用程序的访问方式。
多个应用流量波动大
如果您的应用带宽波动很大,您可以通过NAT网关配置DNAT转发规则,然后将EIP添加到共享带宽中,实现多IP共享带宽,减轻波峰波谷效应,从而减少您的成本。
cdn
阿里云解释
https://help.aliyun.com/learn/learningpath/cdn.html?spm=5176.7933777.J_1398156.3.ac85163dpKW5Os
基本概念
内容分发网络:可以将源站资源备份到多个CDN节点上,这样如果用户(在北京)要看一个视频,就不用从源站(广州)获取,直接取离自己最近的一个CDN节点上的备份即可,加快内容分发速度,尤其适合直播类应用。
本文为您介绍使用阿里云CDN时,难以理解的名词,便于您更准确的理解和使用产品。
加速域名
加速域名即您需要使用CDN加速的域名。域名是一组服务器的地址,可以是网站、电子邮件、FTP等。在阿里云CDN帮助文档中,加速域名通常指域名。
CNAME记录
CNAME(Canonical Name)即别名,用来把一个域名解析到另一个域名,再由另一个域名提供IP地址。例如:
- 您有一台服务器上存放了很多资料,使用
docs.example.com
访问该资源,但又希望通过documents.example.com
也能访问。 - 那么您可以在您的DNS解析服务商添加一条CNAME记录,将
documents.example.com
指向docs.example.com
。 - 添加该条CNAME记录后,所有访问
documents.example.com
的请求都会被转到docs.example.com
,获得相同的内容。
CNAME域名
接入CDN,在阿里云控制台添加加速域名后,阿里云CDN将给您分配一个CNAME域名。该CNAME域名的形式为*.*kunlun*.com
。 您需要在您的DNS解析服务商添加一条CNAME记录,将自己的加速域名指向*.*kunlun*.com
的域名。记录生效后,域名解析的工作就正式转向CDN服务,该域名所有的请求都将转向CDN节点,达到加速效果。
DNS
DNS(Domain Name System),即域名解析服务。DNS的作用:把域名转换成为网络可以识别的IP地址。人们习惯记忆域名,但机器间互相只识别IP地址。域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程自动进行。例如:您上网时输入的www.baidu.com
会自动转换成为220.181.112.143
。您可以使用阿里云云解析,也可以使用其他DNS服务商。
SSL/TLS
SSL(Secure Sockets Layer,安全通讯协议),是一个架构于TCP之上的安全套接层。它可以有效协助Internet应用软件提升通讯时的资料完整性以及安全性。标准化之后的SSL名称改为TLS(Transport Layer Security,传输层安全协议),因此很多相关的文档将二者并称(SSL/TLS)。
边缘节点
在阿里云CDN的帮助文档中,边缘节点、CDN节点、Cache节点、缓存节点、加速节点、阿里云节点、节点等都指阿里云边缘节点。边缘节点是相对于网络的复杂结构而提出的一个概念,指与最终接入的用户之间具有较少中间环节的网络节点,对最终接入用户有相对于源站而言更好的响应能力和连接速度。其作用是将访问量较大的内容缓存到边缘节点的服务器上,以此来提高网络终端用户访问网站内容的速度和质量。
源站
您实际业务的服务器。源站类型可以选择OSS域名、IP、源站或函数计算域名。
回源
CDN节点未缓存请求资源或缓存资源已到期时,回源站获取资源,返回给客户端。
例如:您访问某个URL时,如果解析到的CDN节点未缓存该资源,则您的访问请求会直接到源站获取资源,并根据URL请求返回给您。
回源HOST
源站决定了回源时,请求到哪个IP。回源HOST决定回源请求访问到该IP上的哪个站点。
例1:源站是域名。
源站为www.a.com
,回源HOST为www.b.com
,那么实际回源是请求到www.a.com
解析到的IP,即对应的主机上的站点www.b.com
。
例2:源站是IP。
源站为1.1.1.1,回源HOST为www.b.com
,那么实际回源的是1.1.1.1对应的主机上的站点www.b.com
。
协议回源
指回源时使用的协议和客户端访问资源时的协议保持一致,即如果客户端使用HTTPS方式请求资源,当CDN节点上未缓存该资源时,节点会使用相同的HTTPS方式回源获取资源。同理,如果客户端使用HTTP协议的请求,CDN节点回源时也使用HTTP协议。
过滤参数
借助过滤参数开关,您可以根据实际业务需要,决定在缓存时是否过滤用户请求URL中?
- 如果开启过滤参数,则CDN节点会截取没有参数的URL向源站请求,且CDN节点仅保留一份副本。
- 如果关闭过滤参数,则每个不同的URL会缓存不同的副本在CDN的节点上。
若您的资源URL中不同参数代表相同的内容,建议开启过滤参数,有效提升缓存命中率。
SLB负载均衡
什么是负载均衡
阿里云文档地址
https://help.aliyun.com/product/27537.html?spm=5176.7921785.J_5253785160.5.6c922229uXyluL
负载均衡SLB(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(ECS实例)的流量分发控制服务。负载均衡扩展了应用的服务能力,增强了应用的可用性。
概述
负载均衡通过设置虚拟服务地址,将添加的同一地域的多台ECS实例虚拟成一个高性能和高可用的后端服务池,并根据转发规则,将来自客户端的请求分发给后端服务器池中的ECS实例。
负载均衡默认检查云服务器池中的ECS实例的健康状态,自动隔离异常状态的ECS实例,消除了单台ECS实例的单点故障,提高了应用的整体服务能力。此外,负载均衡还具备抗DDoS攻击的能力,增强了应用服务的防护能力。
组成部分
负载均衡由以下三个部分组成:
- 负载均衡实例 (Instances)
一个负载均衡实例是一个运行的负载均衡服务,用来接收流量并将其分配给后端服务器。要使用负载均衡服务,您必须创建一个负载均衡实例,并至少添加一个监听和两台ECS实例。 - 监听 (Listeners)
监听用来检查客户端请求并将请求转发给后端服务器。监听也会对后端服务器进行健康检查。 - 后端服务器(Backend Servers)
后端服务器是一组接收前端请求的ECS实例。您可以单独添加ECS实例到后端服务器池,也可以通过虚拟服务器组或主备服务器组来批量添加和管理。
产品优势
- 高可用
采用全冗余设计,无单点,支持同城容灾。
根据应用负载进行弹性扩容,在流量波动情况下不中断对外服务。 - 可扩展
您可以根据业务的需要,随时增加或减少后端服务器的数量,扩展应用的服务能力。 - 低成本
与传统硬件负载均衡系统高投入相比,成本可下降60%。 - 安全
结合云盾,可提供5 Gbps的防DDoS攻击能力。 - 高并发
集群支持亿级并发连接,单实例提供千万级并发能力。