Amazon EC2 Windows 实例 - Amazon Elastic Compute Cloud

Amazon EC2 Windows 实例

下面介绍了 Amazon EC2 实例的关键组件以及与 Windows 实例与在本地运行的 Windows Server 相比如何。

实例和 AMI

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

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

为了缩短 Windows 实例的启动时间,您可以优化 AMI 以加快启动速度,这将创建一组预置快照,以便将启动实例的速度提高 65%。要了解更多信息,请参阅 配置 Windows AMI 以实现快速启动

您可以从一个单一的 AMI 启动不同类型的实例。实例类型确定用于您的实例的基础设施。有些实例类型为通用型,而另一些实例类型则支持针对特定用途进行优化,例如用于计算的高性能处理器、用于处理大型数据集的增强内存以及用于存储的快速输入/输出。选择一种实例类型,以提供您计划在实例上运行的应用程序或软件所需的性能和大小。有关更多信息,请参阅 Amazon EC2 实例类型

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

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

Windows Server 与 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 生命周期

设计您的应用程序以在 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 环境内存储敏感性和机密性数据,则应该在上传之前对这些数据加密。