云计算
模块 1:云概念概览¶
第一部分:云计算简介¶
- 云计算定义:云计算是通过互联网提供按需、按实际使用量收费的计算能力、数据库、存储、应用程序等 IT 资源。
- 传统计算模型与云计算模型对比:传统计算依赖于硬件,需大量初期投资与硬件维护,而云计算通过软件解决方案提供灵活、可扩展且高效的资源管理。
- 云服务模型:
- IaaS(基础设施即服务):提供更多的 IT 资源控制。
- PaaS(平台即服务):提供平台但较少的资源控制。
- SaaS(软件即服务):完全由服务提供商控制,用户只使用软件功能。
- 云计算部署模式:
- 公有云:成本较低,适合大规模经济。
- 私有云:灵活性和安全性更高,但成本较高。
- 混合云:结合公有云和私有云的优势,具备更高的灵活性和成本效益。
第二部分:云计算的优势¶
- 成本效益:将资本支出转为可变支出,无需投资于硬件,按需付费。
- 规模经济:AWS 通过大规模运营,为客户提供更低的服务费用。
- 灵活扩展:按需扩展,无需预测和预设容量。
- 全球化部署:AWS 可在几分钟内实现全球服务部署,提高业务的速度与灵活性。
第三部分:Amazon Web Services (AWS) 简介¶
- AWS 定义:AWS 是一个安全的云平台,提供多种全球服务,支持按需访问计算、存储、网络、数据库等 IT 资源。
- AWS 服务分类:包括开发工具、安全性、存储、数据库、计算服务、机器学习等,涵盖广泛的云计算需求。
- 与 AWS 的交互方式:AWS 可以通过管理控制台、命令行界面 (CLI)、以及开发工具包 (SDK) 进行操作,满足不同技术需求。
第四部分:迁移到 AWS 云——AWS 云采用框架(AWS CAF)¶
- AWS CAF:AWS 云采用框架(CAF)提供了指导和最佳实践,帮助组织成功迁移到云环境,支持整个 IT 生命周期。
- 六大视角:
- 业务视角:确保 IT 投资与业务目标一致。
- 人员视角:优先考虑培训、人员配置及组织变革。
- 监管视角:确保 IT 策略与业务策略的对齐。
- 平台视角:关注 IT 系统的架构与资源配置。
- 安全性视角:确保组织能够实现其安全性目标。
- 运营视角:与业务运营紧密结合,确保日常服务支持。
总结¶
本模块深入介绍了云计算的基本概念、优势以及 AWS 的核心服务,并探讨了如何通过 AWS 云采用框架来有效地迁移到 AWS 云平台。
### 模块 2:云经济学和账单
第一部分:定价基础知识¶
- AWS 定价模型
- 计算:按小时或秒收费(仅限 Linux),费用因实例类型而异。
- 存储:按 GB 收费。
-
数据传输:出站数据传输有费用,入站数据免费(有些例外)。
-
如何支付 AWS 费用?
- 按实际使用量付费:按需付费,无需预先投入。
-
预留实例(RI):通过预留容量支付更少,最大折扣高达 75%。
- AURI(全部预付预留实例):最大折扣。
- PURI(部分预付预留实例):较低折扣。
- NURI(无预付预留实例):折扣最小。
-
自定义定价:根据项目需求定制价格。
- AWS 免费套餐:新客户免费使用 1 年。
第二部分:总拥有成本 (TCO)¶
- TCO 概念:用于评估系统的直接和间接成本,帮助比较本地基础设施和云环境的成本。
-
本地与云的比较:AWS 云的总拥有成本(TCO)能显著降低,例如,迁移到 AWS 可以节省高达 96%的费用。
-
TCO 的考虑因素:
- 硬件、存储和网络成本:包括服务器、存储、网络设备的费用。
- 运营成本:如电力、空间、散热等。
-
人力资源成本:如 IT 人员和管理费用。
-
AWS 简单月度成本结算器:估算每月成本并寻找降低成本的机会。
- AWS TCO 计算器:提供详细报告,帮助估算迁移到 AWS 的成本节省。
第三部分:账单和 AWS Organizations¶
- AWS Organizations:通过 AWS Organizations 管理多个 AWS 账户。
-
主要功能:集中账单管理、策略性账户管理、自动化 API 管理等。
-
账单管理工具:
- AWS 预算:设置预算并追踪费用。
- AWS Cost Explorer:分析和预测 AWS 费用。
- AWS 成本和使用情况报告:生成详细的使用报告。
第四部分:AWS 技术支持¶
- AWS Support 计划:四种支持计划,根据客户需求提供不同级别的支持。
- 基本支持:提供资源中心和运行状况监控。
- 开发者支持:适合早期开发阶段。
- 商业支持:面向生产工作负载。
-
企业支持:针对任务关键型工作负载提供全天候支持。
-
AWS Support 的工具和专业知识:
- 技术客户经理 (TAM):提供个性化支持。
- AWS Trusted Advisor:提供最佳实践和优化建议。
总结¶
本模块介绍了 AWS 的定价模型、总拥有成本(TCO)的计算方法、AWS 的账单和费用管理工具,并详细解释了 AWS 支持计划及其不同层级。通过学习这些内容,能够更好地理解 AWS 的成本结构、管理费用,并根据实际需求选择合适的支持计划。
模块 3:AWS 全球基础设施概览¶
第一部分:AWS 全球基础设施¶
-
AWS 全球基础设施:AWS 的全球基础设施设计旨在提供灵活、可靠和可扩展的云计算环境,保证高质量的全球网络性能。它由多个区域、可用区和边缘站点组成,以确保覆盖全球并优化网络性能。
-
AWS 区域:AWS 区域是指全球地理位置中的一个区域。每个区域内部具有完全冗余的网络连接,并且通常包含多个可用区。选择区域时要考虑的数据控制、法律要求、延迟、服务可用性和成本等因素。
-
可用区:每个区域包含多个物理隔离的可用区。每个可用区包含多个数据中心,使用高速网络互联。AWS 建议在多个可用区间进行数据复制,增强容错和高可用性。
-
边缘站点:AWS 提供的全球内容分发网络(CDN),通过Amazon CloudFront等服务,在离用户更近的地方缓存和分发内容,减少延迟,提升服务的响应速度。边缘站点还包括区域边缘缓存,用于存储不常访问的内容。
第二部分:AWS 服务和服务类别概览¶
-
AWS 服务:AWS 提供了多种服务,可以分为以下几类:
-
计算服务:包括 Amazon EC 2、Lambda、Elastic Beanstalk 等,提供虚拟计算实例、自动扩展、负载均衡等功能。
-
存储服务:如 Amazon S 3、EBS、EFS 等,支持对象存储、块存储和文件系统服务。
-
数据库服务:包括 Amazon RDS、DynamoDB、Redshift 等,提供关系型数据库、NoSQL 数据库和数据仓库服务。
-
网络和内容分发:提供如 VPC、Elastic Load Balancing、CloudFront 等服务,用于配置虚拟私有网络、流量分配和内容缓存。
-
安全性、身份与合规性:包括 IAM、AWS Shield、KMS 等服务,确保数据的安全性、访问控制和加密。
-
开发和运维工具:提供如 AWS CloudFormation、AWS CodeDeploy 等工具,帮助自动化基础设施管理和应用部署。
-
分析与机器学习:包括 Amazon Athena、Amazon SageMaker 等,支持大数据分析和机器学习模型训练。
总结¶
本模块帮助你理解了 AWS 全球基础设施的结构与组件,尤其是 AWS 的区域、可用区和边缘站点,并介绍了 AWS 提供的多种服务及其分类。通过这些服务,AWS 能够提供高可用、高容错、可扩展的基础设施来支持全球范围的计算需求。
完成本模块后,你应该能够: 1. 明确 AWS 的区域、可用区与边缘站点的定义与区别。 2. 理解 AWS 服务的分类与各类服务的功能。
模块 4:AWS 云安全性¶
第一部分:AWS 责任共担模式¶
- AWS 的安全责任:
-
AWS 负责基础设施的安全性,包括数据中心的物理安全、硬件、网络、虚拟化基础设施等。
-
客户的安全责任:
-
客户负责保护云中的数据,包括操作系统、应用程序、网络配置、IAM 配置等。
-
服务责任模型:
- IaaS(基础设施即服务):客户负责操作系统和应用程序的安全配置。
- PaaS(平台即服务):AWS 负责操作系统和数据库的维护,客户主要管理代码或数据。
- SaaS(软件即服务):客户使用预先配置的软件,无需管理基础设施。
第二部分:AWS Identity and Access Management (IAM)¶
- IAM 基本组件:
- 用户、组和角色:用户代表人员或应用程序,组是用户集合,角色允许指定的用户或服务临时获取权限。
-
IAM 策略:控制访问权限的文档,定义哪些资源可以被访问及其权限。
-
权限管理:
- 最低权限原则:只给予用户执行任务所需的最低权限。
- MFA(多因素认证):增加额外的身份验证层级。
第三部分:确保新 AWS 账户的安全性¶
- 账户根用户的管理:
- 根用户禁用:根用户具有无限权限,避免常规使用,创建 IAM 用户并分配权限。
- 启用 MFA:增强账户安全性,要求额外的身份验证。
- 使用 AWS CloudTrail 跟踪活动:记录和监控 AWS 账户活动。
第四部分:确保 AWS 数据的安全性¶
- 数据加密:
- 静态数据加密:通过 AWS KMS 对存储的数据进行加密。
- 传输数据加密:使用 TLS 或 SSL 对传输中的数据进行加密。
第五部分:合规性与合规性计划¶
- AWS 合规性计划:AWS 提供认证、法律协议和行业特定的合规支持,确保客户的数据处理符合各类法规要求。
模块 5:联网和内容分发¶
第一部分:联网基础知识¶
- 网络模型:
- OSI 模型:包括从物理层到应用层的多个层次,支持不同协议和功能。
- IP 地址和 CIDR:IPv 4 和 IPv 6 地址管理,CIDR 用于分配网络地址。
第二部分:Amazon VPC(虚拟私有云)¶
- VPC 概述:
- VPC 让您在 AWS 云中建立自定义的虚拟网络,控制 IP 地址范围、子网配置和路由规则。
-
子网划分:VPC 可以分为多个子网,每个子网位于一个可用区,并设置 CIDR 块。
-
VPC 配置:
- 路由表和网关:VPC 使用路由表来控制流量,支持互联网网关和 NAT 网关。
第三部分:VPC 联网¶
- 互联网网关:连接 VPC 和外部网络,支持互联网流量。
- NAT 网关:允许私有子网中的实例访问互联网。
- VPC 对等连接:在同一区域或不同区域之间连接两个 VPC。
第四部分:VPC 安全性¶
- 安全组和网络 ACL:
- 安全组:实例级别的防火墙,默认情况下允许所有出站流量,拒绝所有入站流量。
- 网络 ACL:子网级别的防火墙,允许或拒绝流量。
第五部分:Amazon Route 53¶
- DNS 服务:
- Amazon Route 53 提供高可用性和可扩展性的 DNS 服务,支持多种路由策略(如地理位置路由、故障转移路由等)。
第六部分:Amazon CloudFront¶
- 内容分发网络(CDN):
- CloudFront 用于加速内容的全球分发,提供边缘站点缓存和高效的传输服务,减少延迟并提升性能。
模块 6:计算¶
第 1 部分:计算服务概览¶
1. 主要 AWS 计算服务¶
AWS 提供了多种计算服务,主要可分为以下几类:
- 基础设施即服务 (IaaS):
Amazon EC2 - 平台即服务 (PaaS):
AWS Elastic Beanstalk - 无服务器计算 (Serverless):
AWS Lambda - 容器服务:
Amazon ECS,Amazon EKS,AWS Fargate,Amazon ECR - 其他:
Amazon Lightsail,AWS Batch,VMware Cloud on AWS等。
2. 计算服务分类与特性¶
| 服务类别 | 代表服务 | 核心概念 | 关键特性 | 易用性 |
|---|---|---|---|---|
| IaaS | Amazon EC2 | 基于实例、虚拟机 | 完全控制虚拟机、操作系统和配置。IT 人员熟悉。 | 需要较多管理。 |
| PaaS | AWS Elastic Beanstalk | 平台即服务、Web 应用 | 专注于代码开发,自动处理部署、扩展、监控等底层基础设施。 | 快速上手,易于使用。 |
| 容器 | Amazon ECS/EKS/Fargate | 基于容器、编排 | 快速启动,高效利用资源。Fargate 无需管理服务器。 | 需要学习容器和编排概念。 |
| 无服务器 | AWS Lambda | 函数即服务 (FaaS)、事件驱动 | 按执行时间付费,自动扩展,免运维。 | 概念较新,但掌握后易用。 |
3. 如何选择最佳计算服务?¶
选择服务没有绝对的“最佳”,取决于您的具体使用案例。需要考虑:
- 应用程序设计: 是传统单体应用、微服务还是事件驱动?
- 使用模式: 是稳态工作负载、突发性负载还是对时间不敏感的批处理?
- 管理需求: 您希望对底层基础设施有多少控制权?是否有能力管理服务器?
- 成本考量: 不同服务的定价模型差异巨大。
关键点: 选择错误的计算解决方案可能导致性能低下或成本过高。理想切入点是先了解所有可用选项。
第 2 部分:Amazon EC2¶
1. Amazon EC2 概览¶
- 定义: Amazon Elastic Compute Cloud (EC2) 在云端提供可调整大小的虚拟机,称为 EC2 实例。
- 核心能力:
- 对实例的来宾操作系统 (Windows/Linux) 有完全控制权。
- 从全球任何区域的可用区中启动实例。
- 通过 AWS 管理控制台或 CLI 在几分钟内启动实例。
- 使用安全组控制进出实例的流量。
2. 启动 EC2 实例的 9 个关键决策¶
使用“启动实例向导”时需做出以下选择:
-
选择 AMI (Amazon 系统映像):
- AMI: 是启动 EC2 实例的模板,包含操作系统和预装软件。
- 选项:
- Quick Start: AWS 提供的标准 Linux/Windows 镜像。
- My AMIs: 您自己创建的自定义镜像。
- AWS Marketplace: 第三方提供的预配置镜像。
- Community AMIs: 社区共享的镜像(使用需谨慎)。
- 创建自定义 AMI: 可以从标准 AMI 启动实例 -> 修改配置/安装软件 -> 创建新 AMI -> 在多个区域复制使用。
-
选择实例类型:
-
决定实例的
vCPU、内存 (RAM)、存储和网络性能。 - 实例类型类别:
- 通用型 (e.g., t3, m5): 均衡的计算、内存和网络。
- 计算优化型 (e.g., c5): 高性能计算。
- 内存优化型 (e.g., r5, x1): 内存数据库、大数据分析。
- 存储优化型 (e.g., i3, d2): 高频 I/O、分布式文件系统。
- 加速计算型 (e.g., p3, g4): 机器学习、图形处理 (GPU)。
- 命名规则: 如
t3.large->t(系列)3(世代)large(大小)。 -
指定网络设置:
-
选择实例要部署的 VPC (虚拟私有云) 和 子网。
- 决定是否为实例自动分配公有 IP 地址(使其可通过互联网访问)。
-
附加 IAM 角色 (可选):
-
为 EC2 实例上的应用程序提供访问其他 AWS 服务(如 S3)的权限。
- 是一种安全的授权方式,无需在代码中存储密钥。
-
用户数据脚本 (可选):
-
在实例首次启动时自动执行的脚本(如
#!/bin/bash)。 - 用于自动化配置,例如
yum update -y、安装软件等,可减少自定义 AMI 的数量。 -
指定存储 (根卷和附加卷):
-
根卷: 安装操作系统的磁盘。
- 存储选项:
- Amazon EBS (Elastic Block Store): 持久性块存储。实例停止/重启后数据保留。可加密。
- 实例存储 (Instance Store): 临时块存储,附着在实例的物理主机上。实例停止或终止后数据丢失。
- 需配置大小、类型 (SSD/HDD)、删除策略和加密。
-
添加标签:
-
为资源(如 EC2 实例)添加键-值对的元数据。
- 好处: 成本分配、资源过滤、自动化管理、访问控制。
-
安全组设置:
-
作为防火墙,控制进出实例的流量。
- 通过创建入站和出站规则来指定:协议 (TCP/UDP/ICMP)、端口、源/目标 (IP 或其他安全组)。
-
指定或创建密钥对:
-
用于安全连接到实例。
- 包含公有密钥 (AWS 保管) 和私有密钥文件 (您保管)。
- Linux: 使用私钥通过 SSH 连接。
- Windows: 使用私钥获取管理员密码进行登录。
3. EC2 实例生命周期¶
- 状态:
待处理->运行中->停止/终止。 - 停止: 仅支持由 EBS 支持的实例。停止后实例不运行,不收费,但 EBS 卷仍收费。重启后 IP 可能改变。
- 终止: 实例被永久删除。
- 休眠 (Hibernate): 保存内存 (RAM) 状态,重启后恢复进程。节省成本(类似停止状态),但有前提(特定 AMI、实例系列、加密根卷、启动时启用)。
4. 关键概念与服务¶
- 弹性 IP 地址 (EIP): 与您的账户关联的静态公有 IP。关联到实例后,即使实例重启,IP 也不会改变。停止实例时 EIP 会自动释放,需手动重新关联。
- 实例元数据: 有关实例本身的只读数据。可通过
http://169.254.169.254/latest/meta-data/访问,包含实例 ID、IP、区域、安全组等信息,可用于自动化配置。 - Amazon CloudWatch: 用于监控 EC2 实例。
- 基本监控: 每 5 分钟发送一次指标(免费)。
- 详细监控: 每 1 分钟发送一次指标(需付费)。
第 2 部分要点总结¶
- EC2 提供对虚拟机的完全控制。
- 启动实例需通过 AMI 模板,并在 VPC 内进行。
- 实例类型决定了 CPU、内存、存储和网络性能。
- 安全组是控制访问的防火墙。
- 用户数据脚本可自动化首次启动的配置。
- EBS 存储是持久的,实例存储是临时的。
- 只能停止由 EBS 支持的实例。
- CloudWatch 用于监控实例性能。
第 3 部分:Amazon EC2 成本优化¶
1. EC2 定价模型¶
| 定价模型 | 说明 | 优势 | 典型使用案例 |
|---|---|---|---|
| 按需实例 (On-Demand) | 按小时/秒付费,无长期承诺。 | 灵活性高,适合短期、突发性工作负载。 | 开发/测试、不可预测的流量。 |
| 预留实例 (Reserved Instances) | 预付 1 年或 3 年费用,获得大幅折扣。 | 成本可预测,长期使用可节省 75%+。 | 稳态、可预测的工作负载(如生产数据库)。 |
| Spot 实例 | 购买 AWS 闲置容量,价格极低(可达按需价的 90% 折扣),但可能被提前 2 分钟通知中断。 | 成本最低,适合容错和可中断任务。 | 批处理作业、数据分析、CI/CD、HPC。 |
| 专用实例 (Dedicated Instances) | 在单租户硬件上运行,与其他 AWS 客户物理隔离。 | 满足合规性要求。 | 有严格安全/合规需求的应用。 |
| 专用主机 (Dedicated Hosts) | 租用整个物理服务器,完全控制实例的放置。 | 自带许可 (BYOL),精确控制。 | 需要 BYOL 或特定硬件放置的应用。 |
注意: 对于运行 Amazon Linux 或 Ubuntu 的实例,支持按秒计费。
2. 成本优化的四大支柱¶
-
合理调整大小 (Rightsize):
- 根据实际 CPU、内存、存储和网络需求选择实例类型。
- 使用 CloudWatch 监控指标,识别空闲实例并缩小其大小。
- 停止或休眠未使用的 EBS 支持实例(如非生产环境)。
-
提升弹性 (Increase Elasticity):
-
使用 Auto Scaling 组根据负载自动增加或减少实例数量。
- 实现自动化、基于时间的弹性伸缩。
-
选择最佳定价模式 (Choose Optimal Pricing Model):
-
稳态工作负载: 使用 预留实例。
- 可变/突发工作负载: 结合使用 按需实例 和 Spot 实例。
- 对时间不敏感的批处理: 优先使用 Spot 实例。
- 考虑 无服务器 (Lambda) 作为替代方案。
-
优化存储选项 (Optimize Storage):
-
调整 EBS 卷的大小和类型(如从
gp2SSD 切换到更便宜的st1HDD 用于吞吐量优化场景)。 - 删除不再需要的 EBS 快照(快照收费)。
- 评估数据是否必须存储在 EBS 上,或可使用更便宜的 S3。
重要: 成本优化是一个持续的过程,需要定义指标、实施标签、定期审查。
第 4 部分:容器服务¶
1. 容器基础¶
- 容器: 一种操作系统级虚拟化技术,将应用及其所有依赖(库、配置、代码)打包在一起。
- 优势: 可移植性(在不同环境行为一致)、轻量级、快速启动/停止。
- 与虚拟机 (VM) 对比:
- VM: 每个 VM 包含完整的操作系统、系统文件和应用。资源开销大,启动慢。
- 容器: 多个容器共享宿主操作系统的内核,仅包含应用和依赖。资源利用率高,启动快。
2. Docker¶
- 最流行的容器化平台。
- 使用 Dockerfile 定义容器镜像。
- 镜像是只读模板,容器是镜像的运行实例。
3. AWS 容器服务¶
-
Amazon ECS (Elastic Container Service):
- AWS 原生的容器编排服务。
- 管理 Docker 容器的部署、扩展和生命周期。
- 集群选项:
- EC2 启动类型: 您管理 EC2 实例,ECS 在其上运行容器。提供更多控制。
- Fargate 启动类型: AWS 为您管理服务器基础设施,您只需定义容器需求。无服务器,更简单。
-
Amazon EKS (Elastic Kubernetes Service):
-
AWS 上的托管 Kubernetes 服务。
- Kubernetes 是开源的容器编排系统,用于管理大规模容器化应用集群。
- 选择 EKS 适用于需要使用 Kubernetes 生态系统工具的场景。
-
Amazon ECR (Elastic Container Registry):
-
完全托管的 Docker 容器镜像注册表。
- 用于存储、管理和部署 Docker 镜像。
第 4 部分要点总结¶
- 容器包含应用运行所需的一切,启动快。
- Docker 是构建和运行容器的平台。
- ECS 是 AWS 的容器编排服务。
- EKS 是 AWS 上的托管 Kubernetes 服务。
- ECR 用于存储 Docker 镜像。
- Fargate 提供无服务器的容器运行方式。
第 5 部分:AWS Lambda 简介¶
1. AWS Lambda 概览¶
- 无服务器计算服务,您无需管理服务器。
- 函数即服务 (FaaS): 您上传代码(称为 Lambda 函数),AWS 负责运行、扩展和维护。
- 按执行时间付费,精确到毫秒。无请求时无费用。
2. 核心概念¶
- 事件驱动: 函数在被触发时才执行。
- 事件源 (Event Sources): 触发 Lambda 函数的 AWS 服务或应用,例如:
- Amazon S3 (文件上传)
- Amazon DynamoDB (数据变更)
- Amazon API Gateway (HTTP 请求)
- Amazon CloudWatch Events (定时任务)
- SQS, SNS 等。
3. Lambda 函数配置¶
- 函数代码: 您编写的业务逻辑。
- 依赖项: 代码所需的库或包。
- 执行角色 (IAM Role): 定义函数可以访问哪些 AWS 资源。
4. 优势¶
- 完全自动化管理(无服务器)。
- 内置容错和自动扩展。
- 按实际用量付费。
- 支持多种语言(Python, Node.js, Java, .NET, Go 等)。
5. 限制¶
- 最大执行时间: 15 分钟。
- 最大内存: 3008 MB。
- 部署包大小: 解压后250 MB。
- 并发执行: 默认软限制为 1000。
第 5 部分要点总结¶
- Lambda 是无服务器,按执行付费。
- 代码在被事件触发时运行。
- 最大运行时间为 15 分钟,最大内存为 3008 MB。
第 6 部分:AWS Elastic Beanstalk 简介¶
1. AWS Elastic Beanstalk 概览¶
- 一项托管服务,用于快速部署和扩展 Web 应用程序。
- 核心价值: 开发人员只需上传代码,Elastic Beanstalk 自动处理:
- 基础设施预置(EC2, RDS, ELB, Auto Scaling 等)
- 部署
- 负载均衡
- 自动扩展
- 健康监控
- 日志记录
2. 优势与特点¶
- 入门快速,使用简单。
- 提高开发人员工作效率,减少管理复杂性。
- 支持多种平台: Java, .NET, PHP, Node.js, Python, Ruby, Go, Docker。
- 不收取额外费用,您只需为您使用的底层 AWS 资源(如 EC2 实例)付费。
模块总结¶
本模块全面介绍了 AWS 的核心计算服务:
- Amazon EC2 提供对虚拟机的完全控制,是 IaaS 的基石。
- 成本优化 的关键在于选择合适的实例类型和定价模型(按需、预留、Spot)。
- 容器服务 (ECS, EKS, Fargate, ECR) 用于高效、可扩展地运行容器化应用。
- AWS Lambda 是无服务器计算,适合事件驱动和短时任务。
- AWS Elastic Beanstalk 是 PaaS,让 Web 应用的部署变得简单快捷。
模块 7:存储(Module 7: Storage)¶
- Amazon Elastic Block Store (Amazon EBS)
- 定义:EBS 提供块级存储,可以附加到 Amazon EC 2 实例,支持持久化存储。
- 功能:支持 SSD 和 HDD 类型的存储卷,适用于不同的应用需求,如数据库、大数据处理等。
-
快照:支持快照备份,确保数据的持久性和恢复能力。
-
Amazon Simple Storage Service (Amazon S 3)
- 定义:S 3 是对象存储服务,设计为几乎无限的存储空间,适用于大规模数据存储。
- 存储类:提供多种存储类,如标准、低频访问、Glacier 等,适合不同的使用场景。
-
功能:高持久性(11 个 9),支持数据备份、应用托管、媒体存储等。
-
Amazon Elastic File System (Amazon EFS)
- 定义:EFS 是一个共享文件存储服务,适用于需要共享存储的应用场景。
-
特点:支持 NFS 协议,具备弹性容量,适合大数据分析、媒体处理等场景。
-
Amazon S 3 Glacier
- 定义:S 3 Glacier 是用于数据归档的低成本存储服务,适合长期存储。
- 功能:提供不同的检索选项(标准、批量、加速),确保高数据持久性和低成本存储。
模块 8:数据库(Module 8: Databases)¶
- Amazon Relational Database Service (Amazon RDS)
- 定义:Amazon RDS 是一个托管的关系数据库服务,支持多种数据库引擎,如 MySQL、PostgreSQL、Oracle 等。
- 功能:自动化的数据库管理,支持扩展、备份、容错等功能,用户只需要关注应用程序的优化。
- 高可用性:通过多可用区部署和只读副本提升系统的可用性和数据容错能力。
-
用途:适用于需要处理复杂事务或复杂查询的应用程序。
-
Amazon DynamoDB
- 定义:DynamoDB 是一个完全托管的 NoSQL 数据库,支持键值和文档存储模型。
- 特点:低延迟、高吞吐量,支持水平扩展,适用于移动、Web、IoT 等应用。
-
功能:表、项目和属性是其核心组成部分,支持自动跨区复制,适合快速灵活的数据存储需求。
-
Amazon Redshift
- 定义:Redshift 是一个数据仓库服务,采用列式存储和并行处理架构。
- 功能:适合大数据分析和商业智能应用,支持高效的数据存储和查询。
-
使用场景:适用于数据仓库、SaaS 应用等,能够快速响应业务需求并扩展。
-
Amazon Aurora
- 定义:Aurora 是一个兼容 MySQL 和 PostgreSQL 的关系数据库,提供高性能和可扩展性。
- 功能:自动化处理预置、修补、备份等任务,具有企业级的高可用性和耐久性。
模块 9:云架构¶
第 1 部分:AWS 架构完善的框架 (AWS Well-Architected Framework)¶
1. 框架概述¶
- 定义: 一个用于设计、评估和优化云架构的指南和最佳实践集合。
- 目的:
- 帮助客户以一致的方法构建安全、高效、可靠的云基础设施。
- 提供基于 AWS 客户实践经验的评估标准。
- 通过一系列问题,帮助您判断架构是否符合云最佳实践。
2. 五大支柱 (Five Pillars)¶
框架围绕五个核心领域构建,每个支柱都包含设计原则和最佳实践问题。
| 支柱 | 关注点 | 关键主题 | 核心设计原则 |
|---|---|---|---|
| 卓越运营 (Operational Excellence) | 交付商业价值:运行和监控系统,持续改进流程。 | 管理和自动化变更、响应事件、管理日常运营。 | 以代码形式运营、注释文档、进行频繁可逆的微小更改、预见故障、从故障中吸取教训。 |
| 安全性 (Security) | 保护和监控系统:保护信息、系统和资产。 | 身份和访问管理、检测性控制、基础设施保护、数据保护、事件响应。 | 实施强有力的身份管理基础、启用可追踪性、在所有层应用安全性、自动化安全最佳实践、保护传输中和静态数据。 |
| 可靠性 (Reliability) | 从故障中恢复并减少中断:预防故障,快速恢复。 | 设置、跨项目要求、恢复规划、处理变更。 | 测试恢复流程、自动从故障中恢复、横向扩展、无需猜测容量、管理自动化变更。 |
| 性能效率 (Performance Efficiency) | 谨慎使用资源:高效利用 IT 资源满足系统要求。 | 选择合适的资源、监控性能、随着需求变化做出明智决策。 | 普及先进技术、数分钟内实现全球化部署、使用无服务器架构、选择最合适的技术。 |
| 成本优化 (Cost Optimization) | 消除不必要的支出:以最低成本交付商业价值。 | 了解和控制支出、选择合适的资源、分析支出、供需平衡。 | 采用消费模型、衡量总体效率、无需为数据中心运营投入资金、分析支出并确定归属。 |
3. 使用框架的方法¶
- 以问题为导向: 框架通过一系列问题(如“如何管理凭证?”、“如何备份数据?”)来引导您审视架构。
- 评估现状与未来: 针对每个问题,思考当前架构的状况(当前如何做)和理想的未来状况(应该怎么做)。
- 持续改进: 没有完美的架构,目标是通过框架持续发现改进点。
4. AWS Well-Architected Tool (工具)¶
- 一个在线工具,帮助您根据框架的五大支柱自动评估您的工作负载。
- 提供行动计划,包含改进架构的分步指南。
- 使您可以随时访问 AWS 架构师的知识和最佳实践。
第 2 部分:可靠性和可用性¶
1. 可靠性 (Reliability)¶
- 定义: 系统在用户需要时提供功能的能力。
- 衡量指标:
- 平均无故障时间 (MTBF):
MTBF = MTTF + MTTR。- MTTF (平均故障时间): 系统正常运行的平均时间。
- MTTR (平均修复时间): 系统发生故障后修复的平均时间。
- MTBF 越长,系统越可靠。
- 平均无故障时间 (MTBF):
2. 可用性 (Availability)¶
- 定义: 系统正常运行时间占总时间的百分比。
- 衡量指标:
- 可用性 = 正常运行时间 / 总时间
- 通常用“9 的个数”来表示,例如:
- 99.9% 可用性 = 3 个 9 (每年约 8.76 小时停机)
- 99.999% 可用性 = 5 个 9 (每年约 5.26 分钟停机)
3. 影响可用性的三大因素¶
- 容错能力 (Fault Tolerance): 系统组件内置冗余,部分组件故障时,系统仍能保持可用。
- 可扩展性 (Scalability): 系统能够适应容量需求的增长而不改变设计。
- 可恢复性 (Recoverability): 灾难性事件发生后,恢复服务的流程、策略和程序。
关键点: 设计高可用性系统需要在性能、成本和复杂性之间做出权衡。
第 3 部分:AWS Trusted Advisor¶
1. 概述¶
- 定义: 一个提供实时指导的在线工具,帮助您按照 AWS 最佳实践配置资源。
- 作用: 查看您的整个 AWS 环境,并提供五个类别的建议。
2. 五大建议类别¶
- 成本优化 (Cost Optimization)
- 性能 (Performance)
- 安全性 (Security)
- 容错能力 (Fault Tolerance)
- 服务限制 (Service Limits)
3. 解释 Trusted Advisor 建议¶
| 建议 | 描述 | 警报条件 | 建议操作 |
|---|---|---|---|
| 根账户上的 MFA | 为根账户启用多重验证,增加安全性。 | 根账户未启用 MFA。 | 登录根账户,激活 MFA 设备。 |
| IAM 密码策略 | 强制执行强密码策略。 | 密码策略未启用,或未启用所有内容要求(如长度、复杂度)。 | 启用密码策略并设置所有要求。 |
| 安全组 - 不受限制的访问 | 安全组规则允许从任何 IP (/0) 访问非标准端口,增加安全风险。 |
安全组规则的源 IP 为 /0,且端口不是 25, 80, 443。 |
限制源 IP 为特定 IP (/32) 或 IP 段,然后删除宽松规则。 |
| Amazon EBS 快照 | 检查 EBS 卷的快照创建时间。 | 黄色: 快照超过 7 天但少于 30 天。 红色: 快照超过 30 天或没有快照。 |
定期(如每周)创建 EBS 卷快照。 |
| Amazon S3 存储桶日志记录 | 检查 S3 存储桶是否启用了服务器访问日志记录。 | 黄色: 未启用日志记录。 | 为需要审计或分析的存储桶启用日志记录。 |
关键点: Trusted Advisor 是优化 AWS 环境的绝佳起点,可以在架构设计过程中持续使用。
模块 9 总结¶
- AWS 架构完善的框架是设计云架构的黄金标准,包含卓越运营、安全性、可靠性、性能效率、成本优化五大支柱。
- 可靠性关注系统提供功能的能力,用 MTBF 衡量。
- 可用性关注系统正常运行的时间百分比,受容错能力、可扩展性、可恢复性影响。
- AWS Trusted Advisor 是一个实时指导工具,提供成本、性能、安全、容错、服务限制五个类别的优化建议,是实践框架的有力助手。
模块 10:自动扩展和监控 复习总结¶
模块概览与目标¶
本模块深入探讨了如何实现应用的弹性、高可用和可观测性。完成本模块后,您应能:
- 说明如何使用 Elastic Load Balancing 分配流量。
- 了解如何使用 Amazon CloudWatch 监控资源和应用。
- 解释 Amazon EC2 Auto Scaling 如何响应负载变化。
- 执行扩展和负载均衡任务来改善架构。
第 1 部分:Elastic Load Balancing (ELB)¶
1. 概述¶
- 定义: 在一个或多个可用区中的多个目标(EC2 实例、容器、Lambda 函数等)之间分配传入的流量。
- 目的: 实现高可用性、容错能力、弹性和可扩展性。
2. 工作原理¶
- 侦听器 (Listener): 检查来自客户端的连接请求。
- 运行状况检查 (Health Checks): 负载均衡器定期检查注册目标的健康状况。
- 流量路由: 仅将流量路由到运行状况良好的目标。如果目标故障,流量会被自动重定向。
3. 负载均衡器类型¶
- Application Load Balancer (ALB):
- 作用于 7 层 (应用层)。
- 基于内容(如 URL 路径、主机名)路由流量。
- 支持 HTTP/HTTPS,可与 Lambda、容器集成。
- Network Load Balancer (NLB):
- 作用于 4 层 (传输层)。
- 基于IP 地址和端口路由流量。
- 性能极高(每秒数百万请求),延迟极低,支持静态 IP。
- Classic Load Balancer (CLB):
- 旧版负载均衡器,支持 4 层和 7 层。
- 功能较少,新项目推荐使用 ALB 或 NLB。
4. 使用场景¶
- ALB: 微服务、容器化应用、基于内容的路由、HTTPS 卸载。
- NLB: TCP 流量极高、需要极低延迟、需要静态 IP、处理数百万请求/秒。
- CLB: 简单的负载均衡需求(不推荐新项目使用)。
5. 监控¶
- Amazon CloudWatch 指标: 监控负载均衡器性能(如请求速率、健康主机数)。
- 访问日志: 记录每个请求的详细信息(源 IP、时间、目标等)。
- AWS CloudTrail 日志: 记录对 ELB API 的调用。
第 2 部分:Amazon CloudWatch¶
1. 概述¶
- 定义: AWS 的监控和可观察性服务,用于监控 AWS 资源和在 AWS 上运行的应用程序。
2. 核心功能¶
- 收集和跟踪指标 (Metrics):
- 标准指标: AWS 服务自动发送的指标(如 EC2 CPU 利用率)。
- 自定义指标: 您可以发送应用程序或业务的自定义指标。
- 创建警报 (Alarms):
- 当指标超过或低于静态阈值时触发。
- 可配置操作,如发送通知到 SNS、执行 Auto Scaling 操作。
- 事件 (Events):
- 定义规则来响应 AWS 环境中的状态变化(如 EC2 实例启动)。
- 将事件路由到目标(如 Lambda 函数、SNS)进行处理。
3. 创建 CloudWatch 警报的要素¶
- 命名空间 (Namespace): 指定 AWS 服务(如
AWS/EC2)。 - 指标 (Metric): 具体要监控的度量(如
CPUUtilization)。 - 统计数据 (Statistic): 指标的聚合方式(如
Average,Maximum)。 - 时间段 (Period): 数据聚合的时间间隔(如 5 分钟)。
- 条件 (Condition): 阈值条件(如
>,>=,<,<=)。 - 操作 (Actions): 触发警报时要执行的操作。
关键点: 警报条件必须是明确的比较(>、>=、<、<=),不能是“大约”。
第 3 部分:Amazon EC2 Auto Scaling¶
1. 为什么需要扩展?¶
- 问题: 预置固定容量会导致资源浪费(低峰期)或性能下降(高峰期)。
- 解决方案: Auto Scaling 根据负载自动调整计算资源。
2. Amazon EC2 Auto Scaling 概述¶
- 定义: 一组服务,用于自动添加或删除 EC2 实例以响应负载变化。
- 核心功能:
- 保持应用程序可用性。
- 自动检测和替换不健康的实例。
- 支持多种扩展模式。
3. Auto Scaling 组 (Auto Scaling Group)¶
- 一组被视为逻辑单元的 EC2 实例,用于扩展和管理。
- 配置包含:
- 最小容量: 组中始终运行的最少实例数。
- 所需容量: 当前希望运行的实例数。
- 最大容量: 组中允许运行的最多实例数。
4. 扩展选项¶
- 手动扩展: 手动调整所需容量。
- 计划扩展: 在预知的高峰时间(如促销活动)前自动扩展。
- 动态扩展 (Dynamic Scaling):
- 基于 CloudWatch 警报(如 CPU 利用率 > 60%)自动扩展。
- 是最常用的模式,实现弹性。
- 预测性扩展: 使用机器学习预测未来负载并提前扩展。
5. 工作原理 (动态扩展)¶
- CloudWatch 监控 EC2 实例的 CPU 利用率。
- 当利用率持续高于阈值(如 60% 持续 5 分钟),CloudWatch 警报被触发。
- 警报通知 EC2 Auto Scaling 执行扩展策略。
- Auto Scaling 组根据启动配置(包含 AMI、实例类型、安全组等)启动新实例。
- 新实例通过运行状况检查后,被添加到负载均衡器的目标组中,开始接收流量。
6. 启动配置 (Launch Configuration)¶
- 一个模板,定义了 Auto Scaling 组启动新实例时使用的配置,包括:
- AMI ID
- 实例类型
- IAM 角色
- 安全组
- 存储 (EBS 卷)
- VPC 和子网
- 用户数据脚本
7. AWS Auto Scaling (独立服务)¶
- 一个更高级的服务,可以为多种资源(EC2、ECS 任务、DynamoDB 表、Aurora 副本)统一管理扩展策略。
- 与 EC2 Auto Scaling 是独立的服务。
模块 10 总结¶
- Elastic Load Balancing (ELB) 将流量分发到多个实例,实现高可用和容错。ALB 用于应用层路由,NLB 用于高性能传输层路由。
- Amazon CloudWatch 是核心监控服务,用于收集指标、创建警报(可触发 Auto Scaling)和处理事件。
- Amazon EC2 Auto Scaling 通过自动增减 EC2 实例来应对负载变化,确保应用可用性。其核心是 Auto Scaling 组 和 启动配置。
- 动态扩展 是最常用的模式,由 CloudWatch 警报 触发 Auto Scaling 操作,最终由 ELB 将流量分发给新实例,三者协同工作,构成了 AWS 弹性架构的基石。
云计算资源技术应用 - 第一讲 复习总结¶
第一部分:什么是云计算¶
1. 云计算定义¶
- 核心定义:云计算是一种通过互联网按需提供计算能力、数据库、存储、应用程序和其他 IT 资源的模式。
- 关键特征:
- 按实际使用量付费:采用类似水电的“消费模型”定价,用户只为实际使用的资源付费。
- 基础设施即软件:用户不再需要将基础设施视为物理硬件,而是可以像使用软件一样灵活地获取和管理。
- 生活化类比:云盘、网络电视、抖音等都是云计算的日常应用。学校的办事大厅(如健康填报、企业微信)也是云计算服务的具体体现。
2. 云服务模型 (Service Models)¶
云计算服务根据提供的抽象层次和用户控制程度,分为三种主要模型,从下到上控制权递减。
| 模型 | 全称 | 用户控制程度 | 核心内容 | 代表服务/组件 |
|---|---|---|---|---|
| IaaS | 基础设施即服务 (Infrastructure as a Service) | 较高 | 提供最基础的 IT 资源。 | 出租计算、存储、网络、DNS 等基本服务。 |
| PaaS | 平台即服务 (Platform as a Service) | 中等 | 在 IaaS 之上提供应用开发和运行环境。 | 应用服务器、编程语言、开发框架、数据库服务、消息/支付/计费等组件。 |
| SaaS | 软件即服务 (Software as a Service) | 较低 | 直接提供可使用的应用程序。 | 互联网 Web 应用、企业应用 (ERP/CRM)、云盘、邮件等。 |
理解层级:可以想象为一个金字塔。
- 底层 (IaaS): 硬件基础设施(网络、计算、存储)。
- 中层 (PaaS): 操作系统、中间件、数据库等平台。
- 顶层 (SaaS): 最终用户使用的软件应用。
3. 云计算部署模式 (Deployment Models)¶
根据云资源的拥有者和访问范围,分为三种部署模式。
- 公有云 (Public Cloud): 由第三方云服务商(如 AWS, 阿里云)拥有和运营,资源通过互联网提供给公众使用。成本低,规模大。
- 私有云 (Private Cloud / 本地): 云基础设施专供一个组织使用,可以部署在企业内部数据中心(本地),也可以由第三方托管。安全性高,控制力强。
- 混合云 (Hybrid Cloud): 结合了公有云和私有云的特点,允许数据和应用在两者之间共享和移动。兼顾了灵活性与安全性。
第二部分:为什么需要云计算¶
企业 IT 基础设施面临的痛点¶
传统自建 IT 基础设施存在诸多问题,而云计算正是为解决这些问题而生。
| 痛点 | 传统模式 | 云计算解决方案 |
|---|---|---|
| 资源利用率低 | 服务器资源利用率低,外置存储昂贵。 | 资源池化,按需分配,提高整体利用率。 |
| 资本支出高 (CapEx) | 需要大量前期投资购买硬件、建设数据中心。 | 转变为可变支出 (OpEx):仅按实际使用量付费,无需大规模前期投资。 |
| 业务上线慢 | 采购硬件、安装软件、调试业务,周期长(数周)。 | 提高速度和敏捷性:数分钟内即可获取资源,快速部署应用。 |
| 容量规划困难 | 容量估计过高造成浪费,估计不足导致业务卡顿。 | 无需猜测容量:按需扩展,弹性伸缩,应对流量高峰。 |
| 运维复杂 | 需要投入资金和人力维护数据中心(电力、散热、安全)。 | 无需再为数据中心的运行和维护投入资金:云服务商负责底层硬件维护。 |
| 全球化部署难 | 将业务部署到全球多个地区非常困难。 | 数分钟内实现全球化部署:利用云服务商遍布全球的数据中心。 |
| TCO 居高不下 | 总体拥有成本 (TCO) 高。 | 大型规模经济:云服务商通过大规模采购降低成本,并将节省让利给客户。 |
核心价值总结:云计算帮助企业将资本支出 (CapEx) 转变为可变支出 (OpEx),实现降本增效,并获得前所未有的敏捷性和弹性。
第三部分:云计算能做什么¶
1. 丰富的云服务¶
现代云平台提供了数千种服务,覆盖了 IT 的方方面面,主要包括:
- 计算 (Compute): 如弹性云服务器 (ECS/EC2)。
- 存储 (Storage): 如对象存储服务 (OBS/S3)。
- 数据库 (Database): 各种关系型和非关系型数据库服务。
- 网络 (Networking): VPC、负载均衡、CDN 等。
- 安全 (Security): 身份认证、防火墙、加密等。
- 人工智能/机器学习 (AI/ML): 提供机器学习模型训练和推理服务。
- 物联网 (IoT): 设备连接、数据采集与分析。
- 分析 (Analytics): 大数据处理和分析服务。
- 开发人员工具 (Developer Tools): 代码托管、持续集成/持续部署 (CI/CD) 等。
2. 典型应用场景与解决方案¶
云计算已深入各行各业,提供了超过 50 种解决方案,例如:
-
通用场景:
- 云上办公: 企业邮箱、协作平台。
- 企业云盘: 文件存储与共享。
- 备份与归档: 数据安全备份,长期存储。
- 上云迁移: 将传统应用迁移到云上。
- 高性能计算 (HPC): 科学计算、基因工程、生物制药等。
-
行业解决方案:
-
金融行业: 等保合规安全、风控系统。
- 零售/电商: 电商双交付、广告精准营销。
- 智能制造/车联网: 工业物联网、车辆数据管理。
- 医疗: 医疗影像存储与分析。
- 游戏: 游戏开发、游戏安全、云游戏。
- 移动互联/IoT: 移动应用后端、物联网平台。
第四部分:核心服务详解¶
1. 计算服务 - 弹性云服务器 (ECS/EC2)¶
-
定义: 一种可随时自助获取、计算能力可弹性伸缩的云服务器。
-
核心优势: 可靠、安全、灵活、高效,提升运维效率。
-
关键概念:
- 地域 (Region): 地理位置概念,如华北、华东。
- 可用区 (Availability Zone): 同一地域内,独立的物理机房,通过低延迟网络连接。用于实现高可用。
-
GPU 加速云服务器:
-
原理: 通过虚拟化技术将物理 GPU 分割为多个 vGPU,供虚拟机使用。
- 适用场景: 图形渲染、工程制图、远程桌面、桌面云。
-
服务器类型:
-
通用计算型/增强型/入门型
- 内存优化型/超大内存型
- 磁盘增强型
- 超高 I/O 型
- 高性能计算型/超高性能计算型
- GPU 加速型/FPGA 加速型
-
应用场景示例:
-
企业官网/小型数据库: 推荐
s3.large.2+ 普通 IO 云硬盘。 - 电商/广告精准营销: 推荐
m3.2xlarge.8+ 超高 IO 云硬盘。 - 高清视频/图形渲染: 推荐
g1.2xlarge+ 高 IO 云硬盘。 - 科学计算/HPC: 推荐
h3.4xlarge.4+ 超高 IO 云硬盘。
2. 存储服务 - 对象存储服务 (OBS/S3)¶
- 定义: 一个基于对象的海量、低成本、高可靠、安全的数据存储服务。
- 核心优势:
- 高可用: 数据持久性高达 11 个 9 (99.999999999%),可用性 99.99%。
- 低成本: 成本低廉,支持海量扩展。
- 易使用: 提供 Web 控制台、客户端、SDK 和 S3 原生接口。
- 适用场景:
- 海量存储资源池
- 静态网站托管
- 大数据存储
- 备份与归档
- 网盘类业务
与传统存储对比: - 块存储 (Block Storage): 像硬盘,直接挂载给服务器使用 (如 EBS)。 - 文件存储 (File Storage): 支持文件系统协议 (NFS/CIFS),多台服务器共享 (如 EFS)。 - 对象存储 (Object Storage): 通过 HTTP/REST API 访问,以“桶 (Bucket)”和“对象 (Object)”组织数据,适合非结构化数据。