我们希望在新的一年开始时迁移到AWS。
我们遇到的一个问题是,我们将要迁移的一些应用程序已配置了硬编码的IP地址(数据库主机名)。
我们将使用ELB充分利用AWS的弹性和动态特性来支持我们的基础设施。考虑到这一点,之前静态的IP地址现在将是动态的(因此频繁分配新的IP)。
解决这些硬编码值的最佳方法是什么? 特别是IP地址?我感谢用户名,密码等可以放在一个配置文件中,并使用ini函数等进行调用。
我认为一个解决方案可能是: 1)进行AWS API调用以查询主机的IP地址是什么?然后以那种方式调用值。
感谢您的任何帮助!
答案 0 :(得分:0)
您应该避免使用硬代码IP地址,并使用主机名作为引用的资源。使用RDS或在EC2上运行的自托管数据库,您可以使用DNS在运行时按主机名解析IP。
假设您正在使用CodeDeploy配置软件,您可以使用CodeDepoly Lifecycle Event Hooks在安装软件后配置应用程序。安装后,可以配置钩子来检索应用程序参数,并在应用程序启动之前将它们提供给应用程序。
关于应用程序配置数据的存储,请考虑使用AWS Parameter Store。使用此作为安全且持久的应用程序配置数据源,您可以使用上述CodeDeploy的功能在软件供应时检索数据库主机地址和其他应用程序参数。