如何在 AWS 中创建 EC2 实例:分步教程

什么是 Amazon EC2 实例?

在 Amazon Web Services 的术语中,EC2 实例不过是 Amazon 的一台虚拟服务器。它代表Elastic Compute Cloud。它是一项 Web 服务,AWS 订阅者可以通过该服务请求并配置 AWS 云中的计算服务器。

按需 EC2 实例是 AWS 的一项服务,订阅者/用户可以按小时租用虚拟服务器,并使用它来部署自己的应用程序。

实例将按小时收费,费率根据所选实例类型而异。AWS 根据用户的特定业务需求提供多种实例类型。

因此,您可以根据自己的 CPU 和内存需求租用一个实例,并按需使用。当实例不再使用时,您可以终止它以节省成本。这是按需实例最显著的优势——您可以大幅节省 CAPEX。

让我们详细了解如何在 AWS Cloud 中启动按需 EC2 实例。

登录并访问 AWS 服务

步骤 1)在此步骤中,

  • 登录您的 AWS 账户,然后单击左上角的 AWS Services 选项卡。
  • 在这里,您将看到所有 AWS 服务都根据其区域进行了分类,即计算、存储、数据库等。要创建 EC2 实例,我们需要在下一步中选择 Compute -> EC2。

Login and Access to AWS Services

  • 打开所有服务,然后在 Compute services 下单击 EC2。这将启动 EC2 的仪表板。

这是 EC2 仪表板。在这里,您将获得有关正在运行的AWS EC2资源的摘要信息。

Login and Access to AWS Services

第 2 步:在 EC2 仪表板的右上角,选择您要配置 EC2 服务器的 AWS 区域。

这里我们选择 N. Virginia。AWS 在全球提供 10 个区域。

Login and Access to AWS Services

第 3 步:在此步骤中

  • 选择所需的区域后,返回 EC2 仪表板。
  • 单击“创建实例”部分中的“启动实例”按钮(如下图所示)。

Login and Access to AWS Services

  • 单击“启动实例”后,实例创建向导页面将打开。

选择 AMI

第 1 步:在此步骤中,我们将执行以下操作:

  1. 系统会要求您选择一个 AMI。(AMI 是 Amazon Machine Image。它基本上是您可以作为创建实例的基础的操作系统平台的模板)。从您首选的 AMI 启动 EC2 实例后,实例将自动以所需的 OS 启动。(我们将在教程的后续部分详细了解 AMI)。
  2. 这里我们选择默认的 Amazon Linux (64 位) AMI。

Choose AMI

选择 EC2 实例类型

第 1 步:在下一步中,您需要根据您的业务需求选择所需的实例类型。

  1. 我们将选择 t2.micro 实例类型,它是由 AWS 提供的 1vCPU 和 1GB 内存服务器。
  2. 单击“配置实例详细信息”进行进一步配置。

Choose EC2 Instance Types

  • 在向导的下一步中,输入要一次性启动的实例数量等详细信息。
  • 这里我们启动一个实例。

配置实例

第 1 步:实例数量——您一次最多可以配置 20 个实例。这里我们启动一个实例。

Configure Instance

第 2 步:在“购买选项”下,暂时取消选中“请求 Spot 实例”选项。(这是在我们希望启动 Spot 实例而不是按需实例时完成的。我们将在教程的后续部分回顾 Spot 实例)。

Configure Instance

第 3 步:接下来,我们需要为我们的 EC2 服务器配置一些基本的网络详细信息。

  • 您需要在此处决定要在哪个 VPC (Virtual Private Cloud)中启动实例,以及在您的 VPC 中的哪个子网中启动。最好在启动实例之前确定和规划。您的 AWS 架构设置应包括 IP 范围、子网等,以提前规划以获得更好的管理。(我们将在教程的网络部分了解如何创建新的 VPC。
  • 子网也应提前规划。例如:如果是一个 Web 服务器,您应该将其放在公共子网中;如果是一个 DB 服务器,您应该将其放在私有子网中,所有这些都位于您的 VPC 中。

下面,

  1. 网络部分将列出我们平台上可用的 VPC。
  2. 选择一个已有的 VPC
  3. 您也可以创建一个新的 VPC

在这里,我选择了一个已有的 VPC,我希望在那里启动我的实例。

Configure Instance

步骤 4) 在此步骤中,

  • VPC 由子网组成,子网是为限制访问而分隔的 IP 范围。
  • 下面,
  1. 在子网下,您可以选择要放置实例的子网。
  2. 我选择了一个已有的公共子网。
  3. 您也可以在此步骤中创建一个新的子网。

