Amazon——Elastic Compute Cloud(EC2)

2023-12-05 07:32
文章标签 cloud amazon ec2 compute elastic

本文主要是介绍Amazon——Elastic Compute Cloud(EC2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《云计算》教材试读:弹性计算云EC2 

4.3  弹性计算云EC2

亚马逊弹性计算云服务(Elastic Compute CloudEC2)是亚马逊提供的云计算环境的基本平台。网络数据流的流向非常复杂,企业和个人的网络平台所需的计算能力也随着这些流量增加在不断地变化着。利用亚马逊提供的各种应用接口,用户可以按照自己的需求随时创建、增加或删除实例。通过配置实例数量可以保证计算能力随着通信量的变化而变化。这样在提高访问者用户体验的同时也降低了成本,对于中小企业来说是非常有利的。本节主要讲解EC2体系的基本架构,侧重讲解其中涉及的一些基本概念,最后简单介绍服务中经常使用的一些命令。

4.3.1  EC2的主要特性

EC2向用户提供了如下一些非常有价值的特性[8][10]

1)灵活性:EC2允许用户对运行的实例类型、数量自行配置,还可以选择实例运行的地理位置,可以根据用户的需求随时改变实例的使用数量。

2)低成本:EC2使得企业不必为暂时的业务增长而购买额外的服务器等设备。EC2的服务都是按小时来收费的,而且价格非常合理。

3)安全性:EC2向用户提供了一整套安全措施,包括基于密钥对机制的SSH方式访问、可配置的防火墙机制等,同时允许用户对它的应用程序进行监控。

4)易用性:用户可以根据亚马逊提供的模块自由构建自己的应用程序,同时EC2还会对用户的服务请求自动进行负载平衡。

5)容错性:利用系统提供的诸如弹性IP地址之类的机制,在故障发生时EC2能最大程度地保证用户服务仍能维持在稳定的水平。

4.3.2  EC2基本架构及主要概念

EC2的基本架构如图4-8所示。

 

4-8  EC2基本架构

下面将对图中涉及的模块一一进行讲解,对于还有一些重要的未在图中表示出的概念也会做详细介绍。

1.亚马逊机器映像(AMI

AMI[13]Amazon Machine Image)是亚马逊机器映像,它是一个可以将用户的应用程序、配置等一起打包的加密机器映像。AMI是用户云计算平台运行的基础,所以,用户使用EC2服务的第一步就是要创建一个自己的AMI,这和使用PC首先需要操作系统道理相同。AMI是存储在S3(亚马逊的简单存储服务,后面会有讲解)中的,目前亚马逊提供的AMI有以下四种类型。

1)公共AMI:由亚马逊提供,可免费使用。

2)私有AMI:用户本人和其授权的用户可以进入。

3)付费AMI:向开发者付费购买的AMI

4)共享AMI:开发者之间相互共享的一些AMI

用户初次使用EC2时,可以以亚马逊提供的AMI为基础创建自己的服务器平台,也可以用EC2 社区提供的脚本来创建新的 AMI,但这种方法对用户的要求比较高,一般来说使用亚马逊提供的AMI即可。选定好AMI后需要将AMI打包压缩,然后加密并分割上传,最后再使用相关的命令将AMI恢复即可。

2.实例(Instance

Instance[13]表示实例。当用户创建好AMI后,实际运行的系统就称为一个实例,实例和我们平时用的主机很像。EC2服务的计算能力是由实例提供的,因此可以说实例是EC2服务的核心内容之一。按照亚马逊目前的规定,每个用户最多可以拥有20个实例。每个实例自身携带一个存储模块(Instance Store),但是模块的设计并不是为了用户数据的长期存储,它只是一个临时存放区。当用户的实例重启后,它其中的内容还会存在,但如果出现故障或实例被终止后,存储在其中的数据将全部消失。因此对于一些重要的数据亚马逊建议保存在EBS中,这种方法会在后面讲解。按照计算能力来划分,实例可以被分成标准型[13]和高CPU[13]。标准型实例的CPU和内存是按一定比例配置的,对于大多数的应用来说已经足够了。如果用户对于计算能力的要求比较高,可以选择高CPU型的实例,这种实例的CPU资源比内存资源要高。为了屏蔽底层硬件的差异,准确地度量用户实际使用的计算资源,EC2定义了所谓的CPU计算单元。一个EC2计算单元被称为一个ECUEC2 Compute Unit)。表4-2[4]所示是目前可选的实例类型和其相关配置。

