部署证书
AWS CloudFront
如何把 SSL 证书自动部署到 AWS CloudFront 分配。
概览
AutoSSL 可以把 SSL 证书直接部署到 Amazon CloudFront 分配。它会完成完整流程:先把证书导入 us-east-1 区域的 ACM,再更新分配配置。
如何管理和运行此部署,请参见 部署管理。
配置参数
在 AutoSSL 控制台添加或编辑此部署目标时,需要配置以下参数:
| 参数 | 说明 | 示例 |
|---|---|---|
| 分发 ID | 要部署证书的 CloudFront 分配 ID 列表。 | ['EWH7HR80TDW90', 'EWH7HR81TDW87'] |
工作原理
AutoSSL 把证书部署到 AWS CloudFront 分配(例如 EWH7HR80TDW90)时,会执行以下步骤:
- 校验分配:
- 调用 AWS API(
GetDistributionConfigCommand),读取目标 CloudFront 分配(EWH7HR80TDW90)的当前配置。 - 检查分配绑定的备用域名(CNAME),并确认所提供的证书覆盖了全部这些域名。如果有绑定域名未被覆盖,会跳过部署,以免停机。
- 调用 AWS API(
- 导入 ACM:
- CloudFront 要求证书位于
us-east-1,因此会把证书导入 AWS ACM 的us-east-1区域,并使用ImportCertificateCommand。 - 如果部署到多个分配,ACM 只导入一次,并复用得到的 ARN。
- CloudFront 要求证书位于
- 更新配置:
- 调用 AWS API(
UpdateDistributionCommand)更新 CloudFront 分配(EWH7HR80TDW90)。 - 把新导入的 ACM 证书 ARN 关联到该分配,并将 SSL 支持配置为
sni-only。
- 调用 AWS API(
访问密钥要求
要调用 AWS API,此服务商需要 AWS 访问密钥。
所需权限
访问密钥必须属于有权读取和更新 CloudFront 分配、并向 ACM 导入证书的 AWS IAM 用户。
需要为该用户附加 IAM 策略,至少包含以下操作:
acm:ImportCertificatecloudfront:GetDistributionConfigcloudfront:UpdateDistribution
关于如何管理 IAM 权限,请参见 AWS IAM 文档。