一、EC2基础
- 本质:云上的虚拟机(VM)服务。
- 核心组件:
- 实例(Instance):虚拟计算环境。
- AMI(Amazon Machine Image):预配置模板(操作系统+软件)。
- 实例类型(Instance Type):定义CPU、内存、存储、网络配置。
- 密钥对(Key Pair):用于安全登录(公钥AWS存储,私钥用户保管)。
- 安全组(Security Group):虚拟防火墙(控制协议/端口/IP访问)。
- 弹性IP(Elastic IP):静态公网IPv4地址。
- VPC(Virtual Private Cloud):逻辑隔离的虚拟网络。
二、购买选项
| 类型 | 特点 | 适用场景 |
|---|---|---|
| 按需实例(On-Demand) | 按秒/小时付费,无预付费;灵活性最高 | 短期、不可预测的工作负载(如测试、临时任务) |
| 预留实例(Reserved) | 预付费折扣(1-3年合约),分四类: - 标准:固定实例类型 - 可转换:可改实例家族/OS - 计划性:指定时间段使用 - 区域性:跨AZ使用 |
长期稳定工作负载(如数据库、企业应用) |
| Spot实例 | 竞价闲置资源,价格浮动(可能被中断) | 容错型短期任务(如批处理、大数据分析) |
| 专用主机(Dedicated Hosts) | 独占物理服务器,可自带软件许可 | 合规要求严格或需许可证绑定的场景 |
| 专用实例(Dedicated Instance) | 硬件隔离的虚拟机(不独占物理机) | 需隔离但无需控制硬件的场景 |
三、存储选项
- 根卷(Root Volume):
- 支持EBS(持久化)或实例存储(临时性)。
- EBS卷(Elastic Block Store):
- 可附加的持久化块存储(独立于实例生命周期)。
- 实例存储(Instance Store):
- 临时高速存储(实例终止时数据丢失)。
四、成本优化:Savings Plans
| 类型 | 覆盖范围 | 折扣 | 灵活性 |
|---|---|---|---|
| Compute Savings Plan | EC2 + Fargate + Lambda | 最高66% | 跨实例类型/家族/区域/OS |
| EC2 Instance Savings Plan | 指定区域的特定实例家族 | 最高72% | 可改实例大小/OS(同家族内) |
| SageMaker Savings Plan | SageMaker实例 | 最高64% | 跨实例类型/区域/组件(如训练/推理) |
五、实例休眠(Hibernate)
- 原理:内存(RAM)状态保存至EBS根卷。
- 适用场景:需保留运行状态的长期任务(如初始化慢的服务)。
- 限制:
- 仅部分实例家族(C/M/R系列)。
- RAM ≤ 150GB。
- 根卷需为EBS(非实例存储)。
- 最长休眠60天。
六、高级架构
- Nitro系统:
- 提供高性能、安全隔离的虚拟化基础设施。
- 置放群组(Placement Groups): | 类型 | 设计目标 | 使用场景 | |---------------|------------------------|----------------------------------| | 集群(Cluster) | 低延迟/高网络吞吐 | HPC、大数据作业(同AZ内密集部署) | | 分区(Partition) | 逻辑隔离故障域 | 分布式系统(如Hadoop、Kafka) | | 分布(Spread) | 最大化硬件隔离 | 关键应用(单AZ限7实例) |
七、自动扩展(Auto Scaling Group, ASG)
- 扩展策略:
- 目标追踪(Target Tracking):动态调整实例数以匹配目标指标(如CPU利用率)。
- 简单扩展(Simple):基于单一阈值触发扩展/缩减(有冷却时间)。
- 阶梯扩展(Step):多阈值多级扩展(如负载分阶段增长)。
- 预测扩展(Predictive):基于历史数据预测负载(适合周期性流量)。
- 跨可用区平衡:
- ALB:默认开启跨AZ负载均衡(免费)。
- NLB:默认关闭(跨AZ流量收费)。
- 生命周期钩子(Lifecycle Hooks):
- 在实例启动(
Pending)或终止(Terminating)时注入自定义操作(如初始化/清理任务)。