Please enable JavaScript.
Coggle requires JavaScript to display documents.
AWS (主要的服务 (细分服务 (Storage Gateway – 存储服务的一种, CloudFront CDN (Content…
AWS
主要的服务
细分服务
Storage Gateway – 存储服务的一种
CloudFront CDN (Content Distribution Network) – 内容分发服务
DirectConnect – 专线服务
Elastic File System (EFS) – 文件服务器服务
Route53 – AWS的DNS服务
Elastic Block System (EBS) – 块存储服务
Snowball – 存储迁移服务
Elastic Load Balancing – 负载均衡服务
Auto Scaling Group – 弹性计算服务
CloudWatch – 监控服务
DynamoDB/RedShift/Aurora/Elasticache – 非关系型数据库,数据仓库,数据库缓存服务
Simple Notification System (SNS) – 通知服务(邮件,短信等)
Simple Queue System (SQS) – 队列服务
Simple WorkFlow (SWF) – 工作流服务
Lambda – 无服务服务
API Gateway – API网关服务
WorkSpaces – 远程桌面服务
EC2 Container Service (ECS) – 容器服务
Elastic Cloud Compute (EC2) – 计算服务
预配置的EC2镜像被称之为Amazon Machine Images (AMI)
EC2是AWS提供的一种计算服务,它以EC2实例(EC2 Instance)
不同的EC2实例类型包含了不同的CPU,内存,存储和网络性能
AWS默认以及建议使用密钥对(Key Pair)的形式访问EC2实例,AWS将保存公钥,您将负责保存私钥
EC2实例存储(Instance store volumes)是一种短暂性的存储,一旦您停止或者终止您的EC2实例,这个存储内的数据将永久消失
EBS存储(Amazon EBS volumes)是一种持续性的存储,不管EC2实例是什么状态,你都可以保留EBS存储内的数据。这种类型的存储对于进行数据盘的迁移非常方便,使用场景也比较多。
安全组(Security Group)会通过检测数据包的端口、协议、源IP地址从而从当防火墙的作用
弹性IP(Elastic IP address)可以方便您为您的EC2实例分配一个固定的公网IP地址,并且保证每次关机重启该地址依旧有效。
虚拟私有云(Virtual Private Cloud, VPC)是AWS的网络组件,可以让你的AWS资源与其他用户的资源在逻辑上进行隔离。您也可以使用VPC与您的物理数据中心进行连接。
如何访问EC2
AWS 命令行(CLI)- 您可以通过一些终端软件并利用命令行的方式访问您的Windows,Mac和Linux实例
AWS EC2管理平台 – 您可以通过基于web的用户界面来访问您的EC2实例(通过java等插件)
AWS CLI工具 – 您可以通过AWS CLI工具来访问AWS的多个组件
Windows Powershell
AWS API
AWS SDK
EC2实例的计费类型
Reserved Instances (预留实例)
这种预留实例你需要和AWS签订1年或3年的合同,并且会以单价低于同等规格的按需实例的价格买到预留的实例,可以无预付费用、预付部分费用或预付全费。
如果你需要使用某种需要不间断运行(24x7x365)的应用程序,那么这种预留实例则会非常适合你,因为你会获得单位时间内最便宜的EC2实例。
1年的合同可以获得40%左右的折扣,3年的合同可以获得60%的折扣。
总结特点如下
更低的每小时运行成本
买断了一定的计算资源,不会出现AWS计算资源不足而无法创建EC2的情况
费用在合同期内是固定的,因此费用可预期
适合需要长期运行、稳定的、可预估的应用程序
目前预留实例还分两种类型,分别是标准RI和可转换RI。可转换RI可以更改实例系列、操作系统、租期和付款选项,更加灵活,但是折扣率会比标准RI稍微少一些。
On-Demand Instances (按需实例)
按秒收费(以前是按小时收费,现在AWS更改了),用多少收费多少
EC2实例可以根据业务需求实时增加或减少规模
不会有昂贵的初始投资成本
适合用来部署有突发性,爆发性流量的应用程序,比如双11
适合用来测试和开发新的应用程序
Spot Instances (竞价实例)
AWS向客户提供的这种竞价实例的每小时价格是浮动的,在计算资源紧张的时候价格较高,在计算资源较为空闲的时候价格较低。
因此客户可以设定规则,在实例价格低于某个阀值的情况下申请并使用该实例,而达到最大的性价比。
特点
每个小时都会变化,依据是竞价实力的供需关系
可以非常有效地降低运行EC2实例的成本(特别对于有大数量实例需求的情况下)
在其上安装的应用程序随时可以中断,也就是数据和任务处理结果都需要保存在外部存储上
对实例运行开始的时间没有太多要求
Scheduled Reserved Instances (计划的预留实例)
这个类型的实例和预留实例很相似,但不一样的地方是你可以定义该类型的实例在每天,每周,每个月的某个时间段运行,其他时间段处于关闭的状态。
这种实例比较适合于例如只在上班时间运行的应用程序,或者每周末进行的数据批处理等。
Dedicated Instances (专用的实例)
Dedicated Hosts(专用的主机)
相当于购买了一整台AWS的物理服务器,针对许可证会绑定CPU或者Socket的软件特别有用处。
安全组(Security Group)基础
这个安全组充当了主机的虚拟防火墙作用,能根据协议、端口、源IP地址来过滤EC2实例的入向和出向流量。
EC2的存储类型
弹性块存储EBS (Elastic Block Store)
EBS卷可以依附到同一个可用区(AZ)内的任何实例上
EBS卷可以通过快照(Snapshot)来进行(增量)备份,这个快照会保存在S3 (Simple Storage System)上
实例存储(Instance Store Volumes)
Amazon Machine Image (AMI)
由实例的操作系统、应用程序和应用程序相关的配置组成的模板
一个指定的需要在实例启动时附加到实例的卷的信息(比方说定义了使用8 GB的General Purpose SSD卷)
弹性负载均衡器(Elastic Load Balancing, ELB)
传统负载均衡器(Classic Load Balancer)
应用程序负载均衡器(Application Load Balancer)
网络负载均衡器(Network Load Balancer)
伸缩(Auto Scaling)
启动配置(Launch Configuration)
启动配置是弹性伸缩组用来启动EC2实例的时候所使用的模板
启动配置包含了镜像文件(AMI),实例类型、密钥对、安全组和挂载的存储设备
一个启动配置可以关联多个Auto Scaling组
启动配置一经创建不能被更改,只能删除重建
启动配置中可以使用CloudWatch的基础监控(Basic Monitoring)或者详细监控(Detail Monitoring)
EFS (Elastic File System)
Identity and Access Management (IAM) – 身份认证
User 代表访问AWS的终端用户
可使用密码来访问AWS管理平台
可使用Access Key ID和Secret Access Key并通过API, CLI或SDK的形式来访问AWS服务(主要针对应用程序对AWS资源的访问)
默认用户没有任何权限,我们需要用策略赋予每个用户所需要的最小权限
Permissions
Role 角色可以分配给AWS服务,让AWS服务有访问其他AWS资源的权限
角色不包含任何用户名/密码
角色比用户更加安全可靠,因为没有泄露用户名/密码或者Access Key的可能性
举个例子,我们可以赋予EC2实例一个角色,让其有访问S3的读写权限(后面课程会有关于这一点的实操)
Group 拥有相同权限的用户组合
拥有相同权限的用户可以归入一个组,方便权限的统一管理和控制
一个组可以拥有多个用户,一个用户可以属于多个组
Access Key ID/ Secret Access Key
多重认证/MFA (Multi-Fator Authentication),在登陆AWS管理平台的时候,除了使用用户名/密码之外,还可以另外提供软件Token来认证,进一步提高了安全性
策略(Policy):定义具体访问权限的文档
策略具体定义了能访问哪些AWS资源,并且能执行哪些操作(比如List, Read, Write等)
策略的文档以JSON的格式展现
Virtual Private Cloud (VPC) – 网络服务
Simple Storage Service (S3) – 存储服务
Relational Database Service (RDS) 数据库服务
Amazon Simple Storage Service (S3)
S3基本特性
S3是对象存储,可以在S3上存储各种类型的文件,它不是块存储(EBS是块存储)
文件大小可以从0 字节到5 TB
使用Single Operation上传只能上传最大5 GB的文件
使用分段上传(Multipart Upload)可以对文件进行分段上传,最大支持上传5 TB的文件
S3的总存储空间是无限大的
文件存储在存储桶(Bucket)内,可以理解存储桶就是一个文件夹
S3的名字是需要全球唯一的,不能与任何区域的任何人拥有的S3重名
存储桶创建之后会生成一个URL,命名类似于
https://s3-ap-northeast-1.amazonaws.com/aws_xiaopeiqing_com
S3是以HTTPS的形式展现的,而非HTTP
ap-northeast-1表示了当前桶所在的区域
aws_xiaopeiqing_com表示了S3存储桶的名字,全球唯一
S3拥有99.99%(4个9)的可用性(Availability)
可用性可以理解为系统的uptime时间,即在一个自然年内(365天)有52.56分钟系统不可用
S3拥有99.999999999%(11个9)的持久性(Durability)
持久性可以认为是数据完整性/数据安全性,即在一千亿个存储在S3上的文件会有大概 1 个文件是不可读的
S3的存储桶创建的时候可以选择所在区域(Region),但不能选择可用区(AZ),AWS会负责S3的高可用、容灾问题
S3创建的时候可以选择某个AWS区域,一旦选择了就不能更改
如果要在其他区域使用该S3的内容,可以使用跨区域复制
S3拥有不同的等级(Standard, Stantard-IA, Onezone-IA, RRS, Glacier)
启用了版本控制(Version Control)你可以恢复S3内的文件到之前的版本
S3可以开启生命周期管理,对文件在不同的生命周期进行不同的操作
比如,文件在创建30天后迁移到便宜的S3等级(S3-IA),再经过30天进行归档(迁移到Glacier),再过30天就进行删除
要启用生命周期管理需要先启用版本控制功能
S3支持加密功能(后面的课程会详细讲解这一部分内容)
使用访问控制列表(Access Control Lists)和桶策略(Bucket Policy)可以控制S3的访问安全
在S3上成功上传了文件,你将会得到一个HTTP 200的状态反馈
数据一致性模型
对新对象的PUTs操作具有写后读一致性(Read after Write consistency)
即如果向S3存储桶写入一个新的文件(PUT操作),那么S3在返回HTTP 200成功状态前会先把数据同步到AWS的多个物理位置
即向S3存储桶写入一个新的数据,马上就可以读取这个新的数据
对覆盖PUTs操作以及DELETES操作具有最终一致性(Eventual consistency)
对于文件的更新和删除,结果不会马上显现,但最终会显现
如果对一个已有的数据进行覆盖(覆盖PUTS操作)然后马上尝试读取该数据,因为数据可能还没有同步,因此有可能读取到的是旧的数据
如果删除一个已有的数据(DELETES操作)然后马上尝试读取该数据,因为数据可能还没有同步,因此有可能还能读到这个数据
Key-Value store
键(Key):可以认为是数据的名字
值(Value):表示数据本身
版本号(Version ID):对于启用了版本控制的存储桶来说很重要
元数据(Metadata):关于数据的描述,比如说数据的创建时间,更改时间,文件类型,文件大小等信息
访问控制信息:能管理对Bucket内文件的访问权限
不同的S3存储类型
Standard – 默认的存储类:如果上传对象时未注明则S3会分配这个类型的存储
Reduced Redundancy – 低冗余存储(RRS):可用于存储可再生的数据,因为该类型的文件持久性最低。目前大部分区域的RRS价格比Standard的价格还要高,因此绝大部分情况下都不会再使用RRS,RRS的类型也将会在不久的将来被淘汰。
Standard – IA(Infrequently Accessed):用于保存不经常访问的数据,但是需要访问的时候也能很快地访问到。存储的价格比标准S3便宜,但是读取的费用比标准的S3高,也因为如此才要把不经常访问的数据放到这种类型的S3上。并且数据跨了多个AWS地理位置。
Onezone – IA:同上,但数据只保存到一个AWS可用区内
Glacier:非常便宜,仅用于做归档。从Glacier读取数据需要花费3-5个小时。
S3的收费标准
存储费用
按每GB的存储收费,存储内容越多,综合单价越便宜
请求
S3的PUT, COPY, POST或LIST等请求也需要按请求数收费
DELETE请求不收费
存储管理费用
包括了S3清单,S3分析和S3对象标记功能的费用
数据传输费用
包括S3通过互联网传入和传出的费用,在同一个区域,S3存储桶之间或从S3传输到其他AWS服务均不收费
传输加速费用
Transfer Acceleration 定价要加到数据传输定价上
数据库简介
RDS(Relational Database Service)
SQL Server
Oracle
MySQL Server
PostgreSQL
Aurora
MariaDB
RDS备份
自动备份(Automated Backups)
你可以在创建数据库的时候定义自动备份的保留时间(Retention Period),这个时间的设置范围是1天~35天
你也可以在创建数据库之后更改这个保留时间(Retention Period)
如果需要,你可以将数据库恢复到保留时间内的任何时间点
在你删除数据库的时候,所有的自动备份都会被删除
RDS的自动备份会保存在Simple Storage Service (S3)上
我们可以定义自动备份的时段,在这个备份时段内数据库将会自动进行备份
在自动备份的过程中,数据库存储的I/O可能会暂停(通常不到几秒),数据库性能会降低,但部署了Multi-AZ的数据库不受影响
快照(Snapshots)
RDS的快照需要手动进行
在你删除数据库的时候,快照不会被删除,不像自动备份那样
在创建快照的过程中,数据库存储的I/O可能会暂停(通常不到几秒),数据库性能会降低,但部署了Multi-AZ的数据库不受影响
数据库加密
如果在创建数据库的时候没有加密,我们不能在事后对其进行加密
但我们可以创建这个数据库的快照,复制该快照并且加密这个复制的版本
Multi-AZ高可用
我们可以把AWS RDS数据库部署在多个可用区(AZ)内,以提供高可用性和故障转移支持。
只读副本(Read Replicas)
Read Replicas是用来提高读取性能的,不是用来做灾备的
要创建Read Replicas需要源RDS实例开启了自动备份的功能
可以为数据库创建最多5个Read Replicas
可以为Read Replicas创建Read Replicas(如下图所示)
每一个Read Replicas都有自己的URL Endpoint
可以为一个启用了Multi-AZ的数据库创建Read Replicas
Read Replicas可以提升成为独立的数据库
可以创建位于另一个区域(Region)的Read Replicas
数据仓库
AWS Redshift, Greenplum, Hive
联机分析处理OLAP(Online Analytics Processing)
单节点(160Gb)部署模式
多节点部署模式
领导节点:管理连接和接收请求
计算节点:存储数据,执行请求和计算任务,最多可以有128个计算节点
Columnar Data Storage
Advanced Compression
Massively Parallel Processing (MPP)
目前Redshift只能部署在一个可用区内,不能跨可用区或者用类似RDS的高可用配置
Redshift是用来产生报告和做商业分析的,并不需要像生产环境一样对可用性有高保证
我们可以对Redshift做快照,并且在需要的时候恢复这个快照到另一个可用区
Redshift安全
Redshift传输过程中使用SSL加密
Redshift使用AES-256进行加密
默认情况下Redshift帮我们解决了秘钥管理的问题
我们也可以使用自己的秘钥
或者使用AWS Key Management Service (KMS)来管理秘钥
数据缓存
Memcached
Redis
非关系数据库DynamoDB
DynamoDB
集合(Collection)- 相当于关系数据库中的表
文档(Document)- 相当于关系数据库中的行
键值(Key Value Pairs) = 相当于关系数据库中的列
AWS Global Infrastructure
区域(Region)
可用区(Availablity Zone)
边缘网络站点(Edge Location)