AWS
AWS,全称为Amazon Web Services,是亚马逊公司旗下的云计算服务平台,自2006年起向全球用户提供广泛而深入的云计算服务。AWS是全球最全面、应用最广泛的云平台之一,它从全球的数据中心提供超过200项功能齐全的服务,旨在帮助各种规模的企业、政府机构和非营利组织快速部署和管理应用程序。
主要服务领域包括:
-
弹性计算:Amazon Elastic Compute Cloud (EC2) 提供可随时调整的计算容量。用户可以根据需要租用虚拟服务器实例,轻松地进行扩展或缩减。
-
存储服务:如Amazon Simple Storage Service (S3) 提供高可用、耐用、可扩展的对象存储解决方案,适合存放数据备份、归档和内容分发。
-
数据库服务:包括Amazon Relational Database Service (RDS) 提供托管的关系型数据库服务,以及Amazon DynamoDB等NoSQL数据库服务,满足不同数据存储和访问需求。
-
网络服务:如Amazon Virtual Private Cloud (VPC) 允许用户配置隔离的私有网络,以及一系列安全和内容分发解决方案。
-
数据分析:包含Amazon EMR(Elastic MapReduce)、Kinesis和Redshift等,用于大数据处理、实时流处理和数据仓库分析。
-
机器学习与人工智能:如Amazon SageMaker,帮助开发者和数据科学家构建、训练和部署机器学习模型。
-
开发人员工具:包括AWS CodePipeline、CodeDeploy和CodeBuild等,支持持续集成和持续部署(CI/CD)。
-
安全与合规:提供一系列服务和功能以帮助用户遵守行业标准和法规要求,如IAM(Identity and Access Management)、GuardDuty等。
EC2
EC2 是 Amazon Elastic Compute Cloud 的简称,是亚马逊网络服务(AWS)中的一项核心服务,它提供了灵活且可扩展的云计算能力,实质上是作为一种虚拟机服务,让用户能够创建和管理不同配置的虚拟服务器实例来满足多样化的业务需求。这些实例通过虚拟机镜像创建,按照其性能特点分为以下几种主要类型:
- 通用型:均衡的计算、内存和网络资源,适合大多数应用场景。
- 计算优化型:专为需要高性能处理器的任务设计,如大规模计算、媒体处理和机器学习。
- 内存优化型:针对处理大量内存数据集的场景,适合缓存服务、大数据分析等。
- 存储优化型:专注于提供高速存储访问,适用于频繁读写操作的工作负载,如大数据处理和日志分析。
安全组作为EC2的一个重要安全特性,扮演了虚拟防火墙的角色,负责控制实例的网络流量进出。用户可以为每个安全组设置规则来定义允许或拒绝的流量类型,包括协议(如TCP、UDP、ICMP)、端口号范围以及源和目标IP地址/CIDR块。这些规则自动应用于与安全组关联的所有实例,确保了灵活且统一的安全策略管理。
此外,EC2实例还能进一步配置和扩展,比如挂载额外的数据盘以增加存储容量,以及与其他AWS服务(如数据库服务RDS、存储服务S3、内容分发CDN等)集成,以构建复杂且功能全面的云上解决方案。
IAM
IAM(Identity and Access Management)是AWS(Amazon Web Services)的权限管理服务,负责AWS的认证和授权。可以通过IAM创建和管理AWS的用户和用户组,并设置各种权限来允许或拒绝用户对AWS资源的访问,从而保证资源的隔离和安全。
AMI
AMI(Amazon Machine Images)是Amazon系统镜像服务,提供启动虚拟机所需的启动模块。Amazon系统镜像(AMI)是一种包含软件配置(例如,操作系统、应用程序服务器和应用程序)的模板,可以从单个AMI启动多个虚拟机,是虚拟机的镜像管理服务。反过来,也可以将运行的虚拟机实例或者虚拟机快照导出成虚拟机镜像上传到AMI中。这样就可以基于这个新的虚拟机镜像创建其他虚拟机。还可以将AMI与其他人共享,但安全方面需要谨慎。
AMI启动虚拟机有两种方式,如图1-1所示。一种是本地系统盘启动,这种方式是将AMI保存在S3(存储服务)中,每次启动虚拟机的时候都会从S3中下载镜像到本地,然后基于这个本地镜像启动虚拟机。如果基于相同镜像的虚拟机,则可以复用本地AMI。
图1-1
另一种方式是AWS更加推荐的做法,即通过EBS启动虚拟机,即远端系统盘。使用EBS作为根文件系统。这种方式启动虚拟机更快,而且能够保证更快的数据访问和更加可靠的数据存储。
EBS
EBS(Amazon Elastic Block Store)为EC2实例提供块存储服务,它是高可用的块存储,并且可以加载到同一个AZ的任何一个实例中,即使虚拟机销毁,这些EBS的数据仍然会被保持,特别适高I/O类型的需求,例如文件系统或数据库存储。每个实例都可以挂载多个EBS卷,但一个EBS卷只能挂载到一个EC2的实例上面,这些EBS卷都是多副本的,保证了数据的可靠性。在安全方面,EBS支持AES-256加密,并且加密是在EC2实例上面完成的,保证了传输的安全。EBS还支持弹性扩容(在服务不间断的条件下,修改卷的类型、容量和IOPS)和快照(通过增量的快照保存到S3中,用户备份恢复)功能。
VPC
Amazon VPC(Amazon Virtual Private Cloud)是在AWS上创建隔离的私有虚拟网络。可以在VPC中启动实例。一个VPC与传统数据中心的一个网络相似,提供了动态变更和扩展的能力。在VPC中可以设定IP地址段,创建子网,并配置路由表、网关和安全设置。绑定浮动IP能够为VPC的实例提供公网服务,甚至可以将VPC连接到自己企业的数据中心,并利用AWS云扩展数据中心。弹性IP地址是专为动态云计算设计的静态IPv4地址,弹性IP地址可以快速地将地址重新映射到用户账户中的另一个实例中,从而屏蔽实例故障。
S3
S3(Simple Storage Service)是AWS的对象存储服务。S3使用HTTP的方式提供服务,计价方式通过存储用量和HTTP请求次数综合定价。S3存储分为两级:bucket(对象桶)和object(对象)。对象桶是一组对象的集合,在创建对象之前必须先创建对象桶,每个对象可以是一个视频或者一个文本文档。
关键特性:
-
高可靠性与持久性:S3旨在提供99.999999999%的数据持久性,确保数据长期安全可靠。
-
多种存储类别:S3提供了多种存储类以适应不同的访问模式和成本需求,包括:
- S3 Standard:适用于频繁访问的数据,提供高吞吐量、低延迟访问。
- S3 Intelligent-Tiering:自动在访问频率变化时在存储类间移动数据,以降低成本。
- S3 Standard-Infrequent Access (S3 Standard-IA):适合不太常访问但需快速访问的数据,成本低于S3 Standard。
- S3 One Zone-Infrequent Access (S3 One Zone-IA):与S3 Standard-IA类似,但数据仅存储在一个区域,成本更低。
- S3 Glacier:极低成本的长期归档存储,数据检索可能需要数小时。
-
安全性:支持服务器端加密、客户端加密、访问控制列表(ACL)、跨域资源共享(CORS)、Bucket策略和AWS Identity and Access Management(IAM)权限管理。
-
可扩展性:能够存储无限量的数据,并根据需求自动扩展存储容量。
-
数据传输:支持RESTful API、AWS SDKs和CLI等多种数据上传下载方式,以及跨区域复制功能,确保数据的地理冗余。
-
成本效益:采用按需付费模式,只需为实际使用的存储量、数据传出和请求次数付费,没有最低费用或前期投入。
补充(AMI与普通虚拟机镜像):
AMI(Amazon Machine Image)和虚拟机镜像在概念上有相似之处,但也存在一些关键区别,主要体现在应用场景、平台特性和管理方式上。
虚拟机镜像
-
定义:虚拟机镜像是一个包含完整操作系统、预装软件、配置和数据的打包文件,用于创建新的虚拟机实例。它可以看作是一个物理或虚拟硬盘的完整复制,包含了操作系统、应用程序及其配置设置,使得新创建的虚拟机能够快速拥有与镜像相同的操作环境。
-
平台无关性:虚拟机镜像的概念广泛应用于各种虚拟化平台,如VMware、VirtualBox、Hyper-V等,每个平台可能有自己的镜像格式,如VMware的VMDK、VirtualBox的VDI等。
-
灵活性:用户可以在本地或私有云环境中创建和管理虚拟机镜像,不受特定云服务商的限制,便于迁移和备份。
AMI(Amazon Machine Image)
-
定义:AMI是专为Amazon Web Services(AWS)设计的机器镜像,用以在EC2平台上创建新的虚拟服务器实例。它同样包含了操作系统、应用程序和配置设置,但针对AWS云服务进行了优化。
-
云原生特性:AMI是AWS生态系统的一部分,紧密集成AWS的服务和特性,如EBS卷、安全组、IAM角色等。用户可以通过AWS控制台、CLI或SDK轻松管理AMI,享受AWS的弹性伸缩、自动化部署和计费服务。
-
市场和共享:AWS Marketplace提供了丰富的AMI选择,用户可以直接使用预配置好的镜像快速部署应用,同时,用户可以分享自己的AMI给其他AWS账户或公开至Marketplace,促进应用和服务的分发。
联系
两者都是用来创建虚拟机实例的模板,包含了一个运行环境的完整快照,使得新创建的实例能够快速启动并运行在与模板相同的状态下。它们都可以用于复制和备份现有的环境,便于快速部署和扩展。
参考书籍:《云计算那些事儿:从IaaS到PaaS进阶》