Articles of 弹性beanstalk

使用AWS Elastic Beanstalk运行Puma&Nginx的Rails应用程序502

我已经能够成功地让我的应用程序运行在与铁路客运的Beanstalk,但是我没有与彪马运气。 每当我部署到Puma堆栈时,我得到502错误,我的日志文件表明它找不到袜子文件: 2014/05/15 21:00:15 [crit] 1684#0: *4 connect() to unix:///var/run/puma/my_app.sock failed (2: No such file or directory) while connecting to upstream, client: 10.184.156.117, server: _, request: "GET / HTTP/1.1", upstream: "http://unix:///var/run/puma/my_app.sock:/", host: "app-env-89spnxpcai.elasticbeanstalk.com" 我的应用程序是使用Ruby ruby​​ 2.0.0p451&Rails 4.1.1构build的 我的.ebextensionsconfiguration看起来像这样 packages: yum: git: [] commands: add_bundle_exec: test: test ! -f /opt/elasticbeanstalk/support/.post-provisioning-complete cwd: /opt/elasticbeanstalk/hooks/appdeploy/pre command: perl -pi -e […]

Dockerun.aws.json指的是另一个帐户的存储桶

我有以下Dockerrun.aws.json : { "AWSEBDockerrunVersion": "1", "Authentication": { "Bucket": "bucket-of-another-aws-account", "Key": "docker/.dockercfg" }, "Image": { "Name": "docker-image" }, "Ports": [ { "ContainerPort": "8080" } ] } 带有我们的Docker容器的Elastic Beanstalk环境在客户的AWS账户中运行,并且具有.dockercfg的S3存储桶属于我们的AWS账户。 出于testing的目的,我把桶策略原则设置为*以便任何人都可以下载.dockercfg文件。 尽pipe如此,Elastic Beanstalk无法下载该文件(“ Failed to download authentication credentials docker/.dockercfg from bucket-of-another-aws-account ”)。 下一个testing是将文件移动到客户的AWS账户中的S3存储桶。 这工作。 问题是:是否有可能在Dockerrun.aws.json使用另一个账户? 我在文档中找不到任何提示,我不想将DockerHub API密钥提供给我们的客户。

AWS Elastic Beanstalkfile upload限制问题

我在AWS Elastic Beanstalk实例上遇到问题,因此似乎无法上传6MB大小的PDF文件。 首先,让我提供更多的背景: 运行的应用程序是一个expression式引擎(EE)应用程序 upload_max_filesize设置为16M post_max_size被设置为32M max_execution_time设置为300 通过Elastic Beanstalk上的EE应用程序将file upload到Amazon S3存储桶。 我能够在1-2MB的区域成功上传PDF,但是当我尝试上传6MB文件时,它已经达到100%的上传速度,然后把我redirect到EE的主屏幕,并且文件没有被上传。 有谁知道或有任何想法,我不能上传6MB文件,因为上面的configurationvariables被设置为这样?

当使用eb CLI时,可以部署而不使用git?

有没有办法使用AWS EB cli来推送我的项目的当前状态而不是特定的提交? 也许有比git config.yml的sc参数替代值?

如果使用Nginx,是否使用Elastic Beanstalk?

AWS Elastic Beanstalk仍然不支持PHP,Python或Ruby的开箱即用的Nginx。 无论多么奇怪,我想知道是否值得将现有PHP Web应用程序configuration为Elastic Beanstalk应用程序的麻烦。 各种各样的黑客是否像他们看起来那么微不足道? 我可能期望什么额外的障碍?

AWS Elastic Beanstalk Swap Environment Url是否将环境交换为git push?

我已经阅读了关于aws的零停机时间的文档,但似乎无法理解在这种情况下会发生什么? 我有一个在生产环境中运行的“红色” 我将环境复制为“蓝色” 我在我的应用程序中使用eb init来推送到称为蓝色的新环境。 我的新版本成功运行在蓝色环境中 我交换环境url(我没有这样做,害怕,我猜) 一段时间后,我的stream量被指示为蓝色,红色将显示零stream量监控。 现在的问题是, 如果我从命令行使用git aws.push ,它会推到红色还是蓝色? 如果推到红色,我有一个零宕机的过程。 如果它变成蓝色,这是否意味着我必须再次启动init? 如果我必须再次启动它意味着 破坏红色(旧)环境 将蓝色复制为红色 eb init再次用于红色环境 这似乎并不正确。 我可能会错过一些东西。 什么是正确的方法来做ebs零宕机? 我读了很多,但似乎不能得到这些观点。 谢谢!

