跳至主要内容

什么是 EC2 实例?AWS 云服务器入门指南

本文将带您了解 EC2 的核心功能、工作机制、如何分配 EC2,以及如何与其他 AWS 服务集成。
Iheb Gafsi
Iheb Gafsi

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续继续即表示您接受我们的 使用条款,我们的 隐私政策 ,并且您的数据存储在美国。

云计算是现代计算中最重要的组成部分之一,它显著减少了对硬件组件的投入,使其不仅更具成本效益,而且比传统方法更安全、更可靠。

2006 年,AWS 推出了 EC2,使用户可以在云中租用虚拟计算机。这一发布是 AWS 更广泛使命的关键一环,即提供可扩展、经济高效且灵活的解决方案,以降低组织的 IT 复杂性和成本。它极大地改变了企业部署和扩展应用的方式。

如果在阅读本文后,您和我一样对 AWS 核心服务感兴趣,可以学习我们的 AWS Concepts 课程,内容非常全面。

什么是 EC2 实例?

EC2(Elastic Compute Cloud,弹性计算云)实例,本质上就是在远端设置的一台虚拟计算机。您可以把 EC2 实例理解为在数据中心租一台计算机。归根结底,它是一种可调整大小、按需提供的计算资源,让您无需投资物理硬件即可在云端运行应用程序。

当您启动 AWS EC2 实例时,您需要选择一个 Amazon 机器映像(AMI),其中包含所需的操作系统和软件。所有硬件层面的工作都已为您完成,避免了从零搭建系统。选择实例时,您可以自定义 CPU、内存、网络带宽等。这种灵活性非常适合可扩展的工作场景。稍后我会展示一些相关内容。

EC2 与其他 AWS 服务的比较

很多人会把 EC2 实例与其他 AWS 服务混淆。本节我将说明它们之间的关键差异,即:

EC2 与 S3

EC2 让您租用虚拟服务器(就像在数据中心租一台计算机),而 S3(简单存储服务) 专为存储和检索文件而设计。

进一步来说,S3 是一种以对象形式保存数据的存储服务,具备高度可扩展、安全且快速的特性。各种规模的企业都可以将海量数据存储于此,用于网站、移动应用、备份、归档、企业应用、物联网设备以及大数据分析。它还提供简便的工具来管理并控制谁可以访问您的数据。

EC2 与 ECS/EKS

EC2 为您提供对虚拟机的完全控制,这意味着您需要负责设置、管理和维护软件环境。相比之下,ECS(弹性容器服务)和 EKS(弹性 Kubernetes 服务)等服务可帮助您运行容器化应用,而无需管理底层服务器细节。这就像拥有一个预先组织好的集装箱系统,您只需将应用打包进容器,剩下的物流交给 AWS 处理。

EC2 与 Lambda

使用 EC2,您租用并管理虚拟服务器;而 Lambda 是无服务器平台,可在事件触发时运行您的代码,完全无需您操心底层服务器。Lambda 会自动处理基础设施、扩展和代码执行。这就像按需点餐,而不是租一间完整的厨房自己做饭。我们的 Streaming Data with AWS Kinesis and Lambda 课程展示了 Lambda 在 AWS 生态中的一个用例。

EC2 与 RDS

EC2 是通用计算服务,可运行任何类型的应用;而 RDS(关系型数据库服务)是专为数据库而设的托管服务。RDS 会负责数据库的维护、备份和更新,让您更专注于应用本身,就像拥有一家全托管的餐厅,您只需关注菜单而无需操心日常后厨运营。

ServiceFunction 1Function 2
EC2Runs applicationsFull VM control
S3Stores/retrieves files 
ECS/EKSManages containers 
LambdaServerless, event-drivenManages servers
RDSManaged databaseGeneral compute

EC2 如何与其他 AWS 组件协同工作

EC2 并非孤立工作。它与多种 AWS 服务紧密集成:

EC2 与 Amazon EBS(弹性块存储)

EBS 提供可附加到 EC2 实例的持久性块级存储。可以把 EBS 看作您给租用计算机插上的硬盘,即使计算机重启,数据也能保留。

EC2 与 Amazon CloudWatch

CloudWatch 监控 EC2 实例的性能,跟踪 CPU 使用率、磁盘 I/O 和网络流量等指标。就像有一个仪表盘告诉您这台“租用计算机”的运行状况,便于您在需要时调整资源。

