Tag: 弹性beanstalk

如何获得Elastic Beanstalk nginx支持的代理服务器自动从HTTPredirect到HTTPS?

我有一个在Amazon Elastic Beanstalk上运行的Node.js动力站点。 我的Node.js应用程序监听端口8080,我正在使用nginx弹性负载均衡器configuration与我的EB应用程序,侦听端口80和443的HTTP和HTTPS。 但是,我只想接受通过HTTPS发送的应用中的stream量。 我可以在应用程序中安装某些东西来处理这个问题,但是有兴趣的方式是让负载平衡器通过HTTPS将所有HTTP请求redirect到我的站点。

避免在弹性beanstalk中重buildnode_modules

我们有一个相当简单的node.js应用程序,但是由于AWS Elastic Beanstalk部署机制,即使在单个文件提交后,也需要大约5分钟的时间才能推出新版本(通过git aws.push )。 即提交本身(和上传)是快速的(只有一个文件推送),但是然后Elastic Beanstalk从S3中取得整个包,解压缩并运行npm install ,这导致node-gyp编译一些模块。 在安装/构build完成后,Elastic Beanstalk将清除/var/app/current并将其replace为新的应用程序版本。 毋庸置疑,不需要重复build立node_modules模型,而重build需要30秒的时间才能完成,而在ec2.micro的实例上需要花费5分钟以上的时间。 我在这里看到两种方法: 调整/opt/containerfiles/ebnode.py并使用node_modules位置来避免在部署时删除和重build。 在Elastic Beanstalk EC2实例上设置一个git repo,基本上自己重写部署过程,所以/ var / app / current只在必要时才会推送并运行npm install (这使得Elastic Beanstalk看起来像OpsWorks ..) 这两个选项都缺乏宽限期,并且在Amazon更新其Elastic Beanstalk挂钩和体系结构时容易出现问题。 也许有人有一个更好的主意,如何避免不断重build的应用程序目录中已经存在的node_modules? 谢谢。

如何在弹性beanstalk上强制https?

我似乎无法强制https在弹性beanstalk的免费使用层。 我已经尝试了如何强制https在亚马逊弹性beanstalk没有失败健康检查以下build议 使用这个Apache重写规则 RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{REQUEST_URI} !^/status$ RewriteCond %{REQUEST_URI} !^/version$ RewriteCond %{REQUEST_URI} !^/_hostmanager/ RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 当我尝试,http请求不会被redirect到https,因为我想。 相反,http页面正常加载。 我也试着用相同的结果使用X-Forwarded-Port头。 我也尝试了以下重写规则 RewriteCond %{SERVER_PORT} 80 RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 而这个规则会导致redirect循环。 所以看起来,Apache重写规则不拾起Elastic Load Balancer头X-Forwarded-Port和X-Forwarded-Proto,但redirect循环也不是我所要做的。 请帮忙。 我是AWS的新手,Elastic Beanstalk,并不熟悉Apache规则。 我不太确定该从哪里出发。 谢谢。

使用没有Web应用程序的Amazon Elastic Beanstalk部署.NET Windows服务

我想创build一个Elastic Beanstalkconfiguration,允许我部署.NET Windows服务,但不部署Web应用程序。 我刚刚阅读了这篇博客文章 ,其中解释了如何使用.ebextensions在Web应用程序旁部署Windows服务,但是有没有一种scheme可以在不部署Web应用程序的Web Deploy包的情况下运行.ebextensions? 我唯一的select是创build一个包含.ebextensions目录的空Web应用程序,然后部署Web Deploy包? Elastic Beanstalk FAQ提到能够部署非web应用程序( 在这里 ),我在AWS开发人员论坛上发现了一个类似的(没有回答的)问题。 更新 由于在这个问题上缺乏活动,而且我也无法在互联网上find任何其他信息,所以我只是假设这个问题的答案是“否”(至less现在是这样)。 我最终创build了一个空的Web应用程序,并使用它通过.ebextensions YAMLconfiguration部署我的Windows服务。 作为一个侧面说明,我想从亚马逊的文档中突出显示这个页面 ,我发现这是一个非常有用的指导,创build这些特殊的configuration文件。 另一个更新 在实现上面提到的方法后,我发现Elastic Beanstalk没有为新的Beanstalk实例执行我的.ebextensions脚本。 因此,创build新实例时Windows服务无法安装。 我不得不跳过几圈,最后到达一个可扩展的解决scheme。 请让我知道,如果你想要的最终解决scheme的细节。 最终,Elastic Beanstalk似乎不适合部署可扩展的Windows服务。 基本解决scheme 我不习惯发布源代码,因为它不是个人项目,但是这是我目前部署解决scheme的基本结构: 自定义EC2 AMI包含启动时运行的“引导程序”程序。 该程序执行以下操作: 1.1。 从(可configuration的)“部署”S3存储桶下载“zip”存档 1.2。 将下载的zip文件解压到一个临时目录 1.3。 定位/执行“install.bat”脚本(脚本的名称也是可configuration的)。 该脚本安装并启动Windows服务。 Elastic Beanstalk“Instance AMI”被设置为使用bootsrap程序的自定义AMI(请参阅: 本文 ) 要部署新代码:将安装.zip存档(包含windows service和install.bat文件)上载到S3存储桶,并终止Elastic Beanstalk应用程序的所有EC2实例。 当实例重新创build时,引导程序将下载/安装新更新的代码。 当然,如果我重新开始,我将跳过使用Elastic Beanstalk,并使用标准AWS自动扩展以及类似的部署scheme。 底线是,如果您没有Web应用程序,请不要使用Elastic Beanstalk; 使用标准的AWS自动缩放function更好。 新的AWS部署工具 亚马逊最近宣布了一些似乎解决部署问题的新代码部署/pipe理服务: […]

