Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

适用于 Windows 的 Amazon EC2 基本基础设施

开始使用 Amazon EC2 后,如果了解其基础设施组件以及它们与您自己的数据中心的比较或对比情况,会非常有用。

Amazon 系统映像和实例

Amazon 系统映像 (AMI) 是一种包含软件配置 (例如,操作系统、应用程序服务器和应用程序) 的模板。通过 AMI,您可以启动实例,这是作为云中虚拟服务器运行的 AMI 副本。

Amazon 发布了许多供公众使用的包含常见软件配置的 AMI。此外,AWS 开发人员社区的会员也发布了他们的自定义 AMI。您也可以创建一个或多个自定义 AMI;这样能让您快速轻松地启动能满足您一切需求的新实例。例如,如果您的应用程序是网站或 Web 服务,您的 AMI 可能会包含 Web 服务器、相关静态内容和动态页面代码。因此,您从这个 AMI 启动实例之后,您的 Web 服务器将启动,并且您的应用程序已准备好接受请求。

您可以从一个单一的 AMI 启动不同类型的实例。实例类型从本质上决定了用于您的实例的主机硬件。每个实例类型提供不同的计算和存储能力。根据您打算在实例上运行的应用程序或软件所需的存储容量和计算能力,选择一种实例类型。有关每种 Amazon EC2 实例类型的硬件规格的更多信息,请参阅 Amazon EC2 实例。您也可以从一个 AMI 启动多个实例,如下图所示。

从一个 AMI 上启动多个实例

您的 Windows 实例会一直运行,直到您停止或终止运行或者实例失败为止。如果实例失败了,您可以从 AMI 启动一个新实例。

您的 AWS 账户对于保持运行状态的实例数量有限制。有关此限制的更多信息,以及如何请求调高限制,请参阅“Amazon EC2 一般常见问题”中的我能在 Amazon EC2 中运行多少个实例

地区和可用区

Amazon 在世界不同地区有数据中心 (例如,北美、欧洲和亚洲)。与此相应,Amazon EC2 可用于不同地区。通过在不同地区启动实例,您可以将您的应用程序设计地更接近特定客户的要求,或满足不同地区的法律或其他要求。Amazon EC2 使用定价因区域而异 (有关根据区域定价的更多信息,请参阅 Amazon EC2 定价)。

每个区域包含许多不同的称为“可用区”(Availability Zones)的位置。每个可用区都被设计成不受其他可用区故障的影响,并提供低价、低延迟的网络连接,以连接到同一地区其他可用区。通过启动独立可用区内的实例,您可以保护您的应用程序不受单一位置故障的影响。

 区域和可用区

有关区域和可用区的更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的使用区域和可用区

存储

使用 Amazon EC2 时,您可能会有需要存储的数据。Amazon EC2 为您提供以下存储选择:

下图显示了这些不同存储类型之间的关系。

 适用于 Amazon EC2 的存储选择

Amazon EBS 卷

对于大多数使用案例,我们推荐使用 Amazon EBS 存储类型。Amazon EBS 为您的实例提供持久的数据块级存储。Amazon EBS 实质上是您可以连接到一个正在运行的实例的硬盘。

对于那些需要建立数据库、文件系统或可访问原始数据块级存储的应用程序来说,Amazon EBS 是特别合适的。

正如上图所示,您可以将多个卷连接到一个实例。同时,为保留您的数据的备份副本,您可以创建 EBS 卷的快照,该快照存储在 Amazon S3 中。您可以从该快照创建一个新的 Amazon EBS 卷,并把它连接到另一个实例。您也可以从实例中分离出一个卷,并把它连接到另一个实例。下图显示了一个 EBS 卷的生命周期。

EBS 卷的生命周期

有关 Amazon EBS 卷的更多信息,请参阅 Amazon Elastic Block Store

实例存储

所有的实例类型 (Micro 实例除外) 都提供实例存储,为您的实例提供短暂的数据块级存储。这是一种通过物理方式连接到主机的存储方法。当连接的实例被停止或终止时,实例存储卷上的数据不再保留。有关实例存储卷的更多信息,请参阅 Amazon EC2 实例存储

实例存储是一种低价的暂时存储选择。如果您对数据持久性没有要求,您可以使用实例存储卷。

Amazon S3