EC2 与 Auto Scaling

Auto Scaling 会根据应用需求自动增加或移除 EC2 实例。可以把它想象成一个自动系统:当流量激增时租用更多计算机,而在不需要时释放它们,确保无需人工干预也始终拥有合适的计算能力。

ServicePurpose
EBSPersistent storage
CloudWatchPerformance monitoring
Auto ScalingDynamic instance adjustment

前文提到的 AWS Concepts 课程,可更深入地理解 AWS 服务及其协同方式。

EC2 实例入门

EC2 实例高度可定制,能够精确配置以满足您的需求。以下是启动并配置 EC2 实例的主要步骤:

启动 EC2 实例

启动 EC2 实例是一个逐步流程,可按照您的精确配置来设置虚拟服务器。流程如下:

进入 EC2 选项卡

您可以在门户右上角的搜索栏中搜索 "EC2",或在控制台 主页的服务列表中选择它。AWS Portal

启动新实例

完成上述步骤后,您应能看到账户中已分配的 EC2 实例。然后点击Launch Instance,开始配置新的 EC2 实例。

选择 AMI(Amazon 机器映像)

AMI 就像云端计算机的预配置蓝图,包含操作系统和所需的附加软件。选择 AMI 时,您是在为实例挑选“入门套件”,类似租到一台已安装 Windows 或 Linux 的电脑。

选择实例类型

接下来根据工作负载选择实例类型。AWS 提供多种类型,例如用于通用、可突发性能的 T2,或用于计算密集型任务的 C5。此步骤就像决定要租用的计算机硬件规格,以及在 CPU、内存和网络性能方面需要多强。Instance Type Section

配置密钥对

为安全访问实例,您需要创建一个密钥对(公钥和私钥)。这将允许您使用 SSH(安全外壳)或 RDP(远程桌面协议)连接到实例。您应选择现有密钥对或点击 Create a new key pair 创建新的密钥对。

Key Pairs Dialog

配置网络

随后,您通过选择虚拟私有云(VPC)和子网来决定实例所在位置。这将确定网络环境,包括实例是否获得公有 IP(从而可通过互联网访问)还是保持私有。这就像为您的计算机在安全数据中心中选择放置位置。

Networing Section

此图展示了 AWS 为您的实例选择的默认 VPC 和子网。如果您想自定义网络设置,也可以创建新的 VPC 和子网。

设置安全性(安全组)

安全组充当虚拟防火墙。在这里,您可以定义规则来控制哪些类型的流量(如 SSH、HTTP)可以访问您的实例。例如,您可以仅允许来自您特定 IP 地址的 SSH 访问。通过这种方式,您可以限制用户访问您分配的实例。您可以创建新的安全组(点击Create security group)或选择现有安全组。

添加存储

您可以为实例附加存储卷(如 Amazon EBS 卷),其作用类似硬盘。您还可以为实例添加标签,以便于识别和管理。这就像为计算机设置存储空间并贴上标签,方便后续访问。

Configure Storage

检查并启动

最后,检查实例配置以确保一切正确。如果您对设置满意,点击 Launch 启动实例。这就像在开机前再次确认计算机设置。或者,您也可以查看 AWS EC2 Tutorial For Beginners,了解 EC2 实例的本地详细安装过程。

另一种方式:用户数据脚本

在启动实例时,您可以提供名为 “user data” 的脚本,它会在首次启动时运行。该脚本可自动安装软件、应用更新或配置设置,省去每次手动设置的麻烦。

配置与管理 EC2 实例

配置 EC2 实例就像按您的任务需要来精准设置一台计算机。启动实例后,您可以通过多种方式进行自定义,例如:

  • 调整大小:您可以更改实例类型来调整 CPU、内存和其他资源。这类似于升级计算机硬件:您可能先用小规格做测试,后续随着需求增长再调整为更强的配置。
  • 安装软件:实例运行后,使用 SSH 和密钥对安全连接,并安装所需的应用和服务。连接后,您可以通过终端命令或图形界面开始安装软件。
  • 安全访问:AWS 使用密钥对(公钥和私钥)来保护对实例的访问。公钥存储在实例上,私钥保存在您的本地设备上。使用这些 SSH 密钥对从 SSH 客户端进行连接。
  • 使用用户数据脚本:启动实例时,您可以提供一个(称为 “user data” 的)脚本,它会在首次启动时自动运行。该脚本可自动安装软件、应用更新或配置设置,避免每次都要手动搭建。
  • 使用 systemd 等工具管理系统:安装完成应用后,您可能希望它们在实例每次启动时自动运行,或在崩溃时自动重启。此时系统管理工具(如systemd)就派上用场了,它相当于您虚拟服务器的内置服务管理器。

