将文件添加到 AWS Elastic Beanstalk 实例

Posted

技术标签:

【中文标题】将文件添加到 AWS Elastic Beanstalk 实例【英文标题】:Add files to AWS Elastic Beanstalk Instance 【发布时间】:2022-01-09 20:25:29 【问题描述】:

我有一个在 AWS Elastic Beanstalk 上运行的 Web 应用程序,具有负载平衡/自动扩展功能。我通过 ssh 在 EC2 实例中添加了各种属性文件。如果应用程序自动缩放,那么我创建的那些文件将会丢失。有没有办法,如果它确实被自动缩放,这些文件将进入新的自动缩放实例?希望这有意义吗?我确实在这里读过这个,但仍然不确定customizing software on linux servers

谢谢

【问题讨论】:

属性文件和在较小程度上的环境变量不是配置无服务器架构的正确方法。您可以考虑 AWS Parameter Store。发布您的编码框架以获得进一步的建议。 不幸的是,这是一个遗留应用程序,因此如果不使用这些属性文件,则需要更改代码。代码框架是 Spring Boot / Java / javascript。属性文件用于根据是实时发布还是 qa 发布以及其他一些东西来使用不同的数据库连接。 在 AWS 上,缩写 EBS 代表 Elastic Block Store。 Elastic Beanstalk 将是“EB”。 docs.aws.amazon.com/elasticbeanstalk/latest/dg/… @SteveGreen 然后你也许可以使用环境变量(***.com/questions/35531661/…)。将新的应用程序属性文件捆绑到应用程序中应该需要进行最少的更改。 【参考方案1】:

最好的方法是将这些属性文件保存在 EC2 实例之外,例如保存在 S3 存储桶或共享磁盘中;因此,您可以在每个新实例上添加一个 ebextension (example)

我还有一个非常不受欢迎的 EB 应用程序。我为这个 Web 应用程序创建了一个工作实例,它不是自动缩放的,但我垂直缩放了这个工作实例(更大的实例大小)。对于此应用程序,属性文件用于发送通知/电子邮件等异步任务; Web 实例和工作实例的通信是通过 SQS 完成的。

【讨论】:

非常感谢 Max Visser,看起来不错。

以上是关于将文件添加到 AWS Elastic Beanstalk 实例的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk:将自定义日志添加到 CloudWatch?

将后台工作人员添加到 AWS Elastic Beanstalk

将 Namecheap 域添加到 AWS Elastic Beanstalk

如何将 chmod +x 权限添加到 AWS Elastic Beanstalk 平台挂钩?

AWS Elastic Beanstalk - 将负载均衡器追溯添加到应用程序

如何使用 .ebextensions 将 Application Load Balancer 固定响应添加到 AWS Elastic Beanstalk