Amazon S3 是一种面向 Internet 的存储服务。它提供了一个简单的 Web 服务接口,使您能够在网络上的任何地方存储和检索任意数量的数据。有关 Amazon S3 的更多信息,请参阅 Amazon S3 产品页

根设备卷

当您启动一个实例时,根设备卷 包含用于启动该实例的映像。当您启动 Windows 实例时,系统会从 EBS 快照创建根 EBS 卷并将其挂载到实例。

默认情况下,当实例终止时,将删除根卷 (DeleteOnTermination 属性为 true)。当您启动实例时,可以使用控制台更改 DeleteOnTermination 属性。要对正在运行的实例更改此属性,您必须使用命令行。

使用控制台在启动时将实例的根设备卷更改为持久保留

  1. 打开 Amazon EC2 控制台。

  2. 从 Amazon EC2 控制台控制面板中,单击 Launch Instance (启动实例)

  3. Choose an Amazon Machine Image (AMI) (选择一个Amazon 系统映像 (AMI)) 页面上,选择要使用的 AMI 并单击 Select (选择)

  4. 遵循向导完成 Choose an Instance Type (选择一个实例类型)Configure Instance Details (配置实例详细信息) 页面。

  5. Add Storage (添加存储) 页面上,取消选中根卷的 Delete On Termination (终止时删除) 复选框。

  6. 完成其余向导页面,然后单击 Launch (启动)

您可以通过实例的详细信息窗格查看根设备卷的详细信息以验证设置。在 Block devices (块储存设备) 旁,选择根设备卷的条目。默认情况下,Delete on termination (终止时删除)True。如果您更改默认行为,Delete on termination (终止时删除) 将为 False

使用命令行将实例的根设备卷更改为持久保留

您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

网络和安全性

您可以在以下两个平台之一中启动实例:EC2-Classic 和 EC2-VPC。在 EC2-Classic 中启动的实例分配有一个公有 IPv4 地址。默认情况下,仅当在 EC2-VPC 中启动的实例在默认 VPC 中启动时,它才会分配到一个公有 IPv4 地址。在非默认 VPC 中启动的实例必须在启动时特别分配一个公有 IPv4 地址,否则您必须修改您子网的默认公有 IPv4 寻址行为。有关 EC2-Classic 和 EC2-VPC 的更多信息,请参阅 支持的平台

实例可能会因为您不可控的原因失败或终止。如果一个实例失败了,您又启动了一个替代实例,则该替代实例的公用 IPv4 地址与原有实例的不同。但是,如果您的应用程序需要一个静态 IPv4 地址,Amazon EC2 可为您提供弹性 IP 地址。有关更多信息,请参阅Amazon EC2 实例 IP 寻址

您可以使用安全组来控制您的实例的访问权限。这些安全组类似于一个传入网络防火墙,使您可以指定允许访问您的实例的协议、端口和源 IP 范围。您可以创建多个安全组,并给每个安全组指定不同的规则。然后您可以给每个实例分配一个或多个安全组,我们将按照这些规则确定允许哪些流量可访问实例。您可以配置一个安全组,以便只有特定的 IP 地址或特定的安全组可以访问实例。有关更多信息,请参阅 Windows 实例的 Amazon EC2 个安全组

AWS Identity and Access Management

使用 AWS Identity and Access Management (IAM) 可以执行以下操作:

  • 在您的 AWS 账户下创建用户和组

  • 为您的 AWS 账户下的每个用户分配唯一的安全证书

  • 控制每个用户使用 AWS 资源执行任务的权限

  • 允许另一 AWS 账户的用户共享 AWS 资源

  • 创建 AWS 账户角色并定义可以担任这些角色的用户或服务

  • 借助企业的现有身份验证,授予使用 AWS 资源执行任务的权限

通过将 IAM 与 Amazon EC2 配合使用,您可以控制组织中的用户能否使用特定的 Amazon EC2 API 操作执行任务,以及他们能否使用特定的 AWS 资源。

有关 IAM 的更多信息,请参阅下文:

Windows Server 与 Amazon EC2 Windows 实例之间的区别

