启动 AWS EC2 实例时,您可以提供一个用户数据字符串,该字符串可以被解释为键、带有某些配置变量的值对,或者如果以一行开头,则可以解释为 bash 脚本#!/bin/bash
。
我们正在使用需要提供键值对的第三方软件,但我们也在使用 bash 脚本在启动时配置机器。我使用 bash 脚本将键值对添加为环境变量export KEY=VALUE
,但它似乎不起作用,也无法到达第三方程序配置。
我知道我可以给出键、值对,然后使用运行 bash 脚本ssh
,但这要困难得多,因为我必须等待实例准备好执行此操作。
有人成功做到了吗?
答案1
不幸的是,您没有描述您正在使用哪种类型的 Linux,但 bash 可能是一个很好的起点。当 EC2 实例启动时,将执行用户数据,并且变量仅在该会话期间可用。
如果您想使用 ENV 变量,您可以在.bashrc
root 中实现它们(或在.bashrc
将运行第三方应用程序的用户中)。如果您想要系统范围的 ENV 变量,您应该在/etc/profile
或中实现它们/etc/environment/
。将变量包含在您的用户数据 bash 脚本中,如下所示:echo KEY=VALUE >> /etc/environment
你可以尝试本文/指南还有更多例子。