4-2  实例类型和其相关配置

    

Small

Large

Extra Large

High-CPU Medium

High-CPU

Extra Large

平台

32

64

64

32

64

CPU

1ECU

4ECU

8ECU

5ECU

20ECU

内存

1.7GB

7.5GB

15GB

1.7GB

7GB

存储容量

160GB

850GB

1690GB

350GB

1690GB

实例类型名

m1.small

m1.large

m1.xlarge

c1.medium

c1.xlarge

需要注意的是,随着技术的发展和硬件成本的降低,表4-2中的内容也在不断地变化着。如果按照使用的方式来划分,实例可以被分为按需实例[13]On-demand Instance)和预留实例[13]Reserved Instance)。按需实例不需要提前支付任何费用,当需要时就直接使用,用完后按小时付费即可。这比较适合于那些对于EC2使用不是很频繁的用户。如果需要使用预留实例的话则必须首先对所需实例做出预定,并为这些实例预先支付一定的费用。但是你以后在一定期限内使用这些服务时就可以享受很大的折扣。对于需要长期使用EC2的用户来说很划算,建议使用这种类型。但要注意的是实际使用的实例必须和预留的实例是同一类型且在同一个可用区域,只有这样才可以享受到相应的优惠。可用区域的概念将在后面讲解。

3.弹性块存储模块(EBS)

前面提到,实例自身也携带了一个存储模块,但是该模块的缺点在于它只是一个临时的存储空间。对于需要长期保存或者比较重要的数据,则用户需要存储模块来完成,这个模块就是弹性块存储(Elastic Block StoreEBS[13]。和S3不同,它是专门为EC2设计的,所以可以更好地和EC2配合使用。EBS允许用户创建卷(Volume),卷的功能和我们平常使用的移动硬盘非常类似。亚马逊限制每个EBS最多创建20个卷,每一个卷可以作为一个设备挂载(Mounted as a Device)在任何一个实例上。挂载以后就可以像使用EC2的一个固有模块一样来使用它,这点和S3是完全不同的。因此用户需要使用EC2服务时,推荐使用EBS作为其存储对象。当实例被终止时,EBS上的数据会继续保存下去直到用户自己删除它,这就和关机后移动硬盘上的数据还会长久保存是一个道理。快照(Snapshot)是EBS提供的一个非常实用的功能,可以捕捉当前卷的状态,然后数据就可以被存储在S3中。对于习惯使用S3的用户来说这是一个很方便的功能,快照的另一个功能是用来作为创建一个新卷的起始点。

4EC2的区域概念

区域[13]Zone)是EC2中独有的概念。亚马逊将区域分为两种:地理区域(Region Zone)和可用区域(Availability Zone)。其中地理区域是按照实际的地理位置划分的,而可用区域的划分则是为了隔绝各个区域之间的错误,这样某个可用区域的错误就不会影响到别的可用区域。因此,可用区域实际就是人工隔绝出的一个“孤岛”。

从图4-9可以很明显地看出两者关系。EC2

系统中包含多个地理区域,而每个地理区域中又包含多个可用区域。为了确保系统的稳定性,用户最好将自己的多个实例分布在不同的可用区域和地理区域中。这样在某个区域出现问题时可以用别的实例代替,最大程度地保证了用户利益。

 

 

4-9  EC2中区域间关系

5EC2的通信机制

EC2服务中,系统各模块之间以及系统和外界之间的信息交互是通过IP地址来进行的。EC2中的IP地址包括三大类:公共IP地址[13]Public IP Address)、私有IP地址[13]Private IP Address)以及弹性IP地址[13]Elastic IP Address)。EC2的实例一旦被创建就会自动地分配两个IP地址,也就是公共IP地址和私有IP地址。公共IP地址和私有IP地址之间通过网络地址转换(Network Address TranslationNAT)技术来实现相互之间的转换。公共IP地址和特定的实例相对应,在某个实例终结或者被弹性IP地址替代之前,公共IP地址会一直存在,实例通过这个公共IP地址和外界进行通信。私有IP地址也和某个特定的实例相对应,它由动态主机配置协议(DHCP)分配产生。私有IP用于实例之间的通信流程,从图4-8中可以很容易看出。与公共IP和私有IP地址相对应的还有两个概念,那就是外部DNS名(Public DNS Name)和内部DNS名(Internal DNS Name)。外部DNS名用于实例和外部通信时域名的解析,内部DNS名用于对私有IP 地址的解析,在EC2外不起作用。