Configure Instance

  • 一旦您的实例在公共子网中启动,AWS 将从其 IP 池中为其分配一个动态公共 IP。

第 5 步:在此步骤中,

  • 您可以选择 AWS 是否自动为其分配 IP,或者您想稍后手动完成。您可以启用/禁用“自动分配公共 IP”功能。
  • 这里我们将稍后为此实例分配一个称为 EIP(弹性 IP)的静态 IP。所以我们暂时禁用此功能。

Configure Instance

步骤 6) 在此步骤中,

  • 在下一步中,暂时将 IAM 角色选项保留为“None”。我们将在 IAM 服务部分详细讨论 IAM 角色。

Configure Instance

第 7 步:在此步骤中,您需要执行以下操作:

  • 关机行为——当您意外关机您的实例时,您肯定不希望它被删除,而是希望它被停止。
  • 这里我们定义我的关机行为为“停止”。

Configure Instance

第 8 步:在此步骤中,

  • 如果您意外终止了您的实例,AWS 有一个安全机制。如果您启用了意外终止保护,它将不会删除您的实例。
  • 这里我们勾选了此选项以进一步保护我们的实例免遭意外终止。

Configure Instance

第 9 步:在此步骤中,

  • 在“监控”下——如果您的实例是业务关键实例,您可以启用“详细监控”。这里我们保持该选项未勾选。AWS 将始终免费提供您实例的基本监控。我们将在教程的 AWS CloudWatch 部分回顾监控主题。
  • 在“租用”下——选择共享租用选项。如果您的应用程序是一个高度安全的应用程序,那么您应该选择专用容量。AWS 提供这两种选项。

Configure Instance

第 10 步:在此步骤中,

  • 单击“添加存储”以便在下一步中为您的实例添加数据卷。

Configure Instance

添加存储

第 1 步:在此步骤中,我们执行以下操作:

  • 在“添加存储”步骤中,您会看到实例已自动配置了一个 8GB 的通用 SSD 根卷。(通用卷的最大卷大小为 16GB)
  • 您可以更改卷大小、添加新卷、更改卷类型等。
  • AWS 提供 3 种 EBS 卷类型——磁性、通用 SSD、预置 IOPS。您可以根据应用程序的 IOPS 需求选择卷类型。

Add Storage

标记实例

第 1 步:在此步骤中

  • 您可以为实例添加键值对标签。这为 AWS 账户管理员提供了可见性,当实例数量很多时。
  • 实例应根据其部门、环境(如 Dev/SIT/Prod 等)进行标记。这为同一标签下的实例成本提供了清晰的视图。
  1. 这里我们将实例标记为Dev_Web server 01
  2. 稍后转到配置安全组

Tag Instance

配置安全组

第 1 步:在配置安全组的下一步中,您可以限制实例端口上的流量。这是 AWS 提供的除了实例 OS 防火墙之外的额外防火墙机制。

您可以定义开放的端口和 IP。

  • 因为我们的服务器是一个 Web 服务器,所以我们将执行以下操作:
  1. 创建新的安全组
  2. 为 SG 命名以便于参考
  3. 定义我们希望在实例上启用的协议
  4. 分配允许访问我们实例的 IP(关于上述协议)
  5. 设置完防火墙规则后——审查并启动

Configure Security Groups

审查实例

第 1 步:在此步骤中,我们将审查所有选择和参数,然后启动我们的实例。

Review Instances

第 2 步:在下一步中,系统会要求您创建一个密钥对来登录到您的实例。密钥对是一组公钥和私钥。

AWS 将私钥存储在实例中,并要求您下载私钥。请务必下载密钥并妥善保管;如果丢失,您将无法再次下载。

  1. 创建新的密钥对
  2. 为您的密钥命名
  3. 下载并将其保存在您的安全文件夹中

Review Instances

  • 下载密钥后,您可以打开并查看您的 RSA 私钥。

Review Instances

第 3 步:完成下载和保存密钥后,启动您的实例。

Review Instances

  • 您可以在此期间看到启动状态。

Review Instances

  • 您还可以看到启动日志。

Review Instances

  • 单击左侧窗格中的“实例”选项,您将看到实例的状态在短暂的时间内显示为“正在进行”。

Review Instances

  • 一旦您的实例启动并运行,您将看到其状态为“运行”。
  • 请注意,实例已从 AWS 池中接收到私有 IP。

Review Instances

创建 EIP 并连接到您的实例