EC2 自动扩展与负载均衡

EC2 自动扩展组与弹性负载均衡协同工作,确保您的应用在需求波动时依然可用并表现良好。

自动扩展组

在 AWS 中,当指标(如 CPU 使用率或网络流量)超过设定阈值时,自动扩展组会自动启动新的 EC2 实例;当需求下降时则终止实例。这意味着您无需手动调整资源,也总能拥有恰当的计算能力。

弹性负载均衡(ELB)

ELB 会将传入流量自动分配到一个或多个可用区内所有健康的 EC2 实例上。如果某台服务器不可用或过载,ELB 会将流量重定向到其他服务器。这样可确保没有单一实例被压垮,这一点对应用可靠性至关重要。想进一步提升 AWS 技能,可查看我们的学习路径 AWS Cloud Practitioner(CLF-C02)。

使用 EC2 的特性与优势

EC2 是一项多功能服务,为用户提供众多特性与优势。如下所示:

关键特性

Amazon EC2 提供广泛而深入的实例类型选择,以匹配您的工作负载需要。本小节我将引导您了解 EC2 实例的主要特性。

  • 灵活性:AWS 允许您在多种实例类型、计算资源(如 CPU、GPU 和存储)、操作系统(如 Windows、Mac 和 Linux)以及配置(如网络参数、启用时长等)中自由选择,以满足您的特定需求。
  • 可扩展性:通过 EC2 Auto Scaling 等服务根据需求变化自动调整计算能力。
  • 成本效益:在按需、节省计划和竞价实例等多种定价模式中选择,优化成本。
  • 集成性:与其他 AWS 服务无缝连接,例如用于存储的 Amazon S3、用于托管数据库的 Amazon RDS 等。

适配不同工作负载的优势

众多初创公司、企业以及数据密集型应用都能从 AWS EC2 中受益,这将显著影响其工作成效。

运行批处理作业与高能任务

EC2 的可扩展性和灵活性非常适合批处理任务。它能高效处理海量数据与高能计算,如日志处理、科学仿真或媒体文件渲染。

部署

从多方面来看,将服务、Web 应用、机器学习模型等部署在本地服务器上并不建议,例如在可扩展性、安全性、成本效益等方面都存在问题。EC2 实例提供最低成本与最高性能的最佳配置,有助于您高效管理产品,平衡取舍。

采购模式与成本优化

了解不同定价模式和成本优化策略,对于充分利用 EC2 实例而不过度支出至关重要。本节将说明不同的定价选项以及如何优化成本。

EC2 定价选项

Amazon EC2 提供多种定价模式,以适配不同工作负载和预算。主要选项如下:

按需实例

可以把按需实例看作按小时或按秒租用算力——就像打车而不是买车。无需预付费和长期承诺,只为使用的部分付费,类似电费水费。它们非常适合不可预测的工作负载(突发流量)或测试新应用。

竞价实例

Amazon EC2 竞价实例以高达 90% 低于按需价格的成本提供未被使用的 AWS 容量;按需实例则以固定的小时/秒级费率收费,提供不中断、可保证的访问。与适合稳定、紧急工作负载的按需实例不同,竞价实例类似动态拍卖,更便宜但可被中断;当需求上升时,AWS 可能收回资源。

节省计划

如果您承诺在 1 年或 3 年期间每小时使用固定量的计算资源,AWS 节省计划可比按需价节省最高 72%。AWS 提供三种类型:计算节省计划(适用于 EC2、Lambda 和 Fargate)、EC2 实例节省计划(特定于 EC2)以及 SageMaker 节省计划(适用于机器学习工作负载)。

按需容量预留

按需容量预留允许您在特定可用区按需预留 EC2 计算容量,并可按需保留任意时长,从而在容量紧张时也能确保可用。可将其视作提前预订保留车位,您按标准的按需费率付费,但可避免资源不可用的风险。

