针对 Amazon EC2 上的 Windows 的最佳实践 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

针对 Amazon EC2 上的 Windows 的最佳实践

为确保在 Amazon EC2 上运行 Windows 能获得最佳结果,建议您执行以下最佳实践。

更新 Windows 驱动程序

维护所有 Windows EC2 实例上的最新驱动程序,以确保在您的机群中应用最新的问题修复和性能增强。您需要更新 Amazon PVAmazon ENAAmazon NVMe 驱动程序,具体取决于您的实例类型。

使用最新 Windows AMI 启动新实例

Amazon 每月发布新的 Windows AMI,其中包含最新的操作系统补丁、驱动程序和启动代理。您应该在启动新实例或构建自己的自定义映像时利用最新的 AMI。

在迁移前测试系统/应用程序性能

将企业应用程序迁移到 Amazon 可能涉及很多变量和配置。始终对 EC2 解决方案进行性能测试,以确保:

  • 已正确配置实例类型,包括实例大小、增强联网和租赁(共享或专用)。

  • 实例拓扑适用于工作负载,并在必要时利用高性能功能(如专用租赁、放置组、实例存储卷和裸机)。

更新启动代理

更新到最新的 EC2Launch v2 代理,以确保在您的队列中应用最新的增强。有关更多信息,请参阅 迁移到 EC2Launch v2

如果有混合实例集,或者要继续使用 EC2Launch(Windows Server 2016 和 2019)或 EC2 Config(仅限旧式操作系统)代理,请更新到相应代理的最新版本。

以下 Windows Server 版本和启动代理的组合支持自动更新。您可以在 Amazon EC2 启动代理下的 SSM 快速设置主机管理控制台中选择自动更新。

Windows 版本 EC2Launch v1 EC2Launch v2
2016
2019
2022
安全性

在保护 Windows 实例时,建议您实施 Active Directory 域服务,以便为分布式位置启用可扩展的、安全的且可管理的基础设施。此外,在通过 Amazon EC2 控制台或使用 Amazon EC2 预配工具(例如 Amazon CloudFormation)启动实例后,最好是使用本机操作系统功能(例如 Microsoft Windows PowerShell DSC)以便在发生配置偏差时维护配置状态。

Amazon 中的 Windows 实例应遵循以下高级安全最佳实践:

  • 最小访问权限:仅授予对受信任的和预期的系统和位置的访问权限。这适用于所有 Microsoft 产品,例如 Active Directory、Microsoft 业务生产力服务器以及基础设施服务(例如远程桌面服务、反向代理服务器、IIS Web 服务器等)。使用 Amazon 功能(例如 Amazon EC2 实例安全组、网络访问控制列表 (ACL) 和 Amazon VPC 公有/私有子网)跨架构中的多个位置对安全性进行分层。在 Windows 实例中,客户可以使用 Windows 防火墙在其部署中进一步对深度防御策略进行分层。只安装系统按设计运行所需的操作系统组件和应用程序。将 IIS 等基础设施服务配置为在服务账户下运行,或使用应用程序池身份等功能以跨基础设施本地和远程访问资源。

  • 最小权限:确定实例和账户执行其功能所需的最小权限集。限制服务器和用户以仅允许这些已定义的权限。使用基于角色的访问控制等技术来减小管理账户的表面面积,并创建最受限的角色来完成任务。使用 NTFS 中的加密文件系统(EFS)等操作系统功能来对敏感数据进行静态加密,并控制应用程序和用户对该数据的访问。

  • 配置管理:创建一个基准服务器配置,其中包含最新的安全修补程序和基于主机的保护套件,其中包括防病毒、防恶意软件、入侵检测/防护和文件完整性监控。根据当前记录的基准评估每个服务器,以确定和标记任何偏差。确保将每个服务器配置为生成和安全存储适当的日志和审计数据。有关更多信息,请参阅《适用于 Windows 实例的 Amazon EC2 用户指南》中的 Amazon Windows AMI

  • 更改管理:创建流程来控制对服务器配置基准进行的更改,并致力于完全自动化的更改流程。此外,通过将 Just Enough Administration (JEA) 与 Windows PowerShell DSC 结合使用来限制对最少所需功能的管理访问。

  • 补丁管理:实施定期安装补丁、更新和保护 EC2 实例上的操作系统和应用程序的流程。有关更多信息,请参阅 更新您的 Windows 实例

  • 审计日志:审计访问权限和对 Amazon EC2 实例进行的所有更改,以验证服务器完整性并确保仅进行授权更改。利用 IIS 增强日志记录等功能来增强默认日志记录功能。Amazon 功能(例如 VPC 流日志和 Amazon CloudTrail)也可用于审计网络访问权限,包括允许/拒绝的请求和 API 调用。

根据安全最佳实践和安全标准,使用 Amazon Security Hub 控件监控 Amazon EC2 资源。有关使用 Security Hub 的更多信息,请参阅《Amazon Security Hub 用户指南》中的 Amazon Elastic Compute Cloud 控件

存储
  • 对操作系统与您的数据分别使用单独的 Amazon EBS 卷。确保含有您数据的卷可在实例终止后保留。有关更多信息,请参阅 实例终止时保留数据

  • 使用您的实例可用的实例存储来存储临时数据。请注意,当您停止、休眠或终止您的实例时,系统会删除存储在实例存储中的数据。如果将实例存储用于数据库存储,请确保您拥有一个具有重复因子的集群,从而确保容错。

  • 对 EBS 卷和快照进行加密。有关更多信息,请参阅《Amazon EBS 用户指南》中的 Amazon EBS 加密

资源管理
  • 使用实例元数据和自定义资源标签跟踪并确定您的 Amazon 资源。有关更多信息,请参阅 实例元数据和用户数据标记 Amazon EC2 资源

  • 查看您的 Amazon EC2 的当前限制。需要时请提前计划请求提高限制。有关更多信息,请参阅 Amazon EC2 Service Quotas

  • 使用 Amazon Trusted Advisor 检查您的 Amazon 环境,然后在有可能节省开支、提高系统可用性和性能或弥补安全漏洞时为您提供建议。有关更多信息,请参阅《Amazon Web Services Support 用户指南》中的 Amazon Trusted Advisor

备份和恢复
  • 使用 Amazon EBS 快照定期备份您的 EBS 卷,并从您的实例创建 Amazon Machine Image (AMI),以便保存配置以作为启动未来实例的模板。有关有助于实现此使用案例的 Amazon 服务的更多信息,请参阅 Amazon BackupAmazon Data Lifecycle Manager

  • 跨多个可用区部署应用程序的关键组件,并适当地复制数据。

  • 设计您的应用程序,以便在实例重新启动时处理动态 IP 地址分配。有关更多信息,请参阅 Amazon EC2 实例 IP 寻址

  • 监控和响应事件。有关更多信息,请参阅 监控 Amazon EC2

  • 确保您已准备好处理故障转移。对于基本解决方案,您可以手动将网络接口或弹性 IP 地址附加到替换实例。有关更多信息,请参阅 弹性网络接口。对于自动解决方案,您可以使用 Amazon EC2 Auto Scaling。有关更多信息,请参阅 Amazon EC2 Auto Scaling 用户指南

  • 定期测试恢复您的实例和 Amazon EBS 卷的过程,以确保成功还原数据和服务。

联网
  • 对于 IPv4 和 IPv6,将应用程序的生存时间 (TTL) 值设置为 255。如果使用更小的值,则存在 TTL 在应用程序流量传输过程中过期的风险,从而导致实例发生可访问性问题。