在云端推出托管实例
Source: Dev.to

多年来,采用公共云的组织已经熟悉了两种主要的计算服务类型:
- 客户自管 (IaaS)
- 全托管或无服务器 (PaaS)
关键区别在于 谁负责维护底层计算节点(操作系统打补丁、加固、监控等)以及 如何处理扩缩容(根据负载添加/移除节点)。
在理想情况下,我们更倾向于使用全托管(或无服务器)解决方案,但在某些使用场景下仍需要直接访问虚拟机(例如,通过 SSH 进行操作系统级别的配置)。
在本文中,我将回顾几种托管实例服务,并将它们与相应的全托管替代方案进行比较。
功能即服务
唯一找到的替代方案是 AWS Lambda 托管实例。
AWS Lambda 已经在市场上存在多年,是最常见的无服务器计算服务(虽然不是唯一的)。下面是标准 AWS Lambda 与 AWS Lambda 托管实例的对比:
何时使用哪种替代方案
在以下情况下使用 AWS Lambda(标准版):
- 流量突发或不可预测 – 需要在几秒钟内从零扩展到数千个并发执行。
- 低或间歇性负载 – “零规模”在空闲期间可节省成本。
- 需要严格隔离 – 每个请求在其自己的 Firecracker 微虚拟机中运行。
- 追求简洁 – 只需上传代码并运行,无需做基础设施决策。
在以下情况下使用 AWS Lambda 托管实例:
- 流量高且可预测 – 稳定的工作负载使得始终开启的 EC2(配合 Savings Plans)比按请求计费更划算。
- 计算/内存密集型工作负载 – 需要特定的 CPU 与内存比例或标准 Lambda 不提供的专用指令集。
- 对延迟敏感 – 不能容忍冷启动延迟,实例保持热状态。
- 高 I/O 并发 – 许多 I/O 受限任务可以高效共享单个 vCPU。
容器服务
Amazon ECS 是一项高度可扩展的容器编排服务,可在 AWS 基础设施上自动部署和管理容器。
以下是 Amazon ECS(自托管 EC2) 与 Amazon ECS 托管实例 的对比:
何时使用哪种方案
如果需要使用 Amazon ECS(自托管 EC2),请考虑以下情况:
- 需要自定义 AMI – 合规或遗留软件需要加固的操作系统镜像或自定义内核模块。
- 需要访问主机 – 需要 SSH 进入底层节点进行深度调试、取证审计,或安装 ECS 不支持的主机级代理。
- 成本是唯一优先因素 – 想避免额外的管理费用,并且拥有能够手动优化容器打包和 Spot 使用的团队。
- 遗留 / 混合约束 – 需要扩展本地网络配置或存储驱动,必须手动进行操作系统设置。
如果使用 Amazon ECS 托管实例,请考虑以下情况:
- 需要 GPU 或大内存 – 需要硬件(例如用于 AI/ML 的 GPU 实例),而 AWS Fargate 不支持,但又不想管理操作系统。
- “类似 Fargate”的操作,使用 EC2 计费 – 想将补丁和 Auto Scaling 组管理交给 AWS,同时仍使用预留实例或 Savings Plans。
- 安全合规 – 需要自动节点轮换(例如每 14 天)以进行安全补丁,而无需自行构建流水线。
- 稳态工作负载 – 可预测的流量使得始终开启的 EC2 实例比 Fargate 按秒计费更具成本效益。
Kubernetes 服务
Amazon EKS 是一项全托管服务,通过在 AWS 上自动管理 Kubernetes 控制平面,简化了容器化应用的运行、扩展和安全性。
下面是 Amazon EKS(自管节点) 与 Amazon EKS 托管节点组 的对比:
何时使用哪种方案
选择 Amazon EKS 托管节点组的情况:
- 标准 Kubernetes 工作负载 – 您运行的是常规应用,希望将基础设施维护的时间降到最低。
- 简化的弹性伸缩 – 您希望 EKS 自动处理 Auto Scaling 组的创建,并且这些组能够原生感知集群状态。
- 自动化安全 – 您希望以一种流畅的方式为集群节点应用安全补丁和操作系统更新,而不会产生停机。
- 运营效率 – 您的团队规模较小,需要将精力集中在应用代码上,而不是 Kubernetes 的“管道”上。
选择 Amazon EKS 自管节点的情况:
- 自定义操作系统 – 您必须使用特定的、经过硬化的操作系统镜像(例如高度定制的 Ubuntu 或 RHEL),而托管节点组不支持。
- 复杂的引导脚本 – 您需要在节点启动期间运行复杂的 “User Data” 脚本,以实现对初始化过程的细粒度控制。
- 独特的网络需求 – 您使用的是专用网络插件或非标准 VPC 配置,需要手动配置节点。
- 遗留合规要求 – 您有严格的监管要求,必须对每一次操作系统层面的更改进行人工监督和 “手动签署”。
Summary
在这篇博客文章中,我回顾了几种计算服务(包括 FaaS、容器和托管的 Kubernetes),每种服务都有客户自行管理计算节点或由 AWS 管理的替代方案。
通过使用 AWS Lambda Managed Instances、Amazon ECS Managed Instances 和 Amazon EKS Managed Node Groups,组织可以在不承担运维复杂性的前提下实现高硬件性能。此托管层的主要优势在于能够将硬件选择与操作系统维护解耦。开发者可以自行挑选特定的 EC2 系列——例如用于 AI 的 GPU 优化实例或用于成本效益的 Graviton 实例——而 AWS 负责安全补丁和实例生命周期的更新。
免责声明:本文的研究和编辑使用了 AI 工具。图形由 AI 创建。
关于作者
Eyal Estrin 是一位资深的云和信息安全架构师,AWS Community Builder,并且是 Cloud Security Handbook 和 Security for Cloud‑Native Applications 的作者。拥有超过 25 年的 IT 行业经验,他在工作中带来了深厚的专业知识。
在社交媒体上与 Eyal 联系:https://linktr.ee/eyalestrin
此处表达的观点仅代表他个人,不代表其雇主的立场。




