【发布时间】:2016-04-18 08:47:33
【问题描述】:
我在 Docker 容器中有一个 Web 应用程序,我想通过另一个容器(运行 NGINX)代理它,该容器暴露给外界并且只处理 HTTPS 流量。两个容器将由 ECS 托管在同一个 EC2 实例上。让 NGINX 容器从 S3 或 IAM 检索 SSL 私钥的最佳方法是什么?
请注意,出于安全原因,我不想在 Docker 映像中包含私钥。我想在创建容器时从 S3 或 IAM 检索私钥,从环境变量中获取 AWS 用户凭证。
Amazon Elastic Beanstalk has a nice way to achieve this,但我认为 ECS 没有类似的东西。我想我需要编写一个 Docker 入口点(或包装 Nginx 命令)才能安装 S3/IAM 客户端,然后使用环境中的凭据下载密钥。 AWS 是否提供了更好的方法?似乎 Elastic Load Balancing 是一种解决方案,但我找不到任何有关 LB 和 EC2 实例之间的安全措施的信息。
【问题讨论】:
-
我会说在带有 ECS EC2 实例的 VPC 内使用带有 SSL 处理的外部 ALB 是一个非常安全的解决方案,但这完全取决于您的要求。
标签: amazon-web-services amazon-iam amazon-ecs