EIP 是 AWS 提供的静态公共 IP。它代表 Elastic IP。通常,当您创建实例时,它会自动从 AWS 池中接收一个公共 IP。如果您停止/重启实例,此公共 IP 将会更改——它是动态的。为了让您的应用程序拥有一个静态 IP,您可以通过公共网络进行连接,您可以使用 EIP。

第 1 步:在 EC2 仪表板的左侧窗格中,您可以转到“弹性 IP”如下图所示。

Create a EIP and Connect to Instance

第 2 步:分配一个新的弹性 IP 地址。

Create a EIP and Connect to Instance

第 3 步:分配此 IP 以用于 VPC 范围。

Create a EIP and Connect to Instance

  • 如果您的账户中已有 5 个或更多 EIP,您的请求将成功。

Create a EIP and Connect to Instance

第 4 步:现在将此 IP 分配给您的实例。

  1. 选择所述 IP
  2. 单击操作->关联地址

Create a EIP and Connect to Instance

第 5 步:在下一页,

  1. 搜索您的实例,然后
  2. 将 IP 关联到它。

Create a EIP and Connect to Instance

第 6 步:返回您的实例屏幕,您会看到您的实例已收到您的 EIP。

Create a EIP and Connect to Instance

第 7 步:现在从您的程序列表中打开 putty,并在其中像下面一样添加您的 EIP。

Create a EIP and Connect to Instance

第 8 步:在此步骤中,

在 putty 中添加您的私钥以进行安全连接

  1. 转到 Auth
  2. 以 .ppk(putty 私钥)格式添加您的私钥。您需要使用 puttygen 将 AWS 的 pem 文件转换为 ppk。

完成后,单击“打开”按钮。

Create a EIP and Connect to Instance

  • 连接后,您将成功看到 Linux 提示符。
  • 请注意,您正在连接的机器应在实例安全组中启用 SSH(如以上步骤所示)。

Create a EIP and Connect to Instance

一旦您熟悉了上述启动实例的步骤,启动相同的实例只需 2 分钟!

您现在可以使用按需 EC2 服务器来运行您的应用程序。

什么是 Spot 实例?

Spot 实例是 AWS 的一项服务;它允许 AWS 业务订阅者竞标未使用的 AWS 计算容量。Spot 实例的小时价格由 AWS 决定,并且会根据 Spot 实例的供需情况而波动。

当您的出价超过当前市场价格时,您的 Spot 实例将运行。Spot 实例的价格因实例类型以及实例可配置的可用区而异。

当您的出价超过实例的当前市场价格(称为“Spot 价格”)时,您的实例将保持运行。当 Spot 价格超过出价时,AWS 将自动终止您的实例。因此,在应用程序架构中仔细规划 Spot 实例是必要的。

创建 Spot 请求

为了启动 Spot 实例,您必须首先创建一个 Spot 请求。

请按照以下步骤创建 Spot 请求。

  1. 在 EC2 仪表板上,在“实例”下选择左侧窗格中的“Spot Requests”。
  2. 单击“请求 Spot 实例”按钮(如下图所示)。

Create a Spot Request

Spot 实例启动向导将打开。您现在可以继续选择参数和实例配置。

查找实例类型

Spot 实例的第一步是“查找实例类型”。

Find Instance Types

第 1 步:选择 AMI——AMI 是一个由 OS 平台和将在实例中安装的软件组成的模板。从现有列表中选择您所需的 AMI。本教程中我们选择 Amazon Linux AMI。

Find Instance Types

第 2 步:容量单位——容量单位是您的应用程序需求。您可以决定根据实例类型、vCPU 或自定义配置(如您选择的 vCPU/内存/存储需求)来启动实例。这里我们选择一个实例。

Find Instance Types

如果您想自定义容量,可以添加您的选择

  1. vCPU,
  2. 内存和
  3. 实例存储,如下图所示。

Find Instance Types

第 3 步:目标容量表示您希望在您的请求中维护多少 Spot 实例。这里我们选择一个。

Find Instance Types

第 4 步:出价——这是我们准备为实例支付的最高价格。我们将为每个实例/小时设置一个特定价格。这很容易根据我们的业务需求进行计算。我们将在后面看到如何确定出价,以便我们的出价始终保持较高水平,并且不会超过 Spot 价格,从而使我们的实例保持运行。

Find Instance Types

在出价下方,您会看到一个“定价历史”按钮。如下图所示,单击它。

Find Instance Types

在这里,在定价历史中,我们可以看到一个图表,其中包含历史数据的实例定价趋势。您可以选择参数并了解所需实例在一段时间内的定价。

  1. 选择产品。我们已选择我们的 Linux AMI。
  2. 选择实例类型。我们已选择 m3.medium。
  3. 在此处注意一天以上的平均价格。

