我们正在为我们公司创build一个内容pipe理系统。 此CMS支持dynamic数量的服务器上的dynamic域名是非常重要的。 经过几个小时的研究之后,我们觉得亚马逊的Elastic Beanstalk是最好的select。 我们还需要的一件事是为与系统相关的域dynamic启用SSL。 所以在我们的系统中,我们可以创build一个与网域相关联的“网站”。 在创build网站时,我们也应该有能力select域是否通过SSL / TLS托pipe。 我们计划对该系统进行白色标记,并预计将有大量域名与之关联。 我一直在探索能够在服务器(或负载平衡器)上build立SSL的不同可能性,并且能够改变即时保护的域名。 这是我在哪里: 使用亚马逊的证书pipe理器 :这将是最好的方式去做。 它与AWS集成,非常易于使用。 但是,它有几个使人虚弱的限制:1.每次申请新证书时都必须通过电子邮件validation每个域名。 没有什么大不了的,它不能申请EC2实例的证书,只有负载均衡器和负载均衡器只能分配一个证书。 这意味着,只要您希望保护其他域,就必须重新validation每个域。 不好。 使用让我们encryption负载平衡器 :这将是下一个最好的方式(我可以看到)来保护我们的网站。 每当需要保护一个新站点时,我们都会为所有需要SSL的站点申请一个新的证书。 一旦证书被创build,我们将其推送到IAM,并通知EBS将负载均衡器与新的证书相关联。 我看到的唯一问题是, LetsEncrypt将他们的证书限制在100个域中,就像非免费但相对便宜的SSL提供商SSLMate一样。 现在可能工作,但它不能缩放。 是否有一个自动化的SSL提供者,对证书上的域数目没有限制? 使用Passthrough SSL :Amazon的Elastic Beanstalk允许您以这种方式进行设置,以便负载均衡器将encryptionstream量直接传递给EC2实例。 然后,您可以允许EC2实例处理证书。 然后,我可以利用LetsEncrypt并为每个域分配一个单独的证书。 当考虑自动调节时,我遇到了一个问题:我们需要跨实例复制证书。 我的解决scheme是将证书存储在安全的S3存储桶中,然后在所有EC2实例上运行一个cron,以便将新的/更新的证书导出。 有没有关于最后的想法? 有什么更好的解决scheme,我想要做什么? 我错过了什么吗? 关心? 或者,也许对我的问题超级简单的解决scheme? 请注意,我使用泊坞窗,所以我可以在我需要的服务器上设置任何东西。
我使用亚马逊的Elastic Beanstalk通过Git部署我的应用程序,并且我的Git中有子模块。 当然,当我查看子模块的数据所在的目录时,由于子模块尚未初始化,因此没有任何内容。 显然Elastic Beanstalk不支持子模块。 它是否正确? 如果是这样,我怎么能说服Git让我有一个子模块的function,但仍然上传所有的子模块的代码时,我推主repo? 我正在使用node.js,所以我想安装脚本可能是最好的select
我在通过应用程序包的根目录下的.ebextensions/*.config文件定义实例types和安全组时遇到了问题。 简而言之,我有两个看起来像这样的configuration文件: .ebextensions/01-options.config : option_settings: […] – namespace: 'aws:elasticbeanstalk:application:environment' option_name: CONFIG_FILE_ONE value: '01-options.config' […] 和.ebextensions/02-app-test-env.config : option_settings: – namespace: 'aws:elasticbeanstalk:application:environment' option_name: NODE_ENV value: 'Test' – namespace: 'aws:elasticbeanstalk:application:environment' option_name: CONFIG_FILE_TWO value: '02-app-test-env' – namespace: aws:autoscaling:launchconfiguration option_name: InstanceType value: t2.micro – namespace: aws:autoscaling:launchconfiguration option_name: SecurityGroups value: sg-ys75dfs2 现在,环境variables正在设置,所以我知道它正在读取两个configuration文件,但安全组和实例types没有被设置 – 即使在我重build环境时,实例仍然被创build为t1.micro默认安全组 – 我的设置没有被应用。 我在这里错过了什么? 我如何使用.config文件定义实例types?
我已经将我的Django应用程序部署到了Elastic Beanstalk,目的是使用其环境variablesconfiguration接口来存储我的API密钥,而不是将它们存储在我的源代码中(如以下https://stackoverflow.com/a/17878600所述 )。 这样做后,我发现Beanstalk调用环境variables实际上并不是shell环境variables(如这里提到的https://stackoverflow.com/a/24564832/378638 ),并在实例中存储在一个configuration文件(如这里描述https://stackoverflow.com/a/24566283/378638 )。 这对我来说似乎是一个安全问题。 这难道不会破坏保密密钥的目的吗? 我知道他们不再在回购,但他们仍然可以访问的实例。 我误解了风险? 我是inheritance的系统pipe理员,请原谅我的无知。 我是否应该通过configuration文件加载Beanstalkvariables作为shell环境variables,并继续前进,因为文件只能通过root访问,或者我关心的是否有效? 谢谢。