我应该使用AWS Elastic Beanstalk还是Amazon EC2 Container Service(ECS)来扩展Docker容器?

我开发了一个由多个微服务组成的基于Docker的应用程序。 它必须使用Amazon SQS消息并对其进行处理。 起初我想使用AWS Elastic Beanstalk,但后来我倒了EC2容器服务。 现在我不知道选哪一个。 到目前为止,Elastic Beanstalk支持多容器环境。 这很好,因为每个微服务都有一个Docker容器内的自己的应用服务器。 下一个问题是缩放: 我不知道缩放机制是如何工作的。 例如:我在Elastic Beanstalk环境中有5个docker容器。 现在只有第五个docker集装箱承受着沉重的负担,因为它有大量的SQS信息要处理,另外四个几乎空闲,因为它们不需要太多的CPU或者可能没有太多的SQS信息。 我们假设第5个容器运行一个JBoss应用程序服务器。 据我所知,即使有足够的CPU /内存,服务器也只能消耗有限的并行请求。 如果JBoss Docker容器不能处理大量的请求,但有足够的CPU /内存可用,当然我想在同一个实例上自动启动第二个Docker / JBoss容器。 但是如果我没有足够的CPU /内存会发生什么呢? 当然,我想旋转第二个实例,可以通过EB中的自动缩放组进行configuration。 现在是二审,但五号以外的每一个集装箱都快空闲了,当然我也不希望它们在二次产生不必要的东西,这样会浪费资源。 只有第五个应该产卵,其他的应该像第五个规模那样根据可configuration参数如CPU /内存/ SQS进行缩放。 我不完全知道Amazon ECS是否正在这样做,或者如果可能的话,但是我真的无法在互联网上find关于这个主题的任何来源,这通常是基于实例/容器的扩展。

用于.NET项目的Elastic Beanstalk和CloudFormation有什么区别?

我已经开发了一个.NET MVC应用程序,并已开始玩AWS,并通过Visual Studio Toolkit进行部署。 我已经使用工具包中的Elastic Beanstalk选项成功部署了应用程序。 在介绍用工具包将.NET应用程序部署到AWS的教程时,我注意到有一些教程可以用Elastic Beanstalk和CloudFormation进行部署。 这两者有什么区别? 从我所知道的情况来看,似乎他们本质上都在做同样的事情 – 使您更容易将应用程序部署到AWS云(设置EC2实例,负载平衡器,自动扩展等)。 我已经尝试过把它们都读了起来,但是除了一堆对我来说听起来像是同样的事情的嗡嗡声,我似乎无法得到任何东西。 我甚至在AWS网站上发现了一个应该回答这个确切问题的FAQ ,但是我不太明白。 我应该使用其中一种吗? 都?

我在哪里可以在Elastic Beanstalk的Linux AMI上findTomcat 7安装文件夹?

我有一个弹性beanstalk linux-tomcat ami实例,安装了示例应用程序,并使用公共dns。 我能够ssh到实例,但无法findtomcat 7居住的地方(即conf目录编辑server.xml)。 我已经尝试了64位和32位艾米。 任何想法,我可能会发现这一点? 我看了下: /etc /usr/share 我在tmp下find了一个elasticbeanstalk-tomcat7-deployment文件(为空)。 我做了一个: sudo yum install tomcat7 示例应用程序也从:8080开始服务,并在公共DNS上工作。 所以我(想)有2个运行在同一个beanstalk实例上的tomcat服务器。 在这种情况下,我正在尝试查找Tomcat 7文件夹的位置(端口80上的服务页面)。

AWS OpsWorks vs AWS Beanstalk vs AWS CloudFormation?

我想知道使用AWS OpsWorks vs AWS Beanstalk和AWS CloudFormation有哪些优缺点? 我感兴趣的是一个可以自动扩展的系统,可以处理任何大量的Web请求(从每分钟1000个请求到1000万个转换),包括一个可自动扩展的数据库层。 理想情况下,我想分享一些硬件资源有效。 在过去,我主要使用EC2实例+ RDS + Cloudfront + S3 堆栈系统将托pipe我们从Heroku迁移的Rails应用程序中的一些高stream量ruby,还有一些python / django应用程序和一些PHP应用程序。 提前致谢。

在AWS Elastic Beanstalk中增加Nginx conf中的client_max_body_size

当我们在AWS Elastic Beanstalk上运行的API发布大于10MB的文件时,我遇到了“413 Request Entity Too Large”错误。 我做了相当多的研究,并相信我需要为Nginx的client_max_body_size ,但我似乎无法find任何有关如何使用Elastic Beanstalk做到这一点的文档。 我的猜测是,它需要使用ebetension文件进行修改。 任何人都有想法,我怎样才能达到极限? 10MB是相当薄弱的,必须有一种方法来手动。

Amazon ec2和AWS Elastic Beanstalk之间的区别

有人可以解释一下EC2和Beanstalk之间的区别。 我想知道关于SaaS,PaaS和IaaS。 在WordPress中部署Web应用程序我需要一个可扩展的托pipe服务。 如果有什么比我的目的更好,请让我知道。 只是通知,我想主办和部署多个WordPress和Drupal站点。 我不想给服务器更多的时间,专注于开发。 但云主机需要自动扩展。