本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 ACM 将 Windows SSL 凭证迁移到应用程序负载均衡器
由 Chandra Sekhar Yaratha (AWS) 和 Igor Kovalchuk (AWS) 编写
环境:生产 | 来源:Windows web 应用程序 | 目标: AWS 上的应用程序负载均衡器 |
R 类型:更换平台 | 工作负载:Microsoft | 技术:迁移;管理和治理;Web 和移动应用程序 |
Amazon Web Services:弹性负载均衡(ELB)、AWS Certificate Manager (ACM) |
Summary
该模式为使用 AWS Certificate Manager (ACM) 从托管在本地服务器上的网站或 Microsoft Internet Information Services (IIS) 上的 Amazon Elastic Compute Cloud (Amazon EC2) 实例迁移现有 Secure Sockets Layer (SSL) 凭证提供了指导。然后,SSL 凭证可与 AWS 上的弹性负载均衡一起使用。
SSL 可保护您的数据,确认您的身份,提供更好的搜索引擎排名,帮助满足支付卡行业数据安全标准 (PCI DSS) 的要求,并提高客户信任度。管理这些工作负载的开发人员和 IT 团队希望他们的 Web 应用程序和基础设施(包括 IIS 服务器和 Windows Service 器)始终符合其基准策略。
此模式包括手动从 Microsoft IIS 导出现有 SSL 凭证,将其从 Personal Information Exchange (PFX) 格式转换为 ACM 支持的 Private Enhanced Mail (PEM) 格式,然后将其导入到您的 Amazon Web Services account 中的 ACM 中。它还描述了如何为您的应用程序创建应用程序负载均衡器,以及如何将应用程序负载均衡器配置为使用您导入的凭证。然后,在应用程序负载均衡器终止 HTTPS 连接,您无需在 Web 服务器上增加额外的配置开销。有关更多信息,请参阅为您的应用程序负载均衡器创建 HTTPS 侦听器。
Windows 服务器使用 .pfx 或 .p12 文件包含公钥文件(SSL 凭证)及其唯一私钥文件。凭证颁发机构 (CA) 为您提供您的公钥文件。您可使用服务器生成创建凭证签名请求 (CSR) 的关联私钥文件。
先决条件和限制
先决条件
一个有效的 Amazon Web Services account
AWS 上的虚拟私有云(VPC),在您的目标使用的每个可用区中至少有一个私有子网和一个公有子网
在 Windows Server 2012 或更高版本上运行的 IIS 版本 8.0 或更高版本
IIS 上运行的 Web 应用程序
IIS 服务器的管理员访问权限
架构
源技术堆栈
使用 SSL 实施 IIS Web 服务器,确保数据在加密连接 (HTTPS) 中安全传输
源架构
目标技术堆栈
Amazon Web Services account 中的 ACM 凭证
配置为使用导入凭证的应用程序负载均衡器
私有子网中的 Windows 服务器实例
目标架构
工具
AWS Certificate Manager(ACM)可帮助您创建、存储和续订公有及私有 SSL/TLS X.509 证书和密钥,这些证书和密钥可保护 AWS 网站和应用程序。
弹性负载均衡(ELB)将传入的应用程序或网络流量分发到多个目标。例如,您可以将流量分发到一个或多个可用区中的 EC2实例、容器以及 IP 地址。
最佳实践
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
从 Windows 服务器导出.pfx 文件。 | 要从 Windows 服务器的本地 IIS 管理器中将 SSL 凭证导出为 .pfx 文件,请执行以下操作:
现在,您的 .pfx 文件应保存至指定的位置和路径。 | 系统管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
下载和安装 OpenSSL 工具包。 |
| 系统管理员 |
将 PFX 编码的凭证转换为 PEM 格式。 | 以下步骤将 PFX 编码的签名凭证文件转换为 PEM 格式的三个文件:
要转换 PFX 编码的凭证,请执行以下操作:
| 系统管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
创建和配置负载均衡器与侦听器。 | 按照弹性负载均衡文档中的说明,配置目标组、注册目标以及创建应用程序负载均衡器和侦听器。为端口 443 添加第二个侦听器 (HTTPS)。 | 云管理员 |
故障排除
问题 | 解决方案 |
---|---|
即使你将 OpenSSL 命令添加到系统路径中,Windows 也 PowerShell 无法识别该命令。 | 检查 如果没有,请在中运行以下命令 PowerShell:
|
相关资源
将凭证导入到 ACM
创建应用程序负载均衡器