是否有支持的方式在AWS Elastic Beanstalk上运行后期部署脚本?

我在Elastic Beanstalk上部署了一个Windows / .NET MVC应用程序,并且设法解决了除了一个以外的大部分挑战。 有问题的Web应用程序为其当前部署位置的子文件夹中的二进制资产创build本地caching,为此,我需要为IIS_IUSRS组添加权限,以读/写该文件夹。 经过漫长的反复试验后,我现在有了一个似乎可行的解决scheme,但是我并不十分确定它的“合法性”。 在MVC解决scheme中,我创build了一个名为“.ebextensions”的文件夹,并在其中创build了一个名为“eb.config”的yaml文件。 在这个文件中,我基本上创build了2个batch file,我将其部署到c:\ temp – 第一个batch file检查是否已经存在C:\ Program Files \ Amazon \ ElasticBeanstalk \ hooks \ appdeploy \ post \如果没有,则将其复制到那里。 第二个batch file为此“BinaryData”文件夹设置所需的ACL。 Elastic Beanstalk执行它在上面提到的文件夹中find的任何batch file,这似乎是现在做的伎俩。 我一直没有find任何有关如何“正式”实现这一目标的文件,并从这篇博文中了解到这个技巧。 任何有关如何以“更清洁”的方式实现这一目标的build议将会受到赞赏。

弹性beanstalk是否从package.json文件运行postinstall?

我正在使用弹性beanstalk来部署node.js应用程序。 在我的scripts部分package.json我有: "scripts": { "start": "node_modules/.bin/coffee server.coffee", "test": "NODE_ENV=test node test/runner.js", "coverage": "NODE_ENV=test COVERAGE=1 node test/runner.js -R html-cov test/ > ./test/coverage.html", "testw": "fswatch -o test src | xargs -n1 -I{} sh -c 'coffeelint src server.coffee ; npm test'", "db:drop": "node scripts/drop-tables.js", "encryptConfig": "node_modules/.bin/coffee config/encrypt.coffee", "decryptConfig": "node_modules/.bin/coffee config/decrypt.coffee", "postinstall": "npm run decryptConfig" }, npm install似乎工作。 但是postinstall不执行。 […]

在us-east-1以外的区域中的Elastic Load Balancer实例上是否可以使用AWS Certificate Manager(ACM)证书?

亚马逊最近宣布了他们的新的证书pipe理器(ACM)服务。 这看起来很有希望,但目前只在美国东部地区支持。 我在美国西部2地区拥有现有资源。 是否可以使用ACM创build证书,然后在us-west-2的ELB实例中使用它? 还是必须等亚马逊把服务推广到其他地区? 文档在这一点上令人沮丧地模糊。 (可能)相关问题: 我可以在普通EC2上使用新的免费SSL / TLS AWS证书,而不使用ELB或Beanstalk吗? 通过Elastic Load Balancer传递多个https域

弹性beanstalk访问私人git回购

我正在尝试使用.ebextensions命令为我的弹性beanstalk实例添加一个ssh密钥。 我存储的密钥在我的应用程序代码中,我尝试将它们复制到根.ssh文件夹,以便以后在执行git + ssh克隆时可以访问它们 这里是我的.ebextensions文件夹中的configuration文件的一个例子 packages: yum: git: [] container_commands: 01-move-ssh-keys: command: "cp .ssh/* ~root/.ssh/; chmod 400 ~root/.ssh/tca_read_rsa; chmod 400 ~root/.ssh/tca_read_rsa.pub; chmod 644 ~root/.ssh/known_hosts;" 02-add-ssh-keys: command: "ssh-add ~root/.ssh/tca_read_rsa" 问题是我试图克隆回购时得到的是一个错误 Host key verification failed. 我尝试了很多方法尝试将主机添加到known_hosts文件,但没有任何工作! 执行克隆的命令是npm install,因为repo指向节点模块