针对 Amazon EC2 上的 Windows 的最佳实践
为确保在 Amazon EC2 上运行 Windows 能获得最佳结果,建议您执行以下最佳实践。
更新 Windows 驱动程序
维护所有 Windows EC2 实例上的最新驱动程序,以确保在您的机群中应用最新的问题修复和性能增强。您需要更新 Amazon PV、Amazon ENA 和 Amazon NVMe 驱动程序,具体取决于您的实例类型。
-
使用 SNS 主题接收新驱动程序版本的更新。
-
使用 Amazon Systems Manager 自动化文档 AWSSupport-UpgradeWindowsAWSDrivers 跨实例中轻松应用更新。
使用最新 Windows AMI 启动新实例
Amazon 每月发布新的 Windows AMI,其中包含最新的操作系统补丁、驱动程序和启动代理。您应该在启动新实例或构建自己的自定义映像时利用最新的 AMI。
-
要查看每个版本的 Amazon Windows AMI 的更新,请参阅 Amazon Windows AMI 版本历史记录。
-
要使用最新 AMI 进行构建,请参阅使用 Systems Manager Parameter Store 查询最新的 Windows AMI
。
在迁移前测试系统/应用程序性能
将企业应用程序迁移到 Amazon 可能涉及很多变量和配置。始终对 EC2 解决方案进行性能测试,以确保:
-
已正确配置实例类型,包括实例大小、增强联网和租赁(共享或专用)。
-
实例拓扑适用于工作负载,并在必要时利用高性能功能(如专用租赁、放置组、实例存储卷和裸机)。
更新启动代理
更新到最新的 EC2Launch v2(Windows Server 2008 及更高版本)代理,以确保在您的队列中应用最新的问题修复。要更新,请参阅安装最新版本的 EC2Launch v2 中的说明。
如果您要继续使用 EC2Config(Windows Server 2012 R2 及更低版本)或 EC2Launch(Windows Server 2016 及更高版本)代理,请确保已在您的队列中应用最新的问题修复。
-
有关 EC2Config 更新说明,请参阅安装最新版的 EC2Config。
-
有关 EC2Launch 更新说明,请参阅安装最新版的 EC2Launch。
安全性
在保护 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 卷。确保含有您数据的卷可在实例终止后保留。有关更多信息,请参阅在实例终止时保留 Amazon EBS 卷。
-
使用您的实例可用的实例存储来存储临时数据。请注意,当您停止、休眠或终止您的实例时,系统会删除存储在实例存储中的数据。如果将实例存储用于数据库存储,请确保您拥有一个具有重复因子的集群,从而确保容错。
-
对 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 Backup 和 Amazon Data Lifecycle Manager。
-
跨多个可用区部署应用程序的关键组件,并适当地复制数据。
-
设计您的应用程序,以便在实例重新启动时处理动态 IP 地址分配。有关更多信息,请参阅Amazon EC2 实例 IP 寻址。
-
监控和响应事件。有关更多信息,请参阅监控 Amazon EC2。
-
确保您已准备好处理故障转移。对于基本解决方案,您可以手动将网络接口或弹性 IP 地址附加到替换实例。有关更多信息,请参阅弹性网络接口。对于自动解决方案,您可以使用 Amazon EC2 Auto Scaling。有关更多信息,请参阅 Amazon EC2 Auto Scaling 用户指南。
-
定期测试恢复您的实例和 Amazon EBS 卷的过程,以确保成功还原数据和服务。