我在不同类型的 AWS 主机上运行不同类型的应用程序,包括:
- 在 EC2 实例(Windows 和 Linux)上运行
- 在自动扩展的 EC2 实例上运行
- 在 ElasticBeanstalk 上运行(ASP.NET 和 ASP.NET Core)
- 在 Fargate 上的 Linux Docker 容器中运行
- Lambda 函数
我希望我的应用程序能够检测到它们正在运行的环境(开发、暂存、生产),以便它们可以在启动时加载适当的配置,例如从 Parameter Store 层次结构中特定于环境的文件夹。
理想情况下,我可以调用一个简单的 API(类似于GetCurrentEnvironment()
)。
以上述所有主机类型共有的方式实现这一目标的最佳方法是什么?
我所有的 AWS 资源都标有环境名称。是否有可以从上述所有主机类型调用的 API 来返回当前主机的标签值?
否则我想一个解决方案是在创建主机期间设置一个环境变量“CurrentEnvironment”或类似的。
我想这是一个常见的要求,所以我很想知道其他人是如何做到的。