6.安全及容错机制

对网络传输中的数据进行控制的一个非常有效的办法是配置防火墙。但是传统的防火墙的规则是建立在IP地址、子网范围等基础之上的,EC2的特点之一就是允许用户随时更新实例状态,用户可以随时加入或者删除实例。实例状态的动态变化方便了用户,但是却给防火墙的配置带来了麻烦,为此EC2引入了安全组[13]Security Group)的概念。安全组其实就是一组规则,用户利用这些规则来决定哪些网络流量会被实例接受,其他则全部拒绝。一个用户目前最多可以创建100个安全组。当用户的实例被创建时,如果没有指定安全组,则系统自动将该实例分配给一个默认组(Default Group)。默认组只接受组内成员的消息,拒绝其他任何消息。当一个组的规则改变后,改变的规则自动适用于组中所有的成员。

用户在访问EC2时需要使用SSHSecure Shell)密钥对[13]Key Pair)来登录服务。SSH是目前对网络上传输的数据进行加密的一种很可靠的协议,当用户创建一个密钥对时,密钥对的名称(Key Pair Name)和公钥(Public Key)会被储存在EC2中。在用户创建新的实例时,EC2会将它保存的信息复制一份放在实例的元数据(Metadata)中,然后用户使用自己保存的私钥(Private Key)就可以安全地登录EC2并使用相关服务了。这一过程如图4-10[13]所示。

 

4-10  用户使用密钥对登录服务

EC2的容错机制中,使用弹性IP地址是非常有效的一种方法。在创建实例时,系统会分配一个公共IP和一个私有IP给实例。用户是通过Internet利用公共IP地址访问实例的,但每次启动实例时这个公共IP地址都会发生变化。而DNS解析器中的IP地址和DNS名称的映射关系的更新是需要时间的,为了解决这个问题,EC2引入了弹性IP地址的概念。弹性IP地址和用户账号绑定而不是和某个特定的实例绑定,这给系统的容错带来极大的方便。当系统正在使用的实例出现故障时,用户只需要将弹性IP地址重新映射到一个新的实例即可,这样在访问服务时不会感觉到任何差异。这也是前面为什么建议在不同的区域建立实例的原因,当某一区域出现问题时可以直接用其他区域的实例来代替。因为所有区域的实例都出现故障的概率几乎为零,所以通过弹性IP地址改变映射关系总可以保证有实例可用。

4.3.3  常用API

EC2中常用的一些API主要有以下几种。

1AMI

1ec2-bundle-vol:通过对本地机器的根文件系统进行打包、加密、建立快照的方式创建新的AMI

2ec2-upload-bundle:将打包后的AMI上传到S3中。

3ec2-download-bundle:从S3中下载指定的打包文件。

4ec2-unbundle:将分割后的打包文件重新组合成AMI

5ec2-delete-bundle:从S3中删除指定的包。

6ec2-migrate-bundle:将打包的AMI从一个地理区域复制到另一个地理区域。

2.实例

1ec2-run-Instances:基于某个AMI运行一个或多个实例。

2ec2-terminate-Instances:终止指定实例。

3EBS

1ec2-create-volume:从快照或者用户指定大小的空卷中创建新的EBS卷。

2ec2-delete-volume:删除指定卷。

3ec2-attach-volume:将卷挂载到实例上并指定其为某个特定设备。

4ec2-detach-volume:从实例中卸载卷。

5ec2-create-snapshot:创建当前卷状态的快照并存储在S3中。

6ec2-delete-snapshot:删除卷快照。

4.安全组

1ec2-add-group:创建新的安全组。每个账户内的组名必须唯一。

2ec2-delete-group:删除指定的安全组。

3ec2-authorize:向指定安全组中添加规则。默认接受所有请求。

4ec2-revoke:撤销安全组中某个规则。

5.弹性IP地址

1ec2-allocate-address:获取一个弹性IP地址。

2ec2-release-address:释放一个弹性IP地址。

3ec2-associate-address:将弹性IP和指定实例进行关联。

4ec2-disassociate-address:解除弹性IP和指定实例的关联关系。

