带有 Elastic Beanstalk 的 AWS 证书管理器(ACM 证书)

Posted

技术标签:

【中文标题】带有 Elastic Beanstalk 的 AWS 证书管理器(ACM 证书)【英文标题】:AWS Certificate Manager (ACM Certificate) with Elastic Beanstalk 【发布时间】:2016-09-03 02:09:44 【问题描述】:

我尝试了以下解决方案,但没有一个解决了我的问题:

    Using AWS Certificate Manager (ACM Certificate) with Elastic Beanstalk

    设置负载平衡器侦听器 ssl 证书 - 无法提供链接,因为我没有 10 个信誉

    配置您的 Elastic Beanstalk 环境的负载均衡器以终止 HTTPS - 无法提供链接,因为我没有 10 个信誉

我已在 ACM 中颁发 SSL 证书,并且已将其配置为在我的 cloundfront 中正常工作。但是当我尝试将相同的证书添加到我的负载均衡器时,我得到:"Updating load balancer named: ... failed Reason: Server Certificate not found for the key: arn:aws:acm:us-east-1:..."

我也尝试将 SSL 证书手动添加到负载均衡器,但I'm not able to click on "Choose an existing certificate from AWS Identity and Access Management (IAM)"

【问题讨论】:

【参考方案1】:

好的,我找到了解决问题的方法。 Amazon Certificate Manager (ACM) 仅适用于美国东弗吉尼亚地区,但我的弹性 beanstalk 位于美国西俄勒冈州,这就是为什么我无法从负载均衡器中的 ACM 看到我的 SSL 证书。当我在与在 N.Virginia 中创建负载均衡器的 Amazon Certificate Manager (N.Virginia) 相同的区域创建新的弹性 beanstalk 时,我能够为负载均衡器创建 HTTPS 侦听器并分配 SSL 证书给它。

【讨论】:

请注意,N.Virginia 存在大量性能和稳定性问题。【参考方案2】:
    从 ACM 下载证书。
      通过AWS API 通过CLI 推荐uploading your own cert to IAM。 ACM 仅在 Virgina 中可用,它对许多 AWS 服务进行了 beta 测试。因此,Virgina 经常存在许多性能和稳定性问题。
    将证书添加到 IAM
      Get the AWS CLI Installed and set-up. Add the cert to IAM via the CLI.
    将其添加到您的 EB 负载均衡器
      Elastic Beanstalk > 应用程序 > 环境 配置 > 负载平衡 > 配置(齿轮图标) 设置 SSL 证书 申请。 确保您的公共域指向您的环境域 您的域 CNAME 环境名称.elasticbeanstalk.com

【讨论】:

Chibioucas 第 1 步真的可行吗(下载证书)?你真的做到了吗?怎么样? @Shorn,这可以通过AWS API 或CLI 完成。不过,我强烈建议uploading your own cert to IAM。 只要 AWS Certificate Manager (ACM) 在您的区域 (aws.amazon.com/about-aws/global-infrastructure/…) 可用,就无需将证书从 ACM 导出到 IAM。可以直接从 CLI (aws acm get-certificate) 访问证书。 IAM 和 ACM 证书均可用于 ElasticBeanStalk 应用程序。

以上是关于带有 Elastic Beanstalk 的 AWS 证书管理器(ACM 证书)的主要内容,如果未能解决你的问题,请参考以下文章

带有 docker 的 AWS Elastic Beanstalk 版本不正确

带有 Amazon CloudWatch 的 Elastic Beanstalk Docker

带有 CloudWatch 日志和 Nginx 的 Elastic Beanstalk

带有 json 的 Elastic Beanstalk 单实例 https 示例

带有 Elastic Beanstalk 的 AWS 证书管理器(ACM 证书)

带有 ALB 的 AWS Elastic Beanstalk:节点 Websocket 超时