我有2台AWS机器,1.dev (ec2) 2. prod (elastic beanstalk)
。我在每次提交后构建并部署在dev(machine1)上,这会导致war文件(也将使用s3cmd工具上传到S3存储桶)。然后我在dev机器上测试新部署的战争,如果看起来不错,那么我从dev(ec2)下载战争然后将其上传到prod机器(Elastic beanstalk)。
有没有办法让弹性beanstalk直接从S3存储桶中获取战争,而不是从ec2下载然后将其上传到弹性beanstalk?
我尝试创建新环境,然后为应用程序版本提供了s3存储桶路径,但它无法正常工作。 (给出了一些错误,说“这只能在VPC中完成”)。
答案 0 :(得分:20)
我在this post得到了最好的答案:
使用AWS CLI需要3个简单的步骤:
我创建了一个bash script,上述所有步骤只需3秒钟。请仔细阅读链接以获得更具描述性的答案。
答案 1 :(得分:2)
如果您的s3 war文件位于mybucket / test / myapp.war中,那么使用s3存储桶创建一个应用程序版本为mybucket
和test/myapp.war
就可以了。不确定为什么会收到与VPC相关的错误。您何时何地看到该错误?创建应用程序版本或创建环境时? API调用是否会立即抛出错误消息,您是否会在以后的事件中看到它?