6.密钥对

1ec2-add-keypair:产生一个由用户指定名称的RSA密钥对。

2ec2-delete-keypair:通过从EC2中移除公钥来删除该密钥对。

 

转载自:http://blog.csdn.net/gloud/archive/2010/06/12/5667571.aspx


这篇关于Amazon——Elastic Compute Cloud(EC2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/456696

相关文章

Spring Cloud:构建分布式系统的利器

引言 在当今的云计算和微服务架构时代,构建高效、可靠的分布式系统成为软件开发的重要任务。Spring Cloud 提供了一套完整的解决方案,帮助开发者快速构建分布式系统中的一些常见模式(例如配置管理、服务发现、断路器等)。本文将探讨 Spring Cloud 的定义、核心组件、应用场景以及未来的发展趋势。 什么是 Spring Cloud Spring Cloud 是一个基于 Spring

探索Elastic Search:强大的开源搜索引擎,详解及使用

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选,相信大家多多少少的都听说过它。它可以快速地储存、搜索和分析海量数据。就连维基百科、Stack Overflow、

Spring Cloud - nacos +ubuntu环境搭建

1、安装ubuntu虚拟环境         VMware虚拟机安装Ubuntu与配置Ubuntu(超详细教程) 2、docker环境安装         1、apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common         2、curl -fsSL

Spring Cloud学习纪要汇总

小博Spring Boot快速入门GitChat https://gitbook.cn/gitchat/activity/5a444c451f6ee91a25846ac1 小博Spring Cloud学习纪要 篇章小博博客地址Spring Cloud Eureka (服务治理)点击前往Spring Cloud Feign (服务通信)点击前往Spring Cloud Ribbon (负载均衡

spring cloud遇到的问题

spring cloud遇到的问题 1. spring cloud分为多个版本,还在持续更新 使用过程中应注意版本的兼容性问题。 Spring Cloud Finchley 依赖于 Spring Boot 2.0.x 并与 1.x.y 系列不兼容。 2. spring cloud Camden升级到Edgware 1.如果设置了server.context-path属性,

【Rust日报】2022-02-12 Amazon:Rust的可持续性

Amazon:Rust的可持续性 Rust 是一种作为开源项目实现的编程语言。它结合了 C 等系统编程语言的性能和资源效率与 Java 等语言的内存安全性。Rust 于 2010 年作为 Mozilla 的一个研究项目开始,Rust 1.0 于 2015 年推出。2020 年,对 Rust 的支持从 Mozilla 转移到 Rust 基金会,这是一个由 Amazon Web Services,

spring-cloud 开发 - RestTemplate 远程调用 HTTP 接口

现在有这样一个场景,我们要实现一个订单服务和一个商品服务,两个服务程序部署在不同的服务器上,当我们获取订单信息时,订单信息中要包含有商品信息,所以订单服务要向商品服务发送请求获取商品信息,这个流程怎么实现呢?         订单服务和商品服务在两个不同的服务器上,所以订单服务要想获取商品信息就得发送 HTTP 请求给商品服务获取,这个 HTTP 请求的发送就得用到 RestTe

Elastic字段映射(_source,doc_value,fileddata,index,store)

Elastic字段映射(_source,doc_value,filed_data,index,store) _source: source 字段用于存储 post 到 ES 的原始 json 文档。为什么要存储原始文档呢?因为 ES 采用倒排索引对文本进行搜索,而倒排索引无法存储原始输入文本。一段文本交给ES后,首先会被分析器(analyzer)打散成单词,为了保证搜索的准确性,在打散的过程中

Spring Cloud Hystrix快速入门demo

1.什么是Spring Cloud Hystrix? Spring Cloud Hystrix 是一个用于处理分布式系统中故障的库。它实现了熔断器模式,可以防止由于故障服务的连锁反应而导致整个系统崩溃。Spring Cloud Hystrix 提供了丰富的功能,如熔断、降级、限流、缓存等,可以帮助开发人员更好地处理分布式系统中的故障。 2.原理 在使用 Spring Cloud Hystri

Is my business data safe in cloud? NetSuite到底安全吗?

NetSuite 产品群QQ:779253701 73% companies are planning to move to cloud in 2 years. Why? Oracle + NetSuite, 4 powerful layers of security 1. Multiple Redundant Oracle Data Centers. Your informati