CodeDeploy部署EC2到Auto Scaling组,如何查询/etc路径下的环境变量
核心结论
存放在EC2实例/etc路径下的环境变量配置,无法直接在AWS控制台查询到,AWS控制台不会同步存储实例操作系统内部的任意文件内容。
可行的排查方案
- 优先排查EC2用户数据本身:如果环境变量是实例启动时通过用户数据写入/etc路径的,你可以在EC2控制台直接查看对应资源的用户数据内容:打开EC2控制台→选中目标实例→顶部操作菜单→实例设置→查看用户数据,也可以直接查看Auto Scaling组关联的启动模板/启动配置里的用户数据段,这里可以看到写入/etc路径下环境变量的完整逻辑
- 若为存量运行中实例,直接登录实例排查/etc路径下的常见环境变量配置文件即可,优先检查以下位置:
/etc/profile、/etc/bashrc全局shell配置文件/etc/profile.d/目录下的.sh后缀配置文件- 服务专属配置目录,比如CodeDeploy相关配置可能存放在
/etc/codedeploy-agent/目录下
- 临时打印CodeDeploy脚本运行上下文:你可以在现有钩子脚本中临时添加一行
env > /tmp/codedeploy-runtime-env.log,执行一次测试部署后登录实例查看该日志文件,就能拿到脚本运行时所有可用的环境变量列表和对应值
额外提示
如果你要找的环境变量是配置在Auto Scaling组的实例标签、或是CodeDeploy部署组的自定义变量,这部分内容可以直接在对应控制台页面查询到,你可以同步核对这部分配置是否被脚本读取后写入到了/etc路径下
内容的提问来源于stack exchange,提问作者Anton Cavanaugh
相关产品推荐
相关产品推荐