启动 Amazon EC2 Windows 实例之后,该实例的行为非常类似于运行 Windows Server 的传统服务器。例如,Windows Server 和 Amazon EC2 实例都可用于运行您的 Web 应用程序,执行批处理或管理需要大量计算的应用程序。然而,服务器硬件模型和云计算模型之间有重要区别。Amazon EC2 实例与运行 Windows Server 的传统服务器的运行方式是不同的。

在开始启动 Amazon EC2 Windows 实例之前,您应该清楚云服务器上运行的应用程序的架构与硬件上运行的传统应用程序模型会有显著区别。要在云服务器上实现应用程序,需要在设计过程中进行转变。

下表介绍了 Windows Server 与 Amazon EC2 Windows 实例之间的一些主要区别。

Windows Server Amazon EC2 Windows 实例

资源和容量在物理上是受到限制的。

资源和容量是可扩展的。

不管您使用与否,均需要为基础设施付费。

您需要为基础设施的使用付费。只要您停止或终止实例,我们就会停止收费。

占用物理空间,必须定期维护。

不占用物理空间,不需要定期维护。

通过按下电源按钮来启动 (称为 冷启动)。

通过启动实例来启动。

您可以保持服务器运行状态直至需要关机,或保持其处于睡眠或休眠状态 (服务器在此期间断电)。

您可以保持服务器运行,或者停止或重启它 (实例在此期间移至新主机)。

关闭服务器后,所有资源会保持完整,并保持关闭时所处的状态。您在硬盘上存储的信息会保留,并且您可以根据需要随时访问这些信息。您可以通过开启服务器将其还原为运行状态。

终止实例后,将无法再使用其基础设施。在您终止之后,您将无法连接至或重新启动实例。但是,您可以在实例处于运行状态时从实例创建映像,并随时从该映像启动新实例。

运行 Windows Server 的传统服务器会经过下图所示的状态。

 传统 Windows Server 的状态

将下图与前面的 Windows Server 图进行对比之后,您会发现 Amazon EC2 Windows 实例与传统 Windows Server 之间存在许多相似之处。在您启动实例后,实例在注册时会暂时处于待处理状态,然后进入运行状态。实例会一直处于活动状态,直到您停止或终止它。在您终止实例之后,将无法重新启动它。您可以在实例处于运行状态时从实例创建备份映像,并从备份映像启动新实例。

 实例和 AMI 生命周期

设计您的应用程序以在 Amazon EC2 Windows 实例上运行

设计您的应用程序以在 Amazon EC2 Windows 实例上运行时,考虑上面部分提到的区别是非常重要的。

为 Amazon EC2 构建的应用程序会按需使用底层的计算基础设施。为了执行任务并在任务完成后舍弃资源,应用程序会按需利用必要资源 (例如存储和计算资源)。此外,任务完成之后,它们通常还会对自身进行处理。处理过程中,应用程序会根据资源要求进行灵活扩展和缩小。基础设施出现故障时,在 Amazon EC2 实例上运行的应用程序可终止并随意重新创建各种组件。

设计您的 Windows 应用程序以在 Amazon EC2 上运行时,您可以根据自己不断变化的需求规划计算和存储资源的快速部署和快速缩减。

和 Windows Server 不同,当您运行 Amazon EC2 Windows 实例时,无需设置硬件、软件和存储的准确系统包。取而代之,您需要重点使用各种云资源,以便提高 Windows 应用程序的可扩展性和整体性能。

对于 Amazon EC2,对故障和断电的设计是架构的重要组成部分。与任何可扩展的冗余系统一样,您系统的架构应该考虑计算、网络和存储故障。您必须在自己的应用程序内构建可处理各种故障的机制。关键是构建具有独立组件的模块化系统,这些组件并非紧密结合,可以异步互动并且将彼此视为可独立扩展的黑盒。因此,如果您的某个组件出现故障或很繁忙,您可以启动该组件的更多实例,而无需破坏当前系统。

针对故障进行设计的另一重要元素是按地理位置分配您的应用程序。在不同地理分布区域复制您的应用程序可提高您系统的可用性。

Amazon EC2 基础设施是可编程的,您可以使用脚本自动处理部署流程、安装和配置软件及应用程序,以及引导您的虚拟服务器。

您应该在 Amazon EC2 Windows 实例上运行的应用程序架构的各层中实施安全性。如果您不放心在 Amazon EC2 环境内存储敏感性和机密性数据,则应该在上传之前对这些数据加密。