针对 Amazon EC2 上的 Windows 的最佳实践 - Amazon Elastic Compute Cloud

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

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

更新 Windows 驱动程序

维护所有 Windows EC2 实例上的最新驱动程序,以确保在您的机群中应用最新的问题修复和性能增强。根据您的实例类型,您应该更新 AWS PVENANVMe 驱动程序。

使用最新 Windows AMI 启动新实例

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

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

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

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

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

更新启动代理

更新到最新的 EC2Launch v2(Windows Server 2008 及更高版本)代理,以确保在您的队列中应用最新的问题修复。要更新,请参阅安装最新版本的 EC2Launch v2 中的说明。

如果您要继续使用 EC2Config(Windows Server 2012 R2 及更低版本)或 EC2Launch(Windows Server 2016 及更高版本)代理,请确保已在您的队列中应用最新的问题修复。

安全性

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

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

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

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

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

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

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

存储

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

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

  • 对 EBS 卷和快照进行加密。有关更多信息,请参阅Amazon EBS 加密

资源管理

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

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

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

备份和恢复

  • 使用 Amazon EBS 快照定期备份您的 EBS 卷,并从您的实例创建 Amazon Machine Image (AMI),以便保存配置以作为启动未来实例的模板。有关有助于实现此使用案例的 AWS 服务的更多信息,请参阅 AWS 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 在应用程序流量传输过程中过期的风险,从而导致实例发生可访问性问题。