因此,从下图可以看出,我们计划配置的实例类型定价范围为 0.01 美元,并且可用区‘us-east 1a’的价格最低。

Find Instance Types

继续第 4 步。

那么,让我们回到报价出价的步骤。

为了使我们的实例始终可用并且在预算范围内,我们可以报价一个较高的出价。这里我们报价了稍高的价格 0.05 美元。

Find Instance Types

您可以在向导本身中看到一些趋势。

  1. 注意实例类型部分
  2. 选择我们计划配置的实例类型
  3. 注意我们计划出价的价格。出价价格的百分比显示我们的报价价格是相同实例类型的按需价格的 75%。这意味着与按需实例相比,我们每小时节省 25%。您可以进一步降低价格并大幅节省成本。

Find Instance Types

第 5 步:在查看完趋势和报价之后,单击下一步。

Find Instance Types

配置 Spot 实例

我们的下一步是配置实例,在向导的这一步骤中,我们将配置 VPC、子网等实例参数。

让我们看看。

第 1 步:分配策略——它决定了您的 Spot 请求如何从 AWS 的 Spot 池中满足。有两种策略:

  • 多样化——在这里,Spot 实例在所有 Spot 池之间进行平衡。
  • 最低价格——在这里,Spot 实例从提供最低价格的池中启动。

在本教程中,我们将选择“最低价格”作为分配策略。

Configure the Spot Instance

第 2 步:选择 VPC——我们将从先前创建的可用 VPC 列表中选择。我们也可以在此步骤中创建新的 VPC。

Configure the Spot Instance

第 3 步:接下来,我们将为实例选择安全组。我们可以选择一个已有的 SG 或创建一个新的。

Configure the Spot Instance

第 4 步:可用区——我们将根据我们的应用程序架构选择我们希望放置实例的 AZ。我们选择 AZ-us-east-1a。

Configure the Spot Instance

第 5 步:子网——我们将从我们已有的可用列表中选择子网。

Configure the Spot Instance

第 6 步:公共 IP——我们将在实例启动后立即为其分配一个公共 IP。在此步骤中,您可以选择 AWS 是否自动为其分配 IP,或者您想稍后手动完成。您可以启用/禁用“自动分配公共 IP”功能。

Configure the Spot Instance

第 7 步:密钥对——密钥对是一组公钥和私钥。

AWS 将私钥存储在实例中,并要求您下载私钥。请务必下载密钥并妥善保管;如果丢失,您将无法再次下载。

在选择公共 IP 后,这里我们选择了一个在上次教程中已经创建好的密钥。

Configure the Spot Instance

审查您的 Spot 实例

在先前向导中的 2 个步骤中完成 Spot 实例请求配置后,我们将查看整体配置。

Review Spot Instance

  1. 我们也可以下载一个包含所有配置的 JSON 文件。下面是我们的 JSON 文件。

Review Spot Instance

审查完成后,我们可以单击下面的“启动”按钮继续启动。

Review Spot Instance

选择启动后,我们可以看到请求正在创建的通知。

Review Spot Instance

Spot 请求创建向导将关闭,页面将自动重定向回 EC2 仪表板。

您可以看到如下所示,我们的请求状态是“打开”,这意味着它正在由 AWS 进行评估。AWS EC2 将检查其 Spot 池中是否有所需的实例。

Review Spot Instance

几分钟后,您可以看到状态已更改为“活动”,现在我们的 Spot 请求已成功满足。您可以注意到下面的配置参数。

Review Spot Instance

摘要

因此,在本教程中,我们详细了解了如何创建按需 EC2 实例。由于它是一个按需服务器,您可以在使用时保持运行,在不使用时“停止”它以节省成本。

您可以根据您选择的 OS 平台,在 AWS Marketplace 中的任何可用 AMI 中配置 Linux 或 Windows EC2 实例。

如果您的应用程序已投入生产,并且您打算在未来几年中使用它,那么您应该考虑配置预留实例以大幅节省 CAPEX。

在这里,我们看到了如何通过确定出价成功创建 Spot 实例请求。

Spot 实例是节省非关键应用程序实例成本的好方法。一个常见的例子是为图像处理或视频编码等任务创建一个 Spot 实例集群。在这种情况下,您可以在负载均衡器下维护一个实例集群。

如果出价超过 Spot 价格,并且您的实例被 AWS 终止,您还可以让其他实例为您处理处理任务。您可以为此场景利用 Auto Scaling。避免将 Spot 实例用于数据库等业务关键型应用程序。