面向机器学习的 Amazon EC2 容量

Amazon EC2 的 ML 容量块允许您提前在特定时间段预留 GPU 实例(P5 或 P4d)以运行机器学习工作负载,仅为您预留的计算时间付费。可以把它看作预订一间关键会议的会议室,您能在所选日期保证 ML 任务(训练、原型或扩展)的可用性,无需签订合同。

专用主机

Amazon EC2 专用主机允许您独占一台物理服务器运行工作负载,仿佛在 AWS 数据中心拥有一间“私人套房”。这就像租下一间全配办公空间,您可控制硬件并复用现有许可证(例如 Windows、SQL Server),以降低成本,同时由 AWS 处理维护与基础设施。可按需(按小时)购买或通过节省计划购买。

EC2 计费方式

计算 EC2 实例成本取决于三个关键因素:实例大小/类型,使用时长,以及地理区域。更大的实例及配备 GPU 能力、内存等重型资源的实例,其每小时成本更高。同时,费用会根据运行时间(秒、分或小时)与定价模式(按需、预留、竞价)累积;不同 AWS 区域的价格也会因当地需求、基础设施成本和税费的差异而不同。

成本优化策略

有多种方式可以优化成本,例如:

  • 适配尺寸:使实例规格(CPU、内存、存储)与工作负载需求相匹配。
  • 使用竞价实例:用于可中断任务(批处理作业)以节省成本。
  • 启用节省计划/预留实例:针对稳定工作负载承诺 1 年或 3 年期限以降低成本。
  • 自动扩展:自动调整容量以匹配需求,避免过度预置。
  • 区域选择:在可行情况下,选择成本更低的区域部署,例如美国东部而非欧洲西部。

还有一些工具可以帮助优化 EC2 成本:AWS Cost Explorer 可以跟踪支出趋势并识别优化机会;Trusted Advisor 可提供建议,也常常有帮助。

EC2 最佳实践与安全注意事项

要实现安全高效的 EC2 部署,请关注以下三大领域:

优化性能

使用 Amazon CloudWatch 监控 CPU、内存与网络使用情况,及早发现问题。选择合适的实例大小以避免不必要的成本。启用自动扩展,根据流量自动调整容量。

强化安全

使用安全组和VPC 控制访问并保持实例隔离。使用密钥对而非密码进行身份验证。通过自动打补丁和定期更新保持实例安全。

确保可靠备份

创建AMI 进行整机备份,并使用EBS 快照进行存储层备份。用AWS Backup 实现备份自动化,并在多个区域存放副本以获得额外保护。

结论

总而言之,EC2 为您几乎即时地构建灵活、可扩展、具成本效益的解决方案提供了极大可能。它能与其他 AWS 服务轻松集成,以简化部署并支持高强度计算。同时,它提供多样的采购模式,能与您的应用需求完美匹配。更棒的是,您还可以免费创建一个实例。

扎实掌握 EC2,可为更高级的云架构与部署策略打下基础。继续通过我们的 AWS Cloud Practitioner 技能路径以及 AWS Cloud Technology and Services Concepts 课程,深入学习更多 AWS 服务。

Iheb Gafsi

作者

Iheb Gafsi

我从事加速型 AI 系统的研发,面向去中心化数据与分布式工作负载,构建支持边缘智能的联邦式机器学习流水线。我的工作重点包括大模型、语音处理、计算机视觉、强化学习以及先进的机器学习拓扑结构。

关于 EC2 实例,您可能会有的问题

什么是 EC2 实例?

EC2 是 AWS 的一项组件,让您以极低成本在云端租用实例,获得可扩展架构,以简化部署并执行批处理作业。

如何连接到我的 EC2 实例?

在 OpenSSH、PuTTY、Termius 等客户端中使用您的密钥对。

我可以将密钥对存放在哪里?

请将它们保存在您设备的安全位置,并且不要与任何人分享。

安全组有何作用?

它们可让您选择谁可以访问您的实例。

为什么我的 EC2 实例正在运行却无法访问?

首先检查您是否使用了正确的密钥对和相应的客户端,然后检查您的安全组设置,您可能在其中阻止了连接。

我找不到需要的所有实例类型。为什么?

AWS 有时会在不同区域提供不同的实例类型,尝试更换实例运行的区域后再试一次。

主题