如何在AWS自动缩放中添加Laravel env文件

如何在AWS自动缩放中添加Laravel env文件,laravel,amazon-web-services,environment-variables,autoscaling,Laravel,Amazon Web Services,Environment Variables,Autoscaling,我正在从事一个在亚马逊AWS上托管的laravel项目。我们也在使用AWS自动缩放服务,因为可以动态添加/删除新实例,我还使用了AWS CodeDeploy,因此每当创建新实例时,它都会从github中提取代码,因为我们没有在git上包含环境变量文件,所以新实例将没有环境变量文件,所以应用程序将无法运行。我也不想在git上包含环境变量文件,因为不建议在git上包含该文件。如果我忽略了这里的最佳实践并在git上添加了env文件,那么仍然存在一个问题,因为我有不同的分支和不同的env文件,所以当我合

我正在从事一个在亚马逊AWS上托管的laravel项目。我们也在使用AWS自动缩放服务,因为可以动态添加/删除新实例,我还使用了AWS CodeDeploy,因此每当创建新实例时,它都会从github中提取代码,因为我们没有在git上包含环境变量文件,所以新实例将没有环境变量文件,所以应用程序将无法运行。我也不想在git上包含环境变量文件,因为不建议在git上包含该文件。如果我忽略了这里的最佳实践并在git上添加了env文件,那么仍然存在一个问题,因为我有不同的分支和不同的env文件,所以当我合并代码时,它也会替换env文件。那么,这种情况下的最佳实践或解决方案是什么


仅供参考:我们没有使用ElasticBeanstalk,因为我知道在ElasticBeanstalk上,EB仪表板上有一个选项,用于添加环境变量和创建新实例时环境文件将创建的路径,但我们没有使用ElasticBeanstalk,我们正在使用自动校准服务,根据我的发现,AWS不为自动校准服务提供此类功能。

有几个选项可用于配置应用程序的环境变量

  • 将环境文件放在S3上,并在启动时放入该环境的用户数据/启动配置自动缩放下拉该环境的配置文件。另外,要将其锁定在环境的角色中,只允许访问该存储桶

  • 在Dynamodb中为env存储env变量,并在引导时在用户数据中查找这些变量并设置为env变量。(除非包含机密/连接字符串等,否则无法在DDB中存储加密的机密。)

  • 使用领事

  • KV存储:应用程序可以将Consor的分层键/值存储用于任何目的,包括动态配置、功能标记、协调、领导人选举等。简单的HTTP API使其易于使用


    可能的重复事实上,我们可以做类似的事情,如果我们使用弹性豆茎,但我们没有使用弹性豆茎,我们使用自动缩放,根据我的发现,我们不能在aws的自动缩放中添加环境变量。有人找到做这项工作